Landing: ee7506d8ffbe
Project / Subsystem
binutils / ld
Date
2026-07-31
Author
Jan Beulich <jbeulich@sourceware.org>
Commit
ee7506d8ffbec39df2262f08a348346914d71efd
Source
public_inbox
Perf win
No
Breaking
No
All attributes
- project
- binutils
- subsystem
- ld
- patch_id
- —
- commit_hash
- ee7506d8ffbec39df2262f08a348346914d71efd
- source_type
- public_inbox
- headline
- Prevent TLS and load config symbols from being garbage collected
- tldr
- Prevents `_tls_used` and `_load_config_used` symbols from being removed by garbage collection in PE executables.
- author
- Jan Beulich <jbeulich@sourceware.org>
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • linker
- • PE
- • TLS
- • mingw-w64
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-07-31T00:00:00.000Z
This change prevents the linker from garbage-collecting _tls_used and _load_config_used symbols in PE executables. These symbols are crucial for optional TLS directory linking in mingw-w64. Without this change, data sections containing these symbols could be removed if not otherwise referenced, leading to broken executables when TLS is used.