Merge "Generate per-architecture version scripts."

This commit is contained in:
Dimitry Ivanov 2015-10-28 23:44:03 +00:00 committed by Gerrit Code Review
commit 578d949e8d
17 changed files with 9426 additions and 7 deletions

View file

@ -1385,7 +1385,12 @@ LOCAL_CLANG := $(use_clang)
LOCAL_REQUIRED_MODULES := tzdata
LOCAL_ADDITIONAL_DEPENDENCIES := \
$(libc_common_additional_dependencies) \
$(LOCAL_PATH)/libc.map \
$(LOCAL_PATH)/libc.arm.map \
$(LOCAL_PATH)/libc.arm64.map \
$(LOCAL_PATH)/libc.mips.map \
$(LOCAL_PATH)/libc.mips64.map \
$(LOCAL_PATH)/libc.x86.map \
$(LOCAL_PATH)/libc.x86_64.map \
# Leave the symbols in the shared library so that stack unwinders can produce
# meaningful name resolution.
@ -1413,7 +1418,12 @@ LOCAL_CXX_STL := none
LOCAL_SYSTEM_SHARED_LIBRARIES :=
# Don't re-export new/delete and friends, even if the compiler really wants to.
LOCAL_LDFLAGS := -Wl,--version-script,$(LOCAL_PATH)/libc.map
LOCAL_LDFLAGS_arm := -Wl,--version-script,$(LOCAL_PATH)/libc.arm.map
LOCAL_LDFLAGS_arm64 := -Wl,--version-script,$(LOCAL_PATH)/libc.arm64.map
LOCAL_LDFLAGS_mips := -Wl,--version-script,$(LOCAL_PATH)/libc.mips.map
LOCAL_LDFLAGS_mips64 := -Wl,--version-script,$(LOCAL_PATH)/libc.mips64.map
LOCAL_LDFLAGS_x86 := -Wl,--version-script,$(LOCAL_PATH)/libc.x86.map
LOCAL_LDFLAGS_x86_64 := -Wl,--version-script,$(LOCAL_PATH)/libc.x86_64.map
# We'd really like to do this for all architectures, but since this wasn't done
# before, these symbols must continue to be exported on LP32 for binary

1448
libc/libc.arm.map Normal file

File diff suppressed because it is too large Load diff

1178
libc/libc.arm64.map Normal file

File diff suppressed because it is too large Load diff

1303
libc/libc.mips.map Normal file

File diff suppressed because it is too large Load diff

1178
libc/libc.mips64.map Normal file

File diff suppressed because it is too large Load diff

1302
libc/libc.x86.map Normal file

File diff suppressed because it is too large Load diff

1178
libc/libc.x86_64.map Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,55 @@
#!/usr/bin/python
# This tool is used to generate the version scripts for libc and libm
# for every architecture.
import atexit
import os.path
import shutil
import tempfile
all_arches = ["arm", "arm64", "mips", "mips64", "x86", "x86_64"]
bionic_libc_root = os.path.join(os.environ["ANDROID_BUILD_TOP"], "bionic/libc")
bionic_libm_root = os.path.join(os.environ["ANDROID_BUILD_TOP"], "bionic/libm")
libc_script = os.path.join(bionic_libc_root, "libc.map.txt")
libm_script = os.path.join(bionic_libm_root, "libm.map.txt")
# TODO (dimity): generate architecture-specific version scripts as part of build
# temp directory where we store all intermediate files
bionic_temp = tempfile.mkdtemp(prefix="bionic_genversionscripts")
# Make sure the directory is deleted when the script exits.
atexit.register(shutil.rmtree, bionic_temp)
bionic_libc_root = os.path.join(os.environ["ANDROID_BUILD_TOP"], "bionic/libc")
warning = "Generated by genversionscripts.py. Do not edit."
class VersionScriptGenerator(object):
def run(self):
for script in [libc_script, libm_script]:
basename = os.path.basename(script)
dirname = os.path.dirname(script)
for arch in all_arches:
name = basename.split(".")[0] + "." + arch + ".map"
tmp_path = os.path.join(bionic_temp, name)
dest_path = os.path.join(dirname, name)
with open(tmp_path, "w") as fout:
with open(script, "r") as fin:
fout.write("# %s\n" % warning)
for line in fin:
index = line.find("#")
if index != -1:
arches = line[index+1:].split()
if arch not in arches:
continue
fout.write(line)
shutil.copyfile(tmp_path, dest_path)
generator = VersionScriptGenerator()
generator.run()

