[Bug breakpoints/24541] Incorrect evaluation of systemtap probes due to register being signed and probe expression assuming unsigned

andrew.burgess at embecosm dot com sourceware-bugzilla@sourceware.org
Thu May 9 11:23:00 GMT 2019


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

--- Comment #2 from Andrew Burgess <andrew.burgess at embecosm dot com> ---
So this issue seems to be relevant:

  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80115

which links to this change in SystemTap:

 
https://sourceware.org/git/gitweb.cgi?p=systemtap.git;a=commitdiff;h=272146660f54786bb61d388f6d3a4eb20e7d9369

Which is where SystemTap changed to emit the narrowed register names by adding
the 'w' prefix.  To see how GCC interprets the 'w' prefix, see:

 
https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/i386/i386.c;h=ab1524c3524846468185d01302d86f1ddbbc268c;hb=refs/heads/master#l12247

The implication seems to be that when SystemTap says the argument is this
`4@%di` then we should interpret this to mean `((uint32_t) $edi)`.

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


More information about the Gdb-prs mailing list