yann@552: Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/61_all_gcc4-ia64-noteGNUstack.patch yann@552: 2004-09-20 Jakub Jelinek yann@552: yann@552: * config/rs6000/ppc-asm.h: Add .note.GNU-stack section also yann@552: on ppc64-linux. yann@552: yann@552: * config/ia64/lib1funcs.asm: Add .note.GNU-stack section on yann@552: ia64-linux. yann@552: * config/ia64/crtbegin.asm: Likewise. yann@552: * config/ia64/crtend.asm: Likewise. yann@552: * config/ia64/crti.asm: Likewise. yann@552: * config/ia64/crtn.asm: Likewise. yann@552: yann@552: 2004-05-14 Jakub Jelinek yann@552: yann@552: * config/ia64/linux.h (TARGET_ASM_FILE_END): Define. yann@552: yann@552: diff -durN gcc-4.3.0.orig/gcc/config/ia64/crtbegin.asm gcc-4.3.0/gcc/config/ia64/crtbegin.asm yann@552: --- gcc-4.3.0.orig/gcc/config/ia64/crtbegin.asm 2005-09-27 02:52:24.000000000 +0200 yann@552: +++ gcc-4.3.0/gcc/config/ia64/crtbegin.asm 2008-06-10 14:45:02.000000000 +0200 yann@552: @@ -255,3 +255,7 @@ yann@552: .weak __cxa_finalize yann@552: #endif yann@552: .weak _Jv_RegisterClasses yann@552: + yann@552: +#ifdef __linux__ yann@552: +.section .note.GNU-stack; .previous yann@552: +#endif yann@552: diff -durN gcc-4.3.0.orig/gcc/config/ia64/crtend.asm gcc-4.3.0/gcc/config/ia64/crtend.asm yann@552: --- gcc-4.3.0.orig/gcc/config/ia64/crtend.asm 2005-09-27 02:52:24.000000000 +0200 yann@552: +++ gcc-4.3.0/gcc/config/ia64/crtend.asm 2008-06-10 14:45:02.000000000 +0200 yann@552: @@ -122,3 +122,7 @@ yann@552: yann@552: br.ret.sptk.many rp yann@552: .endp __do_global_ctors_aux yann@552: + yann@552: +#ifdef __linux__ yann@552: +.section .note.GNU-stack; .previous yann@552: +#endif yann@552: diff -durN gcc-4.3.0.orig/gcc/config/ia64/crti.asm gcc-4.3.0/gcc/config/ia64/crti.asm yann@552: --- gcc-4.3.0.orig/gcc/config/ia64/crti.asm 2005-06-25 03:22:41.000000000 +0200 yann@552: +++ gcc-4.3.0/gcc/config/ia64/crti.asm 2008-06-10 14:45:02.000000000 +0200 yann@552: @@ -64,3 +64,7 @@ yann@552: .body yann@552: yann@552: # end of crti.asm yann@552: + yann@552: +#ifdef __linux__ yann@552: +.section .note.GNU-stack; .previous yann@552: +#endif yann@552: diff -durN gcc-4.3.0.orig/gcc/config/ia64/crtn.asm gcc-4.3.0/gcc/config/ia64/crtn.asm yann@552: --- gcc-4.3.0.orig/gcc/config/ia64/crtn.asm 2005-06-25 03:22:41.000000000 +0200 yann@552: +++ gcc-4.3.0/gcc/config/ia64/crtn.asm 2008-06-10 14:45:02.000000000 +0200 yann@552: @@ -54,3 +54,7 @@ yann@552: br.ret.sptk.many b0 yann@552: yann@552: # end of crtn.asm yann@552: + yann@552: +#ifdef __linux__ yann@552: +.section .note.GNU-stack; .previous yann@552: +#endif yann@552: diff -durN gcc-4.3.0.orig/gcc/config/ia64/lib1funcs.asm gcc-4.3.0/gcc/config/ia64/lib1funcs.asm yann@552: --- gcc-4.3.0.orig/gcc/config/ia64/lib1funcs.asm 2005-09-27 02:52:24.000000000 +0200 yann@552: +++ gcc-4.3.0/gcc/config/ia64/lib1funcs.asm 2008-06-10 14:45:02.000000000 +0200 yann@552: @@ -792,3 +792,7 @@ yann@552: } yann@552: .endp __floattitf yann@552: #endif yann@552: + yann@552: +#ifdef __linux__ yann@552: +.section .note.GNU-stack; .previous yann@552: +#endif yann@552: diff -durN gcc-4.3.0.orig/gcc/config/ia64/linux.h gcc-4.3.0/gcc/config/ia64/linux.h yann@552: --- gcc-4.3.0.orig/gcc/config/ia64/linux.h 2006-12-12 16:15:19.000000000 +0100 yann@552: +++ gcc-4.3.0/gcc/config/ia64/linux.h 2008-06-10 14:45:02.000000000 +0200 yann@552: @@ -5,6 +5,8 @@ yann@552: yann@552: #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux"); yann@552: yann@552: +#define TARGET_ASM_FILE_END file_end_indicate_exec_stack yann@552: + yann@552: /* This is for -profile to use -lc_p instead of -lc. */ yann@552: #undef CC1_SPEC yann@552: #define CC1_SPEC "%{profile:-p} %{G*}" yann@552: diff -durN gcc-4.3.0.orig/gcc/config/rs6000/ppc-asm.h gcc-4.3.0/gcc/config/rs6000/ppc-asm.h yann@552: --- gcc-4.3.0.orig/gcc/config/rs6000/ppc-asm.h 2003-06-04 18:44:51.000000000 +0200 yann@552: +++ gcc-4.3.0/gcc/config/rs6000/ppc-asm.h 2008-06-10 14:45:02.000000000 +0200 yann@552: @@ -158,7 +158,7 @@ yann@552: .size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name) yann@552: #endif yann@552: yann@552: -#if defined __linux__ && !defined __powerpc64__ yann@552: +#if defined __linux__ yann@552: .section .note.GNU-stack yann@552: .previous yann@552: #endif