diff options
author | Dan Albert <danalbert@google.com> | 2015-12-16 10:39:54 -0800 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2015-12-16 10:39:54 -0800 |
commit | 5f20e707bdb68a0036be55e63c0654a3c2446355 (patch) | |
tree | eb5b666b3cffed413d3f1ba9e6b35f0deae9f9bd /CHANGELOG.md | |
parent | 69f925257d645616f1f24268b4180b8ee6ae676f (diff) | |
download | ndk-5f20e707bdb68a0036be55e63c0654a3c2446355.tar.gz |
Add a changelog for the current release.
Change-Id: Id9def30fbcf712e202e3980e50730ffaebefa2bc
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r-- | CHANGELOG.md | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..255e847ee --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,133 @@ +Changelog for NDK Build 2490520 +=============================== + +TODO(danalbert): Link to bug tracker. + +Clang +----- + + * **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++11 `thread_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 +--- + + * **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). + +NDK +--- + + * 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]. + * The layout of the NDK has changed quite a bit. This was to facilitate + splitting the many components into their own packages. + * This is likely to cause some disruption during the transition from r10 + for anyone not using `ndk-build` or `make-standalone-toolchain.sh`, as + the compilers have moved. + * Make ARM standalone toolchains default to arm7. + * The old behavior can be restored by passing + `-target armv5te-linux-androideabi`. + * 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`, and + `uchar.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` and `fesetenv` for arm + * Fix end pointer size/alignment of `crtend_*` for mips64 and x86\_64 + * Removed sed. + * Removed mclinker. + * Removed Perl. + +Binutils +-------- + + * 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`. + +GDB +--- + +TODO(jmgao) + +Yasm +---- + + * Yasm has been updated to version 1.3.0. + +Known Issues +------------ + + * 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 with `dynamic_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. + +What's Next? +------------ + +A significant proportion of the changes that went into this release were +organizational changes to the build and to the package layout. The reason for +this is that we will soon be integrating the NDK into the Android SDK manager as +several distinct components. The motivations for this change are: + + * No wasted bandwidth or disk space on unneeded pieces. Do you really need 14 + compilers? With the modular NDK you can download just the one Clang, or a + single set of GCCs. + * Easier updating. Just launch the SDK manager and install the updates rather + than downloading an entire new NDK. + * Quicker updates. In the future we’ll be able to release just a portion of the + NDK on a quicker schedule. No more waiting for the next big release for a + handful of bug fixes or a compiler update. + +The integration with the SDK manager should happen Soon™. + +[GitHub]: https://github.com/googlesamples/android-ndk +[Android Developer website]: http://developer.android.com/ndk/index.html |