public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* regression of probefunc()
@ 2009-02-24 16:57 Wenji Huang
  2009-02-25  1:47 ` Mark Wielaard
  0 siblings, 1 reply; 2+ messages in thread
From: Wenji Huang @ 2009-02-24 16:57 UTC (permalink / raw)
  To: SystemTAP

Hi,

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

And before that,
$./stap -g -e 'probe kernel.statement(0xc015a388).absolute{ 
printf("%s",probefunc()) exit() }'
sys_open

Same results on elfutils 0.131 and 0.137.

Regards,
Wenji







^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: regression of probefunc()
  2009-02-24 16:57 regression of probefunc() Wenji Huang
@ 2009-02-25  1:47 ` Mark Wielaard
  0 siblings, 0 replies; 2+ messages in thread
From: Mark Wielaard @ 2009-02-25  1:47 UTC (permalink / raw)
  To: wenji.huang; +Cc: SystemTAP

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-02-24 10:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-24 16:57 regression of probefunc() Wenji Huang
2009-02-25  1:47 ` Mark Wielaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).