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~
