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