diff options
author | Gerald Pfeifer <gerald@FreeBSD.org> | 2007-02-18 21:58:37 +0000 |
---|---|---|
committer | Gerald Pfeifer <gerald@FreeBSD.org> | 2007-02-18 21:58:37 +0000 |
commit | 283351f1dff387fa02636183c058efc5991bf2bd (patch) | |
tree | e1ed9131d90fb57849a9a94fb12926eb299f70d5 /lang/gcc/files | |
parent | Org-mode is a mode for keeping notes, maintaining ToDo lists, and (diff) |
Update to the 20070216 snapshot of GCC 4.3.0.
This has a patch of mine to account for the removal of /usr/bin/objformat
on 7-CURRENT and defaults to elf instead of aout in this case.
Add a temporary patch to fix the bootstrap on i386.
Notes
Notes:
svn path=/head/; revision=185476
Diffstat (limited to 'lang/gcc/files')
-rw-r--r-- | lang/gcc/files/patch-gcc-local-alloc.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lang/gcc/files/patch-gcc-local-alloc.c b/lang/gcc/files/patch-gcc-local-alloc.c new file mode 100644 index 000000000000..c0c257589b70 --- /dev/null +++ b/lang/gcc/files/patch-gcc-local-alloc.c @@ -0,0 +1,31 @@ +From: Steven Bosscher <stevenb.gcc@gmail.com> +To: <gcc-patches@gcc.gnu.org> +Date: Sun, 18 Feb 2007 09:21:35 +0100 +Message-Id: <200702180921.35650.steven@gcc.gnu.org> +Subject: [PATCH] Fix PR30773 and its duplicates + +[...] + + * local-alloc.c (update_equiv_regs): Do not set reg_equiv_init + if we fail to attach a REG_EQUIV note. + +Index: gcc/local-alloc.c +=================================================================== +--- local-alloc.c (revision 121823) ++++ local-alloc.c (working copy) +@@ -1062,10 +1062,11 @@ update_equiv_regs (void) + { + rtx init_insn = XEXP (reg_equiv[regno].init_insns, 0); + if (validate_equiv_mem (init_insn, src, dest) +- && ! memref_used_between_p (dest, init_insn, insn)) ++ && ! memref_used_between_p (dest, init_insn, insn) ++ /* Attaching a REG_EQUIV note will fail if INIT_INSN has ++ multiple sets. */ ++ && set_unique_reg_note (init_insn, REG_EQUIV, copy_rtx (dest))) + { +- set_unique_reg_note (init_insn, REG_EQUIV, copy_rtx (dest)); +- + /* This insn makes the equivalence, not the one initializing + the register. */ + reg_equiv_init[regno] + |