Revision tags: android-11.0.0_r8, android-11.0.0_r7, m/android-11.0.0_r8, android-vts-10.0_r5, android-vts-11.0_r1, android-security-11.0.0_r1, android-platform-11.0.0_r1, android-cts-11.0_r1, android-11.0.0_r5, android-11.0.0_r4, android-11.0.0_r3, android-11.0.0_r2, android-11.0.0_r1, platform-tools-30.0.4, android-mainline-11.0.0_r2, android-r-beta-3, android-r-beta-2, android-mainline-11.0.0_r1 |
|
c3b3e869 | 06-Jun-2020 |
Evgenii Stepanov |
Use PROT_NONE on the unused parts of CFI shadow. This replaces a single 2Gb readable memory region with a bunch of tiny regions, and leaves the bulk of 2Gb mapped but unaccessible. This
Use PROT_NONE on the unused parts of CFI shadow. This replaces a single 2Gb readable memory region with a bunch of tiny regions, and leaves the bulk of 2Gb mapped but unaccessible. This makes it harder to defeat ASLR by probing for the CFI shadow region. Sample CFI shadow mapping with this change: 7165151000-716541f000 ---p 00000000 00:00 0 [anon:cfi shadow] 716541f000-7165420000 r--p 00000000 00:00 0 [anon:cfi shadow] 7165420000-71654db000 ---p 00000000 00:00 0 [anon:cfi shadow] 71654db000-71654dc000 r--p 00000000 00:00 0 [anon:cfi shadow] 71654dc000-71654dd000 r--p 00000000 00:00 0 [anon:cfi shadow] 71654dd000-71654f0000 ---p 00000000 00:00 0 [anon:cfi shadow] 71654f0000-71654f1000 r--p 00000000 00:00 0 [anon:cfi shadow] 71654f1000-71e5151000 ---p 00000000 00:00 0 [anon:cfi shadow] This change degrades CFI diagnostics for wild jumps and casts (i.e. when the target of a CFI check is outside of any known library bounds). This is acceptable, because CFI does not have much to tell about those cases anyway. Such bugs will show up as SEGV_ACCERR crashes inside __cfi_slowpath in libdl.so from now on. Bug: 158113540 Test: bionic-unit-tests/cfi_test.* Test: adb shell cat /proc/$PID/maps | grep cfi Change-Id: I57cbd0d3f87eb1610ad99b48d98ffd497ba214b4
show more ...
|
Revision tags: platform-tools-30.0.3, platform-tools-30.0.2 |
|
eb6c7abd | 15-May-2020 |
Victor Khimenko |
Copy translateSystemPathToApexPath to linker_translate_path.cpp Bug: http://b/156397945 Test: m Merged-In: I33f11b8a6a41475b6cdd65e1ff49b2084c33b197 Change-Id: I33f11b8
Copy translateSystemPathToApexPath to linker_translate_path.cpp Bug: http://b/156397945 Test: m Merged-In: I33f11b8a6a41475b6cdd65e1ff49b2084c33b197 Change-Id: I33f11b8a6a41475b6cdd65e1ff49b2084c33b197 (cherry picked from commit d15229df76e78337532c19d42c01b2c51db8f2f1)
show more ...
|
ccf16024 | 13-May-2020 |
Victor Khimenko |
Allow native_bridge linker to use different APEX from native one Bug: http://b/156397945 Test: dlfcn.dlopen_system_libicuuc_android_api_level_28 with native_bridge Merged-I
Allow native_bridge linker to use different APEX from native one Bug: http://b/156397945 Test: dlfcn.dlopen_system_libicuuc_android_api_level_28 with native_bridge Merged-In: I3ecd929a0c31dda8cd424795f21f6ef472776557 Change-Id: I3ecd929a0c31dda8cd424795f21f6ef472776557 (cherry picked from commit 01790fdc6928a34125f092bbf98e9217a2251fa5)
show more ...
|
Revision tags: android-mainline-10.0.0_r11, platform-tools-30.0.1 |
|
76eb84a4 | 21-Apr-2020 |
Ryan Prichard |
__loader_cfi_fail: acquire g_dl_mutex CfiFail calls find_containing_library, which searches the linker's internal soinfo list, which could be modified by another thread. Bug: ht
__loader_cfi_fail: acquire g_dl_mutex CfiFail calls find_containing_library, which searches the linker's internal soinfo list, which could be modified by another thread. Bug: http://b/150372650 Test: bionic-unit-tests Change-Id: I59024a0a47913caa75702f15ec058b0a360727b5 (cherry picked from commit 172611f5cee5ce1351a83ec9f83e13235d04b008)
show more ...
|
771da6f5 | 21-Apr-2020 |
Ryan Prichard |
android_get_exported_namespace: acquire g_dl_mutex android_get_exported_namespace searches g_exported_namespaces, which isn't modified after process initialization, but it does the searc
android_get_exported_namespace: acquire g_dl_mutex android_get_exported_namespace searches g_exported_namespaces, which isn't modified after process initialization, but it does the search using a new std::string object, and the linker's malloc/free functions aren't thread-safe. (They're protected by the same lock (g_dl_mutex) as the rest of the linker's state.) Bug: http://b/150372650 Test: bionic-unit-tests Change-Id: Iafd12e5ab36ae61f0642aad59939f528d31bda16 (cherry picked from commit c2a93792fc9799d0c2f07f260f52e533e3bd178e)
show more ...
|
Revision tags: platform-tools-30.0.0, android-r-preview-4, android-r-preview-3, android-r-preview-2 |
|
a08c97be | 05-Mar-2020 |
Chih-Hung Hsieh |
Fix bugprone-macro-parentheses warnings Bug: 150783705 Test: WITH_TIDY=1 make This is a cherry-pick of fa658eb094d915a9640a4d0642adee7667f439e7 Change-Id: If47b7adaa5f3
Fix bugprone-macro-parentheses warnings Bug: 150783705 Test: WITH_TIDY=1 make This is a cherry-pick of fa658eb094d915a9640a4d0642adee7667f439e7 Change-Id: If47b7adaa5f3ba3c518fb0be48f0ffdc81d204b2 Merged-In: If47b7adaa5f3ba3c518fb0be48f0ffdc81d204b2
show more ...
|
515a0e2e | 17-Mar-2020 |
Jooyung Han |
Revert "Statically link libdl.a to linker" This reverts commit ec829ed4ea3e0b2e1444ee4dfef660c49e392292. Reason for revert: This workaround is not necessary with ag/10700799
Revert "Statically link libdl.a to linker" This reverts commit ec829ed4ea3e0b2e1444ee4dfef660c49e392292. Reason for revert: This workaround is not necessary with ag/10700799 Change-Id: I2bf469bfe00f3a70e67085abfb3822db6908d522 Bug: 150860940
show more ...
|
ec829ed4 | 06-Mar-2020 |
Jiyong Park |
Statically link libdl.a to linker When libbase is built for an APEX, it uses dlsym to reflectively access liblog symbols that are added in R. This is because the APEX where libbasse
Statically link libdl.a to linker When libbase is built for an APEX, it uses dlsym to reflectively access liblog symbols that are added in R. This is because the APEX where libbasse is packaged into might be running in pre-R devices where the symbols don't exist in liblog.so. This however causes a problem for a static executable in an APEX. Since it is in an APEX, the dlsym is used. But libdl.so which provides dlsym is not available to static executable. Currently, the dynamic linker is the only executable in an APEX that all of its dependencies are statically linked. Fixing the issue by providing fake dlsym by statically linking to libdl.a. Bug: 149569129 Test: m Change-Id: I2e9e45d9876c2d6c878e541715389e6d1ef56996
show more ...
|
Revision tags: platform-tools-29.0.6, android-r-preview-1, android-vts-9.0_r14, android-vts-9.0_r13, android-vts-9.0_r12, android-cts-9.0_r13, android-cts-9.0_r12, android-cts-9.0_r11 |
|
f4e3d42f | 11-Jan-2020 |
Peter Collingbourne |
Delete definitions of __aeabi_unwind_cpp_pr0. These are no longer necessary now that LLVM no longer emits references to this symbol on Android. Bug: 144430859 Merged-In: I6c
Delete definitions of __aeabi_unwind_cpp_pr0. These are no longer necessary now that LLVM no longer emits references to this symbol on Android. Bug: 144430859 Merged-In: I6c43338f755ce5a79e2df36bd3f2006a748fab27 (cherry picked from commit 27c1e220361b0b3ab0b8fae35e8767935e8680ec) Change-Id: I6c43338f755ce5a79e2df36bd3f2006a748fab27
show more ...
|
4c9293f2 | 15-Feb-2020 |
Mitch Phillips |
[GWP-ASan] Export GWP-ASan regions to libdebuggerd. Exports GWP-ASan allocator information callbacks to libdebuggerd so that tombstoned can get information from the GWP-ASan allocator in
[GWP-ASan] Export GWP-ASan regions to libdebuggerd. Exports GWP-ASan allocator information callbacks to libdebuggerd so that tombstoned can get information from the GWP-ASan allocator in the case of a crash. Bug: 135634846 Test: atest bionic-unit-tests Change-Id: Ie16426af55602fb2a76c4e69217773354c365843
show more ...
|
47ddeb1a | 18-Feb-2020 |
Kiyoung Kim |
Merge "Deprecate sys.linker.use_generated_config property" |
1878690f | 12-Feb-2020 |
Kiyoung Kim |
Deprecate sys.linker.use_generated_config property sys.linker.use_generated_config property was introduced at the beginning of linkerconfig development to skip this generated configurati
Deprecate sys.linker.use_generated_config property sys.linker.use_generated_config property was introduced at the beginning of linkerconfig development to skip this generated configuration if it does not work properly during dev. However, linkerconfig development is now completed and is working properly from most of devices, so this property is no longer in use. Therefore deprecating this property as this would not be used. Bug: 149335054 Test: m -j passed Test: No linking error from Cuttlefish and Crosshatch Change-Id: I0a1b3f36b69872862196b1613718a75d482e0a92
show more ...
|
c65b55cd | 14-Feb-2020 |
Ivan Lozano |
Merge "Remove XOM properties." |
14798930 | 14-Feb-2020 |
Elliott Hughes |
Remove unused mips/mips64 code from the linker. Test: treehugger Change-Id: I42f1e4c492ac644cf78e7c1196ba9b3518f9c8f8 |
3e928edc | 12-Feb-2020 |
Ivan Lozano |
Remove XOM properties. XOM is no longer supported by the build system, so remove these properties. Bug: 123034666 Bug: 147300048 Test: Build succeeds. Change-Id: I77
Remove XOM properties. XOM is no longer supported by the build system, so remove these properties. Bug: 123034666 Bug: 147300048 Test: Build succeeds. Change-Id: I77efc98241f45b1a78b1cca5560f64eef5ef22f4
show more ...
|
57e6b861 | 13-Feb-2020 |
Roland Levillain |
Adjust the documentation of `get_ld_config_file_apex_path`. Test: n/a Bug: 147987608 Change-Id: I479a63a2fa7e0975db80fcfdda78d2ee154c53cb |
a399ede4 | 07-Feb-2020 |
Kiyoung Kim |
Merge "Use generated linker config for APEX binaries" |
22fa3dde | 01-Feb-2020 |
Ryan Prichard |
Ignore symbols of imported libs' dependencies When a library is present in a namespace via the secondary_namespaces list (i.e. the executable, LD_PRELOAD, DF_1_GLOBAL, or android_cre
Ignore symbols of imported libs' dependencies When a library is present in a namespace via the secondary_namespaces list (i.e. the executable, LD_PRELOAD, DF_1_GLOBAL, or android_create_namespace inheritance), then we want to search that library's symbols, but not the symbols of its dependencies. Otherwise, we want to search the dependencies to handle cross-NS dependency. Bug: http://b/148569846 Test: bionic unit tests Change-Id: If798d69de28ed5c0f1a155e4ff85c7e08934e531
show more ...
|
fb58744f | 29-Jan-2020 |
Kiyoung Kim |
Use generated linker config for APEX binaries LinkerConfig will start to generate linker configuration for APEX binaries. Linker should check if this generated file exists first, and
Use generated linker config for APEX binaries LinkerConfig will start to generate linker configuration for APEX binaries. Linker should check if this generated file exists first, and use it if exists and otherwise use ld.config.txt under APEX etc. Bug: 147987608 Test: m -j passed Test: Tested with adbd and SWCodec from Cuttlefish and Crosshatch Change-Id: I5a0c28ee1a427adface3e67c8af062e1b2ef6197
show more ...
|
e503383c | 01-Feb-2020 |
Ryan Prichard |
Comment two linker namespace functions Test: it builds Change-Id: I4dee0d4da230bd559319317b504e2c597f814f50 |
272458ee | 24-Jan-2020 |
Ryan Prichard |
Rename dlsym_handle_lookup:6 to dlsym_handle_lookup_impl Rearrange a function to remove a forward declaration. Test: m linker Change-Id: I014eac3319bd6f4c10f8bba50f8006f96bb33dce |
1d8f6f2f | 28-Jan-2020 |
Elliott Hughes |
Merge "Modernize SHT_RELR support." |
6663f552 | 25-Jan-2020 |
Elliott Hughes |
Modernize SHT_RELR support. Until now we've only supported RELR with our own OS-private-use constants. Add support for the official numbers (while maintaining support for the histori
Modernize SHT_RELR support. Until now we've only supported RELR with our own OS-private-use constants. Add support for the official numbers (while maintaining support for the historical numbers). Add tests to ensure we continue to support both indefinitely. We can't yet flip the build system over to using the official constants because the old GNU binutils objcopy we still use in most cases (for the mini-debug section) only supports the historical constants. Bug: http://b/147452927 Test: treehugger Change-Id: If214fce7fade4316115947e90b78ab40864b61f2
show more ...
|
29546b91 | 25-Jan-2020 |
Yifan Hong |
Merge "Make ramdisk_available." |
928c2492 | 23-Jan-2020 |
Ryan Prichard |
Remove an unused code path A static analyzer is complaining that num_valid_bits could be 64, and if it were 64, then two later accesses would be out-of-bounds. is_nul_u64 can't be ze
Remove an unused code path A static analyzer is complaining that num_valid_bits could be 64, and if it were 64, then two later accesses would be out-of-bounds. is_nul_u64 can't be zero, though, because we only exit the loop when part of is_nul is non-zero. Bug: none Test: manual Change-Id: I75c3f70b600aa5478cb32fdf4ca0ae1173b69524
show more ...
|