Le 16/03/2012 07:45, Bryan Kadzban a écrit : > Pierre Labastie wrote: >> Le 15/03/2012 04:32, Bryan Kadzban a écrit : >>> This may have been covered in this thread already, but I don't >>> recall anymore -- did you do an ICA run with this change? >> I have not taken the time to directly compare the results of the >> current and revised build methods. Now I have done it, but I do not fully understand what is going on. The comparison between current build and Jeremy's is done in ICA style: First remove all symlinks, Then extract archives into a directory with the same name Then stripping ".o" files from debug symbols and all other binary files from all symbols Then diffing the directories. Here is the result (skipping obvious difference due to times stamps or random bits used in groff documentation or differences in info/dir): ASCII FILES diff: ----------------------------------------------------------------------------------------------------- diff -ur LFS-TEST.TRUNK/usr/lib/libgmpxx.la LFS-TEST.SYSROOT/usr/lib/libgmpxx.la --- LFS-TEST.TRUNK/usr/lib/libgmpxx.la 2012-03-17 15:27:52.000000000 +0100 +++ LFS-TEST.SYSROOT/usr/lib/libgmpxx.la 2012-03-17 16:28:39.000000000 +0100 @@ -17,7 +17,7 @@ inherited_linker_flags=''
# Libraries that this one depends upon. -dependency_libs=' /usr/lib/libgmp.la /usr/lib/libstdc++.la' +dependency_libs=' /usr/lib/libgmp.la /usr/lib/../lib64/libstdc++.la' # Names of additional weak libraries provided by this library weak_library_names='' diff -ur LFS-TEST.TRUNK/usr/lib/libmpc.la LFS-TEST.SYSROOT/usr/lib/libmpc.la --- LFS-TEST.TRUNK/usr/lib/libmpc.la 2012-03-17 15:28:22.000000000 +0100 +++ LFS-TEST.SYSROOT/usr/lib/libmpc.la 2012-03-17 16:29:09.000000000 +0100 @@ -17,7 +17,7 @@ inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' /usr/lib/libmpfr.la /usr/lib/libgmp.la -lm' +dependency_libs=' /usr/lib/libmpfr.la /usr/lib/libgmp.la /usr/lib/libgmp.la -lm' # Names of additional weak libraries provided by this library weak_library_names='' --------------------------------------------------------------------------------------------------- For binary files, I only list files for which readelf -a or objdump -x -s differ. First, all the grub modules differ: Binary files LFS-TEST.TRUNK/usr/lib/grub/i386-pc/acpi.mod and LFS-TEST.SYSROOT/usr/lib/grub/i386-pc/acpi.mod differ Binary files LFS-TEST.TRUNK/usr/lib/grub/i386-pc/affs.mod and LFS-TEST.SYSROOT/usr/lib/grub/i386-pc/affs.mod differ Binary files LFS-TEST.TRUNK/usr/lib/grub/i386-pc/afs.mod and LFS-TEST.SYSROOT/usr/lib/grub/i386-pc/afs.mod differ and so on. A diff of objdump -x -s results give: diff -u acpi.mod.TRUNK acpi.mod.SYSROOT --- acpi.mod.TRUNK 2012-03-17 18:30:01.000000000 +0100 +++ acpi.mod.SYSROOT 2012-03-17 18:29:50.000000000 +0100 @@ -1,6 +1,6 @@ -LFS-TEST.TRUNK/usr/lib/grub/i386-pc/acpi.mod: file format elf32-i386 -LFS-TEST.TRUNK/usr/lib/grub/i386-pc/acpi.mod +LFS-TEST.SYSROOT/usr/lib/grub/i386-pc/acpi.mod: file format elf32-i386 +LFS-TEST.SYSROOT/usr/lib/grub/i386-pc/acpi.mod architecture: i386, flags 0x00000000: start address 0x00000000 @@ -9,17 +9,17 @@ Idx Name Size VMA LMA File off Algn 0 .text 00001030 00000000 00000000 00000034 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .rel.text 00000000 00000000 00000000 00001da0 2**2 + 1 .rel.text 00000000 00000000 00000000 00001064 2**2 CONTENTS, READONLY 2 .rodata 00000108 00000000 00000000 00001064 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 3 .rel.rodata 00000000 00000000 00000000 00001da0 2**2 + 3 .rel.rodata 00000000 00000000 00000000 0000116c 2**2 CONTENTS, READONLY 4 .rodata.str1.1 0000054b 00000000 00000000 0000116c 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 5 .eh_frame 000003f4 00000000 00000000 000016b8 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 6 .rel.eh_frame 00000000 00000000 00000000 00001da0 2**2 + 6 .rel.eh_frame 00000000 00000000 00000000 00001aac 2**2 CONTENTS, READONLY 7 .data 00000000 00000000 00000000 00001aac 2**2 CONTENTS, ALLOC, LOAD, DATA I seems that relocation data is at the end of the file in the TRUNK case while they follow the relevant section in the SYSROOT case. I cannot say why... Then some of the archives (libc_nonshared, libpthread_nonshared) installed by glibc contain ".oS" files, which have the same type of differences (relocation data at the end of the file or of the section for TRUNK or SYSROOT respectively). Then libgmpxx.so.4.2.4 has and rpath of /usr/lib/../lib64 in the SYSROOT case while it has no rpath in the TRUNK case: same problem as between the first and second build of ICA in the TRUNK case. Means the sysroot case builds chapter 6 closer to a second TRUNK build. At last, /var/cache/ldconfig/aux-cache differs, but not ld.so.cache. I am not sure I fully understand this story of relocation data... Regards Pierre -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page