diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2017-09-13 18:58:13 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2017-09-14 04:38:02 +0200 |
commit | 2a3bb4daf5778c5875674cd26a3c75b3d460a042 (patch) | |
tree | a75d4ccd0105d25dc5a6aa6e8c1f24c6ab878429 | |
parent | 490b84a72c8eecf03e8befbdcf973e468f2d310c (diff) |
ldconfig: add glibc compatibility fix
Reported-by: Lauri Kasanen <cand@gmx.com>
-rw-r--r-- | utils/ldconfig.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/utils/ldconfig.c b/utils/ldconfig.c index e6b788118..58939d689 100644 --- a/utils/ldconfig.c +++ b/utils/ldconfig.c @@ -184,10 +184,9 @@ 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); -#if 0 - /* relies on multilib support which we dont have ... */ - *type |= LIB_ELF64; -#endif + + // For 64-bit glibc compatibility + *type |= FLAG_X8664_LIB64; } return res; @@ -758,7 +757,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) { + switch (libent[fd].flags & ~LIB_ELF64 & FLAG_TYPE_MASK) { case LIB_DLL: printf("(libc4)"); break; @@ -771,7 +770,7 @@ void cache_print(void) case LIB_ELF_LIBC5: case LIB_ELF_LIBC6: printf("(libc%d%s)", - (libent[fd].flags & ~LIB_ELF64) + 3, + (libent[fd].flags & ~LIB_ELF64 & FLAG_TYPE_MASK) + 3, libent[fd].flags & LIB_ELF64 ? "/64" : ""); break; default: |