-frepo works great on egcs-1.1

Mumit Khan khan@xraylith.wisc.edu
Sat Aug 15 21:09:00 GMT 1998


mrs@wrs.com (Mike Stump) writes:
> I just tried it.  Works fine for me.  The rpo file is generated, it
> comes up undefined the first pass through, when full linking, it
> recompiles, and then it links.  In the resulting file, it template is
> regular global (not link once), as I expect.
> 
> I am on i586-pc-linux-gnulibc1, though I don't think that should
> matter, with binutils 2.9.
> 

Could you please try out the following testcase? I only see the problem 
when I use maps.

  #include <map>
  using namespace std;

  int 
  main () 
  {
    map <int, int> foo;
    return 0;
  }

I'm getting undefined for ``rb_tree<....>::__erase (...)'' which works fine
on a hppa1.1-hp-hpux10.20 box.

> Ah, ok, now refresh us on performace against default (link once) on
> ELF (linux) v -frepo (once it works for you).  If you can doc (FAQ)
> some of the performace issues so that people might be able to better
> choose how they build... that would be great.

Will do.

> Here is the testcase I used:
> 
> template <class T>
> int foo(T t) {
>   return sizeof (t);
> }
> 
> main() {
>   return foo(1);
> }

This one works fine, so do other small test cases I've tried that don't
use STL.

Regards,
Mumit



More information about the Gcc mailing list