diff options
author | Ian Lance Taylor <ian@airs.com> | 2008-03-29 07:19:02 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2008-03-29 07:19:02 +0000 |
commit | 479f65031f8b864bf4973b8495761aa769a087cf (patch) | |
tree | c5b9a33611480286600f14a1e042b464667b1919 /gold/testsuite/ver_test_7.cc | |
parent | 7cc70d1017af479e2b10d89b2b779792b7892569 (diff) | |
download | ppe42-binutils-479f65031f8b864bf4973b8495761aa769a087cf.tar.gz ppe42-binutils-479f65031f8b864bf4973b8495761aa769a087cf.zip |
* symtab.cc (Symbol_table::add_from_object): If we don't use the
new symbol when resolving, don't call set_is_default.
* testsuite/ver_test_7.cc: New file.
* testsuite/ver_test_7.sh: New file.
* testsuite/Makefile.am (ver_test_7.so): New target.
(ver_test_7.o): New target.
(check_SCRIPTS): Add ver_test_7.sh.
(check_DATA): Add ver_test_7.syms.
(ver_test_7.syms): New target.
Diffstat (limited to 'gold/testsuite/ver_test_7.cc')
-rw-r--r-- | gold/testsuite/ver_test_7.cc | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gold/testsuite/ver_test_7.cc b/gold/testsuite/ver_test_7.cc new file mode 100644 index 0000000000..d602a48fd0 --- /dev/null +++ b/gold/testsuite/ver_test_7.cc @@ -0,0 +1,37 @@ +// ver_test_7.cc -- test weak duplicate symbol with version + +// Copyright 2008 Free Software Foundation, Inc. +// Written by Ian Lance Taylor <iant@google.com> + +// This file is part of gold. + +// 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, write to the Free Software +// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, +// MA 02110-1301, USA. + +#include "ver_test.h" + +// This tests having a weak symbol which matches an entry in the +// version script following a hidden definition from .symver. There +// was a bug in which the weak symbol would cause the earlier symbol +// to become globally visible when it should have been hidden. + +extern "C" int t2_2() __attribute__ ((weak)); + +extern "C" +int +t2_2() +{ + return 23; +} |