blob: 81cf96ab79f589cd3035c3f2c6158b43a3d8b87a [file] [log] [blame]
Name: Android Crazy Linker
URL: https://chromium.googlesource.com/chromium/src.git/+/master/third_party/android_crazy_linker/
Version: 0
Revision: Forked from https://android.googlesource.com/platform/ndk/+/681f1b744aec1b0888f4c7a68165720db9670300/sources/android/crazy_linker/
Security Critical: no
License: Apache Version 2.0
Description:
Fork of the Android NDK crazy linker.
Local Modifications:
- Forked from:
android/platform/ndk/f96c7168b688f2d8cc99c220e7a40e3739476848
- Add a required license header to a cpp module, missing in the original
- Rolled to:
android/platform/ndk/681f1b744aec1b0888f4c7a68165720db9670300
(Re-add license header to crazy_linker_elf_view.cpp)
- Fix for crbug/373695 (NDK crazy linker: Bug in library file name handling)
- Fix for crbug/386594 (Crazy linker fails to load a browser on MIPS)
- Add support for unpacking packed R_ARM_RELATIVE relocation data.
https://code.google.com/p/chromium/issues/detail?id=385553
- Add support for opening library within a zipfile.
- Fix -Werror=sign-compare error encountered in NDK build.
- Improve permission denied message to mention upgrading from L-preview.
- Fix for crbug/394306 (Chrome crashes during startup ... on Arm64 AAW15)
- Move packed relocation dynamic tags from DT_LOPROC range to DT_LOOS range.
- Add support for x86_64.
- Speculative fix for crbug/397634.
- Implement LEB128 decoding more efficiently.
- Add support for unpacking relative relocations with addends, for arm64.
- Fix phdr_table_get_dynamic_section() call in ElfView::InitUnmapped().
- Fix typo in LOG() call, added in arm64 packed relative relocations change.
- Add an error message for failures where no shared RELRO pages are swapped.
- Remove excess newline from the message added above.
- Avoid mixing size_t and uint32_t in Leb128Decoder::Dequeue().
- Re-order application of relocation sections to match the system linker.
- Add a check whether file is uncompressed in zip file.
- Fix -Wreorder warning (error with -Werror) in class ElfLoader.
- Control static_assert invocations with a new COMPILE_ASSERT macro.
- Fix unit test crash caused by use of deleted data inside an unload callback.
- Fix for crbug/444714 (Chrome_Android: Crash Report - -1DB24FB5)
- Speculative fix for crbug/450659.
- Add basic LD_PRELOAD handling, for crbug/448968.
- Speculative fix for crbug/479220.
- Fix RELRO sharing issue caused by packing relocations.
- Correct fix for crbug/479220 (replace IsSystemLibrary() with caller flags).
- Fix link_map_.l_addr (was load address, should be load bias).
- Convert packed relocation code to handle Android packed relocations.
- Implement a stub __cxa_demangle to avoid linking to LLVM's implementation.
- Change relocation packing constant names for C++ style (cosmetic only).
- Add a Breakpad "guard region" to the start of reserved address space.
- Remove CVE-2011-1149 detection machinery.
- Start zip EOCD signature search at size of EOCD record bytes from file end.
- Add custom operator new(size_t) and operator delete(void*) in order to
reduce the size of the final binaries (24 kiB on ARM, 64 kiB on AARCH4).
- Define CRAZY_DISABLE_R_BRK to disable debugger support.
- Enable integration and unit tests when building with Chromium.
- Support passing system library handles in dlsym() / dlclose() wrappers.
- Improve FileDescriptor class.
- Safer zip parsing code (avoid integer overflows and add range checks).