-
Notifications
You must be signed in to change notification settings - Fork 258
Changelog r11
Dan Albert edited this page Apr 12, 2016
·
1 revision
We've moved our bug tracker to GitHub: https://github.com/android-ndk/ndk/issues
-
ndk-gdb.py
actually works now. http://i.imgur.com/gHcGr.jpg - Added an optional package name argument to
ndk-gdb
's--attach
flag: https://github.com/android-ndk/ndk/issues/13. - Fixed invalid toolchain paths for 32-bit Windows: https://github.com/android-ndk/ndk/issues/45.
- Fixed the relative path in
ndk-which
: https://github.com/android-ndk/ndk/issues/29. - Fixed use of cygpath for libgcc: http://b.android.com/195486.
-
ndk-gdb.py
actually works now. Had regressed entirely: https://github.com/android-ndk/ndk/issues/3. -
ndk-gdb
works on Mac again: https://github.com/android-ndk/ndk/issues/2. - Added more top level shortcuts for command line tools:
ndk-depends
ndk-gdb
ndk-stack
-
ndk-which
(was previously missing entirely)
- Fixed standalone toolchains for libc++, which were missing
__cxxabi_config.h
. - Fixed help documenation for
--toolchain
inmake-standalone-toolchain.sh
. - Note that
__thread
doesn't actually work as r11 had claimed. The version of Clang we currently ship is missing a bugfix for emulated TLS support.
- PSA: Everyone should be switching to Clang.
- Clang has been updated to 3.8svn (r243773, build 2481030).
- Note that this is now a nearly pure upstream clang.
- Also note that Clang packaged in the Windows 64 NDK is actually 32-bit.
-
Support for emulated TLS.__thread
is now supported by the compiler by emulating ELF TLS with pthread thread-specific data.C++11thread_local
will work in some cases, but will not work for data with non-trivial destructors except when running on Marshmallow (android-23) or newer because those cases require support from libc.Does not yet work with Aarch64 when TLS variables are accessed from a shared library.
-
GCC in the NDK is now deprecated.
- Time to start using Clang if you haven’t already. If you have problems with Clang, please file bugs!
- The NDK will not be upgrading to 5.x, nor will we be accepting non-critical backports.
- Maintenance for miscompiles and internal compiler errors in 4.9 will be handled on a case by case basis.
- GCC 4.8 has been removed. All targets now use GCC 4.9.
- Synchronized with
google/gcc-4_9
to r224707 (from r214835).
- The samples are no longer included in the NDK. They are instead available on GitHub.
- The documentation is no longer included in the NDK. It is instead available on the Android Developer website.
- Make ARM standalone toolchains default to arm7.
- The old behavior can be restored by passing
-target armv5te-linux-androideabi
.
- The old behavior can be restored by passing
- Use
-isystem
for platform includes.- Warnings caused by bionic will no longer break app builds.
- Fixed segfault when throwing exceptions via gabi++ (see http://b.android.com/179410).
- Change libc++’s inline namespace to
std::__ndk1
to prevent ODR issues with platform libc++. - Support for mips64r2 has been partially dropped. The rest will be dropped in the future.
- All libc++ libraries are now built with libc++abi.
- Bump default
APP_PLATFORM
to Gingerbread.- Expect support for Froyo and older to be dropped in a future release.
- Updated gabi++
_Unwind_Exception
struct for 64 bits. - cpufeatures: Detect SSE4.1 and SSE4.2 as well.
- cpufeatures: Detect cpu features on x86_64 as well.
- Update libc++abi to upstream r231075.
- Added native tracing API to android-23.
- Added native multinetwork API to android-23.
-
byteswap.h
,endian.h
,sys/procfs.h
,sys/ucontext.h
,sys/user.h
, anduchar.h
have all been updated from ToT Bionic. -
sys/cdefs.h
has been synchronized across all API levels. - Support for
_WCHAR_IS_8BIT
has been removed. - Fixed
fegetenv
andfesetenv
for arm - Fix end pointer size/alignment of
crtend_*
for mips64 and x86_64 - Removed sed.
- Removed mclinker.
- Removed Perl.
- Removed symbols which are not exported by the current platform libc/m/dl from all versions of NDK libc/m/dl
- libc/m/dl provide versioned symbols starting with v21
- Added Vulkan headers and library to API level 24.
- Unified binutils source between Android and ChromiumOS.
- For full details see https://android-review.googlesource.com/#/c/182865/.
- Gold for aarch64 should now be much more reliable. Use
-fuse-ld=gold
at link time to use gold instead of bfd. The default will likely switch in the next release. - Good linking time improvement for huge binaries for Gold ARM backend (up to 50% linking time reduction for debuggable Chrome Browser).
- New option:
--pic-veneer
. - The 32-bit Windows package no longer contains ld.gold. It is available in
the 64-bit package.
- Current gold no longer builds when targeting 32-bit Windows (causes internal compiler failures in mingw).
- gdb has been updated to version 7.10.
- ndk-gdb has been removed in favor of ndk-gdb.py.
- ndk-gdb.py has been significantly rewritten.
- Performance should be somewhat better.
- Error messages have been significantly improved.
- Relative project paths should always work now.
- Ctrl-C no longer kills the backgrounded gdbserver.
- Improve Windows support.
- Yasm has been updated to version 1.3.0.
- This is not intended to be a comprehensive list of all outstanding bugs.
- x86 ASAN does not currently work. See discussion on https://android-review.googlesource.com/#/c/186276/
- The combination of Clang, x86,
stlport_static
, and optimization levels higher than-O0
causes test failures withdynamic_cast
. See https://android-review.googlesource.com/#/c/185920 - Exception handling will often fail when using
c++_shared
on ARM32. The root cause is incompatibility between the LLVM unwinder used by libc++abi for ARM32 and libgcc. This is not a regression from r10e. - The version of Clang we're shipping is missing a bugfix for emulated TLS. This is already fixed for r12.