Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Oct 2005 20:11:23 -0700
From:      Micah <micahjon@ywave.com>
To:        David Kirchner <dpk@dpk.net>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Which version of FreeBSD a binary was compiled for?
Message-ID:  <436196DB.9000408@ywave.com>
In-Reply-To: <35c231bf0510271220i2fb3de62g55a80f3d06f03355@mail.gmail.com>
References:  <cb5206420510251524r32ddd9adx7d4fdce8f82a85be@mail.gmail.com>	<17247.39311.203645.265116@jerusalem.litteratus.org>	<cb5206420510260818p664df038g39a1035c747ac315@mail.gmail.com>	<200510262115.48144.krinklyfig@comcast.net>	<cb5206420510270116k27ad6e13r5dd17dbc7323c01f@mail.gmail.com>	<4360DB59.7010900@ywave.com> <20051027154408.GS29508@localdomain>	<43611E22.5030408@ywave.com> <20051027185157.GV29508@localdomain> <35c231bf0510271220i2fb3de62g55a80f3d06f03355@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
David Kirchner wrote:
> On 10/27/05, Will Maier <willmaier@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?436196DB.9000408>