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: What use is .symver name, name2@@@version?


On Thu, Jul 9, 2015 at 11:06 PM, Carlos O'Donell <carlos@redhat.com> wrote:
> H.J.,
>
> I was looking at some symbol versioning issues today and
> I happened to re-read the gas docs[1] for .symver (in preparation
> to make a suggestion for a new gcc attribute for symbol
> versioning[2]), and I noticed there were 3 forms of usage.
>
> The first is obvious, with @ you are creating a versioned
> non-default symbol.
>
> The second is obvious, with @@ you are creating a versioned
> default symbol.
>
> The third I can't understand, the text says:
> ~~~
> The third usage of the .symver directive is:
>
>      .symver name, name2@@@nodename
>
> When name is not defined within the file being assembled,
> it is treated as name2@nodename. When name is defined within
> the file being assembled, the symbol name, name, will be
> changed to name2@@nodename.
> ~~~
> What use does this have? The original post [3] isn't any
> clearer to me, but does imply this can be used for versioning
> in an archive? Perhaps I've just never tried that and so don't
> know what would go wrong or why you'd want that.
>
> I think the manual text could do with clarification.

It is used to provide symbol version without linker version script
so that you can have versioned symbol in archive.


-- 
H.J.


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