[Bug backends/27925] riscv backend only provides return value locations for code compiled for LP64D ABI

wcohen at redhat dot com sourceware-bugzilla@sourceware.org
Sat Sep 18 21:18:27 GMT 2021


https://sourceware.org/bugzilla/show_bug.cgi?id=27925

--- Comment #1 from William Cohen <wcohen at redhat dot com> ---
Created attachment 13669
  --> https://sourceware.org/bugzilla/attachment.cgi?id=13669&action=edit
Possibe patch to provide return value information for lp64 abi

This patch applies to elfutils 0.183 in fedora 33 and builds successfully. 
When running the systemtap examples testsuite there were a number of probe
handlers that needed $return information what no longer complained about being
unable to find the $return like the following with the patched elfutils for
pfault.stp example:

$ sudo ../install/bin/stap -v  testsuite/systemtap.examples/memory/pfaults.stp 
Pass 1: parsed user script and 462 library scripts using
307316virt/76224res/10492shr/65720data kb, in 3020usr/560sys/3602real ms.
Pass 2: analyzed script: 3 probes, 7 functions, 2 embeds, 7 globals using
422972virt/182640res/11412shr/181376data kb, in 10500usr/1900sys/12425real ms.
Pass 3: translated to C into
"/tmp/stapFHW9Zg/stap_aeb36ff31c1e99bccaad8645b97de810_4982_src.c" using
422972virt/182768res/11540shr/181376data kb, in 300usr/940sys/1247real ms.
Pass 4: compiled C into "stap_aeb36ff31c1e99bccaad8645b97de810_4982.ko" in
51270usr/5930sys/51419real ms.
Pass 5: starting run.
^CPass 5: run completed in 1350usr/2510sys/300065real ms.

Previously with the unpatched elfutils:

$ sudo ../install/bin/stap -v  testsuite/systemtap.examples/memory/pfaults.stp 
Pass 1: parsed user script and 462 library scripts using
307316virt/76260res/10528shr/65720data kb, in 3710usr/640sys/4447real ms.
semantic error: failed to retrieve return value location for handle_mm_fault
[man error::dwarf] (mm/memory.c): identifier '$return' at
/home/riscv/systemtap_write/install/share/systemtap/tapset/linux/memory.stp:91:15
        source:         fault_type = $return
                                     ^

Pass 2: analyzed script: 3 probes, 6 functions, 2 embeds, 7 globals using
422972virt/182872res/11644shr/181376data kb, in 12180usr/2310sys/14710real ms.
Pass 2: analysis failed.  [man error::pass2]

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Elfutils-devel mailing list