# DP: Add .note.GNU-stack sections for gcc's crt files, libffi and boehm-gc # DP: Taken from FC. gcc/ 2004-09-20 Jakub Jelinek * config/rs6000/ppc-asm.h: Add .note.GNU-stack section also on ppc64-linux. * config/ia64/lib1funcs.asm: Add .note.GNU-stack section on ia64-linux. * config/ia64/crtbegin.asm: Likewise. * config/ia64/crtend.asm: Likewise. * config/ia64/crti.asm: Likewise. * config/ia64/crtn.asm: Likewise. 2004-05-14 Jakub Jelinek * config/ia64/linux.h (TARGET_ASM_FILE_END): Define. libffi/ 2007-05-11 Daniel Jacobowitz * src/arm/sysv.S: Fix ARM comment marker. 2005-02-08 Jakub Jelinek * src/alpha/osf.S: Add .note.GNU-stack on Linux. * src/s390/sysv.S: Likewise. * src/powerpc/linux64.S: Likewise. * src/powerpc/linux64_closure.S: Likewise. * src/powerpc/ppc_closure.S: Likewise. * src/powerpc/sysv.S: Likewise. * src/x86/unix64.S: Likewise. * src/x86/sysv.S: Likewise. * src/sparc/v8.S: Likewise. * src/sparc/v9.S: Likewise. * src/m68k/sysv.S: Likewise. * src/ia64/unix.S: Likewise. * src/arm/sysv.S: Likewise. --- gcc/config/ia64/linux.h | 3 +++ gcc/config/rs6000/ppc-asm.h | 2 +- libgcc/config/ia64/crtbegin.S | 4 ++++ libgcc/config/ia64/crtend.S | 4 ++++ libgcc/config/ia64/crti.S | 4 ++++ libgcc/config/ia64/crtn.S | 4 ++++ libgcc/config/ia64/lib1funcs.S | 4 ++++ 9 files changed, 39 insertions(+), 13 deletions(-) --- a/src/libgcc/config/ia64/crtbegin.S +++ b/src/libgcc/config/ia64/crtbegin.S @@ -185,3 +185,7 @@ __do_global_dtors_aux: .weak __cxa_finalize #endif .weak _Jv_RegisterClasses + +#ifdef __linux__ +.section .note.GNU-stack; .previous +#endif --- a/src/libgcc/config/ia64/crtend.S +++ b/src/libgcc/config/ia64/crtend.S @@ -114,3 +114,7 @@ __do_global_ctors_aux: br.ret.sptk.many rp .endp __do_global_ctors_aux + +#ifdef __linux__ +.section .note.GNU-stack; .previous +#endif --- a/src/libgcc/config/ia64/crti.S +++ b/src/libgcc/config/ia64/crti.S @@ -51,3 +51,7 @@ _fini: .body # end of crti.S + +#ifdef __linux__ +.section .note.GNU-stack; .previous +#endif --- a/src/libgcc/config/ia64/crtn.S +++ b/src/libgcc/config/ia64/crtn.S @@ -41,3 +41,7 @@ br.ret.sptk.many b0 # end of crtn.S + +#ifdef __linux__ +.section .note.GNU-stack; .previous +#endif --- a/src/libgcc/config/ia64/lib1funcs.S +++ b/src/libgcc/config/ia64/lib1funcs.S @@ -793,3 +793,7 @@ __floattitf: .endp __floattitf #endif #endif + +#ifdef __linux__ +.section .note.GNU-stack; .previous +#endif --- a/src/gcc/config/ia64/linux.h +++ b/src/gcc/config/ia64/linux.h @@ -79,5 +79,8 @@ do { \ #undef TARGET_INIT_LIBFUNCS #define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs +#undef TARGET_ASM_FILE_END +#define TARGET_ASM_FILE_END file_end_indicate_exec_stack + /* Define this to be nonzero if static stack checking is supported. */ #define STACK_CHECK_STATIC_BUILTIN 1 --- a/src/gcc/config/rs6000/ppc-asm.h +++ b/src/gcc/config/rs6000/ppc-asm.h @@ -375,7 +375,7 @@ GLUE(.L,name): \ #endif #endif -#if defined __linux__ && !defined __powerpc64__ +#if defined __linux__ .section .note.GNU-stack .previous #endif