mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-24 19:33:59 +08:00
libgcc, i386: Add .note.GNU-stack sections to the ms sse/avx sav/res
On Linux, GCC emits .note.GNU-stack sections when compiling code to mark the code as not needing or needing executable stack, missing section means unknown. But assembly files need to be marked manually. We already mark various *.S files in libgcc manually, but the avx_resms64f.o avx_resms64fx.o avx_resms64.o avx_resms64x.o avx_savms64f.o avx_savms64.o sse_resms64f.o sse_resms64fx.o sse_resms64.o sse_resms64x.o sse_savms64f.o sse_savms64.o files aren't marked, so when something links it in, it will require executable stack. Nothing in the assembly requires executable stack though. 2021-01-27 Jakub Jelinek <jakub@redhat.com> * config/i386/savms64.h: Add .note.GNU-stack section on Linux. * config/i386/savms64f.h: Likewise. * config/i386/resms64.h: Likewise. * config/i386/resms64f.h: Likewise. * config/i386/resms64x.h: Likewise. * config/i386/resms64fx.h: Likewise.
This commit is contained in:
parent
530b1d6887
commit
686b1cdfdc
@ -57,3 +57,8 @@ MS2SYSV_STUB_END(resms64_17)
|
||||
MS2SYSV_STUB_END(resms64_18)
|
||||
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
#if defined(__ELF__) && defined(__linux__)
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
.previous
|
||||
#endif
|
||||
|
@ -55,3 +55,8 @@ MS2SYSV_STUB_END(resms64f_16)
|
||||
MS2SYSV_STUB_END(resms64f_17)
|
||||
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
#if defined(__ELF__) && defined(__linux__)
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
.previous
|
||||
#endif
|
||||
|
@ -62,3 +62,8 @@ MS2SYSV_STUB_END(resms64fx_16)
|
||||
MS2SYSV_STUB_END(resms64fx_17)
|
||||
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
#if defined(__ELF__) && defined(__linux__)
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
.previous
|
||||
#endif
|
||||
|
@ -63,3 +63,8 @@ MS2SYSV_STUB_END(resms64x_17)
|
||||
MS2SYSV_STUB_END(resms64x_18)
|
||||
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
#if defined(__ELF__) && defined(__linux__)
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
.previous
|
||||
#endif
|
||||
|
@ -57,3 +57,8 @@ MS2SYSV_STUB_END(savms64_17)
|
||||
MS2SYSV_STUB_END(savms64_18)
|
||||
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
#if defined(__ELF__) && defined(__linux__)
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
.previous
|
||||
#endif
|
||||
|
@ -55,3 +55,8 @@ MS2SYSV_STUB_END(savms64f_16)
|
||||
MS2SYSV_STUB_END(savms64f_17)
|
||||
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
#if defined(__ELF__) && defined(__linux__)
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
.previous
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user