Merge "Add support for using the new unwinder."
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",
},
diff --git a/tests/dlfcn_test.cpp b/tests/dlfcn_test.cpp
index 7d9abf9..6d68497 100644
--- a/tests/dlfcn_test.cpp
+++ b/tests/dlfcn_test.cpp
@@ -1432,10 +1432,13 @@
}
// Duplicate these definitions here because they are android specific
-// note that we cannot include <elf.h> because #defines conflict with
-// enum names provided by LLVM.
-#define DT_ANDROID_REL (llvm::ELF::DT_LOOS + 2)
-#define DT_ANDROID_RELA (llvm::ELF::DT_LOOS + 4)
+// - note that we cannot include <elf.h> because #defines conflict with
+// enum names provided by LLVM.
+// - we also don't use llvm::ELF::DT_LOOS because its value is 0x60000000
+// rather than the 0x6000000d we expect
+#define DT_LOOS 0x6000000d
+#define DT_ANDROID_REL (DT_LOOS + 2)
+#define DT_ANDROID_RELA (DT_LOOS + 4)
template<typename ELFT>
void validate_compatibility_of_native_library(const std::string& soname,