GCC packages for reliable MaverickCrunch code generation

Martin Guy <martinwguy@yahoo.it>
8 September 2009


Here are packages of the GCC C compiler modified to produce reliable code for the MaverickCrunch floating point unit.

They run on, and generate code for, the armv4t EABI architecture as used in the Debian "armel", Gentoo embedded and Ångström GNU/Linux distributions among others.

To generate the fastest code, I use:

    gcc-4.3-crunch -mcpu=ep9312 -mfpu=maverick -mfloat-abi=softfp -ffast-math -O

Status

The 20090908 version has no known bugs for C. It doesn't restore floating point variables held in registers across a setjmp/longjmp call but that's a glibc issue.

Installation

On Debian "armel" systems, download the .deb file and say, as root, dpkg -i *.deb
The Debian package names are gcc-4.2-crunch and gcc-4.3-crunch in case you should wish to remove them later with dpkg -r

On other ARM Linux EABI systems, download the .tgz file and unpack it in the root directory with tar xzf *.tgz -C /

They install under /usr/local/{bin,lib,libexec} and do not affect the main system compilers.

For further details about them, as well as instructions for how to build the compiler from source, see martinwguy.co.uk/martin/crunch.

Download

Here are installable tarballs and Debian packages for the compiler and the corresponding patches to the GCC source code.

-rw-r--r-- 1 martin     1101 2009-03-20 17:45:37 README
-rw-r--r-- 1 martin     1846 2009-09-11 17:11:35 ChangeLog
-rw-r--r-- 1 martin    22611 2009-08-09 18:33:43 gcc-4.2.4-crunch-patches-20090809.tar.gz
-rw-r--r-- 1 martin    23650 2009-09-08 14:25:36 gcc-4.2.4-crunch-patches-20090908.tar.gz
-rw-r--r-- 1 martin  3822432 2009-08-09 18:39:39 gcc-4.2-crunch_4.2.4-20090809_armel.deb
-rw-r--r-- 1 martin  3834405 2009-08-09 18:33:42 gcc-4.2-crunch_4.2.4-20090809_armel.tgz
-rw-r--r-- 1 martin  3822334 2009-09-08 14:27:32 gcc-4.2-crunch_4.2.4-20090908_armel.deb
-rw-r--r-- 1 martin  3834415 2009-09-08 14:25:36 gcc-4.2-crunch_4.2.4-20090908_armel.tgz
-rw-r--r-- 1 martin    24310 2009-03-20 17:18:43 gcc-4.3.3-crunch-patches-20090319.tar.gz
-rw-r--r-- 1 martin    24424 2009-03-22 16:42:00 gcc-4.3.3-crunch-patches-20090322.tar.gz
-rw-r--r-- 1 martin    24051 2009-03-27 19:26:04 gcc-4.3.3-crunch-patches-20090327.tar.gz
-rw-r--r-- 1 martin    23904 2009-08-09 23:48:44 gcc-4.3.4-crunch-patches-20090809.tar.gz
-rw-r--r-- 1 martin    25061 2009-09-11 17:08:14 gcc-4.3.4-crunch-patches-20090908.tar.gz
-rw-r--r-- 1 martin  4548726 2009-03-20 18:07:49 gcc-4.3-crunch_4.3.3-20090319_armel.deb
-rw-r--r-- 1 martin  4568984 2009-03-20 17:18:43 gcc-4.3-crunch_4.3.3-20090319_armel.tgz
-rw-r--r-- 1 martin  4728358 2009-03-22 16:49:31 gcc-4.3-crunch_4.3.3-20090322_armel.deb
-rw-r--r-- 1 martin  4751603 2009-03-22 16:18:35 gcc-4.3-crunch_4.3.3-20090322_armel.tgz
-rw-r--r-- 1 martin  4728230 2009-03-27 19:30:51 gcc-4.3-crunch_4.3.3-20090327_armel.deb
-rw-r--r-- 1 martin  4751878 2009-03-27 19:26:03 gcc-4.3-crunch_4.3.3-20090327_armel.tgz
-rw-r--r-- 1 martin  4643632 2009-08-10 00:06:52 gcc-4.3-crunch_4.3.4-20090809_armel.deb
-rw-r--r-- 1 martin  4664548 2009-08-09 23:48:43 gcc-4.3-crunch_4.3.4-20090809_armel.tgz
-rw-r--r-- 1 martin  4647562 2009-09-11 17:10:26 gcc-4.3-crunch_4.3.4-20090908_armel.deb
-rw-r--r-- 1 martin  4668964 2009-09-11 17:08:14 gcc-4.3-crunch_4.3.4-20090908_armel.tgz

MD5sums

9a44904e0ad67814d772058b4f9b036c  gcc-4.2.4-crunch-patches-20090809.tar.gz
e6a32a492e668aaa1855028326870490  gcc-4.2.4-crunch-patches-20090908.tar.gz
f8818281226d1040bc1a2365a5c5bde3  gcc-4.2-crunch_4.2.4-20090809_armel.deb
7b06ee7cfeadb221d6c3e44f0b6aa9ae  gcc-4.2-crunch_4.2.4-20090809_armel.tgz
93da303c942080a6a5161b236dc9f752  gcc-4.2-crunch_4.2.4-20090908_armel.deb
db7683fe6c54147efa8f5c76648c59db  gcc-4.2-crunch_4.2.4-20090908_armel.tgz
eb1ecdb033b07d96f156a0217aad3099  gcc-4.3.3-crunch-patches-20090319.tar.gz
9f338c26867f0d873699a1e0472257c4  gcc-4.3.3-crunch-patches-20090322.tar.gz
72eb32e9756aa60a64074dc82fdc07a3  gcc-4.3.3-crunch-patches-20090327.tar.gz
3ac0c85c5b9636e79bb24c54b7f9ec19  gcc-4.3.4-crunch-patches-20090809.tar.gz
dd0c5101ad184f55e2af9b0d2d6c8eff  gcc-4.3.4-crunch-patches-20090908.tar.gz
9e10c9a43a80c3e66d0bb2695d060042  gcc-4.3-crunch_4.3.3-20090319_armel.deb
fe49fc5072265d3dc11834aac721eb2e  gcc-4.3-crunch_4.3.3-20090319_armel.tgz
df650366cab8a15e9354098216d32bf1  gcc-4.3-crunch_4.3.3-20090322_armel.deb
fc1961b6f98a6e96333acb503a46440b  gcc-4.3-crunch_4.3.3-20090322_armel.tgz
4e9cbafa39456edb3798d2214b648690  gcc-4.3-crunch_4.3.3-20090327_armel.deb
6c6bf0e53c140c7b51662e43c592c54c  gcc-4.3-crunch_4.3.3-20090327_armel.tgz
31400140ebbba75eabdb5119e34bbc04  gcc-4.3-crunch_4.3.4-20090809_armel.deb
ca11b02724c112c285fd6d00b51a28fc  gcc-4.3-crunch_4.3.4-20090809_armel.tgz
0844e956508abe848be559ddc758687c  gcc-4.3-crunch_4.3.4-20090908_armel.deb
fdd60155e0a1d6ee812b31e871197b2e  gcc-4.3-crunch_4.3.4-20090908_armel.tgz

Martin Guy <martinwguy@gmail.com> Useful? Donate!