platform_bionic/libm
Jiyong Park c45fe9f7bd Add stubs variants for bionic libs
Bionic libs are part of the runtime APEX (com.android.runtime). In order
to be able to update the runtime APEX independetly from the platform, we
have to prevent things outside of the APEX from using bionic symbols
that are not guaranteed to be stable. Otherwise, platform could break
when a symbol is removed from the libs via the APEX update.

To achive this goal, this change adds stubs variant to the bionic libs.
With this, things outside of the runtime APEX (i.e. other APEXes and the
platform) are built with the stubs variants that provide only the
symbols that are guaranteed to be stable.

The set of symbols are basically the same as the symbols available to
NDK clients. However, there are a few additional symbols that are not
available for NDK but should be made available for platform components.
They are marked with "# apex" tag. Symbols with that tag are not exposed
to apps (via NDK stubs) or vendors (via LLNDK stubs).

Note that the stubs is a build-time only artifact. It is used just to
break the build when private symbols are used outside of the runtime
APEX. At runtime, the real library in the APEX is used.

Bug: 120266448
Test: m
Test: m bionic-unit-tests
Change-Id: I7b8d75830c81d7d7d54e2fca21a85b3417531b47
2019-01-04 22:29:36 +09:00
..
amd64 Move math headers in with the other headers. 2016-04-02 08:36:33 -07:00
arm Remove ARM/MIPS fenv duplication. 2018-08-30 09:26:43 -07:00
arm64 Use builtins for ceil/floor/rint/trunc on arm64 2017-12-11 02:50:54 -05:00
i387 Make it possible to build bionic with -I instead of -isystem. 2016-07-22 13:12:53 -07:00
mips Remove ARM/MIPS fenv duplication. 2018-08-30 09:26:43 -07:00
upstream-freebsd Update to FreeBSD libm r336665. 2018-07-24 10:36:00 -07:00
upstream-netbsd/lib/libm Update to FreeBSD libm r336665. 2018-07-24 10:36:00 -07:00
x86 Minor copyright header unification. 2016-10-24 12:57:55 -07:00
x86_64 Minor copyright header unification. 2016-10-24 12:57:55 -07:00
Android.bp Add stubs variants for bionic libs 2019-01-04 22:29:36 +09:00
builtins.cpp Revert "arm64: Use builtin for nearbyintf/nearbyint" 2018-09-05 22:29:28 +00:00
digittoint.c Upgrade libm. 2013-02-01 14:51:19 -08:00
fake_long_double.c Use double-precision routines from arm-optimized-routines 2018-08-09 11:22:24 -03:00
fpmath.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
freebsd-compat.h Update to FreeBSD libm r336665. 2018-07-24 10:36:00 -07:00
libm.map.txt Add missing libm introduced=26 annotations. 2017-08-29 11:45:31 -07:00
MODULE_LICENSE_BSD_LIKE Initial Contribution 2008-10-21 07:00:00 -07:00
signbit.cpp Remove some legacy declarations from <math.h>. 2017-10-19 14:15:31 -07:00
significandl.c Clean-up _fpmath and fake_long_doubles 2014-04-23 19:03:06 +01:00