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: > > 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/sys/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 > 00000000 l d .data 00000000 > 00000000 l d .bss 00000000 > 00000000 g F .text 0000001d _setjmp > 00000020 g F .text 00000024 _longjmp > > 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=gnu99 -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