Linux: Architektur einer lib herausfinden?



  • Ich habe hier statische Bibliotheken (*.a). Gibt es eine Möglichkeit (= Terminalbefehl) herauszufinden, für welche Architektur diese Bibliotheken erstellt wurden?

    Also z.B. x86, x64, arm?



  • objdump -f?



  • file lib.a



  • file file schrieb:

    file lib.a

    Das führt leider nicht zum gewünschten Ergebnis. Objdump schon:

    $ file libgcc.a
    libgcc.a: current ar archive
    $ objdump -f libgcc.a
    In archive libgcc.a:
    
    __dummy.o:     file format elf32-i386
    architecture: i386, flags 0x00000011:
    HAS_RELOC, HAS_SYMS
    start address 0x00000000
    
    [...]
    

    Was noch ginge wäre das entpacken des Archivs:

    $ ar x libgcc.a __dummy.o
    $ file __dummy.o
    __dummy.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
    

    Aber das wäre wieder recht aufwändig.


Log in to reply