[Bug target/124365] New: -flto -g loses AEABI attributes on aarch64 when configured against recent binutils
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Mar 4 18:12:33 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124365
Bug ID: 124365
Summary: -flto -g loses AEABI attributes on aarch64 when
configured against recent binutils
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: jakub at gcc dot gnu.org
Target Milestone: ---
When gcc is configured against recent binutils (e.g. 2.46), it uses e.g. for -S
-g -mbranch-protection=standard
.aeabi_subsection aeabi_feature_and_bits, optional, ULEB128
.aeabi_attribute Tag_Feature_BTI, 1
.aeabi_attribute Tag_Feature_PAC, 1
.aeabi_attribute Tag_Feature_GCS, 1
instead of the earlier
.section .note.gnu.property,"a"
.align 3
.word 4
.word 16
.word 5
.string "GNU"
.word 0xc0000000
.word 4
.word 0x7
.align 3
The former goes into .ARM.attributes section rather than .note.gnu.property as
before.
Now, when linking anything with -g -flto -mbranch-protection=standard, such as
int main () {}
gcc -flto=auto -g -mbranch-protection=standard test.c -o test
when configured against older binutils (even when actually using newer binutils
during compilation/linking) one gets
readelf -j .note.gnu.property test
Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
Properties: AArch64 feature: BTI, PAC, GCS
but when configured against newer binutils
readelf -j .note.gnu.property test
readelf: Warning: Section '.note.gnu.property' was not dumped because it does
not exist
When linking without -flto*, both behave the same.
I think we need to copy over .ARM.attributes section, dunno if we should do it
unconditionally on all arches or somehow limit it to arm/aarch64.
But the function at least right now is not told which arch it is. Hopefully
people
don't use .ARM.attributes sections for random stuff on other arches...
More information about the Gcc-bugs
mailing list