------- Comment #21 from pluto at agmk dot net  2005-12-06 20:55 -------
ok, I hope this ppc-elf-linux fix for pr20218-x86-32_64.patch is correct.
with this both testcases work.

diff -uNrp a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
--- a/gcc/config/rs6000/linux.h    2005-11-30 11:15:31.000000000 +0000
+++ b/gcc/config/rs6000/linux.h    2005-12-06 20:02:14.949860336 +0000
@@ -108,7 +108,8 @@
 #define RELOCATABLE_NEEDS_FIXUP \
   (target_flags & target_flags_explicit & MASK_RELOCATABLE)

-#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
+#undef TARGET_ASM_FILE_END
+#define TARGET_ASM_FILE_END rs6000_elf_file_end

 #define TARGET_POSIX_IO

diff -uNrp a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
--- a/gcc/config/rs6000/linux64.h  2005-11-30 11:15:31.000000000 +0000
+++ b/gcc/config/rs6000/linux64.h  2005-12-06 20:02:03.882542824 +0000
@@ -543,7 +543,8 @@ while (0)
 #undef DRAFT_V4_STRUCT_RET
 #define DRAFT_V4_STRUCT_RET (!TARGET_64BIT)

-#define TARGET_ASM_FILE_END rs6000_elf_end_indicate_exec_stack
+#undef TARGET_ASM_FILE_END
+#define TARGET_ASM_FILE_END rs6000_elf_file_end

 #define TARGET_POSIX_IO

diff -uNrp a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
--- a/gcc/config/rs6000/rs6000.c   2005-11-30 11:15:31.000000000 +0000
+++ b/gcc/config/rs6000/rs6000.c   2005-12-06 20:17:39.014381176 +0000
@@ -611,7 +611,7 @@ static void rs6000_file_start (void);
 static unsigned int rs6000_elf_section_type_flags (tree, const char *, int);
 static void rs6000_elf_asm_out_constructor (rtx, int);
 static void rs6000_elf_asm_out_destructor (rtx, int);
-static void rs6000_elf_end_indicate_exec_stack (void) ATTRIBUTE_UNUSED;
+static void rs6000_elf_file_end (void) ATTRIBUTE_UNUSED;
 static void rs6000_elf_select_section (tree, int, unsigned HOST_WIDE_INT);
 static void rs6000_elf_unique_section (tree, int);
 static void rs6000_elf_select_rtx_section (enum machine_mode, rtx,
@@ -18060,10 +18060,11 @@ rs6000_elf_declare_function_name (FILE *
 }

 static void
-rs6000_elf_end_indicate_exec_stack (void)
+rs6000_elf_file_end (void)
 {
   if (TARGET_32BIT)
     file_end_indicate_exec_stack ();
+  default_elf_asm_file_end ();
 }
 #endif


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20218

Reply via email to