This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: --no-undefined-version


"H.J. Lu" <hjl.tools@gmail.com> writes:

> On Tue, Jan 5, 2010 at 5:04 PM, Ian Lance Taylor <iant@google.com> wrote:
>> The GNU ld option --no-undefined-version is defined as follows:
>>
>> Â ÂNormally when a symbol has an undefined version, the linker will
>> Â Âignore it. ÂThis option disallows symbols with undefined version
>> Â Âand a fatal error will be issued instead.
>>
>> As far as I can tell, what the option actually does is this:
>>
>> For each version defined in a version script:
>> Âfor each global symbol pattern in that version listed in the script:
>> Â Âif the pattern is a literal string--not a wildcard pattern:
>> Â Â Âif the pattern does not match any symbol defined in the link:
>> Â Â Â Âgive an error.
>>
>> In other words, the option does not check for symbols with undefined
>> versions. ÂIt checks for cases where a version script explicitly lists
>> a symbol, but the symbol is not defined.
>>
>
> That is what I meant by "a symbol has an undefined version".
> A version script declares a symbol with multiple versions. This
> option checks if any version of such a symbol is undefined.

Well, OK, I guess, but I still find the current text to be quite hard
to understand.  When I think of a symbol with an undefined version, I
think of an undefined reference to SYM@VER.

Anyhow, thanks for confirming that I've understood the code correctly.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]