Link Problems with gcc/g++ 3.1 on AIX 4.3.3
Frank.Seehase@pdv-FS.de
Frank.Seehase@pdv-FS.de
Mon Jul 22 05:25:00 GMT 2002
Hi, I got a problem:
When linking an executable, not referenced objects
from libraries are pulled in, maybe due to static
objects initialization code, even if there is no C++ code.
The garbarge collection of the AIX Linker seem to fail.
If the code is compiled as .c (not .cc) files with gcc
(not g++) there is no problem.
AIX 4.3.3 ML 10
Configured with: ../configure --prefix=/tools/pkg/gcc/3.1 --disable-threads
Thread model: aix
> g++ -v
Reading specs from
/tools/pkg/gcc/3.1/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/3.1/specs
Configured with: ../configure --prefix=/tools/pkg/gcc/3.1 --disable-threads
Thread model: aix
gcc version 3.1
> ar -V
GNU ar 2.12.1
Example follows. The symbol fct3 is missing even fct2 is unused.
> g++ -Wall -c -o fct1.o fct1.cc> g++ -Wall -c -o fct2.o fct2.cc
> g++ -Wall -c -o main.o main.cc> ar -rv libTst.a fct1.o fct2.o
> g++ -Wall -o main main.o libTst.a
or
> g++ -Wall -o main main.o -L. -lTst
The sources:
/* ---------------------------------- */
/* --- fct2.cc --- */
void fct3( void );
void fct2( void )
{
fct3( );
}
/* --- fct1.cc --- */
void fct1( void )
{
}
/* --- main.cc --- */
void fct1( void );
int main( void )
{
fct1( );
return 0;
}
/* ---------------------------------- */
Whats wrong?
Any idea?
Thanks, Frank
More information about the Gcc-help
mailing list