You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -112,7 +112,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
112
112
- MOVW `UABS` / `SABS` / `PREL` families
113
113
- starter TLS instruction-form relocation ID support (`TLSGD`, `TLSLD`, `TLSDESC`) with strict unsupported apply-path handling for non-implemented descriptor semantics
114
114
- host-runtime-backed AArch64 TLS data relocation values for `TLS_DTPMOD`, `TLS_DTPREL`, and `TLS_TPREL` in non-shared links using deterministic TLS layout metadata
115
+
- AArch64 TLSLE/TLSLD low12 offset instruction relocations (`ADD`/`LDST64`/`LDST128`) now route through host-runtime TLS offset helpers in non-shared links
115
116
- host runtime shared-object ingestion now returns `ERR_INVALID_FORMAT` for unknown/unsupported shared-object payloads instead of silently succeeding
117
+
- host runtime shared-object symbol ingest now validates target/ABI compatibility and shared-file kind before symbol ingestion (`ELF ET_DYN`, Windows PE DLL/COFF machine, Mach-O dylib CPU type)
116
118
117
119
### Changed
118
120
@@ -129,6 +131,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Host linker compatibility/no-op flag handling now surfaces diagnostics instead of silent acceptance.
131
133
- Dust-built linker relocation parsing/validation now accepts and processes a broader AArch64 ELF relocation set (including MOVW and TLS starter forms) instead of rejecting them during ingest.
134
+
- Dust-built linker relocation apply path no longer blanket-rejects all AArch64 TLS instruction-family relocations; TLSLE/TLSLD low12 offset forms now apply in non-shared links via host TLS offset helpers.
135
+
- Host shared-object symbol ingest no longer accepts cross-target or wrong-kind binaries as valid shared inputs during symbol-ingest resolution.
Copy file name to clipboardExpand all lines: README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,9 @@ This repository contains:
50
50
- starter TLS relocation families:
51
51
- instruction/descriptor forms (`TLSGD`, `TLSLD`, `TLSDESC`) recognized/validated with strict `ERR_NOT_IMPLEMENTED_YET` application for unsupported TLS descriptor semantics
52
52
- data relocs (`TLS_DTPMOD` / `TLS_DTPREL` / `TLS_TPREL`) use host-runtime TLS layout metadata helpers for non-shared links
53
+
- TLSLE/TLSLD low12 offset instruction forms (`*_ADD_*_LO12_NC`, `*_LDST64_*_LO12_NC`, `*_LDST128_*_LO12_NC`) now reuse host-runtime TLS offset helpers in non-shared links
53
54
- host runtime shared-object symbol ingest now returns `ERR_INVALID_FORMAT` for unknown/unsupported shared object payloads (no silent success on unknown format)
55
+
- host runtime shared-object symbol ingest now validates target/ABI compatibility and shared-file kind before symbol ingest (ELF `ET_DYN`, Windows PE DLL/COFF machine, Mach-O dylib CPU type)
54
56
- architecture-correct output header stamping in ELF/PE/Mach-O writers based on resolved target
55
57
- real PE compatibility-state wiring for `/NOENTRY`, `/DYNAMICBASE`, `/NXCOMPAT`, `/LARGEADDRESSAWARE`
56
58
- broader soft-compatibility handling for common ld/lld/lld-link metadata/profiling flag families (`--warn-*`, `--time-trace*`, `--lto-*`, `/GUARD:*`, `/TIMESTAMP:*`, `/MERGE:*`, `/SECTION:*`)
Copy file name to clipboardExpand all lines: docs/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ The following existing files remain part of the repository history and analysis
26
26
## Release Notes
27
27
28
28
Compiler change history is tracked in `../CHANGELOG.md`.
29
-
Recent host-link/runtime parity work for Dust-built tooling is summarized in `status_and_limitations.md`, including stricter linker-script semantics, expanded target alias coverage, compatibility-state behavior wiring, and newer AArch64 ELF relocation/TLS starter coverage used by Dust-built `dustlink`.
29
+
Recent host-link/runtime parity work for Dust-built tooling is summarized in `status_and_limitations.md`, including stricter linker-script semantics, expanded target alias coverage, compatibility-state behavior wiring, newer AArch64 ELF relocation/TLS coverage (including TLSLE/TLSLD low12 offset forms), and stricter shared-object target/ABI validation used by Dust-built `dustlink`.
Copy file name to clipboardExpand all lines: docs/status_and_limitations.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,6 +37,7 @@
37
37
- MOVW `UABS` / `SABS` / `PREL` families
38
38
- starter TLS instruction/data relocations for `TLSGD` / `TLSLD` / `TLSDESC` plus `TLS_DTPMOD` / `TLS_DTPREL` / `TLS_TPREL`
39
39
- host linker runtime now computes AArch64 TLS data relocation values (`TLS_DTPMOD`, `TLS_DTPREL`, `TLS_TPREL`) for non-shared links using a deterministic synthesized TLS layout derived from object TLS sections
40
+
- Dust linker relocation apply path now also supports AArch64 TLSLE/TLSLD low12 offset instruction relocations (`ADD`/`LDST64`/`LDST128`) in non-shared links by reusing host-runtime TLS offset helpers
40
41
- host linker output writers now emit architecture-correct machine/cpu identifiers for ELF/PE/Mach-O outputs
41
42
- host linker PE output now applies `/NOENTRY`, `/DYNAMICBASE`, `/NXCOMPAT`, and `/LARGEADDRESSAWARE` to emitted header fields (entrypoint/characteristics)
42
43
- host linker compatibility handling now includes broader soft-compatibility ld/lld/lld-link families (`--warn-*`, `--time-trace*`, `--lto-*`, `/GUARD:*`, `/TIMESTAMP:*`, `/MERGE:*`, `/SECTION:*`)
@@ -54,8 +55,11 @@
54
55
-`--emit-relocs` (map-row relocation reporting)
55
56
-`--print-gc-sections` (GC drop diagnostics)
56
57
- host object ingestion now uses refined machine-aware COFF and Mach-O relocation-kind mapping during relocation record ingestion
58
+
- host shared-object symbol ingest now enforces target/ABI/file-kind checks before symbol ingestion (`ELF ET_DYN` + target machine, Windows PE DLL/COFF machine, Mach-O dylib target CPU)
57
59
- full AArch64 ELF TLS descriptor / TLS instruction-family semantics are not complete yet (current coverage includes ingest/validation, bitfield patching for non-TLS instruction forms, and host-backed TLS data reloc math, but not exhaustive TLSDESC/GOT/TLS relaxation behavior parity)
60
+
- AArch64 TLS instruction-family coverage is still partial: TLSLE/TLSLD low12 offset forms now apply in non-shared links, but TLSDESC/TLSGD/TLSLD descriptor-sequence semantics and relaxations remain incomplete
58
61
- shared-object handling remains primarily symbol-ingest oriented rather than full dynamic-linker semantic parity (though unknown shared-object formats now fail instead of silently succeeding)
62
+
- shared-object handling remains primarily symbol-ingest oriented rather than full dynamic-linker semantic parity (now with stricter target/ABI/file-kind rejection before ingest)
0 commit comments