----- Original Message -----
On Tue, Mar 05, 2013 at 08:58:58AM -0500, Dave Anderson wrote:
> I'm thinking that it's probably best that the ".isra..." should be
stripped
> during the symbol storage phase so that the crash sources have no idea
> that they ever existed with those names. The module symbol storage code has
> always done a similar thing in strip_module_symbol_end().
>
> And the gdb module must be doing the same kind of thing, because you can pass
> the "stripped" symbol name to gdb, and it knows what it is:
>
> crash> dis get_sigframe
> symbol not found: get_sigframe
> possible alternatives:
> ffffffff81058090 (t) get_sigframe.isra.1
> crash>
>
> crash> disass get_sigframe
> Dump of assembler code for function get_sigframe:
> 0xffffffff81058090 <+0>: nopl 0x0(%rax,%rax,1)
> 0xffffffff81058095 <+5>: push %rbp
> 0xffffffff81058096 <+6>: mov %rsp,%rbp
> 0xffffffff81058099 <+9>: push %rbx
> 0xffffffff8105809a <+10>: mov %rdx,%rbx
> 0xffffffff8105809d <+13>: sub $0x18,%rsp
> ...
>
> Anyway, I'll take care of that.
Great, thanks.
One more thing - it looks like there are other "cloning symbols" in addition
to .isra... you can find the list here:
http://gcc.gnu.org/viewcvs/trunk/libiberty/testsuite/demangle-expected?re...
(find comment saying "Clone suffix tests"). Maybe we should handle them as
well?
Right, I did see another googled-reference to other demangling/cloning
text symbols with extensions added to them, but I want to be very careful
not to throw the baby out with the bathwater.
So far it does seem safe to truncate all of the ".isra." symbols.
But then I looked at the ".constprop." symbols, for example:
crash> sym -q kzalloc
ffffffff81068060 (t) kzalloc.constprop.8
ffffffff8108c630 (t) kzalloc
ffffffff8134d1ee (t) kzalloc.constprop.2
ffffffff8134f1dd (t) kzalloc
ffffffff81358f5d (t) kzalloc
ffffffff8135ff7d (t) kzalloc
ffffffff813691fd (t) kzalloc
ffffffff813a53c0 (t) kzalloc
ffffffff813aca30 (t) kzalloc.constprop.3
...
If I stripped them, a "dis kzalloc" would then select the
first one it sees, which may not be the one of interest.
I think that it would probably be more helpful, or at least
safer, if they were left as is.
And then there are the ".part." symbols with no preceding ".isra.".
I haven't had the chance to study whether it's safe to strip
them, but upon first glance they look strippable.
But I want to do this carefully, perhaps also adding an invocation
command line to opt-out of any stripping at all.
Dave