How to tell if an executable is 32-bit or 64-bit on x86-64?

Jonathan Berry berryja at gmail.com
Sun Jul 3 04:11:37 UTC 2005


On 7/2/05, Jonathan Ryshpan <jonrysh at pacbell.net> wrote:
> I have an x86-64 system and sometimes need to find out if a library or
> executable is built for 32-bit or 64-bit execution.  On FC3,
>         file foo.so
> would produce a message that would do the job, like this:
>         $ file usr/lib*/libssl3.so
>         /usr/lib/libssl3.so:   ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
>         /usr/lib64/libssl3.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), stripped
> A similar command on FC4 produces something like this:
>         $ file /usr/lib*/libssl3.so
>         /usr/lib/libssl3.so:   data, stripped
>         /usr/lib64/libssl3.so: data, stripped
> which is not very useful.
> 
> What's the best thing to do: Copy FC3 /etc/magic into FC4?  Install the
> latest file utility from the GNU fileutils?
> 
> I have submitted this as a bug to Red Hat Bugzilla.
> 
> jon

Strange, works-for-me:
$ file /usr/lib*/libssl3.so
/usr/lib64/libssl3.so: ELF 64-bit LSB shared object, AMD x86-64,
version 1 (SYSV), stripped
/usr/lib/libssl3.so:   ELF 32-bit LSB shared object, Intel 80386,
version 1 (SYSV), stripped

$ file --version
file-4.13
magic file from /usr/share/file/magic

FC4 x86_64 running the latest FC kernel.

Jonathan

Nice name by-the-way :).




More information about the fedora-list mailing list