diff options
author | Doug Kwan <dougkwan@google.com> | 2010-08-28 08:05:04 +0000 |
---|---|---|
committer | Doug Kwan <dougkwan@google.com> | 2010-08-28 08:05:04 +0000 |
commit | a464928644b6811cfa7a7de2652d3eb00fe75f6d (patch) | |
tree | 297c6e9987fd140ff1627afa5c020b26d22f23b4 /gold/testsuite/dyn_weak_ref_2.c | |
parent | * elflink.c (_bfd_elf_dynamic_symbol_p): Rename param. Make (diff) | |
download | binutils-gdb-a464928644b6811cfa7a7de2652d3eb00fe75f6d.tar.gz binutils-gdb-a464928644b6811cfa7a7de2652d3eb00fe75f6d.tar.bz2 binutils-gdb-a464928644b6811cfa7a7de2652d3eb00fe75f6d.zip |
2010-08-27 Doug Kwan <dougkwan@google.com>
* gold/resolve.cc (Symbol_table::should_override): Let a weak
reference override an existing dynamic weak reference.
* testsuite/Makefile.am: Add new test dyn_weak_ref.
* testsuite/Makefile.in: Regenerate.
* testsuite/dyn_weak_ref.sh: New file.
* testsuite/dyn_weak_ref_1.c: Ditto.
* testsuite/dyn_weak_ref_2.c: Ditto.
Diffstat (limited to 'gold/testsuite/dyn_weak_ref_2.c')
-rw-r--r-- | gold/testsuite/dyn_weak_ref_2.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gold/testsuite/dyn_weak_ref_2.c b/gold/testsuite/dyn_weak_ref_2.c new file mode 100644 index 00000000000..8a087a15714 --- /dev/null +++ b/gold/testsuite/dyn_weak_ref_2.c @@ -0,0 +1,32 @@ +// dyn_weak_ref_1.c -- test that a weak ref remains weak in output when +// there is a DSO with the same weak ref. + +// Copyright 2010 Free Software Foundation, Inc. +// Written by Doug Kwan <dougkwan@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. + +// We test that we correctly deal with a weak reference to from both +// a DSO and a weak reference to the same symbol in an executable. The +// symbol should remains weak. + +// This source is used to build a DSO that contains a weak reference. + +extern void weak_ref (void) __attribute__((weak)); + +void* ptr2 = weak_ref; |