diff --git a/gcc.spec b/gcc.spec index 2719dc0..ebe8ecf 100644 --- a/gcc.spec +++ b/gcc.spec @@ -3,7 +3,7 @@ %global gcc_version 4.4.3 # Note, gcc_release must be integer, if you want to add suffixes to # %{release}, append them after %{gcc_release} on Release: line. -%global gcc_release 1 +%global gcc_release 2 %global _unpackaged_files_terminate_build 0 %global multilib_64_archs sparc64 ppc64 s390x x86_64 %if 0%{?fedora} >= 13 @@ -167,6 +167,7 @@ Patch18: gcc44-libstdc++-docs.patch Patch19: gcc44-ppc64-aixdesc.patch Patch20: gcc44-max-vartrack-size.patch Patch21: gcc44-vta-non-call-exception.patch +Patch22: gcc44-sparc.patch Patch1000: fastjar-0.97-segfault.patch Patch1001: fastjar-0.97-len1.patch @@ -477,6 +478,7 @@ which are required to compile with the GNAT. %patch19 -p0 -b .ppc64-aixdesc~ %patch20 -p0 -b .max-vartrack-size~ %patch21 -p0 -b .vta-non-call-exception~ +%patch22 -p1 -b .sparc-elf # This testcase doesn't compile. rm libjava/testsuite/libjava.lang/PR35020* @@ -1866,6 +1868,9 @@ fi %doc rpm.doc/changelogs/libmudflap/ChangeLog* %changelog +* Sat Jan 23 2010 Dennis Gilmore 4.4.3-2 +- sparc patch from davem for elf handling + * Thu Jan 21 2010 Jakub Jelinek 4.4.3-1 - update from gcc-4_4-branch - GCC 4.4.3 release diff --git a/gcc44-sparc.patch b/gcc44-sparc.patch new file mode 100644 index 0000000..a867149 --- /dev/null +++ b/gcc44-sparc.patch @@ -0,0 +1,71 @@ +2010-01-22 David S. Miller + + * gcc/config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Don't define. + * gcc/config/sparc/sparc.c (sparc_elf_asm_named_section): Delete. + +diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c +index 4b904b4..563f9f4 100644 +--- a/gcc/config/sparc/sparc.c ++++ b/gcc/config/sparc/sparc.c +@@ -368,9 +368,6 @@ static int save_or_restore_regs (int, int, rtx, int, int); + static void emit_save_or_restore_regs (int); + static void sparc_asm_function_prologue (FILE *, HOST_WIDE_INT); + static void sparc_asm_function_epilogue (FILE *, HOST_WIDE_INT); +-#ifdef OBJECT_FORMAT_ELF +-static void sparc_elf_asm_named_section (const char *, unsigned int, tree); +-#endif + + static int sparc_adjust_cost (rtx, rtx, rtx, int); + static int sparc_issue_rate (void); +@@ -7986,36 +7983,6 @@ sparc_profile_hook (int labelno) + } + } + +-#ifdef OBJECT_FORMAT_ELF +-static void +-sparc_elf_asm_named_section (const char *name, unsigned int flags, +- tree decl) +-{ +- if (flags & SECTION_MERGE) +- { +- /* entsize cannot be expressed in this section attributes +- encoding style. */ +- default_elf_asm_named_section (name, flags, decl); +- return; +- } +- +- fprintf (asm_out_file, "\t.section\t\"%s\"", name); +- +- if (!(flags & SECTION_DEBUG)) +- fputs (",#alloc", asm_out_file); +- if (flags & SECTION_WRITE) +- fputs (",#write", asm_out_file); +- if (flags & SECTION_TLS) +- fputs (",#tls", asm_out_file); +- if (flags & SECTION_CODE) +- fputs (",#execinstr", asm_out_file); +- +- /* ??? Handle SECTION_BSS. */ +- +- fputc ('\n', asm_out_file); +-} +-#endif /* OBJECT_FORMAT_ELF */ +- + /* We do not allow indirect calls to be optimized into sibling calls. + + We cannot use sibling calls when delayed branches are disabled +diff --git a/gcc/config/sparc/sysv4.h b/gcc/config/sparc/sysv4.h +index edfe59b..2fb2ec5 100644 +--- a/gcc/config/sparc/sysv4.h ++++ b/gcc/config/sparc/sysv4.h +@@ -126,10 +126,6 @@ do { ASM_OUTPUT_ALIGN ((FILE), Pmode == SImode ? 2 : 3); \ + #undef DTORS_SECTION_ASM_OP + #define DTORS_SECTION_ASM_OP "\t.section\t\".dtors\",#alloc,#write" + +-/* Switch into a generic section. */ +-#undef TARGET_ASM_NAMED_SECTION +-#define TARGET_ASM_NAMED_SECTION sparc_elf_asm_named_section +- + #undef ASM_OUTPUT_ALIGNED_BSS + #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ + asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)