Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Re: Using gcc 4.4.0 to compile Rockbox

Re: Using gcc 4.4.0 to compile Rockbox

From: Thomas Martitz <thomas.martitz_at_fhtw-berlin.de>
Date: Wed, 25 Feb 2009 01:34:55 +0100

Mark Allums schrieb:
> For the fun of it, I created a cross-compiler based on a developer
> snapshot of gcc. It is a successor to 4.3.3, essentially an early
> 4.4.0. I am aware that versions other than 4.0.3 don't work well.
>
> I thought you might like a bit of a report.
>
> The development environment is hosted on a Debian Sid system.
>
> I used the 4.3.3+something gcc to create a portal-player ARM firmware
> for the Sansa e200.
>
> It is based on version r20089-090223 of Rockbox
>
> I got the source for GCC through svn from an official GNU mirror. I
> did not record the release version. It is a quite recent snapshot,
> though.
>
> I used the Rockbox wiki's instructions for a manual build as a checklist.
>
> I did not apply any patches.
>
> I used the Debian source for binutils, v. 2.19.1, but did not apply
> any patches.
>
> I built gdb v. 6.8, but I haven't yet tried to use it.
>
> The resulting firmware works very well, except it crashes when playing
> certain music files.
>
>
> o The voice menu work perfectly
> o The keyclicks work perfectly
> o It can play .ogg Vorbis well.
> o It can play .wav well.
> o It crashes trying to play .mp3 with the error message "Undefined
> instruction at 40018920 (0)"
> o It crashes trying to play .wma with a similar error message.
> o It plays .m4a Apple-encoded songs very well
> o The voice recorder works well.
> o The radio works, and you can record from FM
> o FreeDoom works including sound
> o The screen capture did not behave as expected. Not sure if it is the
> firmware or user error.
> o It plays FLAC lossless perfectly
>
>
> Hope this report helps. What needs to be done to fix the problem?
>
> Mark Allums

I've tried building Rockbox using gcc-4.3.2 and binutils-2.19.1. I have
applied the Rockbox patches. Actually, I just slightly hacked
rockboxdev.sh to make it work. I used gcc-4.3.3 and binutils-2.19.1
(both from the ubuntu jaunty packages repo) to compile the arm compilers.

My experience doesn't differ much, though.

*I get a undefined instruction too with mp3. It turned out, that mp3 on
cop doesn't quite work with that gcc (the undefined instruction is in
math_synth_thread. Mpegplayer worked though (with or without mp3 on
cop). Mp3 works with COP capabilities removed. Ogg works fine, AAC
crashes with data abort (they're Nero encoded). I haven't tried other
codecs.
*The binsize is about 5k higher.
*The |<< button on my fuze does hardly work.
*gcc-4.3 apparently needs extra libs, that 4.0.3 doesn't need (not sure
if they're even interesting for Rockbox), which I needed to compile and
install before.
*screendump doesn't work in the WPS, the upper parts of the bmp show the
main menu.

The rest worked OK, I'd say. I have not made a performance comparison (yet).

I have build a m68k compiler too (and I could probably build a sh one
too), if someone is interested to try a build on such a target.
Received on 2009-02-25


Page was last modified "Jan 10 2012" The Rockbox Crew
aaa