PKGBUILDs/core/glibc/local-soname-hack.diff
2012-07-06 20:02:56 -04:00

19 lines
604 B
Diff

diff -urN a/elf/dl-load.c b/elf/dl-load.c
--- a/elf/dl-load.c 2012-06-30 13:12:34.000000000 -0600
+++ b/elf/dl-load.c 2012-07-06 15:45:51.728813355 -0600
@@ -2081,10 +2081,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;
}