This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: semantic error: not accessible at this address
- From: Vincent Bernat <bernat at luffy dot cx>
- To: "Frank Ch. Eigler" <fche at redhat dot com>
- Cc: systemtap at sourceware dot org
- Date: Sat, 28 Sep 2013 01:49:41 +0200
- Subject: Re: semantic error: not accessible at this address
- Authentication-results: sourceware.org; auth=none
- References: <87ioxmf2e9 dot fsf at guybrush dot luffy dot cx> <y0mvc1mt0k7 dot fsf at fche dot csb> <8738opg9ym dot fsf at guybrush dot luffy dot cx> <20130927230432 dot GA32221 at redhat dot com> <87wqm1etsz dot fsf at guybrush dot luffy dot cx> <20130927232529 dot GB32221 at redhat dot com>
â 28 septembre 2013 01:25 CEST, "Frank Ch. Eigler" <fche@redhat.com>Â:
>> I also tried with a GCC 4.7.3 but ends up with even less symbols.
>
> I wonder why. In any case, GCC 4.8 is more current, and we've had
> fine luck with it.
I'll try with it.
>> probe
>> vfs_write@/home/bernat/src/linux-lts-saucy-3.11.0/fs/read_write.c:459
>> kernel reloc=.dynamic pc=0xffffffff811b42b0
>> saveargs: examining 'vfs_write' (dieoffset: 0x1774208)
>> saveargs: finding location for local 'file' (dieoffset: 0x177422e)
>> saveargs: local 'file' (dieoffset: 0x177422e) is not available at
>> this address (0xffffffff811b42b0)
>> saveargs: finding location for local 'buf' (dieoffset: 0x177423e)
>> saveargs: local 'buf' (dieoffset: 0x177423e) is not available at
>> this address (0xffffffff811b42b0)
>> saveargs: finding location for local 'count' (dieoffset: 0x177424e)
>> [...]
>
> The -mfentry-compensation code should cause you to be seeing some
> messages like this:
>
> retrying variable location-list lookup at address pc+5
OK
>> [...]
>> > % readelf -w ../vmlinux # like you had, but focusing on location list item
>> > # (offset) [5ec5ff] from .debug_loc
>>
>> [5ec5ff] member
>> name (strp) "spin_lock"
>> decl_file (data1) 18
>> decl_line (data2) 333
>> type (ref4) [5ec679]
>> data_member_location (block1) [ 0] plus_uconst 16
>
> That's an unrelated .debug_info tidbit. I'd like to see the
> location_list entries associated with one of the sys_write variables.
> That's far later in the readelf -w output, in the .debug_loc section,
> specifically for the two offsets listed below:
>
> frame_base (data4) location list [5ec58b]
> "file" var location (data4) location list [5ec5ff]
Is that this?
005ec58b ffffffff811b42b0 ffffffff811b42b6 (DW_OP_breg7 (rsp): 8)
005ec58b ffffffff811b42b6 ffffffff811b42b9 (DW_OP_breg7 (rsp): 16)
005ec58b ffffffff811b42b9 ffffffff811b43f9 (DW_OP_breg6 (rbp): 16)
005ec58b ffffffff811b43f9 ffffffff811b4400 (DW_OP_breg7 (rsp): 8)
005ec58b ffffffff811b4400 ffffffff811b44a9 (DW_OP_breg6 (rbp): 16)
005ec58b <End of list>
005ec5ff ffffffff811b42b5 ffffffff811b42eb (DW_OP_reg5 (rdi))
005ec5ff ffffffff811b42eb ffffffff811b43e8 (DW_OP_reg3 (rbx))
005ec5ff ffffffff811b43fa ffffffff811b44a9 (DW_OP_reg3 (rbx))
005ec5ff <End of list>
Thanks!
--
Let the machine do the dirty work.
- The Elements of Programming Style (Kernighan & Plauger)