Hi

Interesting thread :-/

First up, ICA is not the be all and end all. It's just another tool in the
armory in ensuring a good build. And it's not perfect either..

It's amazing how such a simple concept can apparently be troublesome for
some folks to grasp. I was hoping my scripts would have been enough. Plus
it's all been said before (in the archives). Dan N. seems to have the best
handle on it but apparently he's lacking in CPU cycles. The Alphabetical
proponents should tee him up access to some decent hardware :-)

I hadn't run any ICA builds for a while but this thread prompted me to do
so. Here are the results of a current DIY build (gcc-4.0.2, glibc-2.3.6)

  http://www.diy-linux.org/~greg/ICA/

AFAICT, the displayed differences are all explainable and therefore
acceptable. As mentioned in the archives (and by Ken) the libstdc++
differences are due to randomness in the libstdc++ build due to
symbol mangling and anonymous namespaces:

  http://linuxfromscratch.org/pipermail/lfs-dev/2003-August/036124.html
  http://gcc.gnu.org/ml/gcc/2003-08/msg00472.html

This can be seen with something like so:

$ cmp -lb cmp/iter1/usr/lib/libstdc++.a/locale-inst.o 
cmp/iter2/usr/lib/libstdc++.a/locale-inst.o
131079  67 7    106 F
131080  65 5     64 4
131081 101 A    105 E
131082 106 F    103 C
131083 105 E    103 C
131084  70 8     67 7
131085  63 3    105 E
131086 104 D    106 F
217192  67 7    106 F
217193  65 5     64 4
217194 101 A    105 E
217195 106 F    103 C
217196 105 E    103 C
217197  70 8     67 7
217198  63 3    105 E
217199 104 D    106 F

$ nm cmp/iter1/usr/lib/libstdc++.a/locale-inst.o > 11
$ nm cmp/iter2/usr/lib/libstdc++.a/locale-inst.o > 22

$ diff -u 11 22
--- 11  2005-12-17 10:20:29.000000000 +1100
+++ 22  2005-12-17 10:20:34.000000000 +1100
@@ -1,7 +1,7 @@
 00000008 r .LC4
 00000011 r .LC5
 00000017 r .LC6
-00000000 t 
_GLOBAL__I_.._.._.._.._gcc_4.0.2_libstdc___v3_src_locale_inst.cc_6FCA3617_75AFE83D
+00000000 t 
_GLOBAL__I_.._.._.._.._gcc_4.0.2_libstdc___v3_src_locale_inst.cc_6FCA3617_F4ECC7EF
          U _Unwind_Resume
 00000000 t _Z41__static_initialization_and_destruction_0ii
 00000000 V _ZGVNSt10moneypunctIcLb0EE2idE


Anyhoo, this is all very much old hat :-) IMHO an interesting test these
days would be to binary diff the end results of a system built natively
versus a cross built system.

Regards
Greg
-- 
http://www.diy-linux.org/

-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to