This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Link Problems with gcc/g++ 3.1 on AIX 4.3.3


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
  


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]