Which version of FreeBSD a binary was compiled for?
Micah
micahjon at ywave.com
Thu Oct 27 20:11:26 PDT 2005
David Kirchner wrote:
> On 10/27/05, Will Maier <willmaier at ml1.net> wrote:
>
>>Must be -- some flag produces unique bits in the executables. I'm a
>>little surprised there isn't (AFAICT) anything descriptive in
>>file(1)'s manpage or /u/s/mi/magic that would explain the
>>discrepancy. Didn't see anything in quick looks through gcc(1) or
>>make(1), either.
>>
>>Weird.
>
>
> It doesn't look like it's done in the magic file. Rather, it's
> something built in to file itself. Check out around line 400 of
> 'readelf.c'.
>
> This doesn't explain how it gets in to the binaries built, though.
Here's some more to think about. I have a simple cpp program I used to
test something a while back. Running file on that executable returns:
trisha% file floatpoint
floatpoint: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD),
for FreeBSD 5.3.0, dynamically linked (uses shared libs), not stripped
I just now recompiled with "c++ floatpoint.cpp" and now:
trisha% file a.out
a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD),
dynamically linked (uses shared libs), not stripped
And compiled with same commandline on the "working" machine:
alexis% file a.out
a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for
FreeBSD 5.4, dynamically linked (uses shared libs), not stripped
I looked at my "env", but I do not see /any/ compiler related variables
set. Is there something up with the compiler itself? My processor?
(Athlon64 in i386 mode)
Later,
Micah
More information about the freebsd-questions
mailing list