[binutils-gdb] fix gdb.base/jit-elf.exp when testing with clang

Bruno Larsen blarsen@sourceware.org
Thu Sep 22 09:05:14 GMT 2022


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=53d4a55bebf56c5ceb6bcf7ff43efd05043a0fc7

commit 53d4a55bebf56c5ceb6bcf7ff43efd05043a0fc7
Author: Bruno Larsen <blarsen@redhat.com>
Date:   Wed Jul 20 16:44:38 2022 -0300

    fix gdb.base/jit-elf.exp when testing with clang
    
    When using clang as the compiler for the target, gdb.base/jit-elf.exp
    was failing because the filename displayed when GDB attached to the
    inferior was only showing up as with a relative path, like so:
    
           (gdb) attach 3674146
           Attaching to program: /home/blarsen/Documents/gdb-build/gdb/testsuite/outputs/gdb.base/jit-elf/jit-elf-main, process 3674146
           Reading symbols from /lib64/libm.so.6...
           Reading symbols from .gnu_debugdata for /lib64/libm.so.6...
           (No debugging symbols found in .gnu_debugdata for /lib64/libm.so.6)
           Reading symbols from /lib64/libc.so.6...
           (No debugging symbols found in /lib64/libc.so.6)
           Reading symbols from /lib64/ld-linux-x86-64.so.2...
           [Thread debugging using libthread_db enabled]
           Using host libthread_db library "/lib64/libthread_db.so.1".
           0x00000000004013ff in main (argc=3, argv=0x7fffffffd820) at ../../../common/git-repos/binutils-gdb/gdb/testsuite/gdb.base/jit-elf-main.c:118
           118|  WAIT_FOR_GDB; i = 0;  /* gdb break here 1 */
           (gdb) FAIL: gdb.base/jit-elf.exp: attach: one_jit_test-2: break here 1: attach
    
    While gcc's output is as follows:
    
           (gdb) attach 3592961
           Attaching to program: /home/blarsen/Documents/gdb-build/gdb/testsuite/outputs/gdb.base/jit-elf/jit-elf-main, process 3592961
           Reading symbols from /lib64/libm.so.6...
           Reading symbols from .gnu_debugdata for /lib64/libm.so.6...
           (No debugging symbols found in .gnu_debugdata for /lib64/libm.so.6)
           Reading symbols from /lib64/libc.so.6...
           (No debugging symbols found in /lib64/libc.so.6)
           Reading symbols from /lib64/ld-linux-x86-64.so.2...
           [Thread debugging using libthread_db enabled]
           Using host libthread_db library "/lib64/libthread_db.so.1".
           main (argc=3, argv=0x7fffffffd860) at /home/blarsen/Documents/gdb-build/gdb/testsuite/../../../common/git-repos/binutils-gdb/gdb/testsuite/gdb.base/jit-elf-main.c:118
           118|  WAIT_FOR_GDB; i = 0;  /* gdb break here 1 */
           (gdb) PASS: gdb.base/jit-elf.exp: attach: one_jit_test-2: break here 1: attach
    
    This difference only happens when GDB's configure is ran using a
    relative path, but seeing as testing the full path is not important for
    this specific test, it feels worth fixing anyway.  To fix the false
    positive, the regexp for checking where gdb has stopped was relaxed a
    little to allow the relative path.

Diff:
---
 gdb/testsuite/gdb.base/jit-elf.exp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.base/jit-elf.exp b/gdb/testsuite/gdb.base/jit-elf.exp
index 38d541f74b9..0753072974f 100644
--- a/gdb/testsuite/gdb.base/jit-elf.exp
+++ b/gdb/testsuite/gdb.base/jit-elf.exp
@@ -54,7 +54,7 @@ proc clean_reattach {} {
     clean_restart ${main_binfile}
 
     if { ![gdb_attach $testpid \
-	      -pattern "main.*at .*$::main_srcfile:.*"] } {
+	      -pattern "main.*at .*$::main_basename.c:.*"] } {
 	return 0
     }


More information about the Gdb-cvs mailing list