This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports 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: [RFC] BZ 15666: alpha: Add __sqrt*_finite definitions


> This doesn't quite work.  The __sqrtl_finite version gets emitted to
> the wrong version.  I had thought that adding symbols to the Versions
> file at a later version would override earlier symbols in the more
> generic Versions file, but it appears that isn't so?

Nope.  Our machinery just pastes them together, so libm.map lists
both.  The linker chooses the earliest one.

> Must I solve this with an explicit versioned_symbol macro, or is there
> a better way?

Without touching non-alpha files, you must.  

Without affecting any other configuration, you could add something
like '%ifdef __alpha__' to math/Versions (but you'd be shot).

Without touching infrastructure, you could move __sqrtl_finite out of
the shared math/Versions and put it into machine-specific
sysdeps/.../Versions files so that it appears only once in libm.map
and always in the right set for each machine.  But that is a bit of a
nightmare of duplication and a recipe for maintenance hell if we try
to make everybody do everything this way from the start (at least as
everything else stands today).

Finally, we could rethink our whole infrastructure for producing the
version maps and rejigger things to make these cases easier to handle.
Thoughtful suggestions welcome.  This is probably what we should be
doing, but obviously not this week.


Thanks,
Roland


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