diff options
author | Tom de Vries <tdevries@suse.de> | 2021-10-11 16:59:56 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2021-10-11 16:59:56 +0200 |
commit | c8ed8c8ac380813b3a5d47131ccad1f79305c16b (patch) | |
tree | 0bc23fe2501be86948dd0e7ce0a77f5b5b8121fc | |
parent | 3a480f1e35b7e22a3ca6309dae8f665c8dacd104 (diff) | |
download | gdb-c8ed8c8ac380813b3a5d47131ccad1f79305c16b.zip gdb-c8ed8c8ac380813b3a5d47131ccad1f79305c16b.tar.gz gdb-c8ed8c8ac380813b3a5d47131ccad1f79305c16b.tar.bz2 |
[gdb/testsuite] Fix FAIL in gdb.mi/mi-var-child-f.exp
When running test-case gdb.mi/mi-var-child-f.exp on openSUSE Tumbleweed
(with glibc 2.34) I run into:
...
(gdb) ^M
PASS: gdb.mi/mi-var-child-f.exp: mi runto prog_array
Expecting: ^(-var-create array \* array[^M
]+)?(\^done,name="array",numchild="[0-9]+",value=".*",type=.*,has_more="0"[^M
]+[(]gdb[)] ^M
[ ]*)
-var-create array * array^M
&"Attempt to use a type name as an expression.\n"^M
^error,msg="-var-create: unable to create variable object"^M
(gdb) ^M
FAIL: gdb.mi/mi-var-child-f.exp: create local variable array (unexpected output)
...
The problem is that the name array is used both:
- as the name for a local variable
- as the name of a type in glibc, in file malloc/dynarray-skeleton.c, as included
by nss/nss_files/files-hosts.c.
Fix this by ignoring the shared lib symbols.
Likewise in a couple of other fortran tests.
Tested on x86_64-linux.
-rw-r--r-- | gdb/testsuite/gdb.fortran/allocated.exp | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.fortran/array-slices-bad.exp | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.fortran/array-slices-sub-slices.exp | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.fortran/array-slices.exp | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.fortran/lbound-ubound.exp | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.fortran/subarray.exp | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.mi/mi-var-child-f.exp | 6 |
7 files changed, 41 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.fortran/allocated.exp b/gdb/testsuite/gdb.fortran/allocated.exp index d9308af..9f192d6 100644 --- a/gdb/testsuite/gdb.fortran/allocated.exp +++ b/gdb/testsuite/gdb.fortran/allocated.exp @@ -25,10 +25,16 @@ if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \ return -1 } +# Avoid shared lib symbols. +gdb_test_no_output "set auto-solib-add off" + if ![fortran_runto_main] { return -1 } +# Avoid libc symbols, in particular the 'array' type. +gdb_test_no_output "nosharedlibrary" + # Set all the breakpoints. for { set i 1 } { $i < 6 } { incr i } { gdb_breakpoint [gdb_get_line_number "Breakpoint $i"] diff --git a/gdb/testsuite/gdb.fortran/array-slices-bad.exp b/gdb/testsuite/gdb.fortran/array-slices-bad.exp index a6890349..c8bea99 100644 --- a/gdb/testsuite/gdb.fortran/array-slices-bad.exp +++ b/gdb/testsuite/gdb.fortran/array-slices-bad.exp @@ -25,10 +25,16 @@ if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \ return -1 } +# Avoid shared lib symbols. +gdb_test_no_output "set auto-solib-add off" + if ![fortran_runto_main] { return -1 } +# Avoid libc symbols, in particular the 'array' type. +gdb_test_no_output "nosharedlibrary" + # gdb_breakpoint [gdb_get_line_number "Display Message Breakpoint"] gdb_breakpoint [gdb_get_line_number "First Breakpoint"] gdb_breakpoint [gdb_get_line_number "Second Breakpoint"] diff --git a/gdb/testsuite/gdb.fortran/array-slices-sub-slices.exp b/gdb/testsuite/gdb.fortran/array-slices-sub-slices.exp index 4264cec..c8e5232d 100644 --- a/gdb/testsuite/gdb.fortran/array-slices-sub-slices.exp +++ b/gdb/testsuite/gdb.fortran/array-slices-sub-slices.exp @@ -25,10 +25,16 @@ if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \ return -1 } +# Avoid shared lib symbols. +gdb_test_no_output "set auto-solib-add off" + if ![fortran_runto_main] { return -1 } +# Avoid libc symbols, in particular the 'array' type. +gdb_test_no_output "nosharedlibrary" + # gdb_breakpoint [gdb_get_line_number "Display Message Breakpoint"] gdb_breakpoint [gdb_get_line_number "Stop Here"] gdb_breakpoint [gdb_get_line_number "Final Breakpoint"] diff --git a/gdb/testsuite/gdb.fortran/array-slices.exp b/gdb/testsuite/gdb.fortran/array-slices.exp index 5b01e4f..2c92d60 100644 --- a/gdb/testsuite/gdb.fortran/array-slices.exp +++ b/gdb/testsuite/gdb.fortran/array-slices.exp @@ -55,10 +55,16 @@ proc run_test { repack } { clean_restart ${binfile} + # Avoid shared lib symbols. + gdb_test_no_output "set auto-solib-add off" + if ![fortran_runto_main] { return -1 } + # Avoid libc symbols, in particular the 'array' type. + gdb_test_no_output "nosharedlibrary" + gdb_test_no_output "set fortran repack-array-slices $repack" # gdb_breakpoint [gdb_get_line_number "Display Message Breakpoint"] diff --git a/gdb/testsuite/gdb.fortran/lbound-ubound.exp b/gdb/testsuite/gdb.fortran/lbound-ubound.exp index 489c9ad..3a65f7f 100644 --- a/gdb/testsuite/gdb.fortran/lbound-ubound.exp +++ b/gdb/testsuite/gdb.fortran/lbound-ubound.exp @@ -25,11 +25,16 @@ if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \ return -1 } +# Avoid shared lib symbols. +gdb_test_no_output "set auto-solib-add off" if ![fortran_runto_main] { return -1 } +# Avoid libc symbols, in particular the 'array' type. +gdb_test_no_output "nosharedlibrary" + gdb_breakpoint [gdb_get_line_number "Test Breakpoint"] gdb_breakpoint [gdb_get_line_number "Final Breakpoint"] diff --git a/gdb/testsuite/gdb.fortran/subarray.exp b/gdb/testsuite/gdb.fortran/subarray.exp index d41443a..722ac52 100644 --- a/gdb/testsuite/gdb.fortran/subarray.exp +++ b/gdb/testsuite/gdb.fortran/subarray.exp @@ -27,11 +27,17 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}]} { return -1 } +# Avoid shared lib symbols. +gdb_test_no_output "set auto-solib-add off" + if ![fortran_runto_main] then { perror "couldn't run to main" continue } +# Avoid libc symbols, in particular the 'array' type. +gdb_test_no_output "nosharedlibrary" + # Try to set breakpoint at the last write statement. set bp_location [gdb_get_line_number "str(:)"] diff --git a/gdb/testsuite/gdb.mi/mi-var-child-f.exp b/gdb/testsuite/gdb.mi/mi-var-child-f.exp index f35c0cd..a1aa1ac 100644 --- a/gdb/testsuite/gdb.mi/mi-var-child-f.exp +++ b/gdb/testsuite/gdb.mi/mi-var-child-f.exp @@ -36,8 +36,14 @@ if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} +# Avoid shared lib symbols. +mi_gdb_test "-gdb-set auto-solib-add off" "\\^done" + mi_runto prog_array +# Avoid libc symbols, in particular the 'array' type. +mi_gdb_test "nosharedlibrary" ".*\\^done" + mi_create_varobj "array" "array" "create local variable array" |