diff --git a/.cvsignore b/.cvsignore index b0e15f9..c05d45c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ fastjar-0.97.tar.gz -gcc-4.4.3-20100121.tar.bz2 +gcc-4.4.3-20100127.tar.bz2 diff --git a/gcc.spec b/gcc.spec index ebe8ecf..dda7e66 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,9 +1,9 @@ -%global DATE 20100121 -%global SVNREV 156157 +%global DATE 20100127 +%global SVNREV 156296 %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 2 +%global gcc_release 4 %global _unpackaged_files_terminate_build 0 %global multilib_64_archs sparc64 ppc64 s390x x86_64 %if 0%{?fedora} >= 13 @@ -166,8 +166,7 @@ Patch17: gcc44-pr38757.patch 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 +Patch21: gcc44-rh559186.patch Patch1000: fastjar-0.97-segfault.patch Patch1001: fastjar-0.97-len1.patch @@ -477,8 +476,7 @@ which are required to compile with the GNAT. %endif %patch19 -p0 -b .ppc64-aixdesc~ %patch20 -p0 -b .max-vartrack-size~ -%patch21 -p0 -b .vta-non-call-exception~ -%patch22 -p1 -b .sparc-elf +%patch21 -p0 -b .rh559186~ # This testcase doesn't compile. rm libjava/testsuite/libjava.lang/PR35020* @@ -1868,8 +1866,18 @@ fi %doc rpm.doc/changelogs/libmudflap/ChangeLog* %changelog +* Wed Jan 27 2010 Jakub Jelinek 4.4.3-4 +- update from gcc-4_4-branch + - PRs bootstrap/42786, fortran/42866, target/38697, target/42841 +- fix up handling of constant pool elements in dwarf2out +- fix acats norun.lst handling +- fix asm redirection of builtin ffs on 64-bit arches (#559186) + +* Mon Jan 25 2010 Jakub Jelinek 4.4.3-3 +- VTA improvements (#556975, PR debug/42861) + * Sat Jan 23 2010 Dennis Gilmore 4.4.3-2 -- sparc patch from davem for elf handling +- use gas .section syntax (#530847) * Thu Jan 21 2010 Jakub Jelinek 4.4.3-1 - update from gcc-4_4-branch diff --git a/gcc44-rh559186.patch b/gcc44-rh559186.patch new file mode 100644 index 0000000..0544f72 --- /dev/null +++ b/gcc44-rh559186.patch @@ -0,0 +1,65 @@ +2010-01-27 Jakub Jelinek + + * Makefile.in (c-common.o): Depend on $(OPTABS_H). + * c-common.c: Include optabs.h. + (set_builtin_user_assembler_name): Also handle + ffs if int is smaller than word. + + * gcc.dg/builtin-ffs-1.c: New test. + +--- gcc/Makefile.in.jj 2010-01-21 08:58:12.000000000 +0100 ++++ gcc/Makefile.in 2010-01-27 19:17:05.000000000 +0100 +@@ -1890,7 +1890,7 @@ c-common.o : c-common.c $(CONFIG_H) $(SY + $(TARGET_H) $(C_TREE_H) tree-iterator.h langhooks.h tree-mudflap.h \ + intl.h opts.h $(REAL_H) $(CPPLIB_H) $(TREE_INLINE_H) $(HASHTAB_H) \ + $(BUILTINS_DEF) $(CGRAPH_H) $(BASIC_BLOCK_H) $(TARGET_DEF_H) \ +- $(GIMPLE_H) libfuncs.h ++ $(GIMPLE_H) libfuncs.h $(OPTABS_H) + + c-pretty-print.o : c-pretty-print.c $(C_PRETTY_PRINT_H) \ + $(C_TREE_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(REAL_H) \ +--- gcc/c-common.c.jj 2009-11-09 16:38:29.000000000 +0100 ++++ gcc/c-common.c 2010-01-27 19:16:35.000000000 +0100 +@@ -52,6 +52,7 @@ along with GCC; see the file COPYING3. + #include "gimple.h" + #include "fixed-value.h" + #include "libfuncs.h" ++#include "optabs.h" + + cpp_reader *parse_in; /* Declared in c-pragma.h. */ + +@@ -4421,6 +4422,14 @@ set_builtin_user_assembler_name (tree de + case BUILT_IN_ABORT: + abort_libfunc = set_user_assembler_libfunc ("abort", asmspec); + break; ++ case BUILT_IN_FFS: ++ if (INT_TYPE_SIZE < BITS_PER_WORD) ++ { ++ set_user_assembler_libfunc ("ffs", asmspec); ++ set_optab_libfunc (ffs_optab, mode_for_size (INT_TYPE_SIZE, ++ MODE_INT, 0), "ffs"); ++ } ++ break; + default: + break; + } +--- gcc/testsuite/gcc.dg/builtin-ffs-1.c.jj 2010-01-27 14:27:45.000000000 +0100 ++++ gcc/testsuite/gcc.dg/builtin-ffs-1.c 2010-01-27 14:27:10.000000000 +0100 +@@ -0,0 +1,17 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } */ ++ ++extern int ffs (int) __asm ("__GI_ffs") __attribute__ ((nothrow, const)); ++ ++int ++ffsll (long long int i) ++{ ++ unsigned long long int x = i & -i; ++ ++ if (x <= 0xffffffff) ++ return ffs (i); ++ else ++ return 32 + ffs (i >> 32); ++} ++ ++/* { dg-final { scan-assembler-not "\nffs\n|\nffs\[^a-zA-Z0-9_\]|\[^a-zA-Z0-9_\]ffs\n" } } */ diff --git a/gcc44-sparc.patch b/gcc44-sparc.patch deleted file mode 100644 index a867149..0000000 --- a/gcc44-sparc.patch +++ /dev/null @@ -1,71 +0,0 @@ -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) diff --git a/gcc44-vta-non-call-exception.patch b/gcc44-vta-non-call-exception.patch deleted file mode 100644 index d7e633d..0000000 --- a/gcc44-vta-non-call-exception.patch +++ /dev/null @@ -1,38 +0,0 @@ -2010-01-21 Jakub Jelinek - - * tree-into-ssa.c (maybe_register_def): If stmt ends the bb, - insert the debug stmt on the single non-EH edge from the stmt. - ---- gcc/tree-into-ssa.c.jj 2010-01-21 09:58:38.000000000 +0100 -+++ gcc/tree-into-ssa.c 2010-01-21 12:25:22.000000000 +0100 -@@ -1968,7 +1968,29 @@ maybe_register_def (def_operand_p def_p, - if (tracked_var) - { - gimple note = gimple_build_debug_bind (tracked_var, def, stmt); -- gsi_insert_after (&gsi, note, GSI_SAME_STMT); -+ if (gsi_one_before_end_p (gsi) && stmt_ends_bb_p (stmt)) -+ { -+ basic_block bb = gsi_bb (gsi); -+ edge_iterator ei; -+ edge e, ef = NULL; -+ FOR_EACH_EDGE (e, ei, bb->succs) -+ if (!(e->flags & EDGE_EH)) -+ { -+ if (ef) -+ { -+ ef = NULL; -+ break; -+ } -+ ef = e; -+ } -+ if (ef -+ && single_pred_p (ef->dest) -+ && !phi_nodes (ef->dest) -+ && ef->dest != EXIT_BLOCK_PTR) -+ gsi_insert_on_edge_immediate (ef, note); -+ } -+ else -+ gsi_insert_after (&gsi, note, GSI_SAME_STMT); - } - } - diff --git a/import.log b/import.log index e0e9ee7..51233ea 100644 --- a/import.log +++ b/import.log @@ -4,3 +4,4 @@ gcc-4_4_2-14_fc13:HEAD:gcc-4.4.2-14.fc13.src.rpm:1259930464 gcc-4_4_2-20_fc13:HEAD:gcc-4.4.2-20.fc13.src.rpm:1261484502 gcc-4_4_2-25_fc13:HEAD:gcc-4.4.2-25.fc13.src.rpm:1263487371 gcc-4_4_3-1_fc13:HEAD:gcc-4.4.3-1.fc13.src.rpm:1264094717 +gcc-4_4_3-4_fc13:HEAD:gcc-4.4.3-4.fc13.src.rpm:1264621537 diff --git a/sources b/sources index f1c292e..5ad077a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz -6583a7c9552f341f1fc386e31e580d42 gcc-4.4.3-20100121.tar.bz2 +68beb615235531be563805873737509f gcc-4.4.3-20100127.tar.bz2