View file

@ -513,13 +513,25 @@ include $(BUILD_STATIC_LIBRARY)
# -----------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/libm.map
LOCAL_ADDITIONAL_DEPENDENCIES := \
$(LOCAL_PATH)/libm.arm.map \
$(LOCAL_PATH)/libm.arm64.map \
$(LOCAL_PATH)/libm.mips.map \
$(LOCAL_PATH)/libm.mips64.map \
$(LOCAL_PATH)/libm.x86.map \
$(LOCAL_PATH)/libm.x86_64.map \
# TODO: This is to work around b/24465209. Remove after root cause is fixed
LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
LOCAL_LDFLAGS_x86 := -Wl,--hash-style=both
LOCAL_LDFLAGS := -Wl,--version-script,$(LOCAL_PATH)/libm.map
LOCAL_LDFLAGS_arm := -Wl,--version-script,$(LOCAL_PATH)/libm.arm.map
LOCAL_LDFLAGS_arm64 := -Wl,--version-script,$(LOCAL_PATH)/libm.arm64.map
LOCAL_LDFLAGS_mips := -Wl,--version-script,$(LOCAL_PATH)/libm.mips.map
LOCAL_LDFLAGS_mips64 := -Wl,--version-script,$(LOCAL_PATH)/libm.mips64.map
LOCAL_LDFLAGS_x86 := -Wl,--version-script,$(LOCAL_PATH)/libm.x86.map
LOCAL_LDFLAGS_x86_64 := -Wl,--version-script,$(LOCAL_PATH)/libm.x86_64.map
LOCAL_MODULE := libm
LOCAL_CLANG := $(libm_clang)

379
libm/libm.arm.map Normal file
View file

