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
-`TLSGD` / `TLSLD` / `TLSDESC` instruction-form relocation IDs are recognized by ELF ingest and relocation validation
88
+
-`R_AARCH64_TLS_DTPMOD`, `R_AARCH64_TLS_DTPREL`, `R_AARCH64_TLS_TPREL` are recognized as AArch64 TLS data relocation IDs
89
+
- relocation application currently returns `ERR_NOT_IMPLEMENTED_YET` for AArch64 TLS-family relocations pending TLS layout/module metadata in the host linker runtime ABI
89
90
90
91
## CLI Compatibility Surface
91
92
@@ -142,7 +143,10 @@ These compatibility no-op paths now emit diagnostics, and become hard failures w
142
143
-`--hash-style` now affects ELF dynamic-tag emission (`DT_HASH` / `DT_GNU_HASH`) in Dust runtime host writer output.
143
144
-`--print-gc-sections` now prints section-drop diagnostics during GC-aware alloc-section selection.
144
145
- Unsupported flag/target failures now emit explicit diagnostics instead of returning only status codes.
145
-
- AArch64 ELF relocation coverage now includes instruction bitfield patching (`ADR_PREL_LO21`, MOVW families, `LD/ST` lo12 variants, branch/literal forms) and starter TLS relocation plumbing (`TLSGD`/`TLSLD`/`TLSDESC`, `TLS_DTPMOD`/`TLS_DTPREL`/`TLS_TPREL`).
146
+
- AArch64 ELF relocation coverage now includes instruction bitfield patching (`ADR_PREL_LO21`, MOVW families, `LD/ST` lo12 variants, branch/literal forms) and stricter TLS-family handling:
147
+
-`TLSDESC_CALL` now validates `BLR` instruction encoding instead of acting as a generic no-op
148
+
- AArch64 TLS-family relocation application now fails with `ERR_NOT_IMPLEMENTED_YET` instead of silently patching placeholder values
149
+
- Shared-library ingest now propagates shared-object ingest failures directly (no Dust-side `ERR_NOT_IMPLEMENTED_YET` swallow path).
-`--print-gc-sections` now emits drop diagnostics during GC-based section pruning.
84
85
- COFF and Mach-O object ingest relocation mapping is now machine-aware/refined instead of coarse fallback-only classification.
85
86
- ELF relocation ingest validation and linker relocation pipeline now accept/process a broader AArch64 relocation surface (including MOVW and TLS starter forms) instead of rejecting them as unsupported.
87
+
- Shared-library ingest in `linker_archive.ds` now propagates shared-object ingest errors directly instead of swallowing `ERR_NOT_IMPLEMENTED_YET`.
86
88
87
89
### Fixed
88
90
89
91
- Unsupported flag/target failures now print explicit diagnostics instead of returning a status code with no CLI context.
- Linker script `OUTPUT_FORMAT`, `TARGET`, and `OUTPUT_ARCH` invalid values now fail with explicit invalid/unsupported statuses instead of silently succeeding.
92
94
- AArch64 64-bit TLS data relocations no longer fall through 32-bit relocation validation constraints in the Dust relocation validator.
95
+
- AArch64 TLS-family relocation application no longer silently patches placeholder values; it now returns `ERR_NOT_IMPLEMENTED_YET` until TLS layout/module metadata is exposed to the Dust relocation pipeline.
96
+
-`R_AARCH64_TLSDESC_CALL` patch helper no longer accepts arbitrary non-zero instructions; it now validates `BLR`-class encoding.
Copy file name to clipboardExpand all lines: docs/README.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,6 +61,8 @@ This directory contains complete Markdown documentation for `dustlink`.
61
61
- Compatibility no-op families now emit diagnostics and can hard-fail under `--fatal-warnings` / `/WX`.
62
62
-`--dependency-file` and `--emit-relocs` are state-wired (depfile output + relocation map-row reporting).
63
63
- ELF writer now consumes `--hash-style` state for dynamic hash-tag emission and host runtime consumes `--print-gc-sections` for GC drop diagnostics.
64
-
- AArch64 ELF relocation coverage now includes instruction bitfield patching (branches/literals/ADR/ADRP/ADD/LDST, including `LDST128`), MOVW relocation families, and starter TLS relocation plumbing (`TLSGD`/`TLSLD`/`TLSDESC`, `TLS_DTPMOD`/`TLS_DTPREL`/`TLS_TPREL`).
64
+
- AArch64 ELF relocation coverage now includes instruction bitfield patching (branches/literals/ADR/ADRP/ADD/LDST, including `LDST128`) and MOVW relocation families.
65
+
- AArch64 TLS-family relocation IDs (`TLSGD`/`TLSLD`/`TLSDESC`, `TLS_DTPMOD`/`TLS_DTPREL`/`TLS_TPREL`) are recognized/validated, but relocation application is currently strict `ERR_NOT_IMPLEMENTED_YET` pending TLS layout/module metadata in the host linker runtime ABI.
66
+
- Shared-library ingest now propagates shared-object ingest failures directly (no Dust-side `ERR_NOT_IMPLEMENTED_YET` swallow).
`K` domain validates relocation records, computes relocation values, and applies patch operations through host runtime patch intrinsics (`host_linker_patch_u32`/`host_linker_patch_u64`).
48
-
Current AArch64 support includes instruction bitfield patching for branch/literal/ADR/ADRP/ADD/LDST relocations, MOVW family relocations, and starter TLS relocation plumbing.
48
+
Current AArch64 support includes instruction bitfield patching for branch/literal/ADR/ADRP/ADD/LDST relocations and MOVW family relocations.
49
+
AArch64 TLS-family relocations are recognized/validated in this module, but application currently returns `ERR_NOT_IMPLEMENTED_YET` until TLS layout/module metadata is exposed by the host linker runtime ABI.
50
+
`R_AARCH64_TLSDESC_CALL` helper now validates `BLR` instruction encoding before preserving the instruction word.
0 commit comments