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: regression of probefunc()


Hi Wenji,

On Tue, 2009-02-24 at 16:07 +0800, Wenji Huang wrote:
> Since commit 7774095b25424019098226eaa7c1148ff24b800b("Adjust ET_DYN 
> symbol addresses against module base"), there is one regression about 
> probefunc() which results in failure of probefunc.exp.
> 
> $cat /proc/kallsyms |grep -w sys_open
> c015a388 T sys_open
> $./stap -g -e 'probe kernel.statement(0xc015a388).absolute{ 
> printf("%s",probefunc()) exit() }'
> 0xc015a389

Sorry about that. This was a clash between:
30d163: extra_offset for kernel symbols with
dwfl_module_relocate_address.
and
777409: Adjust ET_DYN symbol addresses against module base
The second should have also adjusted for the extra_offset case.

Done as follows now, so that this also works again on elfutils < 0.138:

commit cfba34fccd99924a47622c5082706867f0a34b12
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Feb 24 11:04:00 2009 +0100

    Adjust extra_offset address against module base.
    
    * translate.cxx (dump_unwindsyms): Adjust extra_offset always
    against module base as workaround for buggy elfutils < 0.138.

Mark


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