@ -0,0 +1,379 @@
# Generated by genversionscripts.py. Do not edit.
LIBC {
global:
__fe_dfl_env;
__signbit;
__signbitf;
__signbitl;
acos;
acosf;
acosh;
acoshf;
acoshl;
acosl;
asin;
asinf;
asinh;
asinhf;
asinhl;
asinl;
atan;
atan2;
atan2f;
atan2l;
atanf;
atanh;
atanhf;
atanhl;
atanl;
cabs;
cabsf;
cabsl;
cacos;
cacosf;
cacosh;
cacoshf;
carg;
cargf;
cargl;
casin;
casinf;
casinh;
casinhf;
catan;
catanf;
catanh;
catanhf;
cbrt;
cbrtf;
cbrtl;
ccos;
ccosf;
ccosh;
ccoshf;
ceil;
ceilf;
ceill;
cexp;
cexpf;
cimag;
cimagf;
cimagl;
conj;
conjf;
conjl;
copysign;
copysignf;
copysignl;
cos;
cosf;
cosh;
coshf;
coshl;
cosl;
cproj;
cprojf;
cprojl;
creal;
crealf;
creall;
csin;
csinf;
csinh;
csinhf;
csqrt;
csqrtf;
csqrtl;
ctan;
ctanf;
ctanh;
ctanhf;
drem;
dremf;
erf;
erfc;
erfcf;
erfcl;
erff;
erfl;
exp;
exp2;
exp2f;
exp2l;
expf;
expl;
expm1;
expm1f;
expm1l;
fabs;
fabsf;
fabsl;
fdim;
fdimf;
fdiml;
feclearexcept;
fedisableexcept;
feenableexcept;
fegetenv;
fegetexcept;
fegetexceptflag;
fegetround;
feholdexcept;
feraiseexcept;
fesetenv;
fesetexceptflag;
fesetround;
fetestexcept;
feupdateenv;
finite;
finitef;
floor;
floorf;
floorl;
fma;
fmaf;
fmal;
fmax;
fmaxf;
fmaxl;
fmin;
fminf;
fminl;
fmod;
fmodf;
fmodl;
frexp;
frexpf;
frexpl;
gamma;
gamma_r;
gammaf;
gammaf_r;
hypot;
hypotf;
hypotl;
ilogb;
ilogbf;
ilogbl;
j0;
j0f;
j1;
j1f;
jn;
jnf;
ldexpf;
ldexpl;
lgamma;
lgamma_r;
lgammaf;
lgammaf_r;
lgammal;
lgammal_r;
llrint;
llrintf;
llrintl;
llround;
llroundf;
llroundl;
log;
log10;
log10f;
log10l;
log1p;
log1pf;
log1pl;
log2;
log2f;
log2l;
logb;
logbf;
logbl;
logf;
logl;
lrint;
lrintf;
lrintl;
lround;
lroundf;
lroundl;
modf;
modff;
modfl;
nan;
nanf;
nanl;
nearbyint;
nearbyintf;
nearbyintl;
nextafter;
nextafterf;
nextafterl;
nexttoward;
nexttowardf;
nexttowardl;
pow;
powf;
powl;
remainder;
remainderf;
remainderl;
remquo;
remquof;
remquol;
rint;
rintf;
rintl;
round;
roundf;
roundl;
scalb;
scalbf;
scalbln;
scalblnf;
scalblnl;
scalbn;
scalbnf;
scalbnl;
signgam;
significand;
significandf;
significandl;
sin;
sincos;
sincosf;
sincosl;
sinf;
sinh;
sinhf;
sinhl;
sinl;
sqrt;
sqrtf;
sqrtl;
tan;
tanf;
tanh;
tanhf;
tanhl;
tanl;
tgamma;
tgammaf;
tgammal;
trunc;
truncf;
truncl;
y0;
y0f;
y1;
y1f;
yn;
ynf;
local:
*;
};
LIBC_PRIVATE { # arm
global: # arm
___Unwind_Backtrace; # arm
___Unwind_ForcedUnwind; # arm
___Unwind_RaiseException; # arm
___Unwind_Resume; # arm
___Unwind_Resume_or_Rethrow; # arm
__adddf3; # arm
__aeabi_cdcmpeq; # arm
__aeabi_cdcmple; # arm
__aeabi_cdrcmple; # arm
__aeabi_cfcmpeq; # arm
__aeabi_cfcmple; # arm
__aeabi_cfrcmple; # arm
__aeabi_d2lz; # arm
__aeabi_d2uiz; # arm
__aeabi_d2ulz; # arm
__aeabi_dadd; # arm
__aeabi_dcmpeq; # arm
__aeabi_dcmpge; # arm
__aeabi_dcmpgt; # arm
__aeabi_dcmple; # arm
__aeabi_dcmplt; # arm
__aeabi_ddiv; # arm
__aeabi_dmul; # arm
__aeabi_drsub; # arm
__aeabi_dsub; # arm
__aeabi_f2d; # arm
__aeabi_f2lz; # arm
__aeabi_f2ulz; # arm
__aeabi_fcmpeq; # arm
__aeabi_fcmpge; # arm
__aeabi_fcmpgt; # arm
__aeabi_fcmple; # arm
__aeabi_fcmplt; # arm
__aeabi_i2d; # arm
__aeabi_l2d; # arm
__aeabi_ui2d; # arm
__aeabi_ul2d; # arm
__aeabi_unwind_cpp_pr0; # arm
__aeabi_unwind_cpp_pr1; # arm
__aeabi_unwind_cpp_pr2; # arm
__cmpdf2; # arm
__cmpsf2; # arm
__divdf3; # arm
__eqdf2; # arm
__eqsf2; # arm
__extendsfdf2; # arm
__fixdfdi; # arm mips
__fixsfdi; # arm mips
__fixunsdfdi; # arm mips
__fixunsdfsi; # arm
__fixunssfdi; # arm mips
__floatdidf; # arm
__floatsidf; # arm
__floatundidf; # arm
__floatunsidf; # arm
__gedf2; # arm
__gesf2; # arm
__gnu_Unwind_Backtrace; # arm
__gnu_unwind_execute; # arm
__gnu_Unwind_ForcedUnwind; # arm
__gnu_unwind_frame; # arm
__gnu_Unwind_RaiseException; # arm
__gnu_Unwind_Restore_VFP; # arm
__gnu_Unwind_Restore_VFP_D; # arm
__gnu_Unwind_Restore_VFP_D_16_to_31; # arm
__gnu_Unwind_Restore_WMMXC; # arm
__gnu_Unwind_Restore_WMMXD; # arm
__gnu_Unwind_Resume; # arm
__gnu_Unwind_Resume_or_Rethrow; # arm
__gnu_Unwind_Save_VFP; # arm
__gnu_Unwind_Save_VFP_D; # arm
__gnu_Unwind_Save_VFP_D_16_to_31; # arm
__gnu_Unwind_Save_WMMXC; # arm
__gnu_Unwind_Save_WMMXD; # arm
__gtdf2; # arm
__gtsf2; # arm
__ledf2; # arm
__lesf2; # arm
__ltdf2; # arm
__ltsf2; # arm
__muldc3; # arm x86 mips
__muldf3; # arm
__nedf2; # arm
__nesf2; # arm
__restore_core_regs; # arm
__subdf3; # arm
_Unwind_Backtrace; # arm
_Unwind_Complete; # arm
_Unwind_DeleteException; # arm
_Unwind_ForcedUnwind; # arm
_Unwind_GetCFA; # arm
_Unwind_GetDataRelBase; # arm
_Unwind_GetLanguageSpecificData; # arm
_Unwind_GetRegionStart; # arm
_Unwind_GetTextRelBase; # arm
_Unwind_RaiseException; # arm
_Unwind_Resume; # arm
_Unwind_Resume_or_Rethrow; # arm
_Unwind_VRS_Get; # arm
_Unwind_VRS_Pop; # arm
_Unwind_VRS_Set; # arm
restore_core_regs; # arm
} LIBC; # arm

