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