PR gold/12525

PR gold/12952
	* resolve.cc (Symbol::override_base_with_special): Don't override
	the version if the overriding symbol has a different name.
	* dynobj.cc (Versions::add_def): Add dynpool parameter.  Change
	all callers.  If we give an error about an undefined version,
	define the base version if necessary.
	* dynobj.h (class Versions): Update declaration.
	* testsuite/weak_alias_test_5.cc: New file.
	* testsuite/weak_alias_test.script: New file.
	* testsuite/weak_alias_test_main.cc: Check that versioned_symbol
	and versioned_alias have the right value, and call t2.
	* testsuite/Makefile.am (weak_alias_test_DEPENDENCIES): Add
	weak_alias_test_5.so.
	(weak_alias_test_LDADD): Likewise.
	(weak_alias_test_5_pic.o, weak_alias_test_5.so): New targets.
	* testsuite/Makefile.in: Rebuild.
This commit is contained in:
Ian Lance Taylor
2011-07-02 05:30:00 +00:00
parent 9e3dc3160b
commit 2113106124
9 changed files with 109 additions and 12 deletions

View File

@@ -599,7 +599,8 @@ class Versions
// Handle a symbol SYM defined with version VERSION.
void
add_def(const Symbol* sym, const char* version, Stringpool::Key);
add_def(Stringpool*, const Symbol* sym, const char* version,
Stringpool::Key);
// Add a reference to version NAME in file FILENAME.
void