This is the mail archive of the gcc-bugs@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]

Re: -frepo not working?


Lee Iverson wrote:

> In message <98Dec16.141926est.26886@gateway.bristol.com> you write:
> > Lee Iverson wrote:
> >
> > >
> > > Bzzzt...  Close but...  -frepo is a *linker* command.  Try adding it
> > > to the second line 'g++ -frepo -o repo-fail repo-fail.o'
> >
> > Umm...No.
> > This problem still exists if you add -frepo to the link line as well.
> >
>
> Perhaps I was a bit terse.  After compiling with -frepo -c, you must
> then provide -frepo to the *linker* line as well:
>
> % g++ -c -frepo repo-fail.cc
> % g++ -frepo -o repo-fail repo-fail.o
> collect: recompiling repo-fail.cc
> collect: relinking
> ld: WARNING 84: /usr/lib/libm.so is not used for resolving any symbol.
> ld: WARNING 84: /opt/gnu/gcc/egcs-o32/lib/gcc-lib/mips-sgi-irix5/egcs-2.92.21/libgcc.a is not used for resolving any symbol.
> ld: WARNING 84: /usr/lib/libm.so is not used for resolving any symbol.
> ld: WARNING 84: /opt/gnu/gcc/egcs-o32/lib/gcc-lib/mips-sgi-irix5/egcs-2.92.21/libgcc.a is not used for resolving any symbol.
> %
>
> Notice the collect: lines!  That is -frepo working.

Yes.  I understood you, and I am saying it still does not work for me if I put -frepo on the link line.  Here are the versions
I am using.  Could it possibly be a problem there, or maybe a platform specific bug?  I am using Linux 2.1.129 on an Intel
Pentium using libc.so.5.4.46.


chad:/tmp> g++ -v
Reading specs from /usr/local/lib/gcc-lib/i586-pc-linux-gnulibc1/pgcc-2.91.60/specs
gcc version pgcc-2.91.60 19981201 (egcs-1.1.1 release)
chad:/tmp> ld -v
GNU ld version 2.9.1 (with BFD 2.9.1)

chad:/tmp> g++ -frepo -c repo-fail.cc
chad:/tmp> g++ -frepo -o repo-fail repo-fail.o
repo-fail.o: In function `vector<int, __default_alloc_template<false, 0> >::push_back(int const &)':
repo-fail.o(.vector<int, __default_alloc_template<0, 0> >::gnu.linkonce.t.push_back(int const &)+0x35): undefined reference to
`vector<int, __default_alloc_template<false, 0> >::insert_aux(int *, int const &)'
collect2: ld returned 1 exit status


The actuall code I am writing uses STL extensively, and I do see collect run in that case, but it eventually craps out with
undefined symbols as well.  And it does work with egcs-1.0.3.


--
 Chad Gatesman
 Software Engineer
 Bristol Technology
 http://www.bristol.com/




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