[gcc r17-2850] libgcc: aarch64: Do not use .previous after build attributes

Artemiy Volkov via Gcc-cvs <[email protected]> Fri, 31 Jul 2026 09:18:22 +0000 (GMT)
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
https://gcc.gnu.org/g:8c51b32041fdffa67d304aebb39259d1017e5857

commit r17-2850-g8c51b32041fdffa67d304aebb39259d1017e5857
Author: Muhammad Kamran <[email protected]>
Date:   Thu Jul 30 18:34:19 2026 +0100

    libgcc: aarch64: Do not use .previous after build attributes
    
    .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.

Diff:
---
 libgcc/config/aarch64/aarch64-asm.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/libgcc/config/aarch64/aarch64-asm.h b/libgcc/config/aarch64/aarch64-asm.h
index 5b5feefc342a..b9416652174e 100644
--- a/libgcc/config/aarch64/aarch64-asm.h
+++ b/libgcc/config/aarch64/aarch64-asm.h
@@ -109,8 +109,7 @@
     .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)