>    I just noticed that while m5.debug is 54MB, but libm5_debug.a 197MB.
> Do we know why it's so huge? That -can't- be good for performance.
I'm pretty sure it's because there are multiple copies of many
functions in there.  When C++ sees a template class member function,
it emits code for it in every .o file.  Then the linker stage filters
things out and picks only one of each.  Since a .a file is logically
just a bunch of .o files all bunched together in one file, these
symbols get duplicated in the .a.  You can try to figure out if there
is an option to strip to fix this, but I don't know that it's worth
it.  It'd also be easy for us to just not use libm5_foo.a as an
intermediate step to m5.foo.  We could easily just skip the archive
step unless you explicitly ask for it.

  Nate
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to