This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/19500] .callee test failures
- From: "dsmith at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Fri, 19 Feb 2016 19:44:19 +0000
- Subject: [Bug translator/19500] .callee test failures
- Auto-submitted: auto-generated
- References: <bug-19500-6586 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=19500
--- Comment #1 from David Smith <dsmith at redhat dot com> ---
This appears to be the result of s390x's odd debuginfo. On x86_64, you'll see
something like this (from 'eu-readelf --debug-dump libreloc.so'):
====
...
[ 2d] subprogram
external (flag_present) Yes
name (string) "bar"
...
[ 79] subprogram
external (flag_present) Yes
name (string) "foo"
...
GNU_all_call_sites (flag_present) Yes
...
[ bb] GNU_call_site
low_pc (addr) +0x00000000000006e2 <foo+0x12>
abstract_origin (ref4) [ 2d]
...
====
This means that foo() has one callee, bar(), which we can see since foo() has 1
GNU_call_site attribute, whose abstract_origin is 2d (which maps to bar()).
On s390x, we see the following (from 'eu-readelf --debug-dump libreloc.so'):
====
...
[ 2d] subprogram
external (flag_present) Yes
name (string) "bar"
...
[ 7b] subprogram
external (flag_present) Yes
name (string) "foo"
...
GNU_all_call_sites (flag_present) Yes
[ bd] GNU_call_site
low_pc (addr) +0x000000000000073a <foo+0x22>
...
====
On s390x, we've got a GNU_call_site attribute, but it doesn't have an
abstract_origin attribute to tell us which function was called.
I've sent an email to a gcc developer and we'll see if he can shine any light
on this.
--
You are receiving this mail because:
You are the assignee for the bug.