summaryrefslogtreecommitdiffstats
path: root/third_party/android_crazy_linker/README.chromium
blob: 565a58f82989c3eea9d750f5a8d06b103e6b1a92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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.