From: Tom de Vries Date: Wed, 29 Jul 2020 16:16:26 +0000 (+0200) Subject: [gdb/testsuite] Fix captured_command_loop breakpoint in selftests X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=90fd07fcd3e6af8679df55b67482d5c8ab8dd9b9;p=binutils-gdb.git [gdb/testsuite] Fix captured_command_loop breakpoint in selftests When building gcc with CFLAGS/CXXFLAGS="-O2 -g", and running the regression tests, I run into the following FAILs: ... FAIL: gdb.gdb/complaints.exp: breakpoint in captured_command_loop FAIL: gdb.gdb/python-interrupts.exp: breakpoint in captured_command_loop FAIL: gdb.gdb/python-selftest.exp: breakpoint in captured_command_loop ... The problem is that when setting the breakpoint at captured_command_loop: ... (gdb) break captured_command_loop^M Breakpoint 1 at 0x4230ed: captured_command_loop. (2 locations)^M (gdb) FAIL: gdb.gdb/complaints.exp: breakpoint in captured_command_loop ... there are two breakpoint locations instead of one. This is due to PR26096 - "gdb sets breakpoint at cold clone": ... $ nm gdb | grep captured_command_loop| c++filt 0000000000659f20 t captured_command_loop() 00000000004230ed t captured_command_loop() [clone .cold] ... Work around this by allowing multiple breakpoint locations for captured_command_loop. Reg-tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-07-29 Tom de Vries * lib/selftest-support.exp (selftest_setup): Allow breakpoint at multiple locations. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index d4d0813fa3d..656e59d54b4 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-07-29 Tom de Vries + + * lib/selftest-support.exp (selftest_setup): Allow breakpoint at + multiple locations. + 2020-07-29 Tom de Vries * gdb.dwarf2/dw2-line-number-zero.exp: Set breakpoints on lines diff --git a/gdb/testsuite/lib/selftest-support.exp b/gdb/testsuite/lib/selftest-support.exp index 61647d655e3..450fee1b1e0 100644 --- a/gdb/testsuite/lib/selftest-support.exp +++ b/gdb/testsuite/lib/selftest-support.exp @@ -76,9 +76,10 @@ proc selftest_setup { executable function } { return -1 } - # Set a breakpoint at main + # Set a breakpoint at main. Allow more than one location, as + # workaround for PR26096 - "gdb sets breakpoint at cold clone". gdb_test "break $function" \ - "Breakpoint.*at.* file.*, line.*" \ + "Breakpoint.*at.* (file.*, line|locations).*" \ "breakpoint in $function" # run yourself