diff options
author | Ian Lance Taylor <ian@airs.com> | 2008-05-08 18:44:33 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2008-05-08 18:44:33 +0000 |
commit | 75517b77b595b05bd37bf337c1fb23557efbf4bc (patch) | |
tree | b78003103d3e1f937d66719f1a8e2e1c18659af7 /gold/testsuite | |
parent | e7fc76dd0f612f4a10f36e14b3d576396bc3833f (diff) | |
download | gdb-75517b77b595b05bd37bf337c1fb23557efbf4bc.zip gdb-75517b77b595b05bd37bf337c1fb23557efbf4bc.tar.gz gdb-75517b77b595b05bd37bf337c1fb23557efbf4bc.tar.bz2 |
* symtab.c (Symbol::init_base_output_data): Add version
parameter. Change all callers.
(Symbol::init_base_output_segment): Likewise.
(Symbol::init_base_constant): Likewise.
(Symbol::init_base_undefined): Likewise.
(Sized_symbol::init_output_data): Likewise.
(Sized_symbol::init_output_segment): Likewise.
(Sized_symbol::init_constant): Likewise.
(Sized_symbol::init_undefined): Likewise.
(Symbol_table::do_define_in_output_data): If the new symbol has a
version, mark it as the default.
(Symbol_table::do_define_in_output_segment): Likewise.
(Symbol_table::do_define_as_constant): Likewise.
* symtab.h (class Symbol): Update declarations.
(class Sized_symbol): Likewise.
* resolve.cc (Symbol::override_version): New function.
(Symbol::override_base: Call override_version.
(Symbol::override_base_with_special): Likewise.
* testsuite/ver_script_8.script: New file.
* testsuite/Makefile.am (check_PROGRAMS): Add ver_test_8.
(ver_test_8_SOURCES, ver_test_8_DEPENDENCIES): Define.
(ver_test_8_LDFLAGS, ver_test_8_LDADD): Define.
(ver_test_8_1.so, ver_test_8_2.so): New targets.
Diffstat (limited to 'gold/testsuite')
-rw-r--r-- | gold/testsuite/Makefile.am | 10 | ||||
-rw-r--r-- | gold/testsuite/Makefile.in | 31 | ||||
-rw-r--r-- | gold/testsuite/ver_test_8.script | 26 |
3 files changed, 61 insertions, 6 deletions
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am index 9f8caeb..75c9c92 100644 --- a/gold/testsuite/Makefile.am +++ b/gold/testsuite/Makefile.am @@ -750,6 +750,16 @@ check_DATA += ver_test_7.syms ver_test_7.syms: ver_test_7.so $(TEST_READELF) -s $< >$@ 2>/dev/null +check_PROGRAMS += ver_test_8 +ver_test_8_SOURCES = two_file_test_main.cc +ver_test_8_DEPENDENCIES = gcctestdir/ld ver_test_8_1.so ver_test_8_2.so +ver_test_8_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +ver_test_8_LDADD = ver_test_8_1.so ver_test_8_2.so +ver_test_8_1.so: two_file_test_1_pic.o two_file_test_1b_pic.o ver_test_8_2.so gcctestdir/ld + $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o ver_test_8_2.so +ver_test_8_2.so: two_file_test_2_pic.o $(srcdir)/ver_test_8.script gcctestdir/ld + $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_8.script two_file_test_2_pic.o + check_PROGRAMS += protected_1 protected_1_SOURCES = \ protected_main_1.cc protected_main_2.cc protected_main_3.cc diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in index 877249d..5231c98 100644 --- a/gold/testsuite/Makefile.in +++ b/gold/testsuite/Makefile.in @@ -226,10 +226,11 @@ check_PROGRAMS = object_unittest$(EXEEXT) binary_unittest$(EXEEXT) \ # Test symbol versioning. @GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_19 = ver_test ver_test_2 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_6 protected_1 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_2 script_test_1 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_2 justsyms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ binary_test script_test_3 +@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_6 ver_test_8 \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_1 protected_2 \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_1 script_test_2 \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@ justsyms binary_test \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_3 @GCC_FALSE@script_test_1_DEPENDENCIES = libgoldtest.a ../libgold.a \ @GCC_FALSE@ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ @GCC_FALSE@ $(am__DEPENDENCIES_1) @@ -342,6 +343,7 @@ libgoldtest_a_OBJECTS = $(am_libgoldtest_a_OBJECTS) @GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_15 = ver_test$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_2$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_6$(EXEEXT) \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_8$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_1$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_2$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_1$(EXEEXT) \ @@ -710,6 +712,10 @@ am__ver_test_6_SOURCES_DIST = ver_test_6.c @GCC_TRUE@@NATIVE_LINKER_TRUE@am_ver_test_6_OBJECTS = \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_6.$(OBJEXT) ver_test_6_OBJECTS = $(am_ver_test_6_OBJECTS) +am__ver_test_8_SOURCES_DIST = two_file_test_main.cc +@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ver_test_8_OBJECTS = \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +ver_test_8_OBJECTS = $(am_ver_test_8_OBJECTS) am__weak_alias_test_SOURCES_DIST = weak_alias_test_main.cc @GCC_TRUE@@NATIVE_LINKER_TRUE@am_weak_alias_test_OBJECTS = \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_alias_test_main.$(OBJEXT) @@ -781,8 +787,9 @@ SOURCES = $(libgoldtest_a_SOURCES) basic_pic_test.c \ $(two_file_static_test_SOURCES) two_file_strip_test.c \ $(two_file_test_SOURCES) $(ver_test_SOURCES) \ $(ver_test_2_SOURCES) $(ver_test_6_SOURCES) \ - $(weak_alias_test_SOURCES) $(weak_test_SOURCES) \ - $(weak_undef_nonpic_test_SOURCES) $(weak_undef_test_SOURCES) + $(ver_test_8_SOURCES) $(weak_alias_test_SOURCES) \ + $(weak_test_SOURCES) $(weak_undef_nonpic_test_SOURCES) \ + $(weak_undef_test_SOURCES) DIST_SOURCES = $(libgoldtest_a_SOURCES) basic_pic_test.c \ basic_static_pic_test.c basic_static_test.c basic_test.c \ $(am__binary_test_SOURCES_DIST) $(binary_unittest_SOURCES) \ @@ -834,6 +841,7 @@ DIST_SOURCES = $(libgoldtest_a_SOURCES) basic_pic_test.c \ $(am__two_file_static_test_SOURCES_DIST) two_file_strip_test.c \ $(am__two_file_test_SOURCES_DIST) $(am__ver_test_SOURCES_DIST) \ $(am__ver_test_2_SOURCES_DIST) $(am__ver_test_6_SOURCES_DIST) \ + $(am__ver_test_8_SOURCES_DIST) \ $(am__weak_alias_test_SOURCES_DIST) \ $(am__weak_test_SOURCES_DIST) \ $(am__weak_undef_nonpic_test_SOURCES_DIST) \ @@ -1282,6 +1290,10 @@ binary_unittest_SOURCES = binary_unittest.cc @GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_6_DEPENDENCIES = gcctestdir/ld ver_test_2.so @GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_6_LDFLAGS = -Bgcctestdir/ -Wl,-R,. @GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_6_LDADD = ver_test_2.so +@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_8_SOURCES = two_file_test_main.cc +@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_8_DEPENDENCIES = gcctestdir/ld ver_test_8_1.so ver_test_8_2.so +@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_8_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_8_LDADD = ver_test_8_1.so ver_test_8_2.so @GCC_TRUE@@NATIVE_LINKER_TRUE@protected_1_SOURCES = \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_main_1.cc protected_main_2.cc protected_main_3.cc @@ -1570,6 +1582,9 @@ ver_test_2$(EXEEXT): $(ver_test_2_OBJECTS) $(ver_test_2_DEPENDENCIES) ver_test_6$(EXEEXT): $(ver_test_6_OBJECTS) $(ver_test_6_DEPENDENCIES) @rm -f ver_test_6$(EXEEXT) $(LINK) $(ver_test_6_LDFLAGS) $(ver_test_6_OBJECTS) $(ver_test_6_LDADD) $(LIBS) +ver_test_8$(EXEEXT): $(ver_test_8_OBJECTS) $(ver_test_8_DEPENDENCIES) + @rm -f ver_test_8$(EXEEXT) + $(CXXLINK) $(ver_test_8_LDFLAGS) $(ver_test_8_OBJECTS) $(ver_test_8_LDADD) $(LIBS) weak_alias_test$(EXEEXT): $(weak_alias_test_OBJECTS) $(weak_alias_test_DEPENDENCIES) @rm -f weak_alias_test$(EXEEXT) $(CXXLINK) $(weak_alias_test_LDFLAGS) $(weak_alias_test_OBJECTS) $(weak_alias_test_LDADD) $(LIBS) @@ -2163,6 +2178,10 @@ uninstall-am: uninstall-info-am @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< @GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_7.syms: ver_test_7.so @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -s $< >$@ 2>/dev/null +@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_8_1.so: two_file_test_1_pic.o two_file_test_1b_pic.o ver_test_8_2.so gcctestdir/ld +@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o ver_test_8_2.so +@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_8_2.so: two_file_test_2_pic.o $(srcdir)/ver_test_8.script gcctestdir/ld +@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_8.script two_file_test_2_pic.o @GCC_TRUE@@NATIVE_LINKER_TRUE@protected_1.so: gcctestdir/ld protected_1_pic.o protected_2_pic.o protected_3_pic.o @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared protected_1_pic.o protected_2_pic.o protected_3_pic.o diff --git a/gold/testsuite/ver_test_8.script b/gold/testsuite/ver_test_8.script new file mode 100644 index 0000000..b5bfc3f --- /dev/null +++ b/gold/testsuite/ver_test_8.script @@ -0,0 +1,26 @@ +## ver_test_8.script -- a test case for gold + +## 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. + +VER_TEST_8 { + global: + *; +}; |