diff options
author | Pedro Alves <palves@redhat.com> | 2019-07-20 01:20:35 +0100 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2019-10-02 09:53:17 -0600 |
commit | 1d58d6a26c2a93b80f93a5d058dd678782affd5d (patch) | |
tree | e1c71bba761d41f04247d87f76116821db6cab5f /gdb/testsuite/gdb.base/print-file-var.h | |
parent | 4b610737f02338b2aea7641ab771aa5e137d067c (diff) | |
download | binutils-1d58d6a26c2a93b80f93a5d058dd678782affd5d.zip binutils-1d58d6a26c2a93b80f93a5d058dd678782affd5d.tar.gz binutils-1d58d6a26c2a93b80f93a5d058dd678782affd5d.tar.bz2 |
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.
Diffstat (limited to 'gdb/testsuite/gdb.base/print-file-var.h')
-rw-r--r-- | gdb/testsuite/gdb.base/print-file-var.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/print-file-var.h b/gdb/testsuite/gdb.base/print-file-var.h new file mode 100644 index 0000000..c44e484 --- /dev/null +++ b/gdb/testsuite/gdb.base/print-file-var.h @@ -0,0 +1,34 @@ +/* This testcase is part of GDB, the GNU debugger. + Copyright 2019 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#ifndef PRINT_FILE_VAR_H +#define PRINT_FILE_VAR_H + +#if HIDDEN +# define ATTRIBUTE_VISIBILITY __attribute__((visibility ("hidden"))) +#else +# define ATTRIBUTE_VISIBILITY +#endif + +#ifdef __cplusplus +# define START_EXTERN_C extern "C" { +# define END_EXTERN_C } +#else +# define START_EXTERN_C +# define END_EXTERN_C +#endif + +#endif /* PRINT_FILE_VAR_H */ |