xref: /aosp_15_r20/bionic/libm/Android.bp (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker//
2*8d67ca89SAndroid Build Coastguard Worker// libm.so and libm.a for target.
3*8d67ca89SAndroid Build Coastguard Worker//
4*8d67ca89SAndroid Build Coastguard Workerpackage {
5*8d67ca89SAndroid Build Coastguard Worker    default_applicable_licenses: ["bionic_libm_license"],
6*8d67ca89SAndroid Build Coastguard Worker}
7*8d67ca89SAndroid Build Coastguard Worker
8*8d67ca89SAndroid Build Coastguard Workerlicense {
9*8d67ca89SAndroid Build Coastguard Worker    name: "bionic_libm_license",
10*8d67ca89SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
11*8d67ca89SAndroid Build Coastguard Worker    license_kinds: [
12*8d67ca89SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
13*8d67ca89SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
14*8d67ca89SAndroid Build Coastguard Worker        "SPDX-license-identifier-MIT",
15*8d67ca89SAndroid Build Coastguard Worker        "legacy_unencumbered",
16*8d67ca89SAndroid Build Coastguard Worker    ],
17*8d67ca89SAndroid Build Coastguard Worker    license_text: [
18*8d67ca89SAndroid Build Coastguard Worker        "NOTICE",
19*8d67ca89SAndroid Build Coastguard Worker    ],
20*8d67ca89SAndroid Build Coastguard Worker}
21*8d67ca89SAndroid Build Coastguard Worker
22*8d67ca89SAndroid Build Coastguard Workercc_library {
23*8d67ca89SAndroid Build Coastguard Worker    name: "libm",
24*8d67ca89SAndroid Build Coastguard Worker    defaults: [
25*8d67ca89SAndroid Build Coastguard Worker        "linux_bionic_supported",
26*8d67ca89SAndroid Build Coastguard Worker        "bug_24465209_workaround",
27*8d67ca89SAndroid Build Coastguard Worker    ],
28*8d67ca89SAndroid Build Coastguard Worker    ramdisk_available: true,
29*8d67ca89SAndroid Build Coastguard Worker    vendor_ramdisk_available: true,
30*8d67ca89SAndroid Build Coastguard Worker    recovery_available: true,
31*8d67ca89SAndroid Build Coastguard Worker    static_ndk_lib: true,
32*8d67ca89SAndroid Build Coastguard Worker
33*8d67ca89SAndroid Build Coastguard Worker    whole_static_libs: ["libarm-optimized-routines-math"],
34*8d67ca89SAndroid Build Coastguard Worker
35*8d67ca89SAndroid Build Coastguard Worker    tidy_disabled_srcs: ["upstream-*/**/*.c"],
36*8d67ca89SAndroid Build Coastguard Worker    srcs: [
37*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/bsdsrc/b_tgamma.c",
38*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/catrig.c",
39*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/catrigf.c",
40*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_acos.c",
41*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_acosf.c",
42*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_acosh.c",
43*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_acoshf.c",
44*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_asin.c",
45*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_asinf.c",
46*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_atan2.c",
47*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_atan2f.c",
48*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_atanh.c",
49*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_atanhf.c",
50*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_cosh.c",
51*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_coshf.c",
52*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_fmod.c",
53*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_fmodf.c",
54*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_gamma.c",
55*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_gammaf.c",
56*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_gammaf_r.c",
57*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_gamma_r.c",
58*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_hypot.c",
59*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_hypotf.c",
60*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_j0.c",
61*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_j0f.c",
62*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_j1.c",
63*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_j1f.c",
64*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_jn.c",
65*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_jnf.c",
66*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_lgamma.c",
67*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_lgammaf.c",
68*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_lgammaf_r.c",
69*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_lgamma_r.c",
70*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_log10.c",
71*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_log10f.c",
72*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_remainder.c",
73*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_remainderf.c",
74*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_rem_pio2.c",
75*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_rem_pio2f.c",
76*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_scalb.c",
77*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_scalbf.c",
78*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_sinh.c",
79*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/e_sinhf.c",
80*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/k_cos.c",
81*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/k_cosf.c",
82*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/k_exp.c",
83*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/k_expf.c",
84*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/k_rem_pio2.c",
85*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/k_sin.c",
86*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/k_sinf.c",
87*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/k_tan.c",
88*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/k_tanf.c",
89*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_asinh.c",
90*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_asinhf.c",
91*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_atan.c",
92*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_atanf.c",
93*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_carg.c",
94*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cargf.c",
95*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cargl.c",
96*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cbrt.c",
97*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cbrtf.c",
98*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_ccosh.c",
99*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_ccoshf.c",
100*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cexp.c",
101*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cexpf.c",
102*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cimag.c",
103*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cimagf.c",
104*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cimagl.c",
105*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_clog.c",
106*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_clogf.c",
107*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_conj.c",
108*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_conjf.c",
109*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_conjl.c",
110*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cos.c",
111*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cospi.c",
112*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cpow.c",
113*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cpowf.c",
114*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cpowl.c",
115*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cproj.c",
116*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cprojf.c",
117*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_cprojl.c",
118*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_creal.c",
119*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_crealf.c",
120*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_creall.c",
121*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_csinh.c",
122*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_csinhf.c",
123*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_csqrt.c",
124*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_csqrtf.c",
125*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_ctanh.c",
126*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_ctanhf.c",
127*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_erf.c",
128*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_erff.c",
129*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_expm1.c",
130*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_expm1f.c",
131*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_fdim.c",
132*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_finite.c",
133*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_finitef.c",
134*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_fma.c",
135*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_fmaf.c",
136*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_fmax.c",
137*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_fmaxf.c",
138*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_fmin.c",
139*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_fminf.c",
140*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_frexp.c",
141*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_frexpf.c",
142*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_ilogb.c",
143*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_ilogbf.c",
144*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_llrint.c",
145*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_llrintf.c",
146*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_llround.c",
147*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_llroundf.c",
148*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_log1p.c",
149*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_log1pf.c",
150*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_logb.c",
151*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_logbf.c",
152*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_lrint.c",
153*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_lrintf.c",
154*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_lround.c",
155*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_lroundf.c",
156*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_modf.c",
157*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_modff.c",
158*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_nan.c",
159*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_nearbyint.c",
160*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_nextafter.c",
161*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_nextafterf.c",
162*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_remquo.c",
163*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_remquof.c",
164*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_round.c",
165*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_roundf.c",
166*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_scalbln.c",
167*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_scalbn.c",
168*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_scalbnf.c",
169*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_signgam.c",
170*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_significand.c",
171*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_significandf.c",
172*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_sin.c",
173*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_sinpi.c",
174*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_sincos.c",
175*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_tan.c",
176*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_tanf.c",
177*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_tanh.c",
178*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_tanhf.c",
179*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/s_tgammaf.c",
180*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/w_cabs.c",
181*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/w_cabsf.c",
182*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/w_cabsl.c",
183*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/w_drem.c",
184*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/w_dremf.c",
185*8d67ca89SAndroid Build Coastguard Worker
186*8d67ca89SAndroid Build Coastguard Worker        // The FreeBSD complex function implementations appear to be better
187*8d67ca89SAndroid Build Coastguard Worker        // than the other BSDs', but they're incomplete. We take the FreeBSD
188*8d67ca89SAndroid Build Coastguard Worker        // implementations when they exist, but fill out the rest from NetBSD...
189*8d67ca89SAndroid Build Coastguard Worker        "upstream-netbsd/lib/libm/complex/ccoshl.c",
190*8d67ca89SAndroid Build Coastguard Worker        "upstream-netbsd/lib/libm/complex/ccosl.c",
191*8d67ca89SAndroid Build Coastguard Worker        "upstream-netbsd/lib/libm/complex/cephes_subrl.c",
192*8d67ca89SAndroid Build Coastguard Worker        "upstream-netbsd/lib/libm/complex/cexpl.c",
193*8d67ca89SAndroid Build Coastguard Worker        "upstream-netbsd/lib/libm/complex/csinhl.c",
194*8d67ca89SAndroid Build Coastguard Worker        "upstream-netbsd/lib/libm/complex/csinl.c",
195*8d67ca89SAndroid Build Coastguard Worker        "upstream-netbsd/lib/libm/complex/ctanhl.c",
196*8d67ca89SAndroid Build Coastguard Worker        "upstream-netbsd/lib/libm/complex/ctanl.c",
197*8d67ca89SAndroid Build Coastguard Worker
198*8d67ca89SAndroid Build Coastguard Worker        // Functionality not in the BSDs.
199*8d67ca89SAndroid Build Coastguard Worker        "significandl.c",
200*8d67ca89SAndroid Build Coastguard Worker        "fake_long_double.c",
201*8d67ca89SAndroid Build Coastguard Worker
202*8d67ca89SAndroid Build Coastguard Worker        // Home-grown stuff.
203*8d67ca89SAndroid Build Coastguard Worker        "builtins.cpp",
204*8d67ca89SAndroid Build Coastguard Worker        "signbit.cpp",
205*8d67ca89SAndroid Build Coastguard Worker    ],
206*8d67ca89SAndroid Build Coastguard Worker
207*8d67ca89SAndroid Build Coastguard Worker    multilib: {
208*8d67ca89SAndroid Build Coastguard Worker        lib64: {
209*8d67ca89SAndroid Build Coastguard Worker            srcs: [
210*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/catrigl.c",
211*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/e_acosl.c",
212*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/e_acoshl.c",
213*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/e_asinl.c",
214*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/e_atan2l.c",
215*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/e_atanhl.c",
216*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/e_fmodl.c",
217*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/e_hypotl.c",
218*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/e_lgammal.c",
219*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/e_remainderl.c",
220*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/e_sqrtl.c",
221*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_asinhl.c",
222*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_atanl.c",
223*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_cbrtl.c",
224*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_ceill.c",
225*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_clogl.c",
226*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/e_coshl.c",
227*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_cosl.c",
228*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_csqrtl.c",
229*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_floorl.c",
230*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fmal.c",
231*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fmaxl.c",
232*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fminl.c",
233*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_modfl.c",
234*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_frexpl.c",
235*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_ilogbl.c",
236*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llrintl.c",
237*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llroundl.c",
238*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_logbl.c",
239*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lrintl.c",
240*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lroundl.c",
241*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_nextafterl.c",
242*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_nexttoward.c",
243*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_nexttowardf.c",
244*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_remquol.c",
245*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_rintl.c",
246*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_roundl.c",
247*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_scalbnl.c",
248*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_sincosl.c",
249*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/e_sinhl.c",
250*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_sinl.c",
251*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_tanhl.c",
252*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_tanl.c",
253*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_truncl.c",
254*8d67ca89SAndroid Build Coastguard Worker
255*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/ld128/invtrig.c",
256*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/ld128/e_lgammal_r.c",
257*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/ld128/e_powl.c",
258*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/ld128/k_cosl.c",
259*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/ld128/k_sinl.c",
260*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/ld128/k_tanl.c",
261*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/ld128/s_erfl.c",
262*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/ld128/s_exp2l.c",
263*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/ld128/s_expl.c",
264*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/ld128/s_logl.c",
265*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/ld128/s_nanl.c",
266*8d67ca89SAndroid Build Coastguard Worker            ],
267*8d67ca89SAndroid Build Coastguard Worker            local_include_dirs: ["upstream-freebsd/lib/msun/ld128/"],
268*8d67ca89SAndroid Build Coastguard Worker        },
269*8d67ca89SAndroid Build Coastguard Worker    },
270*8d67ca89SAndroid Build Coastguard Worker
271*8d67ca89SAndroid Build Coastguard Worker    arch: {
272*8d67ca89SAndroid Build Coastguard Worker        arm: {
273*8d67ca89SAndroid Build Coastguard Worker            srcs: [
274*8d67ca89SAndroid Build Coastguard Worker                "fenv-arm.c",
275*8d67ca89SAndroid Build Coastguard Worker            ],
276*8d67ca89SAndroid Build Coastguard Worker            armv7_a_neon: {
277*8d67ca89SAndroid Build Coastguard Worker                // armv7 arm32 has no instructions to implement these as
278*8d67ca89SAndroid Build Coastguard Worker                // builtins, so we build the portable implementations for armv7,
279*8d67ca89SAndroid Build Coastguard Worker                // because the NDK still supports armv7.
280*8d67ca89SAndroid Build Coastguard Worker                srcs: [
281*8d67ca89SAndroid Build Coastguard Worker                    "upstream-freebsd/lib/msun/src/s_ceil.c",
282*8d67ca89SAndroid Build Coastguard Worker                    "upstream-freebsd/lib/msun/src/s_ceilf.c",
283*8d67ca89SAndroid Build Coastguard Worker                    "upstream-freebsd/lib/msun/src/s_floor.c",
284*8d67ca89SAndroid Build Coastguard Worker                    "upstream-freebsd/lib/msun/src/s_floorf.c",
285*8d67ca89SAndroid Build Coastguard Worker                    "upstream-freebsd/lib/msun/src/s_rint.c",
286*8d67ca89SAndroid Build Coastguard Worker                    "upstream-freebsd/lib/msun/src/s_rintf.c",
287*8d67ca89SAndroid Build Coastguard Worker                    "upstream-freebsd/lib/msun/src/s_trunc.c",
288*8d67ca89SAndroid Build Coastguard Worker                    "upstream-freebsd/lib/msun/src/s_truncf.c",
289*8d67ca89SAndroid Build Coastguard Worker                ],
290*8d67ca89SAndroid Build Coastguard Worker            },
291*8d67ca89SAndroid Build Coastguard Worker            instruction_set: "arm",
292*8d67ca89SAndroid Build Coastguard Worker            version_script: ":libm.arm.map",
293*8d67ca89SAndroid Build Coastguard Worker            no_libcrt: true,
294*8d67ca89SAndroid Build Coastguard Worker            shared: {
295*8d67ca89SAndroid Build Coastguard Worker                // For backwards-compatibility, some arm32 builtins are exported from libm.so.
296*8d67ca89SAndroid Build Coastguard Worker                static_libs: ["libclang_rt.builtins-exported"],
297*8d67ca89SAndroid Build Coastguard Worker            },
298*8d67ca89SAndroid Build Coastguard Worker            // "#pragma STDC FENV_ACCESS ON" in e_sqrtl.c is not supported for arm32.
299*8d67ca89SAndroid Build Coastguard Worker            cflags: ["-Wno-ignored-pragmas"],
300*8d67ca89SAndroid Build Coastguard Worker        },
301*8d67ca89SAndroid Build Coastguard Worker
302*8d67ca89SAndroid Build Coastguard Worker        arm64: {
303*8d67ca89SAndroid Build Coastguard Worker            srcs: [
304*8d67ca89SAndroid Build Coastguard Worker                "fenv-arm64.c",
305*8d67ca89SAndroid Build Coastguard Worker            ],
306*8d67ca89SAndroid Build Coastguard Worker            exclude_srcs: [
307*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fma.c",
308*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fmaf.c",
309*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fmax.c",
310*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fmaxf.c",
311*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fmin.c",
312*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fminf.c",
313*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llrint.c",
314*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llrintf.c",
315*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llround.c",
316*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llroundf.c",
317*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lrint.c",
318*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lrintf.c",
319*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lround.c",
320*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lroundf.c",
321*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_round.c",
322*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_roundf.c",
323*8d67ca89SAndroid Build Coastguard Worker            ],
324*8d67ca89SAndroid Build Coastguard Worker            version_script: ":libm.arm64.map",
325*8d67ca89SAndroid Build Coastguard Worker        },
326*8d67ca89SAndroid Build Coastguard Worker
327*8d67ca89SAndroid Build Coastguard Worker        riscv64: {
328*8d67ca89SAndroid Build Coastguard Worker            srcs: [
329*8d67ca89SAndroid Build Coastguard Worker                "fenv-riscv64.c",
330*8d67ca89SAndroid Build Coastguard Worker            ],
331*8d67ca89SAndroid Build Coastguard Worker
332*8d67ca89SAndroid Build Coastguard Worker            exclude_srcs: [
333*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fma.c",
334*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fmaf.c",
335*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fmax.c",
336*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fmaxf.c",
337*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fmin.c",
338*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_fminf.c",
339*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llrint.c",
340*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llrintf.c",
341*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llround.c",
342*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llroundf.c",
343*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lrint.c",
344*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lrintf.c",
345*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lround.c",
346*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lroundf.c",
347*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_round.c",
348*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_roundf.c",
349*8d67ca89SAndroid Build Coastguard Worker            ],
350*8d67ca89SAndroid Build Coastguard Worker            version_script: ":libm.riscv64.map",
351*8d67ca89SAndroid Build Coastguard Worker        },
352*8d67ca89SAndroid Build Coastguard Worker
353*8d67ca89SAndroid Build Coastguard Worker        x86: {
354*8d67ca89SAndroid Build Coastguard Worker            srcs: [
355*8d67ca89SAndroid Build Coastguard Worker                "fenv-x86.c",
356*8d67ca89SAndroid Build Coastguard Worker            ],
357*8d67ca89SAndroid Build Coastguard Worker            exclude_srcs: [
358*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llrint.c",
359*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llrintf.c",
360*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lrint.c",
361*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lrintf.c",
362*8d67ca89SAndroid Build Coastguard Worker            ],
363*8d67ca89SAndroid Build Coastguard Worker            // The x86 ABI doesn't include this, which is needed for the
364*8d67ca89SAndroid Build Coastguard Worker            // roundss/roundsd instructions that we've used since Android M.
365*8d67ca89SAndroid Build Coastguard Worker            cflags: ["-msse4.1"],
366*8d67ca89SAndroid Build Coastguard Worker            version_script: ":libm.x86.map",
367*8d67ca89SAndroid Build Coastguard Worker        },
368*8d67ca89SAndroid Build Coastguard Worker
369*8d67ca89SAndroid Build Coastguard Worker        x86_64: {
370*8d67ca89SAndroid Build Coastguard Worker            srcs: [
371*8d67ca89SAndroid Build Coastguard Worker                "fenv-x86_64.c",
372*8d67ca89SAndroid Build Coastguard Worker            ],
373*8d67ca89SAndroid Build Coastguard Worker            exclude_srcs: [
374*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llrint.c",
375*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_llrintf.c",
376*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lrint.c",
377*8d67ca89SAndroid Build Coastguard Worker                "upstream-freebsd/lib/msun/src/s_lrintf.c",
378*8d67ca89SAndroid Build Coastguard Worker            ],
379*8d67ca89SAndroid Build Coastguard Worker            version_script: ":libm.x86_64.map",
380*8d67ca89SAndroid Build Coastguard Worker        },
381*8d67ca89SAndroid Build Coastguard Worker    },
382*8d67ca89SAndroid Build Coastguard Worker
383*8d67ca89SAndroid Build Coastguard Worker    local_include_dirs: [
384*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/android/include/",
385*8d67ca89SAndroid Build Coastguard Worker        "upstream-freebsd/lib/msun/src/",
386*8d67ca89SAndroid Build Coastguard Worker    ],
387*8d67ca89SAndroid Build Coastguard Worker
388*8d67ca89SAndroid Build Coastguard Worker    cflags: [
389*8d67ca89SAndroid Build Coastguard Worker        "-include freebsd-compat.h",
390*8d67ca89SAndroid Build Coastguard Worker        "-fno-builtin",
391*8d67ca89SAndroid Build Coastguard Worker        "-fno-math-errno",
392*8d67ca89SAndroid Build Coastguard Worker        "-Wall",
393*8d67ca89SAndroid Build Coastguard Worker        "-Werror",
394*8d67ca89SAndroid Build Coastguard Worker        "-Wno-missing-braces",
395*8d67ca89SAndroid Build Coastguard Worker        "-Wno-parentheses",
396*8d67ca89SAndroid Build Coastguard Worker        "-Wno-sign-compare",
397*8d67ca89SAndroid Build Coastguard Worker        "-Wno-static-in-inline",
398*8d67ca89SAndroid Build Coastguard Worker        "-Wno-unknown-pragmas",
399*8d67ca89SAndroid Build Coastguard Worker        "-Wno-unused-const-variable",
400*8d67ca89SAndroid Build Coastguard Worker        "-Wno-unused-variable",
401*8d67ca89SAndroid Build Coastguard Worker    ],
402*8d67ca89SAndroid Build Coastguard Worker
403*8d67ca89SAndroid Build Coastguard Worker    ldflags: [
404*8d67ca89SAndroid Build Coastguard Worker        "-Wl,--Bsymbolic-functions",
405*8d67ca89SAndroid Build Coastguard Worker    ],
406*8d67ca89SAndroid Build Coastguard Worker
407*8d67ca89SAndroid Build Coastguard Worker    // b/120614316, non-critical readibility check
408*8d67ca89SAndroid Build Coastguard Worker    tidy_checks: ["-cert-dcl16-c"],
409*8d67ca89SAndroid Build Coastguard Worker
410*8d67ca89SAndroid Build Coastguard Worker    include_dirs: ["bionic/libc"],
411*8d67ca89SAndroid Build Coastguard Worker    target: {
412*8d67ca89SAndroid Build Coastguard Worker        bionic: {
413*8d67ca89SAndroid Build Coastguard Worker            system_shared_libs: ["libc"],
414*8d67ca89SAndroid Build Coastguard Worker        },
415*8d67ca89SAndroid Build Coastguard Worker    },
416*8d67ca89SAndroid Build Coastguard Worker
417*8d67ca89SAndroid Build Coastguard Worker    sanitize: {
418*8d67ca89SAndroid Build Coastguard Worker        address: false,
419*8d67ca89SAndroid Build Coastguard Worker        fuzzer: false,
420*8d67ca89SAndroid Build Coastguard Worker        integer_overflow: false,
421*8d67ca89SAndroid Build Coastguard Worker    },
422*8d67ca89SAndroid Build Coastguard Worker    stl: "none",
423*8d67ca89SAndroid Build Coastguard Worker    native_bridge_supported: true,
424*8d67ca89SAndroid Build Coastguard Worker
425*8d67ca89SAndroid Build Coastguard Worker    stubs: {
426*8d67ca89SAndroid Build Coastguard Worker        symbol_file: "libm.map.txt",
427*8d67ca89SAndroid Build Coastguard Worker        versions: [
428*8d67ca89SAndroid Build Coastguard Worker            "29",
429*8d67ca89SAndroid Build Coastguard Worker            "current",
430*8d67ca89SAndroid Build Coastguard Worker        ],
431*8d67ca89SAndroid Build Coastguard Worker    },
432*8d67ca89SAndroid Build Coastguard Worker
433*8d67ca89SAndroid Build Coastguard Worker    llndk: {
434*8d67ca89SAndroid Build Coastguard Worker        symbol_file: "libm.map.txt",
435*8d67ca89SAndroid Build Coastguard Worker    },
436*8d67ca89SAndroid Build Coastguard Worker
437*8d67ca89SAndroid Build Coastguard Worker    apex_available: [
438*8d67ca89SAndroid Build Coastguard Worker        "com.android.runtime",
439*8d67ca89SAndroid Build Coastguard Worker    ],
440*8d67ca89SAndroid Build Coastguard Worker
441*8d67ca89SAndroid Build Coastguard Worker    lto: {
442*8d67ca89SAndroid Build Coastguard Worker        never: true,
443*8d67ca89SAndroid Build Coastguard Worker    },
444*8d67ca89SAndroid Build Coastguard Worker}
445*8d67ca89SAndroid Build Coastguard Worker
446*8d67ca89SAndroid Build Coastguard Workerndk_library {
447*8d67ca89SAndroid Build Coastguard Worker    name: "libm",
448*8d67ca89SAndroid Build Coastguard Worker    symbol_file: "libm.map.txt",
449*8d67ca89SAndroid Build Coastguard Worker    first_version: "9",
450*8d67ca89SAndroid Build Coastguard Worker}
451*8d67ca89SAndroid Build Coastguard Worker
452*8d67ca89SAndroid Build Coastguard Workergenrule {
453*8d67ca89SAndroid Build Coastguard Worker    name: "libm.arm.map",
454*8d67ca89SAndroid Build Coastguard Worker    out: ["libm.arm.map.txt"],
455*8d67ca89SAndroid Build Coastguard Worker    srcs: ["libm.map.txt"],
456*8d67ca89SAndroid Build Coastguard Worker    tools: ["generate-version-script"],
457*8d67ca89SAndroid Build Coastguard Worker    cmd: "$(location generate-version-script) arm $(in) $(out)",
458*8d67ca89SAndroid Build Coastguard Worker}
459*8d67ca89SAndroid Build Coastguard Worker
460*8d67ca89SAndroid Build Coastguard Workergenrule {
461*8d67ca89SAndroid Build Coastguard Worker    name: "libm.arm64.map",
462*8d67ca89SAndroid Build Coastguard Worker    out: ["libm.arm64.map.txt"],
463*8d67ca89SAndroid Build Coastguard Worker    srcs: ["libm.map.txt"],
464*8d67ca89SAndroid Build Coastguard Worker    tools: ["generate-version-script"],
465*8d67ca89SAndroid Build Coastguard Worker    cmd: "$(location generate-version-script) arm64 $(in) $(out)",
466*8d67ca89SAndroid Build Coastguard Worker}
467*8d67ca89SAndroid Build Coastguard Worker
468*8d67ca89SAndroid Build Coastguard Workergenrule {
469*8d67ca89SAndroid Build Coastguard Worker    name: "libm.riscv64.map",
470*8d67ca89SAndroid Build Coastguard Worker    out: ["libm.riscv64.map.txt"],
471*8d67ca89SAndroid Build Coastguard Worker    srcs: ["libm.map.txt"],
472*8d67ca89SAndroid Build Coastguard Worker    tools: ["generate-version-script"],
473*8d67ca89SAndroid Build Coastguard Worker    cmd: "$(location generate-version-script) riscv64 $(in) $(out)",
474*8d67ca89SAndroid Build Coastguard Worker}
475*8d67ca89SAndroid Build Coastguard Worker
476*8d67ca89SAndroid Build Coastguard Workergenrule {
477*8d67ca89SAndroid Build Coastguard Worker    name: "libm.x86.map",
478*8d67ca89SAndroid Build Coastguard Worker    out: ["libm.x86.map.txt"],
479*8d67ca89SAndroid Build Coastguard Worker    srcs: ["libm.map.txt"],
480*8d67ca89SAndroid Build Coastguard Worker    tools: ["generate-version-script"],
481*8d67ca89SAndroid Build Coastguard Worker    cmd: "$(location generate-version-script) x86 $(in) $(out)",
482*8d67ca89SAndroid Build Coastguard Worker}
483*8d67ca89SAndroid Build Coastguard Worker
484*8d67ca89SAndroid Build Coastguard Workergenrule {
485*8d67ca89SAndroid Build Coastguard Worker    name: "libm.x86_64.map",
486*8d67ca89SAndroid Build Coastguard Worker    out: ["libm.x86_64.map.txt"],
487*8d67ca89SAndroid Build Coastguard Worker    srcs: ["libm.map.txt"],
488*8d67ca89SAndroid Build Coastguard Worker    tools: ["generate-version-script"],
489*8d67ca89SAndroid Build Coastguard Worker    cmd: "$(location generate-version-script) x86_64 $(in) $(out)",
490*8d67ca89SAndroid Build Coastguard Worker}
491*8d67ca89SAndroid Build Coastguard Worker
492*8d67ca89SAndroid Build Coastguard Worker// Because of a historical accidnt, ldexp() is in libc,
493*8d67ca89SAndroid Build Coastguard Worker// even though ldexpf() and ldexpl() are in libm.
494*8d67ca89SAndroid Build Coastguard Workerfilegroup {
495*8d67ca89SAndroid Build Coastguard Worker    name: "libc_ldexp_srcs",
496*8d67ca89SAndroid Build Coastguard Worker    srcs: ["upstream-freebsd/lib/msun/src/s_scalbn.c"],
497*8d67ca89SAndroid Build Coastguard Worker}
498