[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Patches] FSF merges 2011-11-17



I've done merges from FSF to EGLIBC trunk and 2.11 through 2.14 branches.

This brings in to trunk a merge of the much-delayed FSF glibc version of 
the fix to declare long double functions when double and long double have 
the same representation and alignment.  Where this fix differed in 
semantics from the version already in EGLIBC, I kept the EGLIBC version.  
The difference is that the version in EGLIBC will use __asm__ declarations 
to redirect calls to the long double functions to their double 
counterparts for __NO_LONG_DOUBLE_MATH.

Although logically there is no need for that redirecting unless 
__LDBL_COMPAT, as I described in 
<http://www.eglibc.org/archives/patches/msg01021.html> those asm 
declarations serve a secondary purpose of preventing the subsequent asm 
declarations using *l_finite names from taking effect - and since the 
*l_finite functions do not exist, those subsequent asm declarations would 
break things if they did take effect.  So I don't think the version in FSF 
glibc is safe in this case (__NO_LONG_DOUBLE_MATH, not __LDBL_COMPAT, 
-ffinite-math-only, using a long double function bits/math-finite.h maps 
to *l_finite) and have kept the EGLIBC version instead.  (This doesn't 
make any difference to complex.h since that doesn't have *_finite 
versions, but I kept the EGLIBC version there as well for consistency.)

-- 
Joseph S. Myers
joseph@xxxxxxxxxxxxxxxx
_______________________________________________
Patches mailing list
Patches@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/patches