binutils Newspaper
JULY 29, 2026
binutils Proposed

aarch64-pe fails of tls-debug tests

Test suite adjustments to fix failing aarch64-pe TLS debug tests by using a generic ELF format check.

Alan Modra proposes changes to the gas testsuite to fix failing TLS debug tests for the aarch64-pe target. The tests currently use ELF section directives which are not specific to aarch64, leading to failures. The fix replaces the target-specific check with a generic is_elf_format check.

In Details

The gas testsuite for aarch64 currently includes tests for TLS debug information that incorrectly rely on ELF-specific section directives. These directives are not universally applicable to all aarch64 configurations, particularly for targets like aarch64-pe (Portable Executable). The change modifies the test directives to use a more generic is_elf_format check, ensuring the tests only run when the target is indeed ELF, thus resolving spurious failures.

For Context
aarch64
The 64-bit ARM architecture.
PE
Portable Executable. A file format used for executables, DLLs, and object code in 32-bit and 64-bit versions of Windows operating systems. Binutils supports generating PE files for ARM targets.
TLS
Thread-Local Storage. A storage mechanism that allows a variable to have unique instances for each thread of execution.
gas
The GNU Assembler, part of the GNU Binutils package. It translates assembly language code into machine code.
testsuite
A collection of tests designed to verify the correct functionality of a software program. In this case, it's for the GNU Assembler.
ELF section directives
Directives used in assembly code to define or manipulate sections within an ELF object file. Examples include specifying section names and attributes.
is_elf_format
A condition or variable used within the gas testsuite to determine if the current target uses the ELF file format.
Filed Under: binutilsgastestingaarch64TLS