This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [BUG] syscall.unlink no longer works after upgrading kernel to 3.7.3
- From: Zheng Da <zhengda1936 at gmail dot com>
- To: Mark Wielaard <mjw at redhat dot com>
- Cc: Josh Stone <jistone at redhat dot com>, agentzh <agentzh at gmail dot com>, "systemtap at sourceware dot org" <systemtap at sourceware dot org>
- Date: Tue, 28 May 2013 15:56:45 -0400
- Subject: Re: [BUG] syscall.unlink no longer works after upgrading kernel to 3.7.3
- References: <CAB4Tn6PdW3GOa09z_tfjQs=F+7XLOqMr5+c5GourX5e0v8FMeQ at mail dot gmail dot com> <1360054656 dot 3837 dot 13 dot camel at bordewijk dot wildebeest dot org> <51114188 dot 60400 at redhat dot com> <CAFLer83DQhCQg7Y3NKR0EUYePzp+fETDTeYEthUXKarAySM0_g at mail dot gmail dot com> <20130528191449 dot GA31042 at toonder dot wildebeest dot org>
Sorry, I forgot to mention the version of systemtap I'm using.
I'm using v2.2.1. I checked its source code and the patch you
mentioned has been applied.
Does the patch only work with gcc 4.7?
Da
On Tue, May 28, 2013 at 3:14 PM, Mark Wielaard <mjw@redhat.com> wrote:
> On Tue, May 28, 2013 at 02:52:48PM -0400, Zheng Da wrote:
>> I think I got a very similar error in Ubuntu:
>> semantic error: not accessible at this address [man error::dwarf]
>> (0xffffffff81480e80, dieoffset: 0x43d730b): identifier '$sdev' at
>> :10:6
>> source: if ($sdev->host->host_no == 9 && $sdev->id == 1) {
>> ^
>> I use Linux v3.8.12, and gcc version is 4.6.3.
>> Is there any better fix for this problem? I checked the workaround for
>> perf, but I don't know how to apply it to systemtap.
>
> I believe the patch/commit you are looking for is:
>
> commit 45b02a36c31d857a0a7d17fc86e1b4e9d15df680
> Author: Frank Ch. Eigler <fche@redhat.com>
> Date: Tue Feb 12 21:32:30 2013 -0500
>
> PR15123: work around broken gcc debuginfo for -mfentry functions
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54793 interferes with the
> calm zen-like state of probing function parameters in programs built
> with CFLAGS=-mfentry, due to a dwarf location-list problem. This
> patch adds a heuristic function dwflpp::pr15123_retry_addr() that
> offers callers a post-mfentry-address alternative for locating
> variables. Will they use it, or not? Join us next week, as our
> heroes encounter ... angry mr. dwarf, five steps away.
>
> * dwflpp.cxx (pr15123_retry_addr): New function.
> (translate_location): Call it, in order to enable $var
> and $$parms resolution.
> * tapsets.cxx (saveargs): Call it, in order to enable
> stap -L <probe> listings.
>
> http://sourceware.org/git/?p=systemtap.git;a=patch;h=45b02a36c31d857a0a7d17fc86e1b4e9d15df680
>
> Cheers,
>
> Mark