From 8570b2b884139bc071895ccfcb41e5686acdf7b8 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Thu, 9 Sep 2021 12:29:40 +0200 Subject: [PATCH] [gdb/testsuite] Fix gdb.base/coredump-filter-build-id.exp with older eu-unstrip On openSUSE Leap 42.3 with eu-unstrip 0.158, we run into: ... (gdb) PASS: gdb.base/coredump-filter-build-id.exp: save corefile First line of eu-unstrip: \ 0x400000+0x202000 f4ae8502bd6a14770182382316bc595e9dc6f08b@0x400284 - - [exe] FAIL: gdb.base/coredump-filter-build-id.exp: gcore dumped mapping with build-id ... The test expects an actual file name instead of '[exe]', but that only got introduced with eu-unstrip 0.161. Before it printed '[exe]' or '[pie]'. Fix this by updating the regexp. Tested on x86_64-linux. --- gdb/testsuite/gdb.base/coredump-filter-build-id.exp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/gdb.base/coredump-filter-build-id.exp b/gdb/testsuite/gdb.base/coredump-filter-build-id.exp index 41f8b0564ae..a9012b898f3 100644 --- a/gdb/testsuite/gdb.base/coredump-filter-build-id.exp +++ b/gdb/testsuite/gdb.base/coredump-filter-build-id.exp @@ -58,7 +58,8 @@ if { [catch "exec [gdb_find_eu-unstrip] -n --core $corefilename" output] == 0 } verbose -log "First line of eu-unstrip: $line" - if { [regexp "^${hex}\\+${hex} \[a-f0-9\]+@${hex}.*[string_to_regexp $binfile]$" $line] } { + set binfile_re (?:[string_to_regexp $binfile]|\\\[(?:exe|pie)\\\]) + if { [regexp "^${hex}\\+${hex} \[a-f0-9\]+@${hex}.*$binfile_re$" $line] } { pass "$test" } else { fail "$test" -- 2.30.2