NDK_TOOLCHAIN_VERSION=4.6 to ndk-build, or
add --toolchain=arm-linux-androideabi-4.6 when executing
make-standalone-toolchain.sh on the command line. GCC 4.9 remains the
default for 64-bit ABIs.-mstackrealign by default. The
NDK toolchain assumes a 16-byte stack alignment. The tools and options used by default
enforce this rule. A user writing assembly code must make sure to preserve stack
alignment, and ensure that other compilers also comply with this rule.
(GCC bug 38496)-fPIE -pie
when building. In API levels 16 and higher, ndk-build uses PIE
when building. This change has a number of implications, which are discussed
here.
These implications do not apply to shared libraries.--fix-cortex-a53-835769, when
-mfix-cortex-a53-835769 (enabled by default) is specified.
For more information, see
this page and
this pagesscanf/vsscanf hang that occurred in API level
21. The fix itself had been implemented in r10c.
(Issue 77988)-fauto-profile) crash that occurred with GCC 4.9 when
-Os was specified. (Issue 77571)posix_memalign to API level 16. Also, added a prototype in
stdlib.h to API levels 16 to 19.
(Issue 77861.)stdatomic.h so that it includes <atomic> only for
C++11.sys/user.h, and
gl2ext.h, dlext.h, fts.h, sgidefs.h
for API level 21.sys/user.h to rename mxcsr_mask as mxcr_mask,
and to change the data type for u_ar0unsigned long
to struct user_regs_struct*.
sysconf() return value type from int to
long.thumb for LOCAL_ARM_MODE: In
r10d, ndk-build adds LOCAL_LDFLAGS+=-mthumb by default, unless one of the
following conditions applies:LOCAL_ARM_MODE has been set equal to arm.APP_OPTIM=debug and
AndroidManifest.xml containing android:debuggable="true"),
where ARM mode is the default in order to retain compatibility with earlier toolchains.
(Issue 74040)LOCAL_SRC_FILES in ndk-build to use Windows absolute paths.
(Issue 74333)make-standalone-toolchain.sh.
(Issue 74145)System.loadLibrary() transitive
dependencies. (Issue 41790)LOCAL_PCH to improve Clang support. (Issue
77575)