1 |
commit: 4fdf45d8786ac98ac9f1240948453594f3460fba |
2 |
Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Apr 29 19:46:13 2018 +0000 |
4 |
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Apr 29 19:47:12 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4fdf45d8 |
7 |
|
8 |
sys-libs/uclibc-ng: fix ld.so.cache on amd64 |
9 |
|
10 |
Package-Manager: Portage-2.3.24, Repoman-2.3.6 |
11 |
|
12 |
.../files/uclibc-ng-1.0.30-fix-ld.so.cache.patch | 48 ++++++++++++++++++++++ |
13 |
...ng-1.0.30.ebuild => uclibc-ng-1.0.30-r1.ebuild} | 3 ++ |
14 |
2 files changed, 51 insertions(+) |
15 |
|
16 |
diff --git a/sys-libs/uclibc-ng/files/uclibc-ng-1.0.30-fix-ld.so.cache.patch b/sys-libs/uclibc-ng/files/uclibc-ng-1.0.30-fix-ld.so.cache.patch |
17 |
new file mode 100644 |
18 |
index 00000000000..6b13e0890d2 |
19 |
--- /dev/null |
20 |
+++ b/sys-libs/uclibc-ng/files/uclibc-ng-1.0.30-fix-ld.so.cache.patch |
21 |
@@ -0,0 +1,48 @@ |
22 |
+commit 92d250d387e247029900c9074150f45866b29781 |
23 |
+Author: Waldemar Brodkorb <wbx@×××××××.org> |
24 |
+Date: Sun Apr 29 19:34:11 2018 +0200 |
25 |
+ |
26 |
+ Revert "ldconfig: add glibc compatibility fix" |
27 |
+ |
28 |
+ This reverts commit 2a3bb4daf5778c5875674cd26a3c75b3d460a042. |
29 |
+ |
30 |
+ This is breaking ld.so.cache usage. Seen on Gentoo/amd64. |
31 |
+ |
32 |
+ Reported-by: "Anthony G. Basile" <basile@××××××××××.net> |
33 |
+ |
34 |
+diff --git a/utils/ldconfig.c b/utils/ldconfig.c |
35 |
+index 58939d689..e6b788118 100644 |
36 |
+--- a/utils/ldconfig.c |
37 |
++++ b/utils/ldconfig.c |
38 |
+@@ -184,9 +184,10 @@ static char *readsoname(char *name, FILE *infile, int expected_type, |
39 |
+ res = readsoname32(name, infile, expected_type, type); |
40 |
+ else { |
41 |
+ res = readsoname64(name, infile, expected_type, type); |
42 |
+- |
43 |
+- // For 64-bit glibc compatibility |
44 |
+- *type |= FLAG_X8664_LIB64; |
45 |
++#if 0 |
46 |
++ /* relies on multilib support which we dont have ... */ |
47 |
++ *type |= LIB_ELF64; |
48 |
++#endif |
49 |
+ } |
50 |
+ |
51 |
+ return res; |
52 |
+@@ -757,7 +758,7 @@ void cache_print(void) |
53 |
+ |
54 |
+ for (fd = 0; fd < header->nlibs; fd++) { |
55 |
+ printf("\t%s ", strs + libent[fd].sooffset); |
56 |
+- switch (libent[fd].flags & ~LIB_ELF64 & FLAG_TYPE_MASK) { |
57 |
++ switch (libent[fd].flags & ~LIB_ELF64) { |
58 |
+ case LIB_DLL: |
59 |
+ printf("(libc4)"); |
60 |
+ break; |
61 |
+@@ -770,7 +771,7 @@ void cache_print(void) |
62 |
+ case LIB_ELF_LIBC5: |
63 |
+ case LIB_ELF_LIBC6: |
64 |
+ printf("(libc%d%s)", |
65 |
+- (libent[fd].flags & ~LIB_ELF64 & FLAG_TYPE_MASK) + 3, |
66 |
++ (libent[fd].flags & ~LIB_ELF64) + 3, |
67 |
+ libent[fd].flags & LIB_ELF64 ? "/64" : ""); |
68 |
+ break; |
69 |
+ default: |
70 |
|
71 |
diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.30.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild |
72 |
similarity index 99% |
73 |
rename from sys-libs/uclibc-ng/uclibc-ng-1.0.30.ebuild |
74 |
rename to sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild |
75 |
index 3b31357d804..ca35a2cc5bc 100644 |
76 |
--- a/sys-libs/uclibc-ng/uclibc-ng-1.0.30.ebuild |
77 |
+++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild |
78 |
@@ -252,6 +252,9 @@ src_prepare() { |
79 |
# We want to get rid of this and just have ABI = 0. |
80 |
eapply "${FILESDIR}"/uclibc-compat-r1.patch |
81 |
|
82 |
+ # Critical fix for ld.so.cache |
83 |
+ eapply "${FILESDIR}"/${P}-fix-ld.so.cache.patch |
84 |
+ |
85 |
# We need to change the major.minor.sublevel of uclibc-ng. |
86 |
# Upstream sets MAJOR_VERSION = 1 which breaks runtime linking. |
87 |
# If we really want the ABI bump, we'll have to hack the gcc |