Meine Linker sind in
/lib{32,64}/ld-2.20.somit symbolischen Links bei
/lib32/ld-linux.so.2 und
/lib64/ld-linux-x86-64.so.2 (zum entsprechenden ld-2.20.so s)
Wenn ich versuche, eine 32-Bit-Binärdatei auszuführen, ist alles in Ordnung. Sie kompilieren gut (ich benutze einen leicht modifizierten gcc specs Datei) und scheinbar gut verlinken, und gut laufen.
Wenn ich es versuche ldd /path/to/example/32bit/binary, Mir wurde gesagt not a dynamic executable. Meines Wissens liegt dies daran, dass kein Linker zum Öffnen der ausführbaren Datei gefunden werden kann.
readelf -l example_binary | grep interpreter gibt [Requesting program interpreter: /lib32/ld-linux.so.2], wie erwartet.
Irgendwelche Ideen, warum dies geschieht / wie ich es beheben kann?
Ps. - "32-Bit-Kompatibilitätsbibliotheken mit sudo apt get ... installieren" ist nicht hilfreich, da apt / pacman / etcetera nicht vorhanden ist. Wenn ich eine bestimmte (32-Bit-) Bibliothek neu installieren muss, ist es hilfreich, wenn ich weiß, dass dies hilfreich ist!
P.p.s - Die von installierten Skriptdateien gcc beim /usr/lib{32,64}/libc.so gruppieren Sie die entsprechenden (realen) libc.so.6 und libc_nonshared.a Dateien, mit der AS_NEEDED ( /lib32/ld-linux.so.2 ) ) am hinteren ende für lib32