From: Andrew Burgess Date: Mon, 8 Sep 2025 09:18:09 +0000 (+0100) Subject: gdb/testsuite: small fix for amd64-extended-prologue-analysis.exp X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8735dae5139ecf2d3a79508371c9c861fde12c44;p=thirdparty%2Fbinutils-gdb.git gdb/testsuite: small fix for amd64-extended-prologue-analysis.exp I noticed I was sometimes getting this failure: FAIL: gdb.arch/amd64-extended-prologue-analysis.exp: offset \ initialization: ASM source: gdb_breakpoint: set breakpoint \ at *0x0000000000401151 The problem was introduced in commit: commit f9aa48dc545ef511e19f4dfab88a196b820fd2da Date: Thu Aug 28 11:50:13 2025 +0000 gdb, amd64: extend the amd64 prologue analyzer to skip register pushes A gdb_test_multiple exits early when processing the results of a 'disassemble' command, without waiting for the prompt to be seen. This can leave unhandled output in expect's input buffer, which will then throw off the next test. Update the gdb_test_multiple to wait for the prompt before declaring the test passed. After this I'm no longer seeing the above failure. There should be no change in what is tested after this commit. --- diff --git a/gdb/testsuite/gdb.arch/amd64-extended-prologue-analysis.exp b/gdb/testsuite/gdb.arch/amd64-extended-prologue-analysis.exp index b2fcbe66034..356afc7e668 100644 --- a/gdb/testsuite/gdb.arch/amd64-extended-prologue-analysis.exp +++ b/gdb/testsuite/gdb.arch/amd64-extended-prologue-analysis.exp @@ -59,9 +59,13 @@ proc offset_test_run {} { set addr_past_prologue "null" gdb_test_multiple "disassemble" "Disassemble foo" -lbl { - -re "($::hex) <\\+($::decimal)>:\\s*mov.*" { + -re "\r\n\\s*($::hex) <\\+($::decimal)>:\\s*mov.*(?=\r\n)" { set addr_past_prologue $expect_out(1,string) - pass $gdb_test_name + exp_continue + } + + -re -wrap "" { + gdb_assert { $addr_past_prologue ne "null" } $gdb_test_name } }