Work around b/24465209, do not pack relocation table.
Global flag --pack-dyn-relocs=android is used with clang lld.
For b/24465209, we need to override that with --pack-dyn-relocs=none.
Bug: 80093890
Bug: 24465209
Test: build with USE_CLANG_LLD=true and run dlext.compat_elf_hash_and_relocation_tables
Change-Id: Ic3837446ff0deccf4e66425b39d3b062abcacc5e
diff --git a/libc/Android.bp b/libc/Android.bp
index f0efca3..b68eb7c 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -1772,8 +1772,8 @@
arch: {
arm: {
//TODO: This is to work around b/24465209. Remove after root cause is fixed
+ pack_relocations: false,
ldflags: ["-Wl,--hash-style=both"],
- use_clang_lld: false,
// Don't re-export new/delete and friends, even if the compiler really wants to.
version_script: "libc.arm.map",
@@ -1806,8 +1806,8 @@
},
x86: {
//TODO: This is to work around b/24465209. Remove after root cause is fixed
+ pack_relocations: false,
ldflags: ["-Wl,--hash-style=both"],
- use_clang_lld: false,
// Don't re-export new/delete and friends, even if the compiler really wants to.
version_script: "libc.x86.map",
@@ -1838,8 +1838,8 @@
//TODO (dimitry): This is to work around b/24465209. Remove after root cause is fixed
arch: {
arm: {
+ pack_relocations: false,
ldflags: ["-Wl,--hash-style=both"],
- use_clang_lld: false,
version_script: "libstdc++.arm.map",
},
arm64: {
@@ -1852,8 +1852,8 @@
version_script: "libstdc++.mips64.map",
},
x86: {
+ pack_relocations: false,
ldflags: ["-Wl,--hash-style=both"],
- use_clang_lld: false,
version_script: "libstdc++.x86.map",
},
x86_64: {