Make print-file-var.exp test attribute visibility hidden, dlopen, and main symbol
authorPedro Alves <palves@redhat.com>
Sat, 20 Jul 2019 00:20:35 +0000 (01:20 +0100)
committerTom Tromey <tromey@adacore.com>
Wed, 2 Oct 2019 15:53:17 +0000 (09:53 -0600)
commit1d58d6a26c2a93b80f93a5d058dd678782affd5d
treee1c71bba761d41f04247d87f76116821db6cab5f
parent4b610737f02338b2aea7641ab771aa5e137d067c
Make print-file-var.exp test attribute visibility hidden, dlopen, and main symbol

Make gdb.base/print-file-var.exp test all combinations of:

  - attribute hidden in the this_version_id symbols or not
  - dlopen or not
  - this_version_id symbol in main file or not
  - C++

gdb/testsuite/ChangeLog
2019-10-02  Pedro Alves  <palves@redhat.com>
    Andrew Burgess  <andrew.burgess@embecosm.com>

* gdb.base/print-file-var-lib1.c: Include <stdio.h> and
"print-file-var.h".
(this_version_id) Use ATTRIBUTE_VISIBILITY.
(get_version_1): Print this_version_id and its address.
Add extern "C" wrappers around interface functions.
* gdb.base/print-file-var-lib2.c: Include <stdio.h> and
"print-file-var.h".
(this_version_id) Use ATTRIBUTE_VISIBILITY.
(get_version_2): Print this_version_id and its address.
Add extern "C" wrappers around interface functions.
* gdb.base/print-file-var-main.c: Include <dlfcn.h>, <assert.h>,
<stddef.h> and "print-file-var.h".
Add extern "C" wrappers around interface functions.
[VERSION_ID_MAIN] (this_version_id): Define.
(main): Define v0.  Use dlopen if SHLIB_NAME is defined.
* gdb.base/print-file-var.h: Add some #defines to simplify setting
up extern "C" blocks.
* gdb.base/print-file-var.exp (test): New, factored out from top
level.
(top level): Test all combinations of attribute hidden or not,
dlopen or not, and this_version_id symbol in main file or not.
Compile tests as both C++ and C, make test names unique.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/print-file-var-lib1.c
gdb/testsuite/gdb.base/print-file-var-lib2.c
gdb/testsuite/gdb.base/print-file-var-main.c
gdb/testsuite/gdb.base/print-file-var.exp
gdb/testsuite/gdb.base/print-file-var.h [new file with mode: 0644]