[gdb/testsuite] Fix gdb.base/coredump-filter-build-id.exp with older eu-unstrip
authorTom de Vries <tdevries@suse.de>
Thu, 9 Sep 2021 11:55:02 +0000 (13:55 +0200)
committerTom de Vries <tdevries@suse.de>
Thu, 9 Sep 2021 11:55:02 +0000 (13:55 +0200)
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/ChangeLog:

2021-09-09  Tom de Vries  <tdevries@suse.de>

* gdb.base/coredump-filter-build-id.exp: Handle older eu-unstrip.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/coredump-filter-build-id.exp

index 72076feea1593f9ec4a0f1a1cdf7b1f061cbf34a..807d302050235858f84d2adbfe596f930f9de3e2 100644 (file)
@@ -1,3 +1,7 @@
+2021-09-09  Tom de Vries  <tdevries@suse.de>
+
+       * gdb.base/coredump-filter-build-id.exp: Handle older eu-unstrip.
+
 2021-09-09  Tom de Vries  <tdevries@suse.de>
 
        * gdb.mi/mi-sym-info.exp: Fix regexps.  Add missing message argument
index 41f8b0564aedd8d1d763ee3fd464d6071bcbedf5..a9012b898f38ea996396881ce118a8210e33c623 100644 (file)
@@ -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"
This page took 0.032314 seconds and 4 git commands to generate.