From owner-freebsd-hackers@FreeBSD.ORG Fri Nov 12 14:13:39 2010 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F3B331065670 for ; Fri, 12 Nov 2010 14:13:38 +0000 (UTC) (envelope-from erik@cederstrand.dk) Received: from csmtp1.one.com (csmtp1.one.com [195.47.247.21]) by mx1.freebsd.org (Postfix) with ESMTP id 899D78FC1C for ; Fri, 12 Nov 2010 14:13:38 +0000 (UTC) Received: from [192.168.0.22] (0x573fa596.cpe.ge-1-1-0-1109.ronqu1.customer.tele.dk [87.63.165.150]) by csmtp1.one.com (Postfix) with ESMTP id F0E5A1BC00AF9; Fri, 12 Nov 2010 14:13:36 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1081) Content-Type: multipart/signed; boundary=Apple-Mail-2047--121112209; protocol="application/pkcs7-signature"; micalg=sha1 From: Erik Cederstrand In-Reply-To: <20101022100134.GL19295@acme.spoerlein.net> Date: Fri, 12 Nov 2010 15:13:36 +0100 Message-Id: <8B6E3E35-68AF-42ED-98CF-E2A4448DAA11@cederstrand.dk> References: <718D8E86-EA2E-4D07-BAFF-5D8D093FD296@cederstrand.dk> <20101011084733.GM2392@deviant.kiev.zoral.com.ua> <95F3B27C-42E6-4267-9965-AC3219310C35@cederstrand.dk> <20101021175748.GD19295@acme.spoerlein.net> <20101022100134.GL19295@acme.spoerlein.net> To: =?iso-8859-1?Q?Ulrich_Sp=F6rlein?= X-Mailer: Apple Mail (2.1081) X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: FreeBSD Hackers Subject: Re: Deterministic builds? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Nov 2010 14:13:39 -0000 --Apple-Mail-2047--121112209 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=iso-8859-1 Den 22/10/2010 kl. 12.01 skrev Ulrich Sp=F6rlein: > Why do you make this a requirement? Of course it's usually easier to > build different releases from different source directories, but I = think > requiring the following conditions are fine: >=20 > 1. If you build a specific svn revision, > 2. sitting in /usr/src with > 3. the default make.conf (ie., no special flags, no frobbing of = OBJDIR) > 4. at different times >=20 > then you get the same binaries. >=20 > Let's start with an achievable, not-so-intrusive goal, right? :) Ok, here's a new attempt with SRCDIR and OBJDIR constant between the two = builds. This time, /boot/kernel/kernel, /boot/loader, /boot/pxeboot and = /boot/zfsloader differ. According to strings(1), the only difference is = the timestamp. E.g. the kernel: < @(#)FreeBSD 9.0-CURRENT #0 r215143: Thu Nov 11 22:58:34 CET 2010 < FreeBSD 9.0-CURRENT #0 r215143: Thu Nov 11 22:58:34 CET 2010 --- > @(#)FreeBSD 9.0-CURRENT #0 r215143: Thu Nov 11 23:29:17 CET 2010 > FreeBSD 9.0-CURRENT #0 r215143: Thu Nov 11 23:29:17 CET 2010 Since the SVN rev. is recorded, I think a timestamp is redundant. Any = ideas where I can disable the timestamps in the source? Also, /usr/bin/[clang|clang++|tblgen] differ, i.e.: 248735,248736c248735,248736 < = N135_GLOBAL__N__usr_home_erik_freebsd_head_src_lib_clang_libllvmcore_.._..= _.._contrib_llvm_lib_VMCore_PrintModulePass.cpp_00000000_E8B12D4D15PrintMo= dulePassE < = N135_GLOBAL__N__usr_home_erik_freebsd_head_src_lib_clang_libllvmcore_.._..= _.._contrib_llvm_lib_VMCore_PrintModulePass.cpp_00000000_E8B12D4D17PrintFu= nctionPassE --- > = N135_GLOBAL__N__usr_home_erik_freebsd_head_src_lib_clang_libllvmcore_.._..= _.._contrib_llvm_lib_VMCore_PrintModulePass.cpp_00000000_BDCFB9C615PrintMo= dulePassE > = N135_GLOBAL__N__usr_home_erik_freebsd_head_src_lib_clang_libllvmcore_.._..= _.._contrib_llvm_lib_VMCore_PrintModulePass.cpp_00000000_BDCFB9C617PrintFu= nctionPassE I'm not sure what to do with this except pass it on to the LLVM lists. Erik= --Apple-Mail-2047--121112209--