[gdb/testsuite] Fix ctf test-cases on openSUSE Tumbleweed
authorTom de Vries <tdevries@suse.de>
Wed, 12 Oct 2022 15:02:15 +0000 (17:02 +0200)
committerTom de Vries <tdevries@suse.de>
Wed, 12 Oct 2022 15:02:15 +0000 (17:02 +0200)
commit908a926ec4ecd48571aafb560d97b927b6f94b5e
tree6e260583ade3c9c52751b23438949bdf7d990366
parent632ecf33a181029be7f1b7efdc687fd3dbb1a1d0
[gdb/testsuite] Fix ctf test-cases on openSUSE Tumbleweed

When running test-case gdb.base/ctf-constvars.exp on openSUSE Tumbleweed (with
system gcc version 12, providing gcc -gctf support, enabling the ctf test-cases
in the gdb testsuite), I run into:
...
(gdb) print vox^M
'vox' has unknown type; cast it to its declared type^M
(gdb) FAIL: gdb.base/ctf-constvars.exp: print vox
...

There are two causes for this:
- the linker flags are missing --ctf-variables, so the information for variable
  vox is missing (reported in PR29468), and
- the executable contains some dwarf2 due to some linked-in glibc objects,
  so the ctf info is ignored (reported in PR29160).

By using:
- -Wl,--ctf-variable,
- -Wl,--strip-debug, and
we can make the test-case and some similar test-cases pass.

Tested on x86_64-linux.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29160
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29468
gdb/testsuite/gdb.base/ctf-constvars.exp
gdb/testsuite/gdb.base/ctf-ptype.exp
gdb/testsuite/gdb.base/cvexpr.exp
gdb/testsuite/gdb.base/whatis.exp
gdb/testsuite/gdb.ctf/cross-tu-cyclic.exp
gdb/testsuite/gdb.ctf/funcreturn.exp
gdb/testsuite/gdb.ctf/multi.exp