5e60c66
diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
5e60c66
--- a/elf/dl-load.c	2012-06-06 13:07:41.727524312 -0600
5e60c66
+++ b/elf/dl-load.c	2012-06-06 13:11:19.308681002 -0600
5e60c66
@@ -2093,10 +2093,14 @@ _dl_map_object (struct link_map *loader,
5e60c66
 	  soname = ((const char *) D_PTR (l, l_info[DT_STRTAB])
5e60c66
 		    + l->l_info[DT_SONAME]->d_un.d_val);
5e60c66
 	  if (strcmp (name, soname) != 0)
5e60c66
-	    continue;
5e60c66
+#ifdef __arm__
5e60c66
+	    if (strcmp (name, "ld-linux.so.3")
5e60c66
+		|| strcmp (soname, "ld-linux-armhf.so.3"))
5e60c66
+#endif
5e60c66
+	      continue;
5e60c66
 
5e60c66
 	  /* We have a match on a new name -- cache it.  */
5e60c66
-	  add_name_to_object (l, soname);
5e60c66
+	  add_name_to_object (l, name);
5e60c66
 	  l->l_soname_added = 1;
5e60c66
 	}
5e60c66