ver tag metadatos exiftool archivo linux elf

linux - tag - ¿Cómo puedo obtener la arquitectura de un archivo ''.a''?



mp3 tag linux (5)

Tengo un archivo .a del que quiero obtener información de arquitectura. La ejecución del file myFile.a da file myFile.a resultado file myFile.a file.a: current ar archive . ¿Cómo puedo obtener más información sobre qué arquitectura contiene el archivo?


También puede omitir el comando ar y usar readelf , a través de algo como:

readelf -h <archive>.a | grep ''Class/|File/|Machine''

[00:32:15] /usr/lib $ readelf -h libxslt.a | grep ''Class/|File/|Machine'' File: libxslt.a(attrvt.o) Class: ELF32 Machine: Intel 80386 File: libxslt.a(xslt.o) Class: ELF32 Machine: Intel 80386 ... #Trimmed this, it goes on a bit File: libxslt.a(transform.o) Class: ELF32 Machine: Intel 80386 File: libxslt.a(security.o) Class: ELF32 Machine: Intel 80386 [00:32:24] /usr/lib $

En caso de que sea relevante, aquí está la otra información que puede obtener de readelf -h . Acabo de recortar lo anterior con grep , obviamente:

File: libxslt.a(security.o) ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2''s complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: REL (Relocatable file) Machine: Intel 80386 Version: 0x1 Entry point address: 0x0 Start of program headers: 0 (bytes into file) Start of section headers: 2548 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 0 (bytes) Number of program headers: 0 Size of section headers: 40 (bytes) Number of section headers: 16 Section header string table index: 13

Esa salida es para uno de los archivos de objeto en libxslt.a , pero proporciona la misma información para cada archivo.


Utilizar

lipo -info libExample.a

Será para quién la arquitectura que construye. Otras funciones como el otool o el archivo no dan la respuesta exacta y, a veces, se detallan para obtener la información correcta.


Yo sugeriría usar objdump en lugar de lipo. objdump proporciona información detallada que lipo.



objdump es otra opción:

objdump -a file.a|grep ''file format''