From: goldkamp@cs.tulane.EDU (Richard Goldkamp)
Subject: Bug on HP-9000/835 for GCC 2.1
Organization: GNUs Not Usenet
Distribution: gnu
Date: Sun, 12 Apr 1992 18:15:47 GMT

	I have encountered the following bug in building GCC 2.1.

Configuration:
	configure hp9k835    (Note:  configure hppa-hpux failed, despite the
				     INSTALL file clearly listing it as a
				     recognized alias.)

	HP-9000/835
	HP/UX 8.00

I have modified the Makefile generated by configure to eliminate the -g and -g1
options, since they are not supported in HP/UX due to different debugging
format.  I have also added -DDOLLARS_IN_IDENTIFIERS=1 in order to allow
gcc to be able to build InterViews and TAE+.

Ther following is an excerpt from my log file made during the initial make.
It shows a warning in the assembly of alloca.s, and of greater concern, a
fatal error which causes the newly built stage1 gcc to crash when building
libgcc2.a.  This fatal error is apparently caused due to bad assembly code
being generated for the function _fixunsdfsi.

	cc    -DDOLLARS_IN_IDENTIFIERS=1     -I. -I. -I./config \
	  -DGCC_INCLUDE_DIR=\"/nogufs/comp/rich/usr/local/lib/gcc-lib/hp9k835/`awk '{printf "%s", substr ($4, 2, length ($4) - 3); }' ./version.c`/include\" \
	  -DGPLUSPLUS_INCLUDE_DIR=\"/nogufs/comp/rich/usr/local/lib/g++-include\" \
	  -DLOCAL_INCLUDE_DIR=\"/nogufs/comp/rich/usr/local/include\" \
	  -DCROSS_INCLUDE_DIR=\"/nogufs/comp/rich/usr/local/lib/gcc-lib/hp9k835/`awk '{printf "%s", substr ($4, 2, length ($4) - 3); }' ./version.c`/sys-include\" \
	  -c `echo ./cccp.c | sed 's,^\./,,'`
	cc    -DDOLLARS_IN_IDENTIFIERS=1     -I. -I. -I./config -c ./cexp.c
	cc -c    -DDOLLARS_IN_IDENTIFIERS=1     -I. -I. -I./config version.c
	cc -c    -DDOLLARS_IN_IDENTIFIERS=1     -I. -I. -I./config obstack.c
	cc    -DDOLLARS_IN_IDENTIFIERS=1     -I. -I. -I./config -S -Demacs \
	  `echo ./alloca.c | sed 's,^\./,,'`
	as -o alloca.o alloca.s
as: alloca.s @line#185 [err#25]
  (warning) This subspace should have no initialized data in it - BLOCKZ
	rm alloca.s
	cc    -DDOLLARS_IN_IDENTIFIERS=1   -o cccp cccp.o cexp.o version.o obstack.o ` case "cc" in "cc") echo alloca.o ;; esac `  
	rm -f cpp
	ln cccp cpp
	cc    -DDOLLARS_IN_IDENTIFIERS=1     -I. -I. -I./config -c ./c-parse.c
	cc -c    -DDOLLARS_IN_IDENTIFIERS=1     -I. -I. -I./config c-lang.c

[ Large successful section of log file deleted in the interest of brevity. ]


	for file in .. ; \
	do \
	  if [ x${file} != x.. ]; then \
	    name=`echo ${file} | sed -e 's/[.]c$//' -e 's/[.]asm$//'`; \
	    echo ${name}; \
	    if [ ${name}.asm = ${file} ]; then \
	      cp ${file} ${name}.s; file=${name}.s; \
	      if [ $? -eq 0 ] ; then true; else exit 1; fi; \
	    else true; fi; \
	    cc -O -I. -I. -I./config -c ${file}; \
	    if [ $? -eq 0 ] ; then true; else exit 1; fi; \
	    ar qc tmplibgcc1.a ${name}.o; \
	    if [ $? -eq 0 ] ; then true; else exit 1; fi; \
	    rm -f ${name}.[so]; \
	  else true; \
	  fi; \
	done
	mv tmplibgcc1.a libgcc1.a
	if [ -f libgcc2.ready ] ; then \
		true; \
	else \
		touch libgcc2.ready; \
	fi
	rm -f tmplibgcc2.a
	set -e; \
	for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2  _lshrdi3 _lshldi3 _ashldi3 _ashrdi3   _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf _floatdisf  _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi  _varargs _eprintf _builtin_new _builtin_New _builtin_del  _bb _shtab _clear_cache _trampoline __main _exit; \
	do \
	  echo ${name}; \
	  ./gcc -O2    -DDOLLARS_IN_IDENTIFIERS=1 -B./ -I. -I. -I./config -c -DL${name} \
	      ./libgcc2.c -o ${name}.o; \
	  if [ $? -eq 0 ] ; then true; else exit 1; fi; \
	  ar rc tmplibgcc2.a ${name}.o; \
	  rm -f ${name}.o; \
	done
_muldi3
_divdi3
_moddi3
_udivdi3
_umoddi3
_negdi2
_lshrdi3
_lshldi3
_ashldi3
_ashrdi3
_udivmoddi4
_cmpdi2
_ucmpdi2
_floatdidf
_floatdisf
_fixunsdfsi
as: /usr/tmp/cca04582.s @line#30 [err#1060]
  Argument 1 or 3 in FARG upper
	 - lookahead = RTNVAL=GR
*** Error code 1

Stop.

Newsgroups: gnu.gcc.bug