On 8/12/25 13:46, Thiago Jung Bauermann wrote:
Most of the GDB tests pass. The only failure is in a test which sets the
GCSPR in a process to a bogus value. This causes the process to get a
SIGBUS:
(gdb) set $gcspr = 0xbadc0ffee
(gdb) continue
Continuing.
Program received signal SIGBUS, Bus error.
normal_function0 () at /path/to/gdb/testsuite/gdb.arch/aarch64-gcs.c:121
121 __asm__ volatile ("ret\n");
In the FVP emulator, the process gets a SIGSEGV instead, so that is what
my test expects:
(gdb) set $gcspr = 0xbadc0ffee
(gdb) continue
Continuing.
Program received signal SIGSEGV, Segmentation fault.
normal_function0 () at /path/to/gdb/testsuite/gdb.arch/aarch64-gcs.c:121
121 __asm__ volatile ("ret\n");
I don't know whether this is a bug or just a different permissible
behaviour, in which case I can easily adjust my test to expect either
signal.
I may have forgotten to set the gcs bit in the iss2 field along the unaligned access path.
I'll see if I can verify this hypothesis.
r~