Problem when linking objects files from IBM VAC++ and GCC

Bruno Beaumont bbeaumont@sesinsud.com
Tue Dec 6 11:30:00 GMT 2005


Hello,

I need to link together G++'s object files and IBM Visual Age++ 's object 
files. I pass "-lstdc++ -lgcc_s" at the  IBM ld command line.
I use G++ v3.3.2 and AIX v5.2.
The link is OK but I get a "signal 6" at execution time when an exception 
is raised.

The problem does not appear if:
- I use AIX 4.3.3 / gcc 2.95.3 / IBM C++
or
- I link with libstdc++ and libgcc_a version 2.95.3 (compiled on AIX 4.3.3) 
on AIX 5.2.

Is the compilation option for gcc abi support could resolve my problem ?

Moreover I would like to know if GCC 2.95.3 is compatible with IBM AIX v5.2 
(with IBM as and ld).

I tried to compile it and I got the following error after "configure" and 
"make bootstrap":

ln -s /users1/bruno/GCCs/2.95.3/gcc-2.95.3/gcc/../libiberty/obstack.c obstack.c
stage1/xgcc -Bstage1/ -B/users1/bruno/GCCs/2.95.3/local/rs6000-ibm-aix/bin/ 
-c  -DIN_GCC -DHAIFA    -O2 -g -O2  -DHAVE_CONFIG_H    -I. 
-I/users1/bruno/GCCs/2.95.3/gcc-2.95.3/gcc 
-I/users1/bruno/GCCs/2.95.3/gcc-2.95.3/gcc/config 
-I/users1/bruno/GCCs/2.95.3/gcc-2.95.3/gcc/../include obstack.c
Assembler:
/tmp/ccsBISvu.s: line 465: Instruction nabs is not implemented in the 
current assembly mode COM.
/tmp/ccsBISvu.s: line 468: Instruction nabs is not implemented in the 
current assembly mode COM.
/tmp/ccsBISvu.s: line 596: Instruction nabs is not implemented in the 
current assembly mode COM.
/tmp/ccsBISvu.s: line 602: Instruction nabs is not implemented in the 
current assembly mode COM.
/tmp/ccsBISvu.s: line 760: Instruction doz is not implemented in the 
current assembly mode COM.
/tmp/ccsBISvu.s: line 767: Instruction maskir is not implemented in the 
current assembly mode COM.
/tmp/ccsBISvu.s: line 969: Instruction nabs is not implemented in the 
current assembly mode COM.
rm -f alloca.c
ln -s /users1/bruno/GCCs/2.95.3/gcc-2.95.3/gcc/../libiberty/alloca.c alloca.c
stage1/xgcc -Bstage1/ 
-B/users1/bruno/GCCs/2.95.3/local/rs6000-ibm-aix/bin/  -DIN_GCC 
-DHAIFA    -O2 -g -O2  -DHAVE_CONFIG_H    -I. 
-I/users1/bruno/GCCs/2.95.3/gcc-2.95.3/gcc 
-I/users1/bruno/GCCs/2.95.3/gcc-2.95.3/gcc/config 
-I/users1/bruno/GCCs/2.95.3/gcc-2.95.3/gcc/../include  \
   -c `echo alloca.c | sed 's,^\./,,'`
true
stage1/xgcc -Bstage1/ 
-B/users1/bruno/GCCs/2.95.3/local/rs6000-ibm-aix/bin/  -DIN_GCC 
-DHAIFA    -O2 -g -O2  -DHAVE_CONFIG_H  -o gencheck \
  gencheck.o ` case "obstack.o" in ?*) echo obstack.o ;; esac ` ` case 
"alloca.o" in ?*) echo alloca.o ;; esac ` ` case "" in ?*) echo  ;; esac 
`  ` case "" in ?*) echo  ;; esac ` ` case "" in ?*) echo  ;; esac ` -lld
collect2: /lib/libld.a: not a COFF file
make[2]: *** [gencheck] Error 1
make[2]: Leaving directory `/users1/bruno/GCCs/2.95.3/objdir/gcc'
make[1]: *** [bootstrap] Error 2
make[1]: Leaving directory `/users1/bruno/GCCs/2.95.3/objdir/gcc'
make: *** [bootstrap] Error 2


Thanks in advance,

Bruno



More information about the Gcc-help mailing list