Bug 24859 - SEVERE ERROR bootstrapping gcc on AIX 5/POWER
Summary: SEVERE ERROR bootstrapping gcc on AIX 5/POWER
Status: RESOLVED WORKSFORME
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 4.0.2
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-14 19:52 UTC by John Goerzen
Modified: 2006-01-13 19:58 UTC (History)
2 users (show)

See Also:
Host: powerpc-ibm-aix5.1.0.0
Target: powerpc-ibm-aix5.1.0.0
Build: powerpc-ibm-aix5.1.0.0
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Goerzen 2005-11-14 19:52:31 UTC
Hello,

I am trying to bootstrap GCC 4.0.2 on AIX 5.1L (POWER architecture).  make bootstrap runs for awhile, then dies with this error:

./xgcc -B./ -B/usr/local/powerpc-ibm-aix5.1.0.0/bin/ -isystem /usr/local/powerpc-ibm-aix5.1.0.0/include -isystem /usr/local/powerpc-ibm-aix5.1.0.0/sys-include -L/home/jgoerzen/programs/gccbuild/objdir/gcc/../ld -O2  -DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -I. -I -I../../gcc-4.0.2/gcc -I../../gcc-4.0.2/gcc/ -I../../gcc-4.0.2/gcc/../include -I../../gcc-4.0.2/gcc/../libcpp/include  -mcpu=power  -c ../../gcc-4.0.2/gcc/config/rs6000/darwin-ldouble.c -o libgcc/power/darwin-ldouble.o
/tmp//cc5orZlk.s: Assembler messages:
/tmp//cc5orZlk.s:207: Error: Unrecognized opcode: `fmsub'
/tmp//cc5orZlk.s:293: Error: Unrecognized opcode: `fmsub'
make[3]: *** [libgcc/power/darwin-ldouble.o] Error 1
make[3]: Leaving directory `/home/jgoerzen/programs/gccbuild/objdir/gcc'
make[2]: *** [stmp-multilib] Error 2
make[2]: Leaving directory `/home/jgoerzen/programs/gccbuild/objdir/gcc'
make[1]: *** [stage1_build] Error 2
make[1]: Leaving directory `/home/jgoerzen/programs/gccbuild/objdir/gcc'
make: *** [bootstrap] Error 2

I'm a little surprised to see RS6000 showing up there, since this is a 64-bit POWER platform.

I'm using the GCC 4.0.2 directly from the gcc.gnu.org site.

I'm bootstrapping with gcc 3.3.2, which I had also compiled myself.

Using GNU binutils 2.14 20030612, also compiled myself.

GCC 3.3.2 seems to be working fine otherwise.

I'm happy to provide whatever additional information may be helpful.
Comment 1 Andrew Pinski 2005-11-14 19:55:59 UTC
Using GNU binutils 2.14 20030612, also compiled myself.
That is your bug.  binutils is not complete for AIX 5 support at all.
rs6000 is there because that is the name of the target directory which supports rs6000 and PowerPC 32/64.
Comment 2 John Goerzen 2005-11-14 20:26:08 UTC
I am retrying this build with IBM ld and as.

If memoery serves, I had to install GNU binutils because IBM binutils caused trouble with version 3.3.2.  I will post a comment here when the build is complete (or fails, whichever comes first).
Comment 3 John Goerzen 2005-11-16 16:18:19 UTC
Well, it got farther, but then it died with literally hundreds of messages like this:

BFD: ../libsupc++/.libs/libsupc++convenience.a(tinfo2.o): Unrecognized storage class 111 for .text symbol `_ZTSN10__cxxabiv117__pbase_type_infoE'
BFD: ../libsupc++/.libs/libsupc++convenience.a(tinfo2.o): Unrecognized storage class 111 for .text symbol `_ZTSN10__cxxabiv119__pointer_type_infoE'
BFD: ../libsupc++/.libs/libsupc++convenience.a(tinfo2.o): Unrecognized storage class 111 for .text symbol `_ZTSN10__cxxabiv129__pointer_to_member_type_infoE'
BFD: ../libsupc++/.libs/libsupc++convenience.a(tinfo2.o): Unrecognized storage class 111 for .text symbol `_ZTSv'
BFD: ../libsupc++/.libs/libsupc++convenience.a(tinfo2.o): Unrecognized storage class 111 for .text symbol `_ZTSPv'
BFD: ../libsupc++/.libs/libsupc++convenience.a(tinfo2.o): Unrecognized storage c

