Update to 3.2.1

Remove a large number of `speed-up patches' as they are likely to be
the cause for sparc64 and friends issues.
This commit is contained in:
espie 2002-11-24 11:52:32 +00:00
parent 557ec78265
commit 76eca84a2a
16 changed files with 19 additions and 271 deletions

View File

@ -1,16 +1,17 @@
# $OpenBSD: Makefile,v 1.69 2002/10/05 09:40:58 espie Exp $
# $OpenBSD: Makefile,v 1.70 2002/11/24 11:52:32 espie Exp $
ONLY_FOR_ARCHS= alpha i386 m68k sparc sparc64 powerpc
MAKE_ADA=Yes
MAKE_GXX=Yes
MAKE_FORTRAN=Yes
MAKE_OBJC=Yes
.if ${MACHINE_ARCH} == "i386"
MAKE_ADA=Yes
# Java is still mostly broken (boehm-gc)
MAKE_JAVA=Yes
.if ${MACHINE_ARCH} != "i386"
.else
MAKE_JAVA=No
MAKE_ADA=No
.endif
@ -72,7 +73,7 @@ BUILD_DEPENDS+=:bison-*:devel/bison
#### fetch section
V=3.2
V=3.2.1
DIRECTORY=releases/${DISTNAME}/
DISTNAME= gcc-$V
@ -81,7 +82,7 @@ MASTER_SITE_SUBDIR=${LATEST_DATE}
DIST_SUBDIR=egcs
DISTFILES= gcc-3.2.tar.bz2
DISTFILES= gcc-3.2.1.tar.bz2
SITES=

View File

@ -1,6 +1,3 @@
MD5 (egcs/gcc-3.1.tar.gz) = 5eb2786efe959fe67d51380abe32e1da
MD5 (egcs/gcc-3.2.tar.bz2) = 13f289fff789927b9b798bf37552019c
RMD160 (egcs/gcc-3.1.tar.gz) = f6dce139ba785592b00fcd404f6ff75589d9cb8b
RMD160 (egcs/gcc-3.2.tar.bz2) = b6f15eca417764c7efc8ec77c06999fd1d6f2048
SHA1 (egcs/gcc-3.1.tar.gz) = 39aed53829006fa1902d95e632faa0e0047244aa
SHA1 (egcs/gcc-3.2.tar.bz2) = f645ffa8df58a5b6e4c62742ccc21973c4ffa2a3
MD5 (egcs/gcc-3.2.1.tar.bz2) = 94a4a76c602b422c8edd66433eeacb7f
RMD160 (egcs/gcc-3.2.1.tar.bz2) = 1201ddd32c83b716299b29020bffc6781e519f39
SHA1 (egcs/gcc-3.2.1.tar.bz2) = 737612917bfc13efd333aa9c3f5294473aaaf6cc

View File

@ -1,89 +0,0 @@
$OpenBSD: patch-gcc_c-decl_c,v 1.2 2002/09/14 10:14:51 espie Exp $
--- gcc/c-decl.c.orig Sat Jul 27 01:23:03 2002
+++ gcc/c-decl.c Thu Sep 12 14:50:58 2002
@@ -216,9 +216,9 @@ struct binding_level
/* Nonzero means make a BLOCK if this level has any subblocks. */
char keep_if_subblocks;
- /* Number of decls in `names' that have incomplete
- structure or union types. */
- int n_incomplete;
+ /* List of decls in `names' that have incomplete structure or
+ union types. */
+ tree incomplete_list;
/* A list of decls giving the (reversed) specified order of parms,
not including any forward-decls in the parmlist.
@@ -245,7 +245,7 @@ static struct binding_level *global_bind
/* Binding level structures are initialized by copying this one. */
static struct binding_level clear_binding_level
- = {NULL, NULL, NULL, NULL, NULL, NULL_BINDING_LEVEL, 0, 0, 0, 0, 0, 0,
+ = {NULL, NULL, NULL, NULL, NULL, NULL_BINDING_LEVEL, 0, 0, 0, 0, 0, NULL,
NULL};
/* Nonzero means unconditionally make a BLOCK for the next level pushed. */
@@ -2560,7 +2560,7 @@ pushdecl (x)
element = TREE_TYPE (element);
if (TREE_CODE (element) == RECORD_TYPE
|| TREE_CODE (element) == UNION_TYPE)
- ++b->n_incomplete;
+ b->incomplete_list = tree_cons (NULL_TREE, x, b->incomplete_list);
}
}
@@ -3045,6 +3045,7 @@ mark_binding_level (arg)
ggc_mark_tree (level->blocks);
ggc_mark_tree (level->this_block);
ggc_mark_tree (level->parm_order);
+ ggc_mark_tree (level->incomplete_list);
}
}
@@ -5890,11 +5891,14 @@ finish_struct (t, fieldlist, attributes)
/* If this structure or union completes the type of any previous
variable declaration, lay it out and output its rtl. */
- if (current_binding_level->n_incomplete != 0)
+ if (current_binding_level->incomplete_list != NULL_TREE)
{
- tree decl;
- for (decl = current_binding_level->names; decl; decl = TREE_CHAIN (decl))
- {
+ tree prev = NULL_TREE;
+
+ for (x = current_binding_level->incomplete_list; x; x = TREE_CHAIN (x))
+ {
+ tree decl = TREE_VALUE (x);
+
if (TYPE_MAIN_VARIANT (TREE_TYPE (decl)) == TYPE_MAIN_VARIANT (t)
&& TREE_CODE (decl) != TYPE_DECL)
{
@@ -5904,8 +5908,11 @@ finish_struct (t, fieldlist, attributes)
rest_of_decl_compilation (decl, NULL, toplevel, 0);
if (! toplevel)
expand_decl (decl);
- if (--current_binding_level->n_incomplete == 0)
- break;
+ /* Unlink X from the incomplete list. */
+ if (prev)
+ TREE_CHAIN (prev) = TREE_CHAIN (x);
+ else
+ current_binding_level->incomplete_list = TREE_CHAIN (x);
}
else if (!COMPLETE_TYPE_P (TREE_TYPE (decl))
&& TREE_CODE (TREE_TYPE (decl)) == ARRAY_TYPE)
@@ -5924,8 +5931,11 @@ finish_struct (t, fieldlist, attributes)
if (! toplevel)
expand_decl (decl);
}
- if (--current_binding_level->n_incomplete == 0)
- break;
+ /* Unlink X from the incomplete list. */
+ if (prev)
+ TREE_CHAIN (prev) = TREE_CHAIN (x);
+ else
+ current_binding_level->incomplete_list = TREE_CHAIN (x);
}
}
}

