This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: dwarfless failures on ppc64


> The problem with 'W' entries in nm listings is that some of them refer
> to "real" functions and some don't.  

I don't understand what you mean by that.  The distinction between W and
T (technically, between STB_WEAK and STB_GLOBAL) is really no longer
relevant by the time you're looking at /proc/kallsyms or at any linked
module's symtab (executable/kernel, DSO, or .ko).  Regardless of the
flavor of the symbol--unless it's U (undefined; technically, st_shndx is
SHN_UNDEF)--then it's an actual definition that is what references to
that symbol in the program did resolve to.

What is true is that there may be many symbols that are all aliases for
the same actual address.  Some of those symbols might be weak and others
not (also some might be local).  In the kernel there is one case where
this is commonly true, that is many weak symbols are aliases for
sys_ni_syscall (which is a stub function that returns (long)-ENOSYS).

I don't have a clear sense from what you've said of exactly how
systemtap is behaving.  If you probe sys_* for example, that will
include multiple names that resolve to the same address as
sys_ni_syscall, and so is requesting several different probes at one
address.


Thanks,
Roland


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