add patch for sparc elf handling

This commit is contained in:
Dennis Gilmore 2010-01-24 15:33:25 +00:00
parent 108494b92d
commit 3b7f0ed37e
2 changed files with 77 additions and 1 deletions

View File

@ -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 <dennis@ausil.us> 4.4.3-2
- sparc patch from davem for elf handling
* Thu Jan 21 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-1
- update from gcc-4_4-branch
- GCC 4.4.3 release

71
gcc44-sparc.patch Normal file
View File

@ -0,0 +1,71 @@
2010-01-22 David S. Miller <davem@davemloft.net>
* 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)