Bug 27993 - Compile error: .libs/complex_io.o: could not read symbols: Bad value
Summary: Compile error: .libs/complex_io.o: could not read symbols: Bad value
Status: RESOLVED INVALID
Alias: None
Product: gcc
Classification: Unclassified
Component: libstdc++ (show other bugs)
Version: 3.4.2
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-12 00:29 UTC by Muhammad Mansoor Jamal
Modified: 2006-09-22 07:52 UTC (History)
1 user (show)

See Also:
Host: powerpc-ibm-aix5.2
Target:
Build:
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 Muhammad Mansoor Jamal 2006-06-12 00:29:16 UTC
Host: AIX 5.2
Using gcc to compile: 
bash-3.00# gcc --version
gcc (GCC) 3.3.4

ld is the default AIX 5.2 linker.

The src and obj directories are different. I am getting the following error:

/toolkit/powerpc-ibm-aix5.2/bin/nm -B -X32_64 -Bpg  .libs/allocator.o .libs/codecvt.o .libs/complex_io.o .libs/ctype.o .libs/debug.o .libs/debug_list.o .libs/functexcept.o .libs/globals_locale.o .libs/globals_io.o .libs/ios.o .libs/ios_failure.o .libs/ios_init.o .libs/ios_locale.o .libs/limits.o .libs/list.o .libs/locale.o .libs/locale_init.o .libs/locale_facets.o .libs/localename.o .libs/stdexcept.o .libs/strstream.o .libs/tree.o .libs/allocator-inst.o .libs/concept-inst.o .libs/fstream-inst.o .libs/ext-inst.o .libs/io-inst.o .libs/istream-inst.o .libs/locale-inst.o .libs/locale-misc-inst.o .libs/misc-inst.o .libs/ostream-inst.o .libs/sstream-inst.o .libs/streambuf-inst.o .libs/string-inst.o .libs/valarray-inst.o .libs/wlocale-inst.o .libs/wstring-inst.o .libs/atomicity.o .libs/codecvt_members.o .libs/collate_members.o .libs/ctype_members.o .libs/messages_members.o .libs/monetary_members.o .libs/numeric_members.o .libs/time_members.o .libs/basic_file.o .libs/c++locale.o  ../libmath/.libs/libmath.a ../libsupc++/.libs/libsupc++convenience.a | awk '{ if ((($2 == "T") || ($2 == "D") || ($2 == "B")) && (substr($3,1,1) != ".")) { print $3 } }' | sort -u > .libs/libstdc++.exp
BFD: .libs/allocator-inst.o: warning: illegal symbol index 0 in line numbers
BFD: .libs/allocator-inst.o: warning: illegal symbol index 0 in line numbers
/opt/gcc-3.4.2/obj/gcc/xgcc -shared-libgcc -B/opt/gcc-3.4.2/obj/gcc/ -nostdinc++ -L/opt/gcc-3.4.2/obj/powerpc-ibm-aix5.2/pthread/libstdc++-v3/src -L/opt/gcc-3.4.2/obj/powerpc-ibm-aix5.2/pthread/libstdc++-v3/src/.libs -B/toolkit/powerpc-ibm-aix5.2/bin/ -B/toolkit/powerpc-ibm-aix5.2/lib/ -isystem /toolkit/powerpc-ibm-aix5.2/include -isystem /toolkit/powerpc-ibm-aix5.2/sys-include  -pthread -shared -o .libs/libstdc++.so.6  .libs/allocator.o .libs/codecvt.o .libs/complex_io.o .libs/ctype.o .libs/debug.o .libs/debug_list.o .libs/functexcept.o .libs/globals_locale.o .libs/globals_io.o .libs/ios.o .libs/ios_failure.o .libs/ios_init.o .libs/ios_locale.o .libs/limits.o .libs/list.o .libs/locale.o .libs/locale_init.o .libs/locale_facets.o .libs/localename.o .libs/stdexcept.o .libs/strstream.o .libs/tree.o .libs/allocator-inst.o .libs/concept-inst.o .libs/fstream-inst.o .libs/ext-inst.o .libs/io-inst.o .libs/istream-inst.o .libs/locale-inst.o .libs/locale-misc-inst.o .libs/misc-inst.o .libs/ostream-inst.o .libs/sstream-inst.o .libs/streambuf-inst.o .libs/string-inst.o .libs/valarray-inst.o .libs/wlocale-inst.o .libs/wstring-inst.o .libs/atomicity.o .libs/codecvt_members.o .libs/collate_members.o .libs/ctype_members.o .libs/messages_members.o .libs/monetary_members.o .libs/numeric_members.o .libs/time_members.o .libs/basic_file.o .libs/c++locale.o   -L/opt/gcc-3.4.2/obj/powerpc-ibm-aix5.2/pthread/libstdc++-v3/src -L/opt/gcc-3.4.2/obj/powerpc-ibm-aix5.2/pthread/libstdc++-v3/src/.libs -lm ../libmath/.libs/libmath.a -lm ../libsupc++/.libs/libsupc++convenience.a -lm -L/opt/gcc-3.4.2/obj/gcc/pthread -L/opt/gcc-3.4.2/obj/gcc -L/toolkit/powerpc-ibm-aix5.2/bin -L/toolkit/powerpc-ibm-aix5.2/lib -L/toolkit/lib/../powerpc-ibm-aix5.2/lib -L/toolkit/lib -lgcc_s_pthread -lpthreads -lc -lgcc_s_pthread -lm -lgcc_s_pthread -lpthreads -lc -lgcc_s_pthread    -Wl,-O1 -Wl,-G -Wl,-bE:.libs/libstdc++.exp -Wl,-bnoentry ${wl}-berok
/toolkit/powerpc-ibm-aix5.2/bin/ld: .libs/complex_io.o: reloc .data:0 not in csect
.libs/complex_io.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[7]: *** [libstdc++.la] Error 1
make[7]: Leaving directory `/opt/gcc-3.4.2/obj/powerpc-ibm-aix5.2/pthread/libstdc++-v3/src'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory `/opt/gcc-3.4.2/obj/powerpc-ibm-aix5.2/pthread/libstdc++-v3'
make[5]: *** [all] Error 2
make[5]: Leaving directory `/opt/gcc-3.4.2/obj/powerpc-ibm-aix5.2/pthread/libstdc++-v3'
make[4]: *** [multi-do] Error 1
make[4]: Leaving directory `/opt/gcc-3.4.2/obj/powerpc-ibm-aix5.2/libstdc++-v3'
make[3]: *** [all-multi] Error 2
make[3]: Leaving directory `/opt/gcc-3.4.2/obj/powerpc-ibm-aix5.2/libstdc++-v3'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/opt/gcc-3.4.2/obj/powerpc-ibm-aix5.2/libstdc++-v3'
make[1]: *** [all-target-libstdc++-v3] Error 2
make[1]: Leaving directory `/opt/gcc-3.4.2/obj'


A search of the database did not show any matching bugs.
Comment 1 Andrew Pinski 2006-06-12 00:34:01 UTC
/toolkit/powerpc-ibm-aix5.2/bin/ld
/toolkit/powerpc-ibm-aix5.2/bin/nm 

You say it is the default AIX ld but from the pathes it does not look like it.
Can you make sure that you are using AIX's ld and nm to build GCC?
Comment 2 Muhammad Mansoor Jamal 2006-06-12 12:43:57 UTC
Hi,
An echo of $PATH shows:
/toolkit/newbin:/usr/local/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin

On the configure line, I had specified --prefix=/toolkit

Is it possible that at some point during the 'make bootstrap' the prefix is picked up and an ld is put into the /toolkit/powerpc-ibm-aix5.2/ directory. I think this might be true since the directory /toolkit/powerpc-ibm-aix5.2/ did not even exist when I did the configure

Comment 3 Andrew Pinski 2006-09-22 07:52:23 UTC
GNU Ld does not support AIX 5.2 at all because of weak symbol support is not there.  Please remove GNU binutils and try again.  And yes GCC defaults to picking up things from the --prefix.

Also there has been no feedback in 3 months on this bug so closing as invalid.