This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

bootstrap failure on i686-pc-linux-gnu and fix


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]