Skip to content

Commit

Permalink
[gdb/testsuite] Fix gdb.base/print-symbol-loading.exp on ubuntu 22.04.1
Browse files Browse the repository at this point in the history
On ubuntu 22.04.1 x86_64, I run into:
...
(gdb) PASS: gdb.base/print-symbol-loading.exp: shlib off: \
  set print symbol-loading off
sharedlibrary .*^M
Symbols already loaded for /lib/x86_64-linux-gnu/libc.so.6^M
Symbols already loaded for /lib/x86_64-linux-gnu/libpthread.so.0^M
(gdb) FAIL: gdb.base/print-symbol-loading.exp: shlib off: load shared-lib
...

The test-case expects the libc.so line, but not the libpthread.so line.

However, we have:
...
$ ldd /lib/x86_64-linux-gnu/libc.so.6
	linux-vdso.so.1 (0x00007ffd7f7e7000)
	libgtk3-nocsd.so.0 => /lib/x86_64-linux-gnu/libgtk3-nocsd.so.0 (0x00007f4468c00000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f4469193000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4468f3e000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4468f39000)
...
so it's not unexpected that libpthread.so is loaded if libc.so is loaded.

Fix this by accepting the libpthread.so line.

Tested on x86_64-linux.

PR testsuite/29919
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29919
  • Loading branch information
vries committed Dec 31, 2022
1 parent 32c960f commit 38ef8cc
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion gdb/testsuite/gdb.base/print-symbol-loading.exp
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,10 @@ proc test_load_shlib { print_symbol_loading } {
}
gdb_test_no_output "set print symbol-loading $print_symbol_loading"
set test_name "load shared-lib"
set libc_re \
[multi_line \
"Symbols already loaded for\[^\r\n\]*\\/libc\\.\[^\r\n\]*(" \
"Symbols already loaded for\[^\r\n\]*\\/libpthread\\.\[^\r\n\]*)?"]
switch ${print_symbol_loading} {
"off" {
set cmd "sharedlibrary .*"
Expand All @@ -113,7 +117,7 @@ proc test_load_shlib { print_symbol_loading } {
-re "^$cmd_regex\r\n$gdb_prompt $" {
pass $test_name
}
-re "^$cmd_regex\r\nSymbols already loaded for\[^\r\n\]*\\/libc\\.\[^\r\n\]*\r\n$gdb_prompt $" {
-re "^$cmd_regex\r\n$libc_re\r\n$gdb_prompt $" {
pass $test_name
}
}
Expand Down

0 comments on commit 38ef8cc

Please sign in to comment.