diff -urN a/elf/dl-load.c b/elf/dl-load.c
--- a/elf/dl-load.c	2013-08-10 16:52:55.000000000 -0600
+++ b/elf/dl-load.c	2014-01-17 12:25:32.482819996 -0700
@@ -2105,10 +2105,13 @@
 	  soname = ((const char *) D_PTR (l, l_info[DT_STRTAB])
 		    + l->l_info[DT_SONAME]->d_un.d_val);
 	  if (strcmp (name, soname) != 0)
+#ifdef __arm__
+            if (strcmp(name, "ld-linux.so.3") || strcmp(soname, "ld-linux-armhf.so.3"))
+#endif
 	    continue;
 
 	  /* We have a match on a new name -- cache it.  */
-	  add_name_to_object (l, soname);
+	  add_name_to_object (l, name);
 	  l->l_soname_added = 1;
 	}