summaryrefslogtreecommitdiff
blob: 6b13e0890d2581cf7d672d3e1637cb20d2ad2ca3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
commit 92d250d387e247029900c9074150f45866b29781
Author: Waldemar Brodkorb <wbx@openadk.org>
Date:   Sun Apr 29 19:34:11 2018 +0200

    Revert "ldconfig: add glibc compatibility fix"
    
    This reverts commit 2a3bb4daf5778c5875674cd26a3c75b3d460a042.
    
    This is breaking ld.so.cache usage. Seen on Gentoo/amd64.
    
    Reported-by: "Anthony G. Basile" <basile@freeharbor.net>

diff --git a/utils/ldconfig.c b/utils/ldconfig.c
index 58939d689..e6b788118 100644
--- a/utils/ldconfig.c
+++ b/utils/ldconfig.c
@@ -184,9 +184,10 @@ static char *readsoname(char *name, FILE *infile, int expected_type,
 		res = readsoname32(name, infile, expected_type, type);
 	else {
 		res = readsoname64(name, infile, expected_type, type);
-
-		// For 64-bit glibc compatibility
-		*type |= FLAG_X8664_LIB64;
+#if 0
+		/* relies on multilib support which we dont have ... */
+		*type |= LIB_ELF64;
+#endif
 	}
 
 	return res;
@@ -757,7 +758,7 @@ void cache_print(void)
 
 	for (fd = 0; fd < header->nlibs; fd++) {
 		printf("\t%s ", strs + libent[fd].sooffset);
-		switch (libent[fd].flags & ~LIB_ELF64 & FLAG_TYPE_MASK) {
+		switch (libent[fd].flags & ~LIB_ELF64) {
 		case LIB_DLL:
 			printf("(libc4)");
 			break;
@@ -770,7 +771,7 @@ void cache_print(void)
 		case LIB_ELF_LIBC5:
 		case LIB_ELF_LIBC6:
 			printf("(libc%d%s)",
-			       (libent[fd].flags & ~LIB_ELF64 & FLAG_TYPE_MASK) + 3,
+			       (libent[fd].flags & ~LIB_ELF64) + 3,
 			       libent[fd].flags & LIB_ELF64 ? "/64" : "");
 			break;
 		default: