# 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  <jakub@redhat.com>

	* 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  <jakub@redhat.com>

	* config/ia64/linux.h (TARGET_ASM_FILE_END): Define.

libffi/

2007-05-11  Daniel Jacobowitz  <dan@debian.org>

	* src/arm/sysv.S: Fix ARM comment marker.

2005-02-08  Jakub Jelinek  <jakub@redhat.com>

	* 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
