Maverik
Maverik

Reputation: 2398

Command for retrieving for which architecture a library was built

I remember that sometimes ago I was able to understand for which architecture a library (e.g. a .so or .a file) was built.

It was a shell command but now I cannot remember it.

Does somemone know it?

Thanks!

Upvotes: 1

Views: 154

Answers (2)

GreyCat
GreyCat

Reputation: 17104

More possible options:

$ objdump -a /lib/libc.so.6

/lib/libc.so.6:     file format elf64-x86-64
/lib/libc.so.6

$ objdump -f /lib/libc.so.6

/lib/libc.so.6:     file format elf64-x86-64
architecture: i386:x86-64, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x000000000001efc0

Upvotes: 3

Arnaud Le Blanc
Arnaud Le Blanc

Reputation: 99921

Maybe there is a better way, but generally the file command gives this information:

$ file /lib/libuuid.so.1.3.0
/lib/libuuid.so.1.3.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped

You may also try readelf:

readelf -h /lib/libuuid.so.1.3.0

Upvotes: 2

Related Questions