The unified diff between revisions [c16f2304..] and [d167fed5..] is displayed below. It can also be downloaded as a raw diff.
#
#
# patch "debian/changelog"
# from [b327410bfa0b9d7a529adcac412a98125ed217d5]
# to [6920ccb478ff8aa236aab77e658aa3e3bd43a9ab]
#
# patch "debian/patches/svn-updates.diff"
# from [302f27318ccde1c5aa00c425bdaf99e1406f35ff]
# to [c1d43f5cc660d81d1bde72bd776cb6b0e7a70e3d]
#
============================================================
--- debian/changelog b327410bfa0b9d7a529adcac412a98125ed217d5
+++ debian/changelog 6920ccb478ff8aa236aab77e658aa3e3bd43a9ab
@@ -1,9 +1,9 @@
-gcc-4.5 (4.5.1-4) UNRELEASED; urgency=low
+gcc-4.5 (4.5.1-4) experimental; urgency=low
- * Update to SVN 20100902 (r163775) from the gcc-4_5-branch.
+ * Update to SVN 20100903 (r163833) from the gcc-4_5-branch.
- Fix PR target/45070, PR middle-end/45458, PR rtl-optimization/45353,
PR middle-end/45423, PR c/45079, PR tree-optimization/45393,
- PR c++/44991.
+ PR c++/44991, PR middle-end/45484, PR debug/45500, PR lto/45496.
[ Matthias Klose ]
* Install config/vxworks-dummy.h in the gcc-4.5-plugin-dev package
@@ -31,7 +31,7 @@ gcc-4.5 (4.5.1-4) UNRELEASED; urgency=lo
* Create libgcc1 and gcc-*-base packages for stage2 cross builds.
LP: #628855.
- -- Matthias Klose <doko@debian.org> Wed, 01 Sep 2010 14:16:08 +0200
+ -- Matthias Klose <doko@debian.org> Fri, 03 Sep 2010 18:09:40 +0200
gcc-4.5 (4.5.1-3) experimental; urgency=low
============================================================
--- debian/patches/svn-updates.diff 302f27318ccde1c5aa00c425bdaf99e1406f35ff
+++ debian/patches/svn-updates.diff c1d43f5cc660d81d1bde72bd776cb6b0e7a70e3d
@@ -1,10 +1,10 @@
-# DP: updates from the 4.5 branch upto 20100902 (r163775).
+# DP: updates from the 4.5 branch upto 20100902 (r183833).
last_updated()
{
cat > ${dir}LAST_UPDATED <<EOF
-Thu Sep 2 15:59:37 CEST 2010
-Thu Sep 2 13:59:37 UTC 2010 (revision 163775)
+Fri Sep 3 18:02:06 CEST 2010
+Fri Sep 3 16:02:06 UTC 2010 (revision 163833)
EOF
}
@@ -30,7 +30,7 @@ Index: gcc/DATESTAMP
+++ b/src/gcc/DATESTAMP (.../branches/gcc-4_5-branch)
@@ -1 +1 @@
-20100731
-+20100902
++20100903
Index: gcc/postreload.c
===================================================================
--- a/src/gcc/postreload.c (.../tags/gcc_4_5_1_release)
@@ -97,7 +97,20 @@ Index: gcc/ChangeLog
===================================================================
--- a/src/gcc/ChangeLog (.../tags/gcc_4_5_1_release)
+++ b/src/gcc/ChangeLog (.../branches/gcc-4_5-branch)
-@@ -1,3 +1,320 @@
+@@ -1,3 +1,333 @@
++2010-09-03 Jakub Jelinek <jakub@redhat.com>
++
++ PR middle-end/45484
++ * dwarf2out.c (flush_queued_reg_saves): Rename to...
++ (dwarf2out_flush_queued_reg_saves): ... this. No longer static.
++ (dwarf2out_frame_debug): Adjust callers.
++ * dwarf2out.h (dwarf2out_flush_queued_reg_saves): New prototype.
++ * config/i386/i386.c (output_set_got): Call it.
++
++ PR debug/45500
++ * dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors,
++ not just generic vectors with BLKmode.
++
+2010-09-02 Ian Bolton <ian.bolton@arm.com>
+
+ Backport from mainline
@@ -418,7 +431,7 @@ Index: gcc/ChangeLog
2010-07-31 Release Manager
* GCC 4.5.1 released.
-@@ -105,8 +427,8 @@
+@@ -105,8 +440,8 @@
2010-07-19 Bingfeng Mei <bmei@broadcom.com>
* ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
@@ -429,7 +442,7 @@ Index: gcc/ChangeLog
2010-07-15 Jie Zhang <jie@codesourcery.com>
-@@ -286,7 +608,7 @@
+@@ -286,7 +621,7 @@
if old_decl was DECL_ONE_ONLY.
2010-06-21 Jakub Jelinek <jakub@redhat.com>
@@ -438,7 +451,7 @@ Index: gcc/ChangeLog
PR target/44575
* config/i386/i386.c (ix86_gimplify_va_arg): When copying
va_arg from a set of register save slots into a temporary,
-@@ -392,24 +714,24 @@
+@@ -392,24 +727,24 @@
Backport from mainline
2010-05-17 Martin Jambor <mjambor@suse.cz>
@@ -475,7 +488,7 @@ Index: gcc/ChangeLog
2010-06-27 Jan Hubicka <jh@suse.cz>
-@@ -536,7 +858,7 @@
+@@ -536,7 +871,7 @@
Backport from mainline:
2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
@@ -484,7 +497,7 @@ Index: gcc/ChangeLog
after .section directive; just print it before the directive
instead.
-@@ -1659,7 +1981,7 @@
+@@ -1659,7 +1994,7 @@
* tree-tailcall.c (find_tail_calls): Verify the tail call
properly.
@@ -493,7 +506,7 @@ Index: gcc/ChangeLog
PR tree-optimization/43771
* tree-vect-slp.c (vect_supported_load_permutation_p): Check that
-@@ -1925,11 +2247,11 @@
+@@ -1925,11 +2260,11 @@
* Makefile.in ($(out_object_file)): Depend on
gt-$(basename $(notdir $(out_file))).h.
@@ -507,7 +520,7 @@ Index: gcc/ChangeLog
* config.gcc: Add lm32-*-rtems*.
* config/lm32/rtems.h: New file.
-@@ -1984,8 +2306,8 @@
+@@ -1984,8 +2319,8 @@
PR middle-end/43602
Revert
@@ -518,7 +531,7 @@ Index: gcc/ChangeLog
* tree-profile.c (tree_init_ic_make_global_vars): Make static
variables TLS.
-@@ -2276,8 +2598,8 @@
+@@ -2276,8 +2611,8 @@
* config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
stack check if the mask would be zero.
@@ -529,7 +542,7 @@ Index: gcc/ChangeLog
* tree-profile.c (tree_init_ic_make_global_vars): Make static
variables TLS.
-@@ -2620,7 +2942,7 @@
+@@ -2620,7 +2955,7 @@
instead of callq.
2010-03-22 Janis Johnson <janis187@us.ibm.com>
@@ -538,7 +551,7 @@ Index: gcc/ChangeLog
* doc/sourcebuild.texi (Test Directives): Split into six
subsections, with most of the current text in new subsections
-@@ -2775,8 +3097,8 @@
+@@ -2775,8 +3110,8 @@
(sparc_file_end): Emit a hidden comdat symbol for the PIC
thunk if possible. Output CFI information as needed.
@@ -549,7 +562,7 @@ Index: gcc/ChangeLog
PR target/36399
* config/i386/i386.h: Fix ABI on darwin x86-32.
-@@ -2919,7 +3241,7 @@
+@@ -2919,7 +3254,7 @@
* graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
statements before splitting block.
@@ -558,7 +571,7 @@ Index: gcc/ChangeLog
* doc/sourcebuild.texi (Testsuites): Fix markup.
Use pathnames relative to gcc/testsuite.
-@@ -3531,7 +3853,7 @@
+@@ -3531,7 +3866,7 @@
* tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
uses of relevant DEFs that are dead outside the loop too.
@@ -567,7 +580,7 @@ Index: gcc/ChangeLog
* var-tracking.c (dataflow_set_merge): Swap src and src2.
Reverted:
-@@ -4313,7 +4635,7 @@
+@@ -4313,7 +4648,7 @@
* config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
lang_hooks.types_compatible_p instead of comptypes.
@@ -576,7 +589,7 @@ Index: gcc/ChangeLog
* config/arm/lib1funcs.asm (__prefer_thumb__): New define.
(udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
-@@ -4384,7 +4706,7 @@
+@@ -4384,7 +4719,7 @@
statements ...
(vrp_visit_phi_node): ... but only for loop PHI nodes.
@@ -585,7 +598,7 @@ Index: gcc/ChangeLog
PR tree-optimization/43074
* tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
-@@ -4412,8 +4734,8 @@
+@@ -4412,8 +4747,8 @@
flag_var_tracking_assignments.
* Makefile.in (var-tracking.o): Adjust dependencies.
@@ -596,7 +609,7 @@ Index: gcc/ChangeLog
PR target/42854
* config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
-@@ -4511,7 +4833,7 @@
+@@ -4511,7 +4846,7 @@
2010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
Jack Howarth <howarth@bromo.med.uc.edu>
@@ -605,7 +618,7 @@ Index: gcc/ChangeLog
PR target/42982
Partial revert of unintended change in fix for PR41605.
-@@ -5934,7 +6256,7 @@
+@@ -5934,7 +6269,7 @@
(maybe_tidy_empty_bb): Delete prototype.
(purge_empty_blocks): Declare.
@@ -844,6 +857,43 @@ Index: gcc/testsuite/gcc.target/i386/pr4
+/* { dg-options "" } */
+
+register long double F80 asm("st"); /* { dg-error "stack register" } */
+Index: gcc/testsuite/gcc.target/i386/pr45500.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr45500.c (.../tags/gcc_4_5_1_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr45500.c (.../branches/gcc-4_5-branch)
+@@ -0,0 +1,6 @@
++/* PR debug/45500 */
++/* { dg-do compile } */
++/* { dg-options "-g -msse" } */
++
++typedef char V __attribute__ ((__vector_size__ (16)));
++static const V s = { '\n', '\r', '?', '\\' };
+Index: gcc/testsuite/gcc.target/x86_64/abi/avx/abi-avx.exp
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/x86_64/abi/avx/abi-avx.exp (.../tags/gcc_4_5_1_release)
++++ b/src/gcc/testsuite/gcc.target/x86_64/abi/avx/abi-avx.exp (.../branches/gcc-4_5-branch)
+@@ -28,9 +28,20 @@
+ }
+
+
++# If the linker used understands -M <mapfile>, pass it to clear hardware
++# capabilities set by the Sun assembler.
++set flags ""
++set clearcap_ldflags "-Wl,-M,$srcdir/gcc.target/i386/clearcap.map"
++
++if [check_no_compiler_messages mapfile executable {
++ int main (void) { return 0; }
++ } $clearcap_ldflags ] {
++ set flags $clearcap_ldflags
++}
++
+ torture-init
+ set-torture-options $C_TORTURE_OPTIONS
+-set additional_flags "-W -Wall -mavx"
++set additional_flags "-W -Wall -mavx $flags"
+
+ foreach src [lsort [glob -nocomplain $srcdir/$subdir/test_*.c]] {
+ if {[runtest_file_p $runtests $src]} {
Index: gcc/testsuite/gcc.dg/20050330-2.c
===================================================================
--- a/src/gcc/testsuite/gcc.dg/20050330-2.c (.../tags/gcc_4_5_1_release)
@@ -1411,6 +1461,18 @@ Index: gcc/testsuite/gcc.dg/graphite/int
/* { dg-final { scan-tree-dump-times "will be interchanged" 1 "graphite" } } */
-/* { dg -final { cleanup-tree-dump "graphite" } } */
+/* { dg-final { cleanup-tree-dump "graphite" } } */
+Index: gcc/testsuite/gcc.dg/pr43058.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/pr43058.c (.../tags/gcc_4_5_1_release)
++++ b/src/gcc/testsuite/gcc.dg/pr43058.c (.../branches/gcc-4_5-branch)
+@@ -1,6 +1,7 @@
+ /* PR debug/43058 */
+ /* { dg-do compile } */
+ /* { dg-options "-g -O2" } */
++/* { dg-timeout-factor 4 } */
+
+ extern void *f1 (void *, void *, void *);
+ extern void *f2 (const char *, int, int, int, void *(*) ());
Index: gcc/testsuite/gcc.dg/pr26570.c
===================================================================
--- a/src/gcc/testsuite/gcc.dg/pr26570.c (.../tags/gcc_4_5_1_release)
@@ -1643,7 +1705,24 @@ Index: gcc/testsuite/ChangeLog
===================================================================
--- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_4_5_1_release)
+++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-4_5-branch)
-@@ -1,3 +1,209 @@
+@@ -1,3 +1,226 @@
++2010-09-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ Backport from mainline:
++ 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * gcc.dg/pr43058.c: Use dg-timeout-factor 4.
++
++2010-09-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * gcc.target/x86_64/abi/avx/abi-avx.exp: Link with
++ gcc.target/i386/clearcap.map if supported.
++
++2010-09-03 Jakub Jelinek <jakub@redhat.com>
++
++ PR debug/45500
++ * gcc.target/i386/pr45500.c: New test.
++
+2010-09-02 Ian Bolton <ian.bolton@arm.com>
+
+ Backport from mainline
@@ -1853,7 +1932,7 @@ Index: gcc/testsuite/ChangeLog
2010-07-31 Release Manager
* GCC 4.5.1 released.
-@@ -479,15 +685,15 @@
+@@ -479,15 +702,15 @@
Backport from mainline
2010-05-17 Martin Jambor <mjambor@suse.cz>
@@ -1872,7 +1951,7 @@ Index: gcc/testsuite/ChangeLog
2010-06-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-@@ -636,7 +842,7 @@
+@@ -636,7 +859,7 @@
PR testsuite/44518
* obj-c++.dg/encode-2.mm: XFAIL new test for all targets.
* obj-c++.dg/encode-3.mm: Restore XFAIL run for all targets.
@@ -7985,6 +8064,69 @@ Index: gcc/ifcvt.c
/* We're going to be moving the evaluation of B down from above
COND_EARLIEST to JUMP. Make sure the relevant data is still
intact. */
+Index: gcc/dwarf2out.c
+===================================================================
+--- a/src/gcc/dwarf2out.c (.../tags/gcc_4_5_1_release)
++++ b/src/gcc/dwarf2out.c (.../branches/gcc-4_5-branch)
+@@ -471,7 +471,6 @@
+ static void output_cfi_directive (dw_cfi_ref);
+ static void output_call_frame_info (int);
+ static void dwarf2out_note_section_used (void);
+-static void flush_queued_reg_saves (void);
+ static bool clobbers_queued_reg_save (const_rtx);
+ static void dwarf2out_frame_debug_expr (rtx, const char *);
+
+@@ -1707,8 +1706,8 @@
+
+ /* Output all the entries in QUEUED_REG_SAVES. */
+
+-static void
+-flush_queued_reg_saves (void)
++void
++dwarf2out_flush_queued_reg_saves (void)
+ {
+ struct queued_reg_save *q;
+
+@@ -2657,7 +2656,7 @@
+ size_t i;
+
+ /* Flush any queued register saves. */
+- flush_queued_reg_saves ();
++ dwarf2out_flush_queued_reg_saves ();
+
+ /* Set up state for generating call frame debug info. */
+ lookup_cfa (&cfa);
+@@ -2685,7 +2684,7 @@
+ }
+
+ if (!NONJUMP_INSN_P (insn) || clobbers_queued_reg_save (insn))
+- flush_queued_reg_saves ();
++ dwarf2out_flush_queued_reg_saves ();
+
+ if (!RTX_FRAME_RELATED_P (insn))
+ {
+@@ -15578,7 +15577,8 @@
+ ;
+ /* Vectors only work if their mode is supported by the target.
+ FIXME: generic vectors ought to work too. */
+- else if (TREE_CODE (type) == VECTOR_TYPE && TYPE_MODE (type) == BLKmode)
++ else if (TREE_CODE (type) == VECTOR_TYPE
++ && !VECTOR_MODE_P (TYPE_MODE (type)))
+ ;
+ /* If the initializer is something that we know will expand into an
+ immediate RTL constant, expand it now. We must be careful not to
+Index: gcc/dwarf2out.h
+===================================================================
+--- a/src/gcc/dwarf2out.h (.../tags/gcc_4_5_1_release)
++++ b/src/gcc/dwarf2out.h (.../branches/gcc-4_5-branch)
+@@ -22,6 +22,7 @@
+ extern void dwarf2out_frame_debug (rtx, bool);
+ extern void dwarf2out_begin_epilogue (rtx);
+ extern void dwarf2out_frame_debug_restore_state (void);
++extern void dwarf2out_flush_queued_reg_saves (void);
+
+ extern void debug_dwarf (void);
+ struct die_struct;
Index: gcc/ada/ChangeLog
===================================================================
--- a/src/gcc/ada/ChangeLog (.../tags/gcc_4_5_1_release)
@@ -9228,6 +9370,91 @@ Index: gcc/tree-sra.c
statistics_counter_event (cfun, "Unused parameters deleted",
sra_stats.deleted_unused_parameters);
+Index: gcc/lto/lto-elf.c
+===================================================================
+--- a/src/gcc/lto/lto-elf.c (.../tags/gcc_4_5_1_release)
++++ b/src/gcc/lto/lto-elf.c (.../branches/gcc-4_5-branch)
+@@ -38,7 +38,14 @@
+ # define EM_SPARC32PLUS 18
+ #endif
+
++#ifndef ELFOSABI_NONE
++# define ELFOSABI_NONE 0
++#endif
++#ifndef ELFOSABI_LINUX
++# define ELFOSABI_LINUX 3
++#endif
+
++
+ /* Handle opening elf files on hosts, such as Windows, that may use
+ text file handling that will break binary access. */
+ #ifndef O_BINARY
+@@ -496,7 +503,6 @@
+ error ("could not read ELF identification information: %s",
+ elf_errmsg (0));
+ return false;
+-
+ }
+
+ if (!cached_file_attrs.initialized)
+@@ -519,11 +525,32 @@
+ memcpy (cached_file_attrs.elf_ident, elf_ident,
+ sizeof cached_file_attrs.elf_ident);
+ }
++ else
++ {
++ char elf_ident_buf[EI_NIDENT];
+
+- if (memcmp (elf_ident, cached_file_attrs.elf_ident,
+- sizeof cached_file_attrs.elf_ident))
+- return false;
++ memcpy (elf_ident_buf, elf_ident, sizeof elf_ident_buf);
+
++ if (elf_ident_buf[EI_OSABI] != cached_file_attrs.elf_ident[EI_OSABI])
++ {
++ /* Allow mixing ELFOSABI_NONE with ELFOSABI_LINUX, with the result
++ ELFOSABI_LINUX. */
++ if (elf_ident_buf[EI_OSABI] == ELFOSABI_NONE
++ && cached_file_attrs.elf_ident[EI_OSABI] == ELFOSABI_LINUX)
++ elf_ident_buf[EI_OSABI] = cached_file_attrs.elf_ident[EI_OSABI];
++ else if (elf_ident_buf[EI_OSABI] == ELFOSABI_LINUX
++ && cached_file_attrs.elf_ident[EI_OSABI] == ELFOSABI_NONE)
++ cached_file_attrs.elf_ident[EI_OSABI] = elf_ident_buf[EI_OSABI];
++ }
++
++ if (memcmp (elf_ident_buf, cached_file_attrs.elf_ident,
++ sizeof cached_file_attrs.elf_ident))
++ {
++ error ("incompatible ELF identification");
++ return false;
++ }
++ }
++
+ /* Check that the input file is a relocatable object file with the correct
+ architecture. */
+ switch (cached_file_attrs.bits)
+Index: gcc/lto/ChangeLog
+===================================================================
+--- a/src/gcc/lto/ChangeLog (.../tags/gcc_4_5_1_release)
++++ b/src/gcc/lto/ChangeLog (.../branches/gcc-4_5-branch)
+@@ -1,3 +1,17 @@
++2010-09-03 Richard Guenther <rguenther@suse.de>
++
++ * lto-elf.c (validate_file): Always error if validation fails.
++
++2010-09-03 Richard Guenther <rguenther@suse.de>
++
++ PR lto/45496
++ Backport from mainline
++ 2010-07-07 Jakub Jelinek <jakub@redhat.com>
++
++ * lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
++ (validate_file): Allow merging of ELFOSABI_NONE with ELFOSABI_LINUX
++ objects.
++
+ 2010-07-31 Release Manager
+
+ * GCC 4.5.1 released.
Index: gcc/ipa-prop.c
===================================================================
--- a/src/gcc/ipa-prop.c (.../tags/gcc_4_5_1_release)
@@ -10295,7 +10522,22 @@ Index: gcc/config/i386/i386.c
===================================================================
--- a/src/gcc/config/i386/i386.c (.../tags/gcc_4_5_1_release)
+++ b/src/gcc/config/i386/i386.c (.../branches/gcc-4_5-branch)
-@@ -9491,8 +9491,7 @@
+@@ -7777,13 +7777,7 @@
+ /* Ensure all queued register saves are flushed before the
+ call. */
+ if (dwarf2out_do_frame ())
+- {
+- rtx insn;
+- start_sequence ();
+- insn = emit_barrier ();
+- end_sequence ();
+- dwarf2out_frame_debug (insn, false);
+- }
++ dwarf2out_flush_queued_reg_saves ();
+ #endif
+ xops[2] = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name));
+ xops[2] = gen_rtx_MEM (QImode, xops[2]);
+@@ -9491,8 +9485,7 @@
to test cfun for being non-NULL. */
if (TARGET_K6 && cfun && optimize_function_for_speed_p (cfun)
&& base_reg && !index_reg && !disp