aboutsummaryrefslogtreecommitdiff
path: root/gold/testsuite/Makefile.am
diff options
context:
space:
mode:
authorDoug Kwan <dougkwan@google.com>2009-10-16 19:11:32 +0000
committerDoug Kwan <dougkwan@google.com>2009-10-16 19:11:32 +0000
commitc5617f2fb6d7c6a1898d920ac662209a195b3c9e (patch)
tree3cc0e6f7022a7431503777045283809c0aa3f762 /gold/testsuite/Makefile.am
parent0a8d1bde177b4f1ef4df5ba6a7b79a9df3d1497f (diff)
downloadgdb-c5617f2fb6d7c6a1898d920ac662209a195b3c9e.zip
gdb-c5617f2fb6d7c6a1898d920ac662209a195b3c9e.tar.gz
gdb-c5617f2fb6d7c6a1898d920ac662209a195b3c9e.tar.bz2
2009-10-16 Doug Kwan <dougkwan@google.com>
* dynobj.cc (Versions::Versions): Initialize version_script_. Only insert base version symbol definition for a shared object if version script defines any version versions. (Versions::define_base_version): New method definition. (Versions::add_def): Check that base version is not needed. (Versions::add_need): Define base version lazily. * dynobj.h (Versions::define_base_version): New method declaration. (Versions::needs_base_version_): New data member declaration. * testsuite/Makefile.am (check_SCRIPTS): Add no_version_test.sh (check_DATA): Add no_version_test.stdout. (libno_version_test.so, no_version_test.o no_version_test.stdout): New make rules. * testsuite/Makefile.in: Regenerate. * testsuite/no_version_test.c: New file. * testsuite/no_version_test.sh: Ditto.
Diffstat (limited to 'gold/testsuite/Makefile.am')
-rw-r--r--gold/testsuite/Makefile.am14
1 files changed, 14 insertions, 0 deletions
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
index 6fa1e18..b343ca3 100644
--- a/gold/testsuite/Makefile.am
+++ b/gold/testsuite/Makefile.am
@@ -1249,6 +1249,20 @@ alt/searched_file_test_lib.a: searched_file_test_lib.o
test -d alt || mkdir -p alt
$(TEST_AR) rc $@ $^
+# Test that no .gnu.version sections are created when
+# symbol versioning is not used.
+check_SCRIPTS += no_version_test.sh
+check_DATA += no_version_test.stdout
+MOSTLYCLEANFILES += libno_version_test.so no_version_test.stdout
+# We invoke the linker directly since gcc may include additional objects that
+# uses symbol versioning.
+libno_version_test.so: no_version_test.o gcctestdir/ld
+ gcctestdir/ld -shared -o $@ no_version_test.o
+no_version_test.o: no_version_test.c
+ $(COMPILE) -o $@ -c -fPIC $<
+no_version_test.stdout: libno_version_test.so
+ $(TEST_OBJDUMP) -h $< > $@
+
endif GCC
endif NATIVE_LINKER