274
libm/libm.arm64.map Normal file
View file

@ -0,0 +1,274 @@
# Generated by genversionscripts.py. Do not edit.
LIBC {
global:
__fe_dfl_env;
__signbit;
__signbitf;
__signbitl;
acos;
acosf;
acosh;
acoshf;
acoshl;
acosl;
asin;
asinf;
asinh;
asinhf;
asinhl;
asinl;
atan;
atan2;
atan2f;
atan2l;
atanf;
atanh;
atanhf;
atanhl;
atanl;
cabs;
cabsf;
cabsl;
cacos;
cacosf;
cacosh;
cacoshf;
carg;
cargf;
cargl;
casin;
casinf;
casinh;
casinhf;
catan;
catanf;
catanh;
catanhf;
cbrt;
cbrtf;
cbrtl;
ccos;
ccosf;
ccosh;
ccoshf;
ceil;
ceilf;
ceill;
cexp;
cexpf;
cimag;
cimagf;
cimagl;
conj;
conjf;
conjl;
copysign;
copysignf;
copysignl;
cos;
cosf;
cosh;
coshf;
coshl;
cosl;
cproj;
cprojf;
cprojl;
creal;
crealf;
creall;
csin;
csinf;
csinh;
csinhf;
csqrt;
csqrtf;
csqrtl;
ctan;
ctanf;
ctanh;
ctanhf;
drem;
dremf;
erf;
erfc;
erfcf;
erfcl;
erff;
erfl;
exp;
exp2;
exp2f;
exp2l;
expf;
expl;
expm1;
expm1f;
expm1l;
fabs;
fabsf;
fabsl;
fdim;
fdimf;
fdiml;
feclearexcept;
fedisableexcept;
feenableexcept;
fegetenv;
fegetexcept;
fegetexceptflag;
fegetround;
feholdexcept;
feraiseexcept;
fesetenv;
fesetexceptflag;
fesetround;
fetestexcept;
feupdateenv;
finite;
finitef;
floor;
floorf;
floorl;
fma;
fmaf;
fmal;
fmax;
fmaxf;
fmaxl;
fmin;
fminf;
fminl;
fmod;
fmodf;
fmodl;
frexp;
frexpf;
frexpl;
gamma;
gamma_r;
gammaf;
gammaf_r;
hypot;
hypotf;
hypotl;
ilogb;
ilogbf;
ilogbl;
j0;
j0f;
j1;
j1f;
jn;
jnf;
ldexpf;
ldexpl;
lgamma;
lgamma_r;
lgammaf;
lgammaf_r;
lgammal;
lgammal_r;
llrint;
llrintf;
llrintl;
llround;
llroundf;
llroundl;
log;
log10;
log10f;
log10l;
log1p;
log1pf;
log1pl;
log2;
log2f;
log2l;
logb;
logbf;
logbl;
logf;
logl;
lrint;
lrintf;
lrintl;
lround;
lroundf;
lroundl;
modf;
modff;
modfl;
nan;
nanf;
nanl;
nearbyint;
nearbyintf;
nearbyintl;
nextafter;
nextafterf;
nextafterl;
nexttoward;
nexttowardf;
nexttowardl;
pow;
powf;
powl;
remainder;
remainderf;
remainderl;
remquo;
remquof;
remquol;
rint;
rintf;
rintl;
round;
roundf;
roundl;
scalb;
scalbf;
scalbln;
scalblnf;
scalblnl;
scalbn;
scalbnf;
scalbnl;
signgam;
significand;
significandf;
significandl;
sin;
sincos;
sincosf;
sincosl;
sinf;
sinh;
sinhf;
sinhl;
sinl;
sqrt;
sqrtf;
sqrtl;
tan;
tanf;
tanh;
tanhf;
tanhl;
tanl;
tgamma;
tgammaf;
tgammal;
trunc;
truncf;
truncl;
y0;
y0f;
y1;
y1f;
yn;
ynf;
local:
*;
};

