From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 110471 invoked by alias); 30 Aug 2019 21:13:03 -0000 Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org Received: (qmail 110425 invoked by uid 48); 30 Aug 2019 21:12:59 -0000 From: "scox at redhat dot com" To: systemtap@sourceware.org Subject: [Bug dyninst/24954] stapdyn on ppc/aarch64 do not support full register set Date: Fri, 30 Aug 2019 21:13:00 -0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: systemtap X-Bugzilla-Component: dyninst X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: scox at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: systemtap at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2019-q3/txt/msg00058.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=3D24954 --- Comment #1 from Stan Cox --- 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 i= sn'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.=20 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_registe= rs, mutatee.cxx::mutatee::instrument_dynprobe_target, uprobes-regs.c::enter_dyninst_uprobe_regs. --=20 You are receiving this mail because: You are the assignee for the bug.