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,