[Bug gdb/25215] systemtap probes appear to break armhf gdb with arm64 kernel

michael.hudson at canonical dot com sourceware-bugzilla@sourceware.org
Fri Nov 22 23:32:00 GMT 2019


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

--- Comment #8 from Michael Hudson-Doyle <michael.hudson at canonical dot com> ---
Also, the process is segfaulting for what looks like a valid reason:

root@disco:~# gdb --args /bin/true
GNU gdb (Ubuntu 8.2.91.20190405-0ubuntu3) 8.2.91.20190405-git
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /bin/true...
(No debugging symbols found in /bin/true)
(gdb) r
Starting program: /usr/bin/true 

Program received signal SIGSEGV, Segmentation fault.
0xf7fc8ee0 in ?? () from /lib/ld-linux-armhf.so.3
(gdb) x/i $pc
=> 0xf7fc8ee0:  ldr.w   r3, [r8]
(gdb) p $r8
$1 = 0

But trying to work out why $r8 is 0 didn't go so well:

(gdb) disassemble 
No function contains program counter for selected frame.
(gdb) disassemble $pc-12,$pc+12
Dump of assembler code from 0xf7fc8ed4 to 0xf7fc8eec:
   0xf7fc8ed4:  ldr.w   r8, [r2, #428]  ; 0x1ac
   0xf7fc8ed8:  add.w   r5, r5, #608    ; 0x260
   0xf7fc8edc:  mov     r4, r3
   0xf7fc8ede:  mov     r6, r2
=> 0xf7fc8ee0:  ldr.w   r3, [r8]
   0xf7fc8ee4:  cbz     r3, 0xf7fc8eec
   0xf7fc8ee6:  movs    r1, #0
   0xf7fc8ee8:  mov     r0, r5
   0xf7fc8eea:  blx     r3
End of assembler dump.
(gdb) br *0xf7fc8ed4
Breakpoint 1 at 0xf7fc8ed4
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/bin/true 
�&��K{Dh���1������uFF��: Assertion `&��K{Dh���1������uFF��' failed!
[Inferior 1 (process 2440) exited with code 0177]
(gdb)

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


More information about the Gdb-prs mailing list