This is the mail archive of the egcs@egcs.cygnus.com mailing list for the EGCS project. See the EGCS home page for more information.


[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index] [Subject Index] [Author Index] [Thread Index]

Re: -frepo bugs in 1.1.1?



Alexandre Oliva <oliva@dcc.unicamp.br> writes:

> What about debugging?

Even with it stripped:
strings scram | grep "dl_list<IIR_Declaration>::find"

class wrapper_container * dl_list<IIR_Declaration>::find<IIR_Declaration>(const class IIR_Declaration *)
class wrapper_container * dl_list<IIR_Declaration>::find<IIR_Declaration>(const class IIR_Declaration *)
class wrapper_container * dl_list<IIR_Declaration>::find<IIR_Declaration>(const class IIR_Declaration *)
class wrapper_container * dl_list<IIR_Declaration>::find<IIR_Declaration>(const class IIR_Declaration *)

[ repeat 70 more times ] 

It was on a stripped and optimized binary that I started playing around
with originally.  I was trying to figure out how my binary was so large.
(Although with egcs it's about half the size as compared with g++-2.7.2.)

> Try `nm --demangle' instead of `strings'; if you get more than one
> definition (not `U') for each symbol, you may have found a problem.

Interesting - that only shows it once in the binary.  So, here's what I
know:
1) The string listed above, makes up 7k of my binary even after stripping it.
2) If I compile with "-frepo", I get linker errors (on other template
classes.)  

I find 2) less interesting if -frepo isn't going to shrink my binary
anyways, and I guess we're pretty sure it won't due to "nm --demangle"
showing the function actually being defined only once.

So I wonder what's up with the repeated strings?  Could it be due to an
assertion in that method?  (So that the assertion can print the function
name?) As I said, the definition of the method is in the header so the
assertion would be included everywhere the class is referenced...

-- 
+------------------------- pgp key available --------------------------+
| Dale E. Martin |  Clifton Labs, Inc.  |  Senior Computer Engineer    |
| dmartin@clifton-labs.com    |    http://www.clifton-labs.com         |
+----------------------------------------------------------------------+