[gdb/testsuite] Fix FAIL in gdb.mi/mi-var-child-f.exp
authorTom de Vries <tdevries@suse.de>
Mon, 11 Oct 2021 14:59:56 +0000 (16:59 +0200)
committerTom de Vries <tdevries@suse.de>
Mon, 11 Oct 2021 14:59:56 +0000 (16:59 +0200)
commitc8ed8c8ac380813b3a5d47131ccad1f79305c16b
tree0bc23fe2501be86948dd0e7ce0a77f5b5b8121fc
parent3a480f1e35b7e22a3ca6309dae8f665c8dacd104
[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.
gdb/testsuite/gdb.fortran/allocated.exp
gdb/testsuite/gdb.fortran/array-slices-bad.exp
gdb/testsuite/gdb.fortran/array-slices-sub-slices.exp
gdb/testsuite/gdb.fortran/array-slices.exp
gdb/testsuite/gdb.fortran/lbound-ubound.exp
gdb/testsuite/gdb.fortran/subarray.exp
gdb/testsuite/gdb.mi/mi-var-child-f.exp