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: {
diff --git a/libdl/Android.bp b/libdl/Android.bp
index 9d97957..d5f8e70 100644
--- a/libdl/Android.bp
+++ b/libdl/Android.bp
@@ -49,8 +49,8 @@
arch: {
arm: {
version_script: "libdl.arm.map",
+ pack_relocations: false,
ldflags: ["-Wl,--hash-style=both"],
- use_clang_lld: false,
},
arm64: {
version_script: "libdl.arm64.map",
@@ -62,11 +62,11 @@
version_script: "libdl.mips64.map",
},
x86: {
+ pack_relocations: false,
ldflags: [
"-Wl,--exclude-libs=libgcc_eh.a",
"-Wl,--hash-style=both",
],
- use_clang_lld: false,
version_script: "libdl.x86.map",
},
x86_64: {
diff --git a/libm/Android.bp b/libm/Android.bp
index 76bbca3..9566d5f 100644
--- a/libm/Android.bp
+++ b/libm/Android.bp
@@ -293,8 +293,8 @@
],
},
instruction_set: "arm",
+ pack_relocations: false,
ldflags: ["-Wl,--hash-style=both"],
- use_clang_lld: false,
version_script: "libm.arm.map",
},
@@ -421,8 +421,8 @@
],
},
local_include_dirs: ["i387"],
+ pack_relocations: false,
ldflags: ["-Wl,--hash-style=both"],
- use_clang_lld: false,
version_script: "libm.x86.map",
},