diff -Nrup a/elf/dl-load.c b/elf/dl-load.c --- a/elf/dl-load.c 2012-06-06 13:07:41.727524312 -0600 +++ b/elf/dl-load.c 2012-06-06 13:11:19.308681002 -0600 @@ -2093,10 +2093,14 @@ _dl_map_object (struct link_map *loader, soname = ((const char *) D_PTR (l, l_info[DT_STRTAB]) + l->l_info[DT_SONAME]->d_un.d_val); if (strcmp (name, soname) != 0) - continue; +#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; }