]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
[gdb/testsuite] Add xfail in gdb.base/hbreak.exp
authorTom de Vries <tdevries@suse.de>
Tue, 23 Jul 2024 12:38:16 +0000 (14:38 +0200)
committerTom de Vries <tdevries@suse.de>
Tue, 23 Jul 2024 12:38:16 +0000 (14:38 +0200)
commitd0af16d5a105948ea17e4410d3ddbb12ba64e586
tree214e1eee2de9cd6e775882ed4e5b45df71b0538d
parent128eb414a715733dfeafec4d2c31f84ff0ba20c1
[gdb/testsuite] Add xfail in gdb.base/hbreak.exp

On an aarch64-linux system with 32-bit userland running in a chroot, and using
target board unix/mthumb I get:
...
(gdb) hbreak hbreak.c:27^M
Hardware assisted breakpoint 2 at 0x4004e2: file hbreak.c, line 27.^M
(gdb) PASS: gdb.base/hbreak.exp: hbreak
continue^M
Continuing.^M
Unexpected error setting breakpoint: Invalid argument.^M
(gdb) FAIL: gdb.base/hbreak.exp: continue to break-at-exit after hbreak
...
due to this call in arm_linux_nat_target::low_prepare_to_resume:
...
          if (ptrace (PTRACE_SETHBPREGS, pid,
              (PTRACE_TYPE_ARG3) ((i << 1) + 1), &bpts[i].address) < 0)
            perror_with_name (_("Unexpected error setting breakpoint"));
...

This problem does not happen if instead we use a 4-byte aligned address.

I'm not sure if this is simply unsupported or if there's a kernel bug of some
sort, but I don't see what gdb can do about this.

Tentatively mark this as xfail.

Tested on aarch64-linux.

Approved-By: Luis Machado <luis.machado@arm.com>
gdb/testsuite/gdb.base/hbreak.exp