.aeabi_subsection selects the current AArch64 build-attribute
subsection, not the current ELF section. The following .previous
therefore does not return from the build-attribute subsection. In
aarch64-asm.h it instead switches back to .note.GNU-stack, which was the
previous ELF section after emitting the non-executable stack note.
Remove the .previous from the build-attribute marking path. Keep it in
the GNU_PROPERTY path, where it matches the explicit switch to
.note.gnu.property.
libgcc/ChangeLog:
* config/aarch64/aarch64-asm.h (FEATURE_1_AND_MARK): Do not emit
.previous after AArch64 build attributes.
.aeabi_attribute Tag_Feature_GCS, 1; \
.else; \
.aeabi_attribute Tag_Feature_GCS, 0; \
- .endif; \
- .previous
+ .endif;
#else
/* Add a NT_GNU_PROPERTY_TYPE_0 note. */
# define FEATURE_1_AND_MARK(value) GNU_PROPERTY (FEATURE_1_AND, value)