This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

More info: Binary built on different platforms with exact same tools different?



On Dec 17, 2007, at 4:43 PM, Rick Mann wrote:


Hi. I've built an xscale-elf toolchain from gcc-4.2.2, binutils-2.17, newlib-1.15.0. I've used the exact same build procedure on both Mac OS X 10.5 (gcc-4.0.1-based) and Cygwin (gcc 3.4-based).

Then I built our code and stripped the resulting binary with objcopy on each platform.

Both binaries seem to run the same.

However, cmp shows many differences between the two resulting binaries. Here are a few:

$ cmp -l ~/h h | head -10
    77  21  63
    81  32  74
    85  27  71
    97 370 220
    98 162 163
   101 134 364
   105 134 364
   141   4  15
   143  55 240
   144 345 341


Are these differences something to worry about?

I've disassembled the .elf files, and here are some of the differences:


Mac OS X:

8000804c <loop>:
8000804c:	eb00a933 	bl	80032520 <_init>
80008050:	eb000c3c 	bl	8000b148 <main>
80008054:	eb00a939 	bl	80032540 <_fini>
80008058:	eaffffe8 	b	80008000 <//.>
8000805c:	e89da800 	ldmia	sp, {fp, sp, pc}
...
80008060 <bss_start>:
80008060:	80047390 	mulhi	r4, r0, r3

80008064 <bss_end>:
80008064:	803a51f4 	ldrhisht	r5, [sl], -r4


Cygwin:


8000804c <loop>:
8000804c:	eb00a911 	bl	80032498 <_init>
80008050:	eb000c1a 	bl	8000b0c0 <main>
80008054:	eb00a917 	bl	800324b8 <_fini>
80008058:	eaffffe8 	b	80008000 <//.>
8000805c:	e89da800 	ldmia	sp, {fp, sp, pc}
...
80008060 <bss_start>:
80008060:	800472f8 	strhid	r7, [r4], -r8

80008064 <bss_end>:
80008064:	803a515c 	eorhis	r5, sl, ip, asr r1


Some functions are placed in different order, too.


I'm trying to ensure that all our developers build identical binaries.

TIA,
--
Rick





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]