forked from pool/glibc
053ef854bb
Some cleanups, do not push to factory yet. OBS-URL: https://build.opensuse.org/request/show/114394 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=168
30 lines
1.1 KiB
Diff
30 lines
1.1 KiB
Diff
For backward compatibility with armhf binaries built with the
|
|
old linker SONAME, we need to fake out the linker to believe
|
|
the new is the old, until such a point as everything is rebuilt.
|
|
|
|
Patch for elf/dl-load.c taken from Debian.
|
|
|
|
diff --git a/sysdeps/arm/shlib-versions b/sysdeps/arm/shlib-versions
|
|
index 491dd0a..5464959 100644
|
|
--- a/glibc-ports-2.15/sysdeps/arm/shlib-versions
|
|
+++ b/glibc-ports-2.15/sysdeps/arm/shlib-versions
|
|
@@ -1,4 +1,4 @@
|
|
arm.*-.*-linux-gnueabi.* DEFAULT GLIBC_2.4
|
|
|
|
-arm.*-.*-linux-gnueabi.* ld=ld-linux.so.3
|
|
+arm.*-.*-linux-gnueabi.* ld=ld-linux-armhf.so.3
|
|
arm.*-.*-linux.* ld=ld-linux.so.2
|
|
|
|
--- glibc-2.15/elf/dl-load.c.~1~ 2011-12-30 23:13:56.000000000 +0100
|
|
+++ glibc-2.15/elf/dl-load.c 2012-04-17 15:10:46.235625419 +0200
|
|
@@ -2082,6 +2082,9 @@
|
|
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. */
|