Merge "Ignore pthread_getconcurrency/pthread_setconcurrency."
diff --git a/linker/linker_mips.cpp b/linker/linker_mips.cpp
index cd392dc..71a96e6 100644
--- a/linker/linker_mips.cpp
+++ b/linker/linker_mips.cpp
@@ -142,13 +142,12 @@
 
   // got[0] is the address of the lazy resolver function.
   // got[1] may be used for a GNU extension.
-  // Set it to a recognizable address in case someone calls it (should be _rtld_bind_start).
   // FIXME: maybe this should be in a separate routine?
   if ((flags_ & FLAG_LINKER) == 0) {
-    size_t g = 0;
-    got[g++] = reinterpret_cast<ElfW(Addr)*>(0xdeadbeef);
+    size_t g = 1;
+    // Check for the high bit to determine whether to skip got[1]
     if (reinterpret_cast<intptr_t>(got[g]) < 0) {
-      got[g++] = reinterpret_cast<ElfW(Addr)*>(0xdeadfeed);
+      g++;
     }
     // Relocate the local GOT entries.
     for (; g < mips_local_gotno_; g++) {
@@ -231,6 +230,7 @@
 #define MIPS_AFL_FLAGS1_ODDSPREG 1  // Uses odd-numbered single-prec fp regs
 
 // Some values of fp_abi:        via compiler flag:
+#define MIPS_ABI_FP_ANY    0  // Not tagged or not using any ABIs affected by the differences.
 #define MIPS_ABI_FP_DOUBLE 1  // -mdouble-float
 #define MIPS_ABI_FP_XX     5  // -mfpxx
 #define MIPS_ABI_FP_64A    7  // -mips32r* -mfp64 -mno-odd-spreg
@@ -277,6 +277,7 @@
 #if __mips_isa_rev >= 5
         mips_fpabi == MIPS_ABI_FP_64A    ||
 #endif
+        mips_fpabi == MIPS_ABI_FP_ANY    ||
         mips_fpabi == MIPS_ABI_FP_XX       )) {
     DL_ERR("Unsupported MIPS32 FloatPt ABI %d found in \"%s\"",
            mips_fpabi, get_realpath());