Landing: 1cc9aa9de2af
Project / Subsystem
binutils / binutils/ld
Date
2026-09-04
Author
Alan Modra <amodra@sourceware.org>
Commit
1cc9aa9de2af3cd54d5433c0e4a522b73719c3cb
Source
public_inbox
Perf win
No
Breaking
No
All attributes
- project
- binutils
- subsystem
- binutils/ld
- patch_id
- —
- commit_hash
- 1cc9aa9de2af3cd54d5433c0e4a522b73719c3cb
- source_type
- public_inbox
- headline
- ld: Account for .tbss size on Arm embedded targets
- tldr
- Ensures .tbss occupies VMA for ARM embedded targets, aligning with LLVM lld.
- author
- Alan Modra <amodra@sourceware.org>
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • binutils
- • linker
- • ARM
- • embedded
- • TLS
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-09-04T00:00:00.000Z
This commit modifies the GNU linker (ld) to account for the size of the .tbss section on ARM embedded targets by making it occupy a virtual memory address (VMA). This behavior is necessary for embedded systems where TLS storage is allocated directly and prevents overlap with subsequent sections like .bss. The change introduces a new build-time property tls_nobits_occupies_vma and sets it to true for ARM embedded targets, aligning with LLVM’s lld behavior. New tests are added to cover static, executable, PIE, and dynamic link scenarios.