From owner-freebsd-hackers@FreeBSD.ORG Thu Nov 25 12:45:50 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 3D4FC106566C for ; Thu, 25 Nov 2010 12:45:50 +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 CB8C98FC0A for ; Thu, 25 Nov 2010 12:45:49 +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 6157E1BC00366; Thu, 25 Nov 2010 12:45:48 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: multipart/signed; boundary=Apple-Mail-200-996819211; protocol="application/pkcs7-signature"; micalg=sha1 From: Erik Cederstrand In-Reply-To: <93FA0AC7-704D-4EB4-A163-FDD8AC915630@cederstrand.dk> Date: Thu, 25 Nov 2010 13:45:48 +0100 Message-Id: References: <93FA0AC7-704D-4EB4-A163-FDD8AC915630@cederstrand.dk> To: Erik Cederstrand X-Mailer: Apple Mail (2.1082) X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: FreeBSD Hackers Subject: Re: Deterministic builds, part 2 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: Thu, 25 Nov 2010 12:45:50 -0000 --Apple-Mail-200-996819211 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Den 25/11/2010 kl. 13.08 skrev Erik Cederstrand: > Symbol tables: > -------------------- > For example, libstand.a shows up in a diff. Looking with objdump, I = see the contained _setjmp.o file has the following symbol table: >=20 > SYMBOL TABLE: > 00000000 l df *ABS* 00000000 = /usr/home/erik/freebsd/head1/src/lib/libstand/i386/_setjmp.S > 00000000 l df *ABS* 00000000 ./machine/asm.h > 00000000 l df *ABS* 00000000 = /home/erik/freebsd/obj1/usr/home/erik/freebsd/head1/src/tmp/usr/include/sy= s/cdefs.h > 00000000 l df *ABS* 00000000 ./machine/asm.h > 00000000 l df *ABS* 00000000 = /usr/home/erik/freebsd/head1/src/lib/libstand/i386/_setjmp.S > 00000000 l df *ABS* 00000000 > 00000000 l df *ABS* 00000000 > 00000000 l df *ABS* 00000000 = /usr/home/erik/freebsd/head1/src/lib/libstand/i386/_setjmp.S > 00000000 l d .text 00000000=20 > 00000000 l d .data 00000000=20 > 00000000 l d .bss 00000000=20 > 00000000 g F .text 0000001d _setjmp > 00000020 g F .text 00000024 _longjmp >=20 > There are absolute paths within SRCDIR and OBJDIR. I'm pretty sure = libarchive.a will still work at runtime if I blow away those = directories. I could really use some help changing the paths to be = relative to SRJ/OBJDIR if that makes sense, or even removing them if = that's better. I have an example of this in _umtx_op_err.po contained in = libpthread_p.a. The object file is created with the following command: cc -DPROF -O2 -pipe -DPTHREAD_KERNEL = -I/usr/home/erik/freebsd/head/src/lib/libthr/../libc/include = -I/usr/home/erik/freebsd/head/src/lib/libthr/thread = -I/usr/home/erik/freebsd/head/src/lib/libthr/../../include = -I/usr/home/erik/freebsd/head/src/lib/libthr/arch/amd64/include = -I/usr/home/erik/freebsd/head/src/lib/libthr/sys = -I/usr/home/erik/freebsd/head/src/lib/libthr/../../libexec/rtld-elf = -I/usr/home/erik/freebsd/head/src/lib/libthr/../../libexec/rtld-elf/amd64 = -I/usr/home/erik/freebsd/head/src/lib/libthr/../libthread_db -Winline = -fexceptions -D_PTHREAD_FORCED_UNWIND -D_PTHREADS_INVARIANTS = -DSYSCALL_COMPAT -std=3Dgnu99 -Wsystem-headers -Werror -Wall = -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes = -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized = -Wno-pointer-sign -c = /usr/home/erik/freebsd/head/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S= -o _umtx_op_err.po This command leaves absolute paths in the symbol table. Erik= --Apple-Mail-200-996819211--