arm64: Fix libroot math, add fix crosstools package revision

Change-Id: Ibce15f70e20ea010937edb0a297d220c4e5a7af2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2817
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This commit is contained in:
Alexander von Gluck IV 2020-05-26 10:02:37 -05:00 committed by waddlesplash
parent 9ab0dec545
commit 797e861029
3 changed files with 132 additions and 121 deletions

View File

@ -6,9 +6,9 @@ BootstrapPackageRepository HaikuPortsCross
noto-20170202-7 noto-20170202-7
: :
# repository architecture packages (stage 0) # repository architecture packages (stage 0)
gcc_bootstrap-8.3.0_2019_05_24-1 gcc_bootstrap-8.3.0_2019_05_24-3
gcc_bootstrap_syslibs-8.3.0_2019_05_24-1 gcc_bootstrap_syslibs-8.3.0_2019_05_24-3
gcc_bootstrap_syslibs_devel-8.3.0_2019_05_24-1 gcc_bootstrap_syslibs_devel-8.3.0_2019_05_24-3
: :
# repository architecture packages (stage 1) # repository architecture packages (stage 1)
bash_bootstrap-4.4.023-1 bash_bootstrap-4.4.023-1

View File

@ -1,11 +1,11 @@
SubDir HAIKU_TOP src system libroot posix glibc arch arm64 ; SubDir HAIKU_TOP src system libroot posix glibc arch arm64 ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch $(TARGET_ARCH) ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch arm64 ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdlib ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdlib ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc math ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc math ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ; SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ;
SubDirHdrs $(HAIKU_TOP) src system libroot posix glibc arch generic ; SubDirHdrs $(HAIKU_TOP) src system libroot posix glibc arch generic ;
@ -16,121 +16,37 @@ if $(OPTIM) = -O0 {
OPTIM = -O ; OPTIM = -O ;
} }
# don't compile with debugging SubDirCcFlags -D_GNU_SOURCE -D_IEEE_LIBM -DPIC ;
DEBUG = 0 ; SubDirAsFlags -DPIC ;
SubDirCcFlags -D_GNU_SOURCE -D_IEEE_LIBM ;
# Note: There is no *l() support yet. Our compiler says sizeof(long double) = 8,
# while there are only 96 and 128 bit implementation in glibc.
local genericSources = local genericSources =
lshift.c rshift.c submul_1.c
add_n.c sub_n.c
addmul_1.c mul_1.c
branred.c
cmp.c dbl2mpn.c divrem.c cmp.c dbl2mpn.c divrem.c
doasin.c dosincos.c mpn2dbl.c mpn2flt.c mpn2ldbl.c
halfulp.c
memrchr.c
mpa.c mpatan.c mpatan2.c mpexp.c mplog.c mpn2dbl.c
mpn2flt.c mpn2ldbl.c mpsqrt.c mptan.c
mul.c mul_n.c mul.c mul_n.c
sincos32.c
slowexp.c
slowpow.c
e_acos.c e_acosf.c # e_acosl.c add_n.c addmul_1.c ldbl2mpn.c
e_acosh.c e_acoshf.c # e_acoshl.c mul_1.c
e_asin.c e_asinf.c # e_asinl.c lshift.c rshift.c
e_atan2.c e_atan2f.c # e_atan2l.c sub_n.c submul_1.c
e_atanh.c e_atanhf.c # e_atanhl.c
e_cosh.c e_coshf.c # e_coshl.c s_clog.c s_clogf.c s_clogl.c
e_exp.c e_expf.c s_csqrt.c s_csqrtf.c s_csqrtl.c
e_fmod.c e_fmodf.c # e_fmodl.c s_cacos.c s_cacosf.c s_cacosl.c
e_gamma_r.c e_gammaf_r.c s_cacosh.c s_cacoshf.c s_cacoshl.c
e_hypot.c e_hypotf.c # e_hypotl.c s_casin.c s_casinf.c s_casinl.c
e_j0.c e_j0f.c s_casinh.c s_casinhf.c s_casinhl.c
e_j1.c e_j1f.c s_catan.c s_catanf.c s_catanl.c
e_jn.c e_jnf.c s_catanh.c s_catanhf.c s_catanhl.c
e_lgamma_r.c e_lgammaf_r.c s_csin.c s_csinf.c s_csinl.c
e_log.c e_logf.c s_csinh.c s_csinhf.c s_csinhl.c
e_log10.c e_log10f.c s_ctan.c s_ctanf.c s_ctanl.c
e_pow.c e_powf.c # e_powl.c s_ctanh.c s_ctanhf.c s_ctanhl.c
e_rem_pio2f.c s_ccos.c s_ccosf.c s_ccosl.c
e_remainder.c e_remainderf.c # e_remainderl.c s_ccosh.c s_ccoshf.c s_ccoshl.c
e_scalb.c e_scalbf.c # e_scalbl.c s_cexp.c s_cexpf.c s_cexpl.c
e_sinh.c e_sinhf.c # e_sinhl.c s_clog10.c s_clog10f.c s_clog10l.c
k_cos.c k_cosf.c s_cpow.c s_cpowf.c s_cpowl.c
k_sin.c k_sinf.c s_cproj.c s_cprojf.c s_cprojl.c
k_rem_pio2.c k_rem_pio2f.c # k_rem_pio2l.c
k_tan.c k_tanf.c
s_asinh.c s_asinhf.c # s_asinhl.c
s_atan.c s_atanf.c # s_atanl.c
s_cbrt.c s_cbrtf.c # s_cbrtl.c
s_ceil.c s_ceilf.c # s_ceill.c
s_cos.c s_cosf.c
s_copysign.c s_copysignf.c
s_erf.c s_erff.c # s_erfl.c
s_expm1f.c s_expm1.c
s_finite.c s_finitef.c # s_finitel.c
s_clog.c s_clogf.c # s_clogl.c
s_csqrt.c s_csqrtf.c # s_csqrtl.c
s_floor.c s_floorf.c # s_floorl.c
s_fabs.c s_fabsf.c
s_fdim.c s_fdimf.c
s_fma.c s_fmaf.c # s_fmal.c
s_fmax.c s_fmaxf.c
s_fmin.c s_fminf.c
s_fpclassify.c s_fpclassifyf.c # s_fpclassifyl.c
s_frexp.c s_frexpf.c # s_frexpl.c
s_ilogb.c s_ilogbf.c
s_isinf.c s_isinff.c # s_isinfl.c
s_isnan.c s_isnanf.c
s_ldexp.c s_ldexpf.c # s_ldexpl.c
s_llrint.c s_llrintf.c # s_llrintl.c
s_log1p.c s_log1pf.c
s_logb.c s_logbf.c # s_logbl.c
s_lrint.c s_lrintf.c # s_lrintl.c
s_lround.c s_lroundf.c
s_modf.c s_modff.c # s_modfl.c
s_nan.c s_nanf.c # s_nanl.c
# s_nexttoward.c s_nexttowardf.c s_nexttowardl.c
s_round.c s_roundf.c # s_roundl.c
s_rint.c s_rintf.c
s_scalbn.c s_scalbnf.c # s_scalbnl.c
s_signbit.c s_signbitf.c # s_signbitl.c
s_significand.c s_significandf.c
s_signgam.c
s_sin.c s_sinf.c # s_sinl.c
s_sincos.c s_sincosf.c
s_tan.c s_tanf.c
s_tanh.c s_tanhf.c
s_trunc.c s_truncf.c
t_exp.c
w_acos.c w_acosf.c # w_acosl.c
w_acosh.c w_acoshf.c # w_acoshl.c
w_atan2.c w_atan2f.c # w_atan2l.c
w_asin.c w_asinf.c # w_asinl.c
w_atanh.c w_atanhf.c # w_atanhl.c
w_cosh.c w_coshf.c # w_coshl.c
w_drem.c w_dremf.c # w_dreml.c
w_exp.c w_expf.c # w_expl.c
w_fmod.c w_fmodf.c # w_fmodl.c
w_hypot.c w_hypotf.c # w_hypotl.c
w_j0.c w_j0f.c
w_j1.c w_j1f.c
w_jn.c w_jnf.c
w_lgamma.c w_lgammaf.c
w_lgamma_r.c w_lgammaf_r.c
w_log.c w_logf.c # w_logl.c
w_log10.c w_log10f.c # w_log10l.c
w_pow.c w_powf.c # w_powl.c
w_remainder.c w_remainderf.c # w_remainderl.c
w_scalb.c w_scalbf.c # w_scalbl.c
w_sinh.c w_sinhf.c # w_sinhl.c
w_sqrt.c w_sqrtf.c
w_tgamma.c w_tgammaf.c # w_tgammal.c
; ;
local architectureObject ; local architectureObject ;
@ -138,15 +54,10 @@ for architectureObject in [ MultiArchSubDirSetup arm64 ] {
on $(architectureObject) { on $(architectureObject) {
local architecture = $(TARGET_PACKAGING_ARCH) ; local architecture = $(TARGET_PACKAGING_ARCH) ;
MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o : MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH).o :
$(genericSources) $(genericSources)
; ;
MergeObjectFromObjects <$(architecture)>posix_gnu_arch_$(TARGET_ARCH).o
: :
<$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o
;
SEARCH on [ FGristFiles $(genericSources) ] SEARCH on [ FGristFiles $(genericSources) ]
= [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch = [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch
generic ] ; generic ] ;

View File

@ -0,0 +1,100 @@
SubDir HAIKU_TOP src system libroot posix musl math arm64 ;
SubDirCcFlags -Wno-unused-but-set-variable ;
SubDirSysHdrs [ FDirName $(SUBDIR) .. .. include ] ;
UseHeaders [ FDirName $(SUBDIR) .. .. internal ] ;
local arch ;
for arch in $(TARGET_ARCHS) {
UseHeaders [ FDirName $(SUBDIR) .. .. arch $(arch) ] ;
}
UseHeaders [ FDirName $(SUBDIR) .. .. arch generic ] ;
local generics =
acos.c acosf.c acosl.c
acosh.c acoshf.c acoshl.c
asin.c asinf.c asinl.c
asinh.c asinhf.c asinhl.c
atan2.c atan2f.c atan2l.c
atan.c atanf.c atanl.c
atanh.c atanhf.c atanhl.c
cbrt.c cbrtf.c cbrtl.c
ceil.c ceilf.c ceill.c
copysign.c copysignf.c copysignl.c
cos.c cosf.c cosl.c __cosl.c __cos.c __cosdf.c
cosh.c coshf.c coshl.c
erf.c erff.c erfl.c
exp10.c exp10f.c exp10l.c
exp2.c exp2f.c exp2f_data.c exp2l.c
exp.c exp_data.c expf.c expl.c
expm1.c expm1f.c expm1l.c
__expo2.c __expo2f.c
fabsl.c
fdim.c fdimf.c fdiml.c
finite.c finitef.c
floor.c floorf.c floorl.c
fmal.c
fmax.c fmaxf.c fmaxl.c
fmin.c fminf.c fminl.c
fmod.c fmodf.c fmodl.c
frexp.c frexpf.c frexpl.c
hypot.c hypotf.c hypotl.c
ilogb.c ilogbf.c ilogbl.c
__invtrigl.c
j0.c j0f.c j1.c j1f.c jn.c jnf.c
ldexp.c ldexpf.c ldexpl.c
lgamma.c lgammaf.c lgammaf_r.c lgammal.c lgamma_r.c
llrint.c llrintf.c llrintl.c
llround.c llroundf.c llroundl.c
log10.c log10f.c log10l.c
log1p.c log1pf.c log1pl.c
log2.c log2_data.c log2f.c log2f_data.c log2l.c
logb.c logbf.c logbl.c
log.c log_data.c logf.c logf_data.c logl.c
lrint.c lrintf.c lrintl.c
lround.c lroundf.c lroundl.c
__math_divzero.c __math_divzerof.c __math_invalid.c __math_invalidf.c
__math_oflow.c __math_oflowf.c __math_uflow.c __math_uflowf.c
__math_xflow.c __math_xflowf.c
modf.c modff.c modfl.c
nan.c nanf.c nanl.c
nearbyint.c nearbyintf.c nearbyintl.c
nextafter.c nextafterf.c nextafterl.c
nexttoward.c nexttowardf.c nexttowardl.c
__polevll.c pow.c pow_data.c powf.c powf_data.c powl.c
remainder.c remainderf.c remainderl.c
__rem_pio2.c __rem_pio2f.c __rem_pio2_large.c __rem_pio2l.c
remquo.c remquof.c remquol.c
rint.c rintf.c rintl.c
round.c roundf.c roundl.c
scalb.c scalbf.c scalbln.c scalblnf.c scalblnl.c scalbn.c scalbnf.c scalbnl.c
signgam.c
significand.c significandf.c
__sin.c sin.c __sinl.c sinl.c
sincos.c sincosf.c sincosl.c
__sindf.c sinf.c
sinh.c sinhf.c sinhl.c
sqrtl.c
__tan.c tan.c __tandf.c tanf.c __tanl.c tanl.c
tanh.c tanhf.c tanhl.c
tgamma.c tgammaf.c tgammal.c
trunc.c truncf.c truncl.c
;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
local architecture = $(TARGET_PACKAGING_ARCH) ;
MergeObject <$(architecture)>posix_musl_math.o :
fabs.c fabsf.c
fma.c fmaf.c
sqrt.c sqrtf.c
$(generics)
;
SEARCH on [ FGristFiles $(generics) ] = [ FDirName $(SUBDIR) .. ] ;
}
}