Followed by hundreds of messages like this;

ld: 0711-201 SEVERE ERROR: External symbol vtable for __cxxabiv1::__function_type_info, defined in member tinfo2.o
        of archive ../libsupc++/.libs/libsupc++convenience.a, was not found in the archive's global symbol table.
ld: 0711-201 SEVERE ERROR: External symbol vtable for __cxxabiv1::__enum_type_info, defined in member tinfo2.o
        of archive ../libsupc++/.libs/libsupc++convenience.a, was not found in the archive's global symbol table.
ld: 0711-201 SEVERE ERROR: External symbol vtable for __cxxabiv1::__pbase_type_info, defined in member tinfo2.o
        of archive ../libsupc++/.libs/libsupc++convenience.a, was not found in the archive's global symbol table.
ld: 0711-201 SEVERE ERROR: External symbol vtable for __cxxabiv1::__pointer_type_info, defined in member tinfo2.o
        of archive ../libsupc++/.libs/libsupc++convenience.a, was not found in the archive's global symbol table.
ld: 0711-201 SEVERE ERROR: External symbol vtable for __cxxabiv1::__pointer_to_member_type_info, defined in member tinfo2.o
        of archive ../libsupc++/.libs/libsupc++convenience.a, was not found in the archive's global symbol table.
ld: 0711-201 SEVERE ERROR: External symbol __cxxabiv1::__pbase_type_info::__pointer_catch(__cxxabiv1::__pbase_type_info const*, void**, unsigned int) const, defined in member tinfo2.o
        of archive ../libsupc++/.libs/libsupc++convenience.a, was not found in the archive's global symbol table.
collect2: ld returned 12 exit status
make[4]: *** [libstdc++.la] Error 1
make[4]: Leaving directory `/home/jgoerzen/programs/gccbuild/objdir/powerpc-ibm-aix5.1.0.0/libstdc++-v3/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/jgoerzen/programs/gccbuild/objdir/powerpc-ibm-aix5.1.0.0/libstdc++-v3'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/jgoerzen/programs/gccbuild/objdir/powerpc-ibm-aix5.1.0.0/libstdc++-v3'
make[1]: *** [all-target-libstdc++-v3] Error 2
make[1]: Leaving directory `/home/jgoerzen/programs/gccbuild/objdir'
make: *** [bootstrap-lean] Error 2
Comment 4 Andrew Pinski 2005-11-16 16:19:42 UTC
(In reply to comment #3)
> Well, it got farther, but then it died with literally hundreds of messages like
> this:

That is because GNU ld does not work fully for AIX 5 with weak symbols.  So you have to remove GNU ld also.
Comment 5 John Goerzen 2005-11-17 03:31:31 UTC
Subject: Re:  Unrecognized opcode bootstrapping gcc on AIX 5/POWER

On Wed, Nov 16, 2005 at 04:19:42PM -0000, pinskia at gcc dot gnu dot org wrote:
> 
> That is because GNU ld does not work fully for AIX 5 with weak symbols.  So you
> have to remove GNU ld also.

Hmm.  I had renamed the GNU ld I had installed in /usr/local/bin to
ld.disabled.  I will have to try to figure out where it's finding GNU
ld.  I'm offline at this particular instant, but I'll check tomorrow
morning.

Thank you for all your assistance.

Is there a FAQ or something where I could have learned about this?

(I *did* google before reporting the bug)

Thanks,

-- John
Comment 6 John Goerzen 2005-11-18 19:01:19 UTC
I have completely obliterated every possible GNU ld from the system now, and am still getting the SEVERE ERROR I posted as the most recent item.

Please note that the 0711-201 means that this is absolutely coming from the AIX ld.  GNU ld would never issue a code like that.
Comment 7 Andrew Pinski 2005-11-18 20:00:40 UTC
BFD: ../libsupc++/.libs/libsupc++convenience.a(tinfo2.o): Unrecognized storage

can you alsotry to wipe out binutils ar also?
Comment 8 David Edelsohn 2006-01-13 19:58:30 UTC
no feedback.  apparently GNU Binutils is the problem.