EmbDev.net

Forum: ARM programming with GCC/GNU tools WinARM vs Yagarto


von Joe D. (jdupre)


Rate this post
useful
not useful
I'm comparing WinARM (20060606) and Yagarto (20080928) with identical
build options on the same project.  I find that the ELF produced is
similar in file size, but when it comes to creating a binary,
arm-elf-objcopy from yagarto produces a binary that is 2.5 times larger
than WinARM.  Why is this?

von Martin T. (mthomas) (Moderator)


Rate this post
useful
not useful
Joe Dupre wrote:
> I'm comparing WinARM (20060606) and Yagarto (20080928) with identical
> build options on the same project.  I find that the ELF produced is
> similar in file size, but when it comes to creating a binary,
> arm-elf-objcopy from yagarto produces a binary that is 2.5 times larger
> than WinARM.  Why is this?

Maybe there are "holes" since the are values in the load-image which
should not be there (i.e. for locations in RAM). Open the binary with a
hex-editor an see if there are very long sequences of the same value and
create a hex-file and look for larger steps in the addresses. WinARM
2006006 uses a rather old version of the binutils the ones in the
current Yagarto are much newer. Check the linker-scrip for a correct
entry-setting and "noload" for sections which should not go into the
load-image (i.e. sections for "heap" and "stack").

If nothing helps create two minimal but complete examples which show the
difference and attach them to a message here include the output of
objdump, the symbol-file and the map-file created during the two builds
if possible.

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.