Merge "Switch to LOCAL_SRC_FILES_EXCLUDE"
diff --git a/libc/arch-arm/bionic/setjmp.S b/libc/arch-arm/bionic/setjmp.S
index a119529..464f7d8 100644
--- a/libc/arch-arm/bionic/setjmp.S
+++ b/libc/arch-arm/bionic/setjmp.S
@@ -151,7 +151,10 @@
   // Save core registers.
   add r1, r0, #(_JB_CORE_BASE * 4)
   m_mangle_registers r2
-  stmia r1, {r4-r14}
+
+  // ARM deprecates using sp in the register list for stmia.
+  stmia r1, {r4-r12, lr}
+  str sp, [r1, #(10 * 4)]
   m_unmangle_registers r2
 
   // Save floating-point registers.
@@ -204,7 +207,10 @@
   ldr r3, [r0, #(_JB_SIGFLAG * 4)]
   bic r3, r3, #1
   add r2, r0, #(_JB_CORE_BASE * 4)
-  ldmia r2, {r4-r14}
+
+  // ARM deprecates using sp in the register list for ldmia.
+  ldmia r2, {r4-r12, lr}
+  ldr sp, [r2, #(10 * 4)]
   m_unmangle_registers r3
 
   // Save the return value/address and check the setjmp cookie.
diff --git a/linker/dlfcn.cpp b/linker/dlfcn.cpp
index f1b26c9..93189df 100644
--- a/linker/dlfcn.cpp
+++ b/linker/dlfcn.cpp
@@ -271,7 +271,7 @@
     __libdl_info->local_group_root_ = __libdl_info;
     __libdl_info->soname_ = "libdl.so";
     __libdl_info->target_sdk_version_ = __ANDROID_API__;
-#if defined(__arm__)
+#if defined(__work_around_b_24465209__)
     strlcpy(__libdl_info->old_name_, __libdl_info->soname_, sizeof(__libdl_info->old_name_));
 #endif
   }