This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: [COMMITTED] tile: define __NO_LONG_DOUBLE_MATH


On Thu, 26 Nov 2015, Andreas Schwab wrote:

> Chris Metcalf <cmetcalf@ezchip.com> writes:
> 
> > OK, I'm having trouble making this happen.  Adding an appropriate
> > clause to sysdeps/tile/Versions doesn't seem to work.  Doing small tests
> > with --version-script suggests that the linker honors the first entry
> > it finds in the version script, and math/Versions is put into the
> > concatenated Versions.v.i before sysdeps/tile/Versions.
> 
> You would need to move the symbols out of the generic Versions file into
> a more specific one that isn't seen by tile.

Or do the proper fix I suggested in 
<https://sourceware.org/ml/libc-alpha/2015-11/msg00571.html> that avoids 
exporting them for tile at all.  Make the code creating __*l aliases do 
e.g.

# if defined LDBL_CLASSIFY_COMPAT && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_23)
compat_symbol (libc, __isnan, __isnanl, GLIBC_2_0)
# endif

(in the case of __finitel you'll need to do that for libm as well as 
libc), then, for each architecture that already defines 
__NO_LONG_DOUBLE_MATH (before the tile patch) and so should have those 
aliases (arm coldfire microblaze mips32 nios2 sh, I think), define 
LDBL_CLASSIFY_COMPAT in its math_private.h.  That should also ensure that 
the hppa fix doesn't cause ABI problems by adding new exports of these 
functions for hppa.

-- 
Joseph S. Myers
joseph@codesourcery.com


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