From mboxrd@z Thu Jan 1 00:00:00 1970 From: Timothy Konkle To: Jmills@TGA.com Cc: ecos-discuss@sourceware.cygnus.com Subject: Re: [ECOS] Library Circularity Question Date: Wed, 07 Jul 1999 15:49:00 -0000 Message-id: <199907072248.PAA00771@honeybee.cisco.com> X-SW-Source: 1999-07/msg00008.html John, I believe the need for multiple -lgcc arguments is due to the single pass linker nature. To deduce further, try adding in one library at a time in the link and then use nm to list undefined references (the "U" symbol in second column). The first -lgcc resolved some symbols but left others undefined, the -lc resolved some of the previous -lgcc symbols but then now requires some OTHER symbols that were really defined in the -lgcc (libgcc.a) library. (I refer generically to gnu "nm", where it may be sh-hms-nm or such, following the platform-architecture-name convention.) --Tim Konkle System Software and Tools Cisco Systems, Inc. > From Jmills@TGA.com Wed Jul 7 15:36:20 1999 > X-SMAP-Received-From: outside > Mailing-List: contact ecos-discuss-help@sourceware.cygnus.com; run by ezmlm > Delivered-To: mailing list ecos-discuss@sourceware.cygnus.com > From: John Mills > To: "'eCos Discussion'" > Cc: John Mills > Date: Wed, 7 Jul 1999 18:40:46 -0400 > MIME-Version: 1.0 > Subject: [ECOS] Library Circularity Question > > I ran into something I don't understand while linking a "toy" C++ example as > a sh-elf executable. I am using sh-hms libraries built out of > 'ecosSWtools-990319', and targeting the Hitachi EDK7045F development board. > > Originally I provided a dummy 'delete' operator to satisfy linkage of a > pro-forma C++ destructor. The problem came up when I tried to find a linkage > sequence which would actually implement some dynamic storage allocation and > deallocation. Linking with "-lgcc" > [from "/lib/gcc-lib/sh-hms/2.9-ecosSWtools-990310/libgcc.a"] left > unresolved symbols; adding a trailing link command "-lc" didn't resolve all; > but adding a _second_ "-lgcc" after "-lc" resolved all symbols: > $(XLD) $(LDFLAGS) -o $@ ${OBJS} -lgcc -lc -lgcc > > Any suggestions what is happening here? > > Thanks - > > John Mills, Sr. Software Engineer > TGA Technologies, Inc. > 100 Pinnacle Way, Suite 140 > Norcross, GA 30071-3633 > e-mail: jmills@tga.com > Phone: 770-421-2100 ext.124 (voice) > 770-449-7740 (FAX)