------- Comment #15 from hjl dot tools at gmail dot com  2008-06-30 19:50 
-------
(In reply to comment #13)
> The three symbols __gttf2, __lttf2, and __netf2 are part of the standard 
> libgcc
> interface at version GCC_3.0.  The fact that they are not supported by all
> instances of libgcc on all platforms seems to me to be irrelevant.  When we
> provide those symbols, we should provide them at version GCC_3.0.

That is even more interesting. It is certainly different from
glibc where version GLIBC_X.Y.Z is used to describe the first
glibc version X.Y.Z which has the implementation. The same
function can have different X.Y.Z for different architectures
when it was implemented at different glibc versions.

This change

http://gcc.gnu.org/ml/gcc-cvs/2001-05/msg00878.html

puts ALL TF functions in GCC_3.0, not just those 3.

> 
> If we change the interface, then we should change the version.  But if the
> symbols are merely not present, then it is not necessary to change the 
> version.
>  The program will get an error either way.  If we follow a different 
> procedure,
> then we need to create different version scripts for each target.  And that is
> unlikely to work effectively.

Each target may have different versions for the same function.
That is

%exclude {
}

is used for. The problem is those 3 symbols were missing in
config/i386/libgcc-x86_64-glibc.ver.  We can't have it both
ways. All TF symbols should have the same version.

> config/i386/libgcc-x86_64-glibc.ver and config/libgcc-glibc.ver are 
> problematic
>  because people fail to update them when libgcc-std.ver is updated.
> 
> At least, that is how it seems to me.  I don't know if this answers your
> question, because I'm not sure what you are asking.
> 

There are 3 questions:

1. What version should x86-64 TF symbols use?
2. What version should ia32 TF symbols use?
3. Should ALL x86-64 TF symbols have the same version?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36669

Reply via email to