View file

@ -271,8 +271,8 @@ LIBC {
*;
};
LIBC_PRIVATE {
global:
LIBC_PRIVATE { # arm
global: # arm
___Unwind_Backtrace; # arm
___Unwind_ForcedUnwind; # arm
___Unwind_RaiseException; # arm
@ -375,4 +375,4 @@ LIBC_PRIVATE {
_Unwind_VRS_Pop; # arm
_Unwind_VRS_Set; # arm
restore_core_regs; # arm
} LIBC;
} LIBC; # arm

279
libm/libm.mips.map Normal file
View file

@ -0,0 +1,279 @@
# Generated by genversionscripts.py. Do not edit.
LIBC {
global:
__fe_dfl_env;
__signbit;
__signbitf;
__signbitl;
acos;
acosf;
acosh;
acoshf;
acoshl;
acosl;
asin;
asinf;
asinh;
asinhf;
asinhl;
asinl;
atan;
atan2;
atan2f;
atan2l;
atanf;
atanh;
atanhf;
atanhl;
atanl;
cabs;
cabsf;
cabsl;
cacos;
cacosf;
cacosh;
cacoshf;
carg;
cargf;
cargl;
casin;
casinf;
casinh;
casinhf;
catan;
catanf;
catanh;
catanhf;
cbrt;
cbrtf;
cbrtl;
ccos;
ccosf;
ccosh;
ccoshf;
ceil;
ceilf;
ceill;
cexp;
cexpf;
cimag;
cimagf;
cimagl;
conj;
conjf;
conjl;
copysign;
copysignf;
copysignl;
cos;
cosf;
cosh;
coshf;
coshl;
cosl;
cproj;
cprojf;
cprojl;
creal;
crealf;
creall;
csin;
csinf;
csinh;
csinhf;
csqrt;
csqrtf;
csqrtl;
ctan;
ctanf;
ctanh;
ctanhf;
drem;
dremf;
erf;
erfc;
erfcf;
erfcl;
erff;
erfl;
exp;
exp2;
exp2f;
exp2l;
expf;
expl;
expm1;
expm1f;
expm1l;
fabs;
fabsf;
fabsl;
fdim;
fdimf;
fdiml;
feclearexcept;
fedisableexcept;
feenableexcept;
fegetenv;
fegetexcept;
fegetexceptflag;
fegetround;
feholdexcept;
feraiseexcept;
fesetenv;
fesetexceptflag;
fesetround;
fetestexcept;
feupdateenv;
finite;
finitef;
floor;
floorf;
floorl;
fma;
fmaf;
fmal;
fmax;
fmaxf;
fmaxl;
fmin;
fminf;
fminl;
fmod;
fmodf;
fmodl;
frexp;
frexpf;
frexpl;
gamma;
gamma_r;
gammaf;
gammaf_r;
hypot;
hypotf;
hypotl;
ilogb;
ilogbf;
ilogbl;
j0;
j0f;
j1;
j1f;
jn;
jnf;
ldexpf;
ldexpl;
lgamma;
lgamma_r;
lgammaf;
lgammaf_r;
lgammal;
lgammal_r;
llrint;
llrintf;
llrintl;
llround;
llroundf;
llroundl;
log;
log10;
log10f;
log10l;
log1p;
log1pf;
log1pl;
log2;
log2f;
log2l;
logb;
logbf;
logbl;
logf;
logl;
lrint;
lrintf;
lrintl;
lround;
lroundf;
lroundl;
modf;
modff;
modfl;
nan;
nanf;
nanl;
nearbyint;
nearbyintf;
nearbyintl;
nextafter;
nextafterf;
nextafterl;
nexttoward;
nexttowardf;
nexttowardl;
pow;
powf;
powl;
remainder;
remainderf;
remainderl;
remquo;
remquof;
remquol;
rint;
rintf;
rintl;
round;
roundf;
roundl;
scalb;
scalbf;
scalbln;
scalblnf;
scalblnl;
scalbn;
scalbnf;
scalbnl;
signgam;
significand;
significandf;
significandl;
sin;
sincos;
sincosf;
sincosl;
sinf;
sinh;
sinhf;
sinhl;
sinl;
sqrt;
sqrtf;
sqrtl;
tan;
tanf;
tanh;
tanhf;
tanhl;
tanl;
tgamma;
tgammaf;
tgammal;
trunc;
truncf;
truncl;
y0;
y0f;
y1;
y1f;
yn;
ynf;
local:
*;
};
__fixdfdi; # arm mips
__fixsfdi; # arm mips
__fixunsdfdi; # arm mips
__fixunssfdi; # arm mips
__muldc3; # arm x86 mips

274
libm/libm.mips64.map Normal file
View file

@ -0,0 +1,274 @@
# Generated by genversionscripts.py. Do not edit.
LIBC {
global:
__fe_dfl_env;
__signbit;
__signbitf;
__signbitl;
acos;
acosf;
acosh;
acoshf;
acoshl;
acosl;
asin;
asinf;
asinh;
asinhf;
asinhl;
asinl;
atan;
atan2;
atan2f;
atan2l;
atanf;
atanh;
atanhf;
atanhl;
atanl;
cabs;
cabsf;
cabsl;
cacos;
cacosf;
cacosh;
cacoshf;
carg;
cargf;
cargl;
casin;
casinf;
casinh;
casinhf;
catan;
catanf;
catanh;
catanhf;
cbrt;
cbrtf;
cbrtl;
ccos;
ccosf;
ccosh;
ccoshf;
ceil;
ceilf;
ceill;
cexp;
cexpf;
cimag;
cimagf;
cimagl;
conj;
conjf;
conjl;
copysign;
copysignf;
copysignl;
cos;
cosf;
cosh;
coshf;
coshl;
cosl;
cproj;
cprojf;
cprojl;
creal;
crealf;
creall;
csin;
csinf;
csinh;
csinhf;
csqrt;
csqrtf;
csqrtl;
ctan;
ctanf;
ctanh;
ctanhf;
drem;
dremf;
erf;
erfc;
erfcf;
erfcl;
erff;
erfl;
exp;
exp2;
exp2f;
exp2l;
expf;
expl;
expm1;
expm1f;
expm1l;
fabs;
fabsf;
fabsl;
fdim;
fdimf;
fdiml;
feclearexcept;
fedisableexcept;
feenableexcept;
fegetenv;
fegetexcept;
fegetexceptflag;
fegetround;
feholdexcept;
feraiseexcept;
fesetenv;
fesetexceptflag;
fesetround;
fetestexcept;
feupdateenv;
finite;
finitef;
floor;
floorf;
floorl;
fma;
fmaf;
fmal;
fmax;
fmaxf;
fmaxl;
fmin;
fminf;
fminl;
fmod;
fmodf;
fmodl;
frexp;
frexpf;
frexpl;
gamma;
gamma_r;
gammaf;
gammaf_r;
hypot;
hypotf;
hypotl;
ilogb;
ilogbf;
ilogbl;
j0;
j0f;
j1;
j1f;
jn;
jnf;
ldexpf;
ldexpl;
lgamma;
lgamma_r;
lgammaf;
lgammaf_r;
lgammal;
lgammal_r;
llrint;
llrintf;
llrintl;
llround;
llroundf;
llroundl;
log;
log10;
log10f;
log10l;
log1p;
log1pf;
log1pl;
log2;
log2f;
log2l;
logb;
logbf;
logbl;
logf;
logl;
lrint;
lrintf;
lrintl;
lround;
lroundf;
lroundl;
modf;
modff;
modfl;
nan;
nanf;
nanl;
nearbyint;
nearbyintf;
nearbyintl;
nextafter;
nextafterf;
nextafterl;
nexttoward;
nexttowardf;
nexttowardl;
pow;
powf;
powl;
remainder;
remainderf;
remainderl;
remquo;
remquof;
remquol;
rint;
rintf;
rintl;
round;
roundf;
roundl;
scalb;
scalbf;
scalbln;
scalblnf;
scalblnl;
scalbn;
scalbnf;
scalbnl;
signgam;
significand;
significandf;
significandl;
sin;
sincos;
sincosf;
sincosl;
sinf;
sinh;
sinhf;
sinhl;
sinl;
sqrt;
sqrtf;
sqrtl;
tan;
tanf;
tanh;
tanhf;
tanhl;
tanl;
tgamma;
tgammaf;
tgammal;
trunc;
truncf;
truncl;
y0;
y0f;
y1;
y1f;
yn;
ynf;
local:
*;
};

275
libm/libm.x86.map Normal file
View file

@ -0,0 +1,275 @@
# Generated by genversionscripts.py. Do not edit.
LIBC {
global:
__fe_dfl_env;
__signbit;
__signbitf;
__signbitl;
acos;
acosf;
acosh;
acoshf;
acoshl;
acosl;
asin;
asinf;
asinh;
asinhf;
asinhl;
asinl;
atan;
atan2;
atan2f;
atan2l;
atanf;
atanh;
atanhf;
atanhl;
atanl;
cabs;
cabsf;
cabsl;
cacos;
cacosf;
cacosh;
cacoshf;
carg;
cargf;
cargl;
casin;
casinf;
casinh;
casinhf;
catan;
catanf;
catanh;
catanhf;
cbrt;
cbrtf;
cbrtl;
ccos;
ccosf;
ccosh;
ccoshf;
ceil;
ceilf;
ceill;
cexp;
cexpf;
cimag;
cimagf;
cimagl;
conj;
conjf;
conjl;
copysign;
copysignf;
copysignl;
cos;
cosf;
cosh;
coshf;
coshl;
cosl;
cproj;
cprojf;
cprojl;
creal;
crealf;
creall;
csin;
csinf;
csinh;
csinhf;
csqrt;
csqrtf;
csqrtl;
ctan;
ctanf;
ctanh;
ctanhf;
drem;
dremf;
erf;
erfc;
erfcf;
erfcl;
erff;
erfl;
exp;
exp2;
exp2f;
exp2l;
expf;
expl;
expm1;
expm1f;
expm1l;
fabs;
fabsf;
fabsl;
fdim;
fdimf;
fdiml;
feclearexcept;
fedisableexcept;
feenableexcept;
fegetenv;
fegetexcept;
fegetexceptflag;
fegetround;
feholdexcept;
feraiseexcept;
fesetenv;
fesetexceptflag;
fesetround;
fetestexcept;
feupdateenv;
finite;
finitef;
floor;
floorf;
floorl;
fma;
fmaf;
fmal;
fmax;
fmaxf;
fmaxl;
fmin;
fminf;
fminl;
fmod;
fmodf;
fmodl;
frexp;
frexpf;
frexpl;
gamma;
gamma_r;
gammaf;
gammaf_r;
hypot;
hypotf;
hypotl;
ilogb;
ilogbf;
ilogbl;
j0;
j0f;
j1;
j1f;
jn;
jnf;
ldexpf;
ldexpl;
lgamma;
lgamma_r;
lgammaf;
lgammaf_r;
lgammal;
lgammal_r;
llrint;
llrintf;
llrintl;
llround;
llroundf;
llroundl;
log;
log10;
log10f;
log10l;
log1p;
log1pf;
log1pl;
log2;
log2f;
log2l;
logb;
logbf;
logbl;
logf;
logl;
lrint;
lrintf;
lrintl;
lround;
lroundf;
lroundl;
modf;
modff;
modfl;
nan;
nanf;
nanl;
nearbyint;
nearbyintf;
nearbyintl;
nextafter;
nextafterf;
nextafterl;
nexttoward;
nexttowardf;
nexttowardl;
pow;
powf;
powl;
remainder;
remainderf;
remainderl;
remquo;
remquof;
remquol;
rint;
rintf;
rintl;
round;
roundf;
roundl;
scalb;
scalbf;
scalbln;
scalblnf;
scalblnl;
scalbn;
scalbnf;
scalbnl;
signgam;
significand;
significandf;
significandl;
sin;
sincos;
sincosf;
sincosl;
sinf;
sinh;
sinhf;
sinhl;
sinl;
sqrt;
sqrtf;
sqrtl;
tan;
tanf;
tanh;
tanhf;
tanhl;
tanl;
tgamma;
tgammaf;
tgammal;
trunc;
truncf;
truncl;
y0;
y0f;
y1;
y1f;
yn;
ynf;
local:
*;
};
__muldc3; # arm x86 mips

274
libm/libm.x86_64.map Normal file
View file

@ -0,0 +1,274 @@
# Generated by genversionscripts.py. Do not edit.
LIBC {
global:
__fe_dfl_env;
__signbit;
__signbitf;
__signbitl;
acos;
acosf;
acosh;
acoshf;
acoshl;
acosl;
asin;
asinf;
asinh;
asinhf;
asinhl;
asinl;
atan;
atan2;
atan2f;
atan2l;
atanf;
atanh;
atanhf;
atanhl;
atanl;
cabs;
cabsf;
cabsl;
cacos;
cacosf;
cacosh;
cacoshf;
carg;
cargf;
cargl;
casin;
casinf;
casinh;
casinhf;
catan;
catanf;
catanh;
catanhf;
cbrt;
cbrtf;
cbrtl;
ccos;
ccosf;
ccosh;
ccoshf;
ceil;
ceilf;
ceill;
cexp;
cexpf;
cimag;
cimagf;
cimagl;
conj;
conjf;
conjl;
copysign;
copysignf;
copysignl;
cos;
cosf;
cosh;
coshf;
coshl;
cosl;
cproj;
cprojf;
cprojl;
creal;
crealf;
creall;
csin;
csinf;
csinh;
csinhf;
csqrt;
csqrtf;
csqrtl;
ctan;
ctanf;
ctanh;
ctanhf;
drem;
dremf;
erf;
erfc;
erfcf;
erfcl;
erff;
erfl;
exp;
exp2;
exp2f;
exp2l;
expf;
expl;
expm1;
expm1f;
expm1l;
fabs;
fabsf;
fabsl;
fdim;
fdimf;
fdiml;
feclearexcept;
fedisableexcept;
feenableexcept;
fegetenv;
fegetexcept;
fegetexceptflag;
fegetround;
feholdexcept;
feraiseexcept;
fesetenv;
fesetexceptflag;
fesetround;
fetestexcept;
feupdateenv;
finite;
finitef;
floor;
floorf;
floorl;
fma;
fmaf;
fmal;
fmax;
fmaxf;
fmaxl;
fmin;
fminf;
fminl;
fmod;
fmodf;
fmodl;
frexp;
frexpf;
frexpl;
gamma;
gamma_r;
gammaf;
gammaf_r;
hypot;
hypotf;
hypotl;
ilogb;
ilogbf;
ilogbl;
j0;
j0f;
j1;
j1f;
jn;
jnf;
ldexpf;
ldexpl;
lgamma;
lgamma_r;
lgammaf;
lgammaf_r;
lgammal;
lgammal_r;
llrint;
llrintf;
llrintl;
llround;
llroundf;
llroundl;
log;
log10;
log10f;
log10l;
log1p;
log1pf;
log1pl;
log2;
log2f;
log2l;
logb;
logbf;
logbl;
logf;
logl;
lrint;
lrintf;
lrintl;
lround;
lroundf;
lroundl;
modf;
modff;
modfl;
nan;
nanf;
nanl;
nearbyint;
nearbyintf;
nearbyintl;
nextafter;
nextafterf;
nextafterl;
nexttoward;
nexttowardf;
nexttowardl;
pow;
powf;
powl;
remainder;
remainderf;
remainderl;
remquo;
remquof;
remquol;
rint;
rintf;
rintl;
round;
roundf;
roundl;
scalb;
scalbf;
scalbln;
scalblnf;
scalblnl;
scalbn;
scalbnf;
scalbnl;
signgam;
significand;
significandf;
significandl;
sin;
sincos;
sincosf;
sincosl;
sinf;
sinh;
sinhf;
sinhl;
sinl;
sqrt;
sqrtf;
sqrtl;
tan;
tanf;
tanh;
tanhf;
tanhl;
tanl;
tgamma;
tgammaf;
tgammal;
trunc;
truncf;
truncl;
y0;
y0f;
y1;
y1f;
yn;
ynf;
local:
*;
};