diff options
author | Tom de Vries <tdevries@suse.de> | 2024-11-13 19:44:21 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2024-11-13 19:44:21 +0100 |
commit | 6e4577fc298767aab3756fd929fce61bb8560091 (patch) | |
tree | 77c9c28c89a2ede26b44b4e03c4ac2f773d7ceb4 /gas/NEWS | |
parent | 76b9b6eb9c76400c3419606ca5d0d4f1cec45536 (diff) | |
download | gdb-master.zip gdb-master.tar.gz gdb-master.tar.bz2 |
When running test-case gdb.reverse/recursion.exp on arm-linux with target
board unix/-mthumb, I run into:
...
(gdb) PASS: gdb.reverse/recursion.exp: Skipping recursion from inside
reverse-next^M
bar (x=4195569) at /home/linux/gdb/src/gdb/testsuite/gdb.reverse/recursion.c:34^M
34 int r = foo (x);^M
(gdb) FAIL: gdb.reverse/recursion.exp: print frame when stepping out
...
The problem is the recording of the T1 push instruction [1,2], specifically:
...
000004d8 <foo>:
4d8: b580 push {r7, lr}
...
The current code fails to add a memory record for the memory written with the
value of the lr register.
Fix this by adding the missing memory record.
Tested on arm-linux.
Reviewed-By: Guinevere Larsen <guinevere@redhat.com>
Approved-By: Luis Machado <luis.machado@arm.com>
[1] https://developer.arm.com/documentation/ddi0406/c/Application-Level-Architecture/Instruction-Details/Encoding-of-lists-of-ARM-core-registers
[2] https://developer.arm.com/documentation/ddi0597/2024-09/T32-Instructions-by-Encoding/16-bit?lang=en#pushpop16
Diffstat (limited to 'gas/NEWS')
0 files changed, 0 insertions, 0 deletions