[PATCH][GOLD] Do not generate .gnu.version* if no symbol versioning is used.
Doug Kwan (關振德)
dougkwan@google.com
Fri Oct 16 19:02:00 GMT 2009
2009/10/16 Ian Lance Taylor <iant@google.com>:
>> @@ -1422,6 +1435,9 @@ Versions::add_def(const Symbol* sym, con
>> gold_error(_("symbol %s has undefined version %s"),
>> sym->demangled_name().c_str(), version);
>>
>> + // We only insert a base version for shared library.
>> + gold_assert(!this->needs_base_version_);
>
> If using -shared, this will give an error and then an assertion. We
> should only give the error; the gold_assert should be in an else
> clause.
needs_base_version_ is initialized in the constructor:
Versions::Versions(const Version_script_info& version_script,
Stringpool* dynpool)
: defs_(), needs_(), version_table_(),
is_finalized_(false), version_script_(version_script),
needs_base_version_(parameters->options().shared())
Something is seriously wrong if -shared is given and the assertion
triggers. Anyway, I will modify the code as suggested.
-Doug
More information about the Binutils
mailing list