Similar tools builds show markedly different performance?

Rick Mann rmann@latencyzero.com
Wed Jan 9 15:16:00 GMT 2008


I've been building tools targeting the Marvell Xscale processor a lot  
lately. A set of tools I build a few months ago seem to generate much  
faster code on our target hardware than tools I built more recently.  
There were some significant differences in the way the tools were  
built, but it doesn't seem like that's enough to explain the  
difference. Unfortunately, I don't remember exactly how I built the  
older toolchain, so I'm hoping someone can help me determine what it  
was by looking at the build result.

Old tools:

$ arm-elf-gcc -v
Using built-in specs.
Target: arm-elf
Configured with: ../configure --prefix=/usr/local/arm3 --target=arm- 
elf --with-newlib --with-cpu=xscale --enable-languages=c,c++
Thread model: single
gcc version 4.2.1

$ arm-elf-ld --version
GNU ld (GNU Binutils) 2.18

How do I tell what version of newlib is installed (I think it's 1.15)?

Built using a multistep process, where I first built binutils, then  
gcc, then newlib (I don't recall if I did a stage 1 GCC build first,  
but somehow I got it all working).


The latest tools are slightly different, and built with a combined  
tree build:

gcc-4.2.2
binutils-2.17
newlib-1.15

$ xscale-elf-gcc -v
Using built-in specs.
Target: xscale-elf
Configured with: ../combined/configure --target=xscale-elf --disable- 
nls --with-newlib --prefix=/usr/local/gcc-xscale-elf --disable-newlib- 
supplied-syscalls
Thread model: single
gcc version 4.2.2



I'm sorry I can't provide better information, but I'd really like to  
figure this out. The code doesn't call into the standard C library,  
but does make use of a lot of floating point code. Is it possible that  
this code is better with the other tools (either built more optimized,  
or generally different)? I don't know I'm just speculating. It is C++  
code (bouncing balls on a screen, the balls are object instances).

Thanks for any help!

-- 
Rick



More information about the Gcc-help mailing list