[v3] symbol versioning fixups

Paolo Carlini pcarlini@suse.de
Thu Jun 16 10:40:00 GMT 2005


Jakub Jelinek wrote:

>[snip]
>  
>
>Now, without asm renames for eq, you end up basically with:
>int foo () { return 0; }
>extern int __old_foo () __attribute__((alias ("foo")));
>extern int __new_foo () __attribute__((alias ("foo")));
>asm (".symver __old_foo, foo@GLIBCXX_3.4");
>asm (".symver __new_foo, foo@@GLIBCXX_3.4.5");
>
>but this is something most GNU linkers either crash on, or do
>weird unexpected things, because the foo symbol is present
>both as versioned (with 2 versions) and unversioned in the
>same object.
>  
>
Thanks a lot again Jakub. I believe your explanations filled the most
important remaining gaps in my understanding of those matters.

Paolo.



More information about the Gcc-patches mailing list