Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Nov 2010 13:45:48 +0100
From:      Erik Cederstrand <erik@cederstrand.dk>
To:        Erik Cederstrand <erik@cederstrand.dk>
Cc:        FreeBSD Hackers <hackers@FreeBSD.org>
Subject:   Re: Deterministic builds, part 2
Message-ID:  <A5980D57-068C-4BA9-9BDB-79C8015468D9@cederstrand.dk>
In-Reply-To: <93FA0AC7-704D-4EB4-A163-FDD8AC915630@cederstrand.dk>
References:  <93FA0AC7-704D-4EB4-A163-FDD8AC915630@cederstrand.dk>

next in thread | previous in thread | raw e-mail | index | archive | help

--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 <command-line>
> 00000000 l    df *ABS*  00000000 <built-in>
> 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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A5980D57-068C-4BA9-9BDB-79C8015468D9>