This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
bootstrap failure on i686-pc-linux-gnu and fix
- To: gcc-patches at gcc dot gnu dot org
- Subject: bootstrap failure on i686-pc-linux-gnu and fix
- From: Matt Kraai <kraai at alumni dot carnegiemellon dot edu>
- Date: Thu, 10 May 2001 13:01:12 -0600
Howdy,
I recently encountered the following error while bootstrapping:
(SHLIB_LINK='./xgcc -B./ -B/usr/local/i686-pc-linux-gnu/bin/ -isystem /usr/local/i686-pc-linux-gnu/include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=@shlib_base_name@.so.0 -Wl,--version-script=@shlib_map_file@ -o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc && rm -f @shlib_base_name@.so.0 && ln -s @shlib_base_name@.so @shlib_base_name@.so.0' \
SHLIB_MULTILIB=''; \
stage1/xgcc -Bstage1/ -B/usr/local/i686-pc-linux-gnu/bin/ -DIN_GCC -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -I. -I. -I/home/kraai/dev/gcc/gcc -I/home/kraai/dev/gcc/gcc/. -I/home/kraai/dev/gcc/gcc/config -I/home/kraai/dev/gcc/gcc/../include \
-DSTANDARD_STARTFILE_PREFIX=\"../../../\" -DSTANDARD_EXEC_PREFIX=\"/usr/local/lib/gcc-lib/\" -DDEFAULT_TARGET_VERSION=\"3.1\" -DDEFAULT_TARGET_MACHINE=\"i686-pc-linux-gnu\" -DSTANDARD_BINDIR_PREFIX=\"/usr/local/bin/\" -DTOOLDIR_BASE_PREFIX=\"../../../../\" `test "${SHLIB_LINK}" -a "yes" = "yes" && echo "-DENABLE_SHARED_LIBGCC"` `test "${SHLIB_MULTILIB}" && echo "-DNO_SHARED_LIBGCC_MULTILIB"` \
-c /home/kraai/dev/gcc/gcc/gcc.c)
/home/kraai/dev/gcc/gcc/gcc.c:658: warning: string length `930' is greater than the length `509' ISO C89 compilers are required to support
/home/kraai/dev/gcc/gcc/gcc.c:808: warning: string length `564' is greater than the length `509' ISO C89 compilers are required to support
In file included from specs.h:1,
from /home/kraai/dev/gcc/gcc/gcc.c:826:
/home/kraai/dev/gcc/gcc/cp/lang-specs.h:60: warning: string length `958' is greater than the length `509' ISO C89 compilers are required to support
In file included from specs.h:2,
from /home/kraai/dev/gcc/gcc/gcc.c:826:
/home/kraai/dev/gcc/gcc/f/lang-specs.h:59: warning: string length `544' is greater than the length `509' ISO C89 compilers are required to support
In file included from specs.h:4,
from /home/kraai/dev/gcc/gcc/gcc.c:826:
/home/kraai/dev/gcc/gcc/objc/lang-specs.h:39: warning: string length `614' is greater than the length `509' ISO C89 compilers are required to support
/home/kraai/dev/gcc/gcc/gcc.c:1306: warning: string length `1023' is greater than the length `509' ISO C89 compilers are required to support
/home/kraai/dev/gcc/gcc/gcc.c: In function `execute':
/home/kraai/dev/gcc/gcc/gcc.c:2754: Internal compiler error in mark_jump_label, at jump.c:2513
Please submit a full bug report, with preprocessed source if appropriate.
This appears to be caused by the following change:
Thu May 10 09:17:42 2001 Jeffrey A Law (law@cygnus.com)
* ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
to determine if a block has an unconditional jump at its end.
* jump.c (jump_optimize_1): When converting a conditional jump
to an unconditional jump, build the jump using gen_jump instead
of just modify operands in-place.
I believe that this wrapped the label in an extra LABEL_REF, as
gen_jump already wraps its argument in one. The following patch
allowed my bootstrap to succeed on i686-pc-linux-gnu. My
copyright papers should all be in order.
Matt
2001-05-10 Matt Kraai <kraai@alumni.carnegiemellon.edu>
* jump.c (jump_optimize_1): Remove extra call to gen_rtx_LABEL_REF.
Index: gcc/jump.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/jump.c,v
retrieving revision 1.171
diff -c -3 -p -r1.171 jump.c
*** jump.c 2001/05/10 15:15:48 1.171
--- jump.c 2001/05/10 17:10:54
*************** jump_optimize_1 (f, cross_jump, noop_mov
*** 608,616 ****
do_cross_jump (insn, newjpos, newlpos);
/* Make the old conditional jump
into an unconditional one. */
! PATTERN (insn)
! = gen_jump (gen_rtx_LABEL_REF (VOIDmode,
! JUMP_LABEL (insn)));
INSN_CODE (insn) = -1;
emit_barrier_after (insn);
/* Add to jump_chain unless this is a new label
--- 608,614 ----
do_cross_jump (insn, newjpos, newlpos);
/* Make the old conditional jump
into an unconditional one. */
! PATTERN (insn) = gen_jump (JUMP_LABEL (insn));
INSN_CODE (insn) = -1;
emit_barrier_after (insn);
/* Add to jump_chain unless this is a new label