Fix long double support for ARM.
Fixes #15056. Change-Id: I48c00b955346971aa88b731ccad1953a4044983d Reviewed-on: https://review.haiku-os.org/c/1442 Reviewed-by: Alex von Gluck IV <[email protected]>
This commit is contained in:
committed by
Alex von Gluck IV
parent
7f6254d1e9
commit
00b283c042
@@ -32,15 +32,15 @@ local genericSources =
|
|||||||
mul.c mul_n.c
|
mul.c mul_n.c
|
||||||
s_isinf.c s_isinff.c
|
s_isinf.c s_isinff.c
|
||||||
s_isnan.c s_isnanf.c
|
s_isnan.c s_isnanf.c
|
||||||
s_signbit.c s_signbitf.c s_signbitl.c
|
s_signbit.c s_signbitf.c
|
||||||
|
|
||||||
s_nan.c s_nanf.c s_nanl.c
|
s_nan.c s_nanf.c
|
||||||
e_hypot.c e_hypotf.c e_hypotl.c
|
e_hypot.c e_hypotf.c
|
||||||
w_hypot.c w_hypotf.c w_hypotl.c
|
w_hypot.c w_hypotf.c
|
||||||
s_fpclassify.c s_fpclassifyf.c
|
s_fpclassify.c s_fpclassifyf.c
|
||||||
s_clog.c s_clogf.c s_clogl.c
|
s_clog.c s_clogf.c
|
||||||
s_log1p.c s_log1pf.c s_log1pl.c
|
s_log1p.c s_log1pf.c
|
||||||
s_csqrt.c s_csqrtf.c s_csqrtl.c
|
s_csqrt.c s_csqrtf.c
|
||||||
s_floor.c s_floorf.c
|
s_floor.c s_floorf.c
|
||||||
s_ceil.c s_ceilf.c
|
s_ceil.c s_ceilf.c
|
||||||
s_modf.c
|
s_modf.c
|
||||||
@@ -55,15 +55,15 @@ local genericSources =
|
|||||||
halfulp.c
|
halfulp.c
|
||||||
mpa.c mplog.c mpexp.c
|
mpa.c mplog.c mpexp.c
|
||||||
s_sin.c
|
s_sin.c
|
||||||
s_atan.c s_atanf.c s_atanl.c
|
s_atan.c s_atanf.c
|
||||||
s_tan.c
|
s_tan.c
|
||||||
e_asin.c e_asinl.c
|
e_asin.c e_asinl.c
|
||||||
w_asin.c w_asinl.c
|
w_asin.c
|
||||||
e_log10.c w_log10.c
|
e_log10.c w_log10.c
|
||||||
e_logf.c e_logl.c
|
e_logf.c e_logl.c
|
||||||
e_acos.c w_acos.c
|
e_acos.c w_acos.c
|
||||||
e_atan2.c e_atan2l.c
|
e_atan2.c
|
||||||
w_atan2.c w_atan2l.c mpatan2.c mpatan.c mptan.c mpsqrt.c w_sqrt.c w_sqrtf.c
|
w_atan2.c mpatan2.c mpatan.c mptan.c mpsqrt.c w_sqrt.c w_sqrtf.c
|
||||||
e_sqrtl.c
|
e_sqrtl.c
|
||||||
e_fmod.c w_fmod.c
|
e_fmod.c w_fmod.c
|
||||||
e_log.c w_log.c
|
e_log.c w_log.c
|
||||||
@@ -73,7 +73,7 @@ local genericSources =
|
|||||||
s_sinf.c k_sinf.c
|
s_sinf.c k_sinf.c
|
||||||
s_ldexp.c s_ldexpf.c
|
s_ldexp.c s_ldexpf.c
|
||||||
s_scalbnf.c s_scalbn.c
|
s_scalbnf.c s_scalbn.c
|
||||||
s_copysign.c s_copysignf.c s_copysignl.c
|
s_copysign.c s_copysignf.c
|
||||||
s_tanh.c s_tanf.c k_tanf.c
|
s_tanh.c s_tanf.c k_tanf.c
|
||||||
s_lround.c s_lroundf.c s_round.c s_roundf.c
|
s_lround.c s_lroundf.c s_round.c s_roundf.c
|
||||||
s_rint.c s_rintf.c s_lrintf.c
|
s_rint.c s_rintf.c s_lrintf.c
|
||||||
|
|||||||
@@ -188,6 +188,11 @@
|
|||||||
/* Mach/i386 specific: define if the `i386_set_gdt' RPC is available. */
|
/* Mach/i386 specific: define if the `i386_set_gdt' RPC is available. */
|
||||||
#undef HAVE_I386_SET_GDT
|
#undef HAVE_I386_SET_GDT
|
||||||
|
|
||||||
|
/* arm does not support 128bit long doubles, so let's just use 64bit ones.
|
||||||
|
* This mcro aliases the long double symbols to the double implementation. */
|
||||||
|
#define NO_LONG_DOUBLE 1
|
||||||
|
#define __NO_LONG_DOUBLE_MATH 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -17,10 +17,15 @@ for architectureObject in [ MultiArchSubDirSetup ] {
|
|||||||
|
|
||||||
UsePrivateHeaders libroot ;
|
UsePrivateHeaders libroot ;
|
||||||
|
|
||||||
|
# ppc, m68k and arm use regular doubles as long doubles (through
|
||||||
|
# aliases), so they must be built without these files.
|
||||||
|
# FIXME: ppc should use ldbl-128ibm, and m68k should probably use
|
||||||
|
# ldbl-96 as for x86.
|
||||||
local longDoubleObjects ;
|
local longDoubleObjects ;
|
||||||
switch $(architecture) {
|
switch $(architecture) {
|
||||||
case ppc : longDoubleObjects = ;
|
case ppc : longDoubleObjects = ;
|
||||||
case m68k : longDoubleObjects = ;
|
case m68k : longDoubleObjects = ;
|
||||||
|
case arm : longDoubleObjects = ;
|
||||||
case * : longDoubleObjects = cabsl.c cargl.c cimagl.c conjl.c creall.c k_casinhl.c ;
|
case * : longDoubleObjects = cabsl.c cargl.c cimagl.c conjl.c creall.c k_casinhl.c ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user