]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aarch64: libgcc: Cleanup ELF marking in asm
authorSzabolcs Nagy <szabolcs.nagy@arm.com>
Mon, 29 Jan 2024 09:30:50 +0000 (09:30 +0000)
committerSzabolcs Nagy <szabolcs.nagy@arm.com>
Thu, 1 Feb 2024 09:10:23 +0000 (09:10 +0000)
Use aarch64-asm.h in asm code consistently, this was started in

  commit c608ada288ced0268bbbbc1fd4136f56c34b24d4
  Author:     Zac Walker <zacwalker@microsoft.com>
  CommitDate: 2024-01-23 15:32:30 +0000

  Ifdef `.hidden`, `.type`, and `.size` pseudo-ops for `aarch64-w64-mingw32` target

But that commit failed to remove some existing markings from asm files,
which means some objects got double marked with gnu property notes.

libgcc/ChangeLog:

* config/aarch64/crti.S: Remove stack marking.
* config/aarch64/crtn.S: Remove stack marking, include aarch64-asm.h
* config/aarch64/lse.S: Remove stack and GNU property markings.

libgcc/config/aarch64/crti.S
libgcc/config/aarch64/crtn.S
libgcc/config/aarch64/lse.S

index b6805b864218c71886fbdf00e3fda78f2890eaab..52ca1bb56d6c4cda05b8382cd35df30a10028b88 100644 (file)
 
 #include "aarch64-asm.h"
 
-/* An executable stack is *not* required for these functions.  */
-#if defined(__ELF__) && defined(__linux__)
-.section .note.GNU-stack,"",%progbits
-.previous
-#endif
-
 # This file creates a stack frame for the contents of the .fini and
 # .init sections.  Users may put any desired instructions in those
 # sections.
index 59f2441032adccfb6968725ecec8b31272e9e1d9..67bcfab8564eea48690bf66ee969d0c1c35b8822 100644 (file)
 # see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 # <http://www.gnu.org/licenses/>.
 
-/* An executable stack is *not* required for these functions.  */
-#if defined(__ELF__) && defined(__linux__)
-.section .note.GNU-stack,"",%progbits
-.previous
-#endif
+#include "aarch64-asm.h"
 
 # This file just makes sure that the .fini and .init sections do in
 # fact return.  Users may put any desired instructions in those sections.
index cee1e88c6a478cbf72cde0550b8cd07933dba112..ecef47086c6985ff7d814d6d41f07e3875ebe27c 100644 (file)
@@ -315,43 +315,3 @@ STARTFN    NAME(LDNM)
 
 ENDFN  NAME(LDNM)
 #endif
-
-/* GNU_PROPERTY_AARCH64_* macros from elf.h for use in asm code.  */
-#define FEATURE_1_AND 0xc0000000
-#define FEATURE_1_BTI 1
-#define FEATURE_1_PAC 2
-
-/* Supported features based on the code generation options.  */
-#if defined(__ARM_FEATURE_BTI_DEFAULT)
-# define BTI_FLAG FEATURE_1_BTI
-#else
-# define BTI_FLAG 0
-#endif
-
-#if __ARM_FEATURE_PAC_DEFAULT & 3
-# define PAC_FLAG FEATURE_1_PAC
-#else
-# define PAC_FLAG 0
-#endif
-
-/* Add a NT_GNU_PROPERTY_TYPE_0 note.  */
-#define GNU_PROPERTY(type, value)      \
-  .section .note.gnu.property, "a";    \
-  .p2align 3;                          \
-  .word 4;                             \
-  .word 16;                            \
-  .word 5;                             \
-  .asciz "GNU";                                \
-  .word type;                          \
-  .word 4;                             \
-  .word value;                         \
-  .word 0;
-
-#if defined(__linux__) || defined(__FreeBSD__)
-.section .note.GNU-stack, "", %progbits
-
-/* Add GNU property note if built with branch protection.  */
-# if (BTI_FLAG|PAC_FLAG) != 0
-GNU_PROPERTY (FEATURE_1_AND, BTI_FLAG|PAC_FLAG)
-# endif
-#endif