View File

@ -1,30 +0,0 @@
$OpenBSD: patch-gcc_combine_c,v 1.2 2002/09/14 10:14:51 espie Exp $
--- gcc/combine.c.orig Thu Jun 20 16:46:16 2002
+++ gcc/combine.c Thu Sep 12 14:50:58 2002
@@ -11915,7 +11915,7 @@ move_deaths (x, maybe_kill_insn, from_cu
if (i < regno || i >= ourend)
REG_NOTES (where_dead)
= gen_rtx_EXPR_LIST (REG_DEAD,
- gen_rtx_REG (reg_raw_mode[i], i),
+ regno_reg_rtx[i],
REG_NOTES (where_dead));
}
@@ -11942,7 +11942,7 @@ move_deaths (x, maybe_kill_insn, from_cu
offset = 1;
for (i = regno + offset; i < ourend; i++)
- move_deaths (gen_rtx_REG (reg_raw_mode[i], i),
+ move_deaths (regno_reg_rtx[i],
maybe_kill_insn, from_cuid, to_insn, &oldnotes);
}
@@ -12564,7 +12564,7 @@ distribute_notes (notes, from_insn, i3,
for (i = regno; i < endregno;
i += HARD_REGNO_NREGS (i, reg_raw_mode[i]))
{
- rtx piece = gen_rtx_REG (reg_raw_mode[i], i);
+ rtx piece = regno_reg_rtx[i];
basic_block bb = BASIC_BLOCK (this_basic_block);
if (! dead_or_set_p (place, piece)

View File

@ -1,32 +0,0 @@
$OpenBSD: patch-gcc_df_c,v 1.1 2002/06/09 00:34:37 espie Exp $
--- gcc/df.c.orig Wed Apr 3 23:26:51 2002
+++ gcc/df.c Sat Jun 8 18:08:09 2002
@@ -633,8 +633,7 @@ static rtx df_reg_use_gen (regno)
rtx reg;
rtx use;
- reg = regno >= FIRST_PSEUDO_REGISTER
- ? regno_reg_rtx[regno] : gen_rtx_REG (reg_raw_mode[regno], regno);
+ reg = regno_reg_rtx[regno];
use = gen_rtx_USE (GET_MODE (reg), reg);
return use;
@@ -648,8 +647,7 @@ static rtx df_reg_clobber_gen (regno)
rtx reg;
rtx use;
- reg = regno >= FIRST_PSEUDO_REGISTER
- ? regno_reg_rtx[regno] : gen_rtx_REG (reg_raw_mode[regno], regno);
+ reg = regno_reg_rtx[regno];
use = gen_rtx_CLOBBER (GET_MODE (reg), reg);
return use;
@@ -905,7 +903,7 @@ df_ref_record (df, reg, loc, insn, ref_t
endregno = regno + HARD_REGNO_NREGS (regno, GET_MODE (reg));
for (i = regno; i < endregno; i++)
- df_ref_record_1 (df, gen_rtx_REG (reg_raw_mode[i], i),
+ df_ref_record_1 (df, regno_reg_rtx[i],
loc, insn, ref_type, ref_flags);
}
else

View File

@ -1,25 +0,0 @@
$OpenBSD: patch-gcc_emit-rtl_c,v 1.2 2002/09/14 10:14:51 espie Exp $
--- gcc/emit-rtl.c.orig Mon Jul 1 23:50:14 2002
+++ gcc/emit-rtl.c Thu Sep 12 14:50:59 2002
@@ -4817,6 +4817,7 @@ void
init_emit ()
{
struct function *f = cfun;
+ int i;
f->emit = (struct emit_status *) xmalloc (sizeof (struct emit_status));
first_insn = NULL;
@@ -4846,8 +4847,13 @@ init_emit ()
f->emit->regno_decl
= (tree *) xcalloc (f->emit->regno_pointer_align_length, sizeof (tree));
+ /* Put copies of all the hard registers into regno_reg_rtx. */
+ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
+ regno_reg_rtx[i] = gen_raw_REG (reg_raw_mode[i], i);
+
/* Put copies of all the virtual register rtx into regno_reg_rtx. */
init_virtual_regs (f->emit);
+
/* Indicate that the virtual registers and stack locations are
all pointers. */

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-gcc_expr_c,v 1.1 2002/06/09 00:34:37 espie Exp $
--- gcc/expr.c.orig Tue May 7 07:43:11 2002
+++ gcc/expr.c Sat Jun 8 18:08:09 2002
@@ -2280,7 +2280,7 @@ use_regs (call_fusage, regno, nregs)
abort ();
for (i = 0; i < nregs; i++)
- use_reg (call_fusage, gen_rtx_REG (reg_raw_mode[regno + i], regno + i));
+ use_reg (call_fusage, regno_reg_rtx[regno + i]);
}
/* Add USE expressions to *CALL_FUSAGE for each REG contained in the

View File

@ -1,41 +0,0 @@
$OpenBSD: patch-gcc_flow_c,v 1.1 2002/06/09 00:34:37 espie Exp $
--- gcc/flow.c.orig Thu Apr 18 22:21:09 2002
+++ gcc/flow.c Sat Jun 8 18:08:09 2002
@@ -1721,8 +1721,7 @@ propagate_one_insn (pbi, insn)
if (TEST_HARD_REG_BIT (regs_invalidated_by_call, i))
{
/* We do not want REG_UNUSED notes for these registers. */
- mark_set_1 (pbi, CLOBBER, gen_rtx_REG (reg_raw_mode[i], i),
- cond, insn,
+ mark_set_1 (pbi, CLOBBER, regno_reg_rtx[i], cond, insn,
pbi->flags & ~(PROP_DEATH_NOTES | PROP_REG_INFO));
}
}
@@ -1770,8 +1769,7 @@ propagate_one_insn (pbi, insn)
so they are made live. */
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
if (global_regs[i])
- mark_used_reg (pbi, gen_rtx_REG (reg_raw_mode[i], i),
- cond, insn);
+ mark_used_reg (pbi, regno_reg_rtx[i], cond, insn);
}
}
@@ -2769,7 +2767,7 @@ mark_set_1 (pbi, code, reg, cond, insn,
if (! REGNO_REG_SET_P (pbi->reg_live, i))
REG_NOTES (insn)
= alloc_EXPR_LIST (REG_UNUSED,
- gen_rtx_REG (reg_raw_mode[i], i),
+ regno_reg_rtx[i],
REG_NOTES (insn));
}
}
@@ -3577,7 +3575,7 @@ mark_used_reg (pbi, reg, cond, insn)
&& ! dead_or_set_regno_p (insn, i))
REG_NOTES (insn)
= alloc_EXPR_LIST (REG_DEAD,
- gen_rtx_REG (reg_raw_mode[i], i),
+ regno_reg_rtx[i],
REG_NOTES (insn));
}
}

View File

@ -1,23 +0,0 @@
$OpenBSD: patch-gcc_reload1_c,v 1.2 2002/09/14 10:14:51 espie Exp $
--- gcc/reload1.c.orig Wed May 22 01:42:54 2002
+++ gcc/reload1.c Thu Sep 12 14:51:00 2002
@@ -7161,8 +7161,7 @@ emit_reload_insns (chain)
for (k = 1; k < nnr; k++)
reg_last_reload_reg[nregno + k]
= (nr == nnr
- ? gen_rtx_REG (reg_raw_mode[REGNO (rld[r].reg_rtx) + k],
- REGNO (rld[r].reg_rtx) + k)
+ ? regno_reg_rtx[REGNO (rld[r].reg_rtx) + k]
: 0);
/* Now do the inverse operation. */
@@ -7211,8 +7210,7 @@ emit_reload_insns (chain)
for (k = 1; k < nnr; k++)
reg_last_reload_reg[nregno + k]
= (nr == nnr
- ? gen_rtx_REG (reg_raw_mode[REGNO (rld[r].reg_rtx) + k],
- REGNO (rld[r].reg_rtx) + k)
+ ? regno_reg_rtx[REGNO (rld[r].reg_rtx) + k]
: 0);
/* Unless we inherited this reload, show we haven't

View File

@ -1 +1,2 @@
lib/libestdc++.so.5.0
@comment $OpenBSD: PFRAG.shared-estdc,v 1.2 2002/11/24 11:52:32 espie Exp $
lib/libestdc++.so.5.1

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST,v 1.15 2002/09/14 10:14:51 espie Exp $
@comment $OpenBSD: PLIST,v 1.16 2002/11/24 11:52:32 espie Exp $
@pkgcfl egcs-*-core
@unexec install-info --delete --info-dir=%D/info %D/info/cpp.info
@unexec install-info --delete --info-dir=%D/info %D/info/cppinternals.info
@ -14,6 +14,7 @@ info/cpp.info-1
info/cpp.info-2
info/cpp.info-3
info/cpp.info-4
info/cpp.info-5
info/cppinternals.info
info/gcc.info
info/gcc.info-1

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST-ada,v 1.2 2002/06/05 23:31:06 espie Exp $
@comment $OpenBSD: PLIST-ada,v 1.3 2002/11/24 11:52:32 espie Exp $
bin/gnat
bin/gnatbind
bin/gnatbl

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST-c++,v 1.10 2002/09/30 20:52:45 naddy Exp $
@comment $OpenBSD: PLIST-c++,v 1.11 2002/11/24 11:52:32 espie Exp $
@pkgcfl egcs-*-core
bin/ec++
bin/ec++filt

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST-g77,v 1.9 2002/09/14 10:14:51 espie Exp $
@comment $OpenBSD: PLIST-g77,v 1.10 2002/11/24 11:52:32 espie Exp $
@pkgcfl egcs-*-core
@unexec install-info --delete --info-dir=%D/info %D/info/g77.info
bin/eg77

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST-java,v 1.4 2002/09/14 10:14:51 espie Exp $
@comment $OpenBSD: PLIST-java,v 1.5 2002/11/24 11:52:32 espie Exp $
@pkgcfl egcs-*-core
@unexec install-info --delete --info-dir=%D/info %D/info/gcj.info
bin/eaddr2name.awk

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST-objc,v 1.9 2002/09/14 10:14:51 espie Exp $
@comment $OpenBSD: PLIST-objc,v 1.10 2002/11/24 11:52:32 espie Exp $
@pkgcfl egcs-*-core
IFPIC:lib/fpic/libobjc.a
IFPIC:lib/fpic/libobjc.la