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.