Mes liens sont dans
/lib{32,64}/ld-2.20.so
, avec des liens symboliques à
/lib32/ld-linux.so.2
et
/lib64/ld-linux-x86-64.so.2
(aux ld-2.20.so
s appropriés)
Lorsque j'essaie d'exécuter un binaire 32 bits, tout se passe bien. Ils se compilent bien (j'utilise un fichier specs
gcc légèrement modifié) et se lient apparemment bien, et s'exécutent bien.
Lorsque j'essaie ldd /chemin/vers/exemple/binaire/32bit
, on me dit pas un exécutable dynamique
. Je pense que cela est dû au fait de ne pas trouver de lien pour ouvrir l'exécutable.
readelf -l exemple_binaire | grep interpreter
donne [Demande de l'interpréteur de programme: /lib32/ld-linux.so.2]
, comme prévu.
Des idées sur la raison de ce problème ou comment je peux le résoudre ?
P.S. - "Installer des bibliothèques de compatibilité 32 bits en utilisant sudo apt get ... " n'est pas utile, car je n'ai pas apt/pacman/etc. Si je dois réinstaller une bibliothèque spécifique (32 bits), alors savoir cela serait utile !
P.P.S. - Les fichiers de script installés par gcc
à /usr/lib{32,64}/libc.so
regroupent les fichiers libc.so.6
(réels) et libc_nonshared.a
appropriés, avec le AS_NEEDED ( /lib32/ld-linux.so.2 ) )
à la fin pour lib32