------- 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