Bootstrap failure on AIX4, alloca missing, (main trunk only)

Kaveh R. Ghazi ghazi@caip.rutgers.edu
Tue Jun 8 09:01:00 GMT 1999


	I'm having a strange problem bootstrapping gcc-2.96 19990607
on powerpc-ibm-aix4.1.4.0.  It occurs when I use cc for stage1.

 > cc -DIN_GCC -DHAIFA -g -DHAVE_CONFIG_H -o cccp cccp.o cexp.o intl.o
 > 	prefix.o version.o mbchar.o obstack.o ../libiberty/libiberty.a
 > ld: 0711-317 ERROR: Undefined symbol: .alloca
 > ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
 > 	information.
 > make[2]: *** [cccp] Error 8

	Normally x-aix41 tells gcc to link with alloca.o, but it
hasn't worked for a couple of weeks.  I did some investigation and it
appears that x-aix41 is no longer inserted into the Makefile at all.
(E.g. if you link with alloca.o by hand everywhere, there are other
problems caused by x-aix41 not being used.)  I think this started
happening after the following patch was installed.  I can't tell why
the patch would cause this to happen though.  (I.e. the patch looks
perfectly fine.)

 > Mon May 24 20:30:08 1999  Jim Wilson  <wilson@cygnus.com>
 >  
 >         * configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
 >         Add use of x-aix41-gld.


	Note this patch, and thus the problem itself, only occurs on
the trunk, not on the 2.95 branch.

So you ask: why didn't the link get alloca.o from libiberty.a? :-)
Well that's because AC_FUNC_ALLOCA determines that AIX4 does have
alloca because the test utilizes "#pragma alloca", but we don't issue
that pragma or do any other alloca handling in the sources other than
in the x-* files.  I don't know if we want to change that, but it did
throw me a puzzle... :-)

	Anyway, if someone familiar with the $xmake_file handling in
configure.in could give me some tips I'd appreciate it.  Otherwise,
I'll try to figure it out myself.

		--Kaveh
--
Kaveh R. Ghazi			Engagement Manager / Project Services
ghazi@caip.rutgers.edu		Qwest Internet Solutions


More information about the Gcc-bugs mailing list