From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13953 invoked by alias); 22 Jul 2002 12:25:52 -0000 Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org Received: (qmail 13927 invoked from network); 22 Jul 2002 12:25:46 -0000 Received: from unknown (HELO fsexchng.pdv-Online.de) (62.52.94.244) by sources.redhat.com with SMTP; 22 Jul 2002 12:25:46 -0000 Message-ID: From: Frank.Seehase@pdv-FS.de To: gcc-help@gcc.gnu.org Subject: Link Problems with gcc/g++ 3.1 on AIX 4.3.3 Date: Mon, 22 Jul 2002 05:25:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-SW-Source: 2002-07/txt/msg00221.txt.bz2 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