This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug dyninst/24954] stapdyn on ppc/aarch64 do not support full register set
- From: "scox at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Fri, 30 Aug 2019 21:12:59 +0000
- Subject: [Bug dyninst/24954] stapdyn on ppc/aarch64 do not support full register set
- Auto-submitted: auto-generated
- References: <bug-24954-6586@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=24954
--- Comment #1 from Stan Cox <scox at redhat dot com> ---
ah so for -O0 on ppc the stap probe gets the value from r31 + 0x80 but r31 is
not setup due to 8 arg restriction. optimization often works because r31 isn't
used. not too familiar with ppc, why not r1 (sp) + 0x80 ?
stapdyn sets up the probe register context using a dyninst synthesized call,
which dyninst limits to the number of register args. stapdyn sets up only
those registers so if a probe variable access requires a register that isn't
set, e.g. r31 + 0x80, then it fails.
If a non set register is not required, oftentimes this will be the case with
-O2, then the access will succeed. The possible solution is to set up all the
regs using multiple synthesized calls. See mutatee.cxx::get_dwarf_registers,
mutatee.cxx::mutatee::instrument_dynprobe_target,
uprobes-regs.c::enter_dyninst_uprobe_regs.
--
You are receiving this mail because:
You are the assignee for the bug.