Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Apr 2014 17:45:24 -0400
From:      "John D. Hendrickson and Sara Darnell" <johnandsara2@cox.net>
To:        Warner Losh <imp@bsdimp.com>
Cc:        =?windows-1252?Q?Dag-Erling_Sm=F8rgr?= =?windows-1252?Q?av?= <des@des.no>, Ed Maste <emaste@freebsd.org>, "freebsd-arch@freebsd.org" <arch@freebsd.org>
Subject:   Re: ar and ranlib -D
Message-ID:  <534710F4.1040908@cox.net>
In-Reply-To: <oGHX1n00K2X408g01GHYZ5>
References:  <86eh15usv2.fsf@nine.des.no> <CAPyFy2Ct-GJOy=x2ZwXQJnZdf0BbGm7VmTQcqc1U9Zxzkx7YQg@mail.gmail.com> <oGHX1n00K2X408g01GHYZ5>

next in thread | previous in thread | raw e-mail | index | archive | help
Warner Losh wrote:
> On Apr 10, 2014, at 9:22 AM, Ed Maste <emaste@freebsd.org> wrote:
> 
>> On 10 April 2014 11:06, Dag-Erling Smørgrav <des@des.no> wrote:
>>> The attached patch adds -D to ARFLAGS and introduces RANLIBFLAGS which
>>> defaults to -D.  This ensures that all timestamps inside static
>>> libraries in the base system are hardcoded to 0 (aka the epoch), which
>>> is a huge step towards fully reproducible builds.  Any objections?
>> Looks good to me, I'm not sure why this didn't happen long ago.
> 
> Once upon a time, ranlib didn’t like this too well and complained that
> the index was older than the file. Then it was made a special case. These
> days (and these days includes time since ~1995 or 2000), people
> always rebuild the entire .a anyway, so the value of having a timestamp
> in there is low, at best, so always doing this has become so boring
> that i’m surprised this isn’t the default behavior. Given that we always
> rebuild, though, this change is totally safe.
> 
> Warner
> 
> 
> _______________________________________________
> freebsd-arch@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
> 

i can't confirm a ar needs inner timestamps as an interface dependancy 
  issue or that software depends on this format

however it does make sense IF AND ONLY IF the timestamp are used for 
compilation order dependancy, and compilation is about mapping holes 
by dependancy, it's ok for releasetime AFTER compiling (NOT during 
compiling)

but you all aren't saying you've done any research

but i don't know if any kernels use it with lib version as a link to 
and extended interface or as a flag.  i don't know if any existing 
software crashes if the value is 0.

does install(1) strip this info at the final stage ? never mind

no.  these days people always build such and such a way. bull.

ar is used by assemblers not just gcc(1)

some people insert and remove asm libraries by hand.  all what the job 
requires to get done.

any argument "these days we will only allow".  no.  that's messing up 
what had already worked right ?

ok well good luck




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?534710F4.1040908>