summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/checksums.ini60
-rw-r--r--conf/distro/include/angstrom-glibc.inc2
-rw-r--r--conf/distro/include/angstrom.inc4
-rw-r--r--conf/distro/include/sane-srcrevs.inc6
-rw-r--r--conf/distro/kaeilos.conf6
-rw-r--r--conf/machine/dm355-evm.conf2
-rw-r--r--conf/machine/dm365-evm.conf2
-rw-r--r--conf/machine/dm6467-evm.conf2
-rw-r--r--conf/machine/include/davinci.inc2
-rw-r--r--conf/machine/tx27.conf6
-rwxr-xr-xcontrib/weekly-changelog-report.py2
-rw-r--r--recipes/angstrom/e-wm-config-angstrom.bb2
-rw-r--r--recipes/angstrom/e-wm-config-angstrom/profile.desktop2
-rw-r--r--recipes/binutils/binutils_2.18.bb5
-rw-r--r--recipes/binutils/files/binutils-crunch.patch163
-rw-r--r--recipes/chromium/chromium_svn.bb2
-rw-r--r--recipes/dsplink/gstreamer-ti_svn.bb2
-rw-r--r--recipes/e17/expedite_svn.bb4
-rw-r--r--recipes/e2fsprogs/e2fsprogs-native_1.38.bb1
-rw-r--r--recipes/geda/geda-docs_1.4.3.bb (renamed from recipes/geda/geda-docs_1.4.1.bb)0
-rw-r--r--recipes/geda/geda-examples_1.4.3.bb (renamed from recipes/geda/geda-examples_1.4.1.bb)0
-rw-r--r--recipes/geda/geda-gattrib_1.4.3.bb (renamed from recipes/geda/geda-gattrib_1.4.1.bb)0
-rw-r--r--recipes/geda/geda-gnetlist_1.4.3.bb (renamed from recipes/geda/geda-gnetlist_1.4.1.bb)0
-rw-r--r--recipes/geda/geda-gschem_1.4.3.bb (renamed from recipes/geda/geda-gschem_1.4.1.bb)0
-rw-r--r--recipes/geda/geda-gsymcheck_1.4.3.bb (renamed from recipes/geda/geda-gsymcheck_1.4.1.bb)0
-rw-r--r--recipes/geda/geda-symbols_1.4.3.bb (renamed from recipes/geda/geda-symbols_1.4.1.bb)0
-rw-r--r--recipes/geda/geda-utils_1.4.3.bb (renamed from recipes/geda/geda-utils_1.4.1.bb)0
-rw-r--r--recipes/geda/geda_1.4.3.bb (renamed from recipes/geda/geda_1.4.1.bb)0
-rw-r--r--recipes/geda/libgeda_1.4.3.bb (renamed from recipes/geda/libgeda_1.4.1.bb)0
-rw-r--r--recipes/glibc/glibc-2.4/glibc-crunch-eabi-force.patch133
-rw-r--r--recipes/glibc/glibc-2.4/glibc-crunch-eabi-fraiseexcpt.patch88
-rw-r--r--recipes/glibc/glibc-2.4/glibc-crunch-eabi-setjmp_longjmp.patch112
-rw-r--r--recipes/glibc/glibc-2.4/glibc-crunch-eabi-unwind.patch12
-rw-r--r--recipes/glibc/glibc-2.4/glibc-crunch-eabi.patch461
-rw-r--r--recipes/glibc/glibc-2.4/glibc-crunch-endian-bigword-littlebyte.patch40
-rw-r--r--recipes/glibc/glibc-2.4/glibc-crunch-endian-littleword-littlebyte.patch40
-rw-r--r--recipes/glibc/glibc-2.4/glibc-crunch-oabi.patch310
-rw-r--r--recipes/glibc/glibc-2.4/glibc-crunch-oabi2.patch18
-rw-r--r--recipes/glibc/glibc-package.bbclass2
-rw-r--r--recipes/glibc/glibc_2.6.1.bb9
-rw-r--r--recipes/gnome/libsoup-2.4_2.26.0.bb21
-rw-r--r--recipes/gtk-webcore/midori_0.1.7.bb31
-rw-r--r--recipes/gtk-webcore/midori_git.bb2
-rw-r--r--recipes/iptraf/iptraf-3.0.0/support-makefile.patch18
-rw-r--r--recipes/iptraf/iptraf_3.0.0.bb34
-rw-r--r--recipes/irssi/irssi_0.8.13.bb61
-rw-r--r--recipes/krb/krb5_1.6.3.bb2
-rw-r--r--recipes/linux/linux-2.6.28/tx27/defconfig77
-rw-r--r--recipes/linux/linux_2.6.28.bb2
-rw-r--r--recipes/minicom/minicom-2.3/rename-conflicting-functions.patch13
-rw-r--r--recipes/minicom/minicom_2.3.bb1
-rw-r--r--recipes/mtools/mtools_4.0.10.bb6
-rw-r--r--recipes/musicpd/mpd_0.14.2.bb4
-rw-r--r--recipes/sdr/sdrshell/gcc-43-fix.patch10
-rw-r--r--recipes/tangogps/tangogps_0.9.6.bb (renamed from recipes/tangogps/tangogps_0.9.3.bb)2
-rw-r--r--recipes/u-boot/u-boot_git.bb22
-rw-r--r--recipes/webkit/webkit-gtk/configure.ac25
-rw-r--r--recipes/xorg-util/util-macros-1.2.1/cross-compiler-for-checking.patch11
-rw-r--r--recipes/xorg-util/util-macros_1.2.1.bb6
-rw-r--r--recipes/xorg-xserver/xserver-xorg-1.3.0.0/glyphstr.patch3
60 files changed, 1758 insertions, 93 deletions
diff --git a/conf/checksums.ini b/conf/checksums.ini
index 62f5a77ce4..0c12269d0d 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -7358,14 +7358,26 @@ sha256=8e46a48d581f8b835f305bb17ffbb7776d53b9214113524819e96be842f9db98
md5=44009c42e98943fbb868638032d5c8d6
sha256=6b9c73f34f498b12851ac32e1225b72228e4ea629d321b0426d505ad18309e54
+[http://geda.seul.org/release/v1.4/1.4.3/geda-docs-1.4.3.tar.gz]
+md5=6305083c37a86f2353a8be40bcf70b99
+sha256=26e0d0aa9a24e75af57c27c5710521ed9005dcf4242d912ac0c497653b9a1959
+
[http://geda.seul.org/release/v1.4/1.4.1/geda-examples-1.4.1.tar.gz]
md5=9d3daac1be22186784929b56ea181738
sha256=29e3a1b65212b30847ac5c9f3d51a3add492a1597237085279b6ff82d1a1479f
+[http://geda.seul.org/release/v1.4/1.4.3/geda-examples-1.4.3.tar.gz]
+md5=923fe9d9cc843b5eb7b26c91ad0ef2d4
+sha256=38a7c6d39a8b298aa1baeadaf7a174ed2ae6397ef227f19cb0bee22757b6e553
+
[http://geda.seul.org/release/v1.4/1.4.1/geda-gattrib-1.4.1.tar.gz]
md5=0b8bc020cacda9c3fc21bb7f49332c85
sha256=e6ab108a7ec3b4431ffa1831a6c23937baf8a7815243d4c145e68f5ee8b11105
+[http://geda.seul.org/release/v1.4/1.4.3/geda-gattrib-1.4.3.tar.gz]
+md5=e1f68401e7ca5fff16292358f0dfd553
+sha256=5eb48772d374dad446bfcd69990231fa6c6b52ba9b30048991632557512a7565
+
[http://www.geda.seul.org/devel/20050820/geda-gattrib-20050820.tar.gz]
md5=6ff8e6343b621199dde7fcd9a7ff264a
sha256=c3b2751303d18c5d685b2d2c380065a93dab17a233657a6d1a09d9f2da64800f
@@ -7374,6 +7386,10 @@ sha256=c3b2751303d18c5d685b2d2c380065a93dab17a233657a6d1a09d9f2da64800f
md5=b9b8dcb2818eb1fcc51002921f32b203
sha256=66cff8c99bd0cd4d594b50c3d2cf7af35cc48adce23e6471f1926f3cc9b50d20
+[http://geda.seul.org/release/v1.4/1.4.3/geda-gnetlist-1.4.3.tar.gz]
+md5=ef31d47010108518c6d214516f3d0cad
+sha256=0793ec9d173dbe600c14a0a8cf8b89f418271176d75b5a02e0a840a55910c119
+
[http://www.geda.seul.org/devel/20050820/geda-gnetlist-20050820.tar.gz]
md5=94f2a666701e06438fda0a9ce00e5ae3
sha256=3df3a23c73df7a9c2cc553836e6df797d01da094f6a947049f9fcc182110ef43
@@ -7382,6 +7398,10 @@ sha256=3df3a23c73df7a9c2cc553836e6df797d01da094f6a947049f9fcc182110ef43
md5=065c22125b75269188321d315ccb64bc
sha256=6929dd56d14cfcc9fcbdd4dfc056ef8f0bab5ef72a01055fe6cda7280e59748e
+[http://geda.seul.org/release/v1.4/1.4.3/geda-gschem-1.4.3.tar.gz]
+md5=76eef656ba4e27c6083fa29b3a5dfb08
+sha256=6952601966e0f28b9436286178a488849a78da1581c282944d2be34e9a09eec7
+
[http://www.geda.seul.org/devel/20050820/geda-gschem-20050820.tar.gz]
md5=8ac2387999ec98016c3b004c95fab424
sha256=166abaa8b0c98e6c826a7c7273b7ddfb57f82be9929e4afbf00e0e3de5d45ef9
@@ -7390,6 +7410,10 @@ sha256=166abaa8b0c98e6c826a7c7273b7ddfb57f82be9929e4afbf00e0e3de5d45ef9
md5=1dc7c628acc946731b1e67fb2b910e52
sha256=15f99bb807dcf6116844847c72bcdde98c8c2232a0e0961cc2ff072a022ccfc6
+[http://geda.seul.org/release/v1.4/1.4.3/geda-gsymcheck-1.4.3.tar.gz]
+md5=764613c24a752281a4f5d5432e53d0d2
+sha256=e6d9517eaea4383e724502c607d720a3cd4bf560459f5f2196e19d0c5bb3da2c
+
[http://www.geda.seul.org/devel/20050820/geda-gsymcheck-20050820.tar.gz]
md5=c339abc4956987852b948c44118b2e2f
sha256=3526fd4c30f351c3d548cb2632eda150eb632846b1273349aa2061d0400f9816
@@ -7398,6 +7422,10 @@ sha256=3526fd4c30f351c3d548cb2632eda150eb632846b1273349aa2061d0400f9816
md5=a9dda9a87edefaac2a99b70a85d0fd1c
sha256=188d398c8e7a19bf4492419bbb44754451ebfa9f1810b0eb8b6eb84f708bf0f4
+[http://geda.seul.org/release/v1.4/1.4.3/geda-symbols-1.4.3.tar.gz]
+md5=e93f0c9747a66ce229702418b49e128f
+sha256=97c2dec953e21bfa2633077d084fc0b9aff0c79030f96680ebdef9f97e294cc7
+
[http://www.geda.seul.org/devel/20050820/geda-symbols-20050820.tar.gz]
md5=a05c9bb11a31c246be3c9a799685bb0e
sha256=0534ccda5d9136a120abd18ebe3bccd3dbcc6414ec321ad2fd5f9258389ae13d
@@ -7406,6 +7434,10 @@ sha256=0534ccda5d9136a120abd18ebe3bccd3dbcc6414ec321ad2fd5f9258389ae13d
md5=50d39c9af0577a42f3d769794930a74f
sha256=dfe4d3d3033e92254aa5e00fa7ab6921589747604269bc7b01e59ba9b630e82c
+[http://geda.seul.org/release/v1.4/1.4.3/geda-utils-1.4.3.tar.gz]
+md5=55ab23cad7aee2e65fcc742c424e68d4
+sha256=d4814c6c11b38a3cce88b193f7a6d18cba46c44f8226716fdde53f0ccc58de49
+
[http://www.geda.seul.org/devel/20050820/geda-utils-20050820.tar.gz]
md5=6555466492f3273dbefb772bd4ffd486
sha256=8140ff430e89c8564efabbc24da0d9b2858d5ac5e982dab9923eaf3b46a8aacb
@@ -11214,6 +11246,14 @@ sha256=84ac04a28ae41e17df0f181d8bc0049ae7a83baae07296e890ea5977a2952318
md5=0a9209f928002e5eee9cdff8fef4d4b3
sha256=c5c8a091ed9a1fa2dab86b4d87719064b50c202e8503046f50f299a361e6211c
+[ftp://ftp.debian.org/debian/pool/main/i/iptraf/iptraf_3.0.0-6.diff.gz]
+md5=fe0e2944addbd5803b42e91f7e4ec5d7
+sha256=5803c3f3653887896b75567daf617a8f200cecdd28beb870219b3954d9931efa
+
+[ftp://ftp.debian.org/debian/pool/main/i/iptraf/iptraf_3.0.0.orig.tar.gz]
+md5=377371c28ee3c21a76f7024920649ea8
+sha256=9ee433d95573d612539da4b452e6cdcbca6ab6674a88bfbf6eaf12d4902b5163
+
[http://downloads.sourceforge.net/iptstate/iptstate-2.2.1.tar.bz2]
md5=6b08f09b9917f644629efea1febec4b3
sha256=004f8358f4f84d90a260a76ac46ce8512126ac490d73460fcee6c11effd34362
@@ -11290,6 +11330,10 @@ sha256=47344b444d78ad5965eb40cc4c8df8450fdc54135e2b058710ee8c500b958d6c
md5=e407b557b3cfc7c91ce4de2571dd79cb
sha256=462d634bb509cc2bdd550ee5c7b269495f3173721b7404f162ad1f69b49bfff0
+[http://www.irssi.org/files/irssi-0.8.13.tar.bz2]
+md5=0d6fc2203832b514eff014fffd574664
+sha256=896541ac837421290934e2658ab364d4d3f0326259489a94a0cd166e2b05d735
+
[http://heanet.dl.sourceforge.net/iscsitarget/iscsitarget-0.4.16.tar.gz]
md5=c7ea3192f1717b40e4c483c9d630082d
sha256=e6605ae5f9ed2e2fdbe84df967236678579a4fbe536b75a93277cbb607bead7d
@@ -13118,6 +13162,10 @@ sha256=7562042a6210947363bd6a9bbcdd03f8d02470c0347970b507f689d25a907844
md5=16f2e3176eb489838bad57c8728c7388
sha256=c0598428fc25e79b7ac1da35d44133e3fc50763b32fcdfffd5e6654f2f94682d
+[http://geda.seul.org/release/v1.4/1.4.3/libgeda-1.4.3.tar.gz]
+md5=f4254f345b5d1a1f3ae4e2e27ae38b0a
+sha256=f3687c7308231634619de278b5880cccd6b9b3fc04a4c1b1cf8b2e3131f6f158
+
[http://www.geda.seul.org/devel/20050820/libgeda-20050820.tar.gz]
md5=356182f379af726045a70de3024c7e6d
sha256=c2fdec2c186c11aac2f941dc238ee89f51412707bd7c952e02faefa70e38d700
@@ -14434,6 +14482,10 @@ sha256=30055988d990f0f4db4dcffd5088115f1065a6fd7c22b555686449628375376b
md5=9df9d2b3304213641d3214a774d75ee1
sha256=47b749b20717df24393c83adcce9a3a10f0690517c18da8d0a1ddcb410a0ac1d
+[http://ftp.gnome.org/pub/GNOME/sources/libsoup/2.26/libsoup-2.26.2.tar.bz2]
+md5=61abd9bf1435e37def0956248a03832c
+sha256=afcedda15bde2395dec31a82a243871a0540ea2e13e7a14d15846ad0c1f09a7b
+
[http://ftp.gnome.org/pub/GNOME/sources/libsoup-2.4/2.4/libsoup-2.4.1.tar.bz2]
md5=d0fc91ccb9da401e9e40d2f4612bdac9
sha256=774094746748fb0c8985210de0994accdc7095c222fba42c5623e2137443b6cd
@@ -16478,6 +16530,10 @@ sha256=cea3848006631801709588b8ae6808dbc768f62b6da4085073075f276309fd0d
md5=afed64074b2ed195aae171b2178650e1
sha256=e6cc1b6da8a7af99ba9298e0cb4aac790595f04e04497ea8c2bb4b48c44feb5f
+[http://goodies.xfce.org/releases/midori/midori-0.1.7.tar.bz2]
+md5=c6299ecf93417526f37bc0154c18b126
+sha256=9b74a776831c3680c10ad5c3d04985a1368c4fdf2f383a0e8efcc3cda925baaf
+
[http://git.xfce.org/kalikiana/midori/snapshot/midori-abbfc163a39d7f1f01725fe2cfe3df516f9fa0f4.tar.bz2]
md5=d50f0a9683dee60685bcd48e04970949
sha256=c5eb824148935697cf4fc36f11cfd7a05fbe6a3392d8f32e296e2cdfd21de3ee
@@ -22662,6 +22718,10 @@ sha256=b9252179ea2c546e6bb065281d51373f0ae06081e5a98d4255249af4fa8b33db
md5=4e6e4c1a5c1ee2e6026454083de3d5d5
sha256=d2a107e3a5ceaeeb15ab2e3d7cd308653b4ded8aaf8d3c0e0be3b64ba4e17cfc
+[http://www.tangogps.org/downloads/tangogps-0.9.6.tar.gz]
+md5=85755b15099f6071776d6feb67bdbca8
+sha256=e56a77325cdea8c274a39fcb79bd47919cbafa15d8009176538ec9a94f5e6e13
+
[http://downloads.sourceforge.net/tapioca-voip/tapioca-0.3.9.tar.gz]
md5=e88c400394c092c2688bb2d490c80ccb
sha256=fb89ac4e8578adc140e19cb4929b200d2898e5a8373230f500c16e59c803cba1
diff --git a/conf/distro/include/angstrom-glibc.inc b/conf/distro/include/angstrom-glibc.inc
index 5df77d8c74..3d189b9dd0 100644
--- a/conf/distro/include/angstrom-glibc.inc
+++ b/conf/distro/include/angstrom-glibc.inc
@@ -15,11 +15,13 @@ FULL_OPTIMIZATION = "-fexpensive-optimizations -frename-registers -fomit-frame-p
FULL_OPTIMIZATION_pn-perl = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O1"
FULL_OPTIMIZATION_pn-glibc = "-fexpensive-optimizations -fomit-frame-pointer -O2"
FULL_OPTIMIZATION_sparc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
+FULL_OPTIMIZATION_ep9312 = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O -fno-signed-zeros"
BUILD_OPTIMIZATION = "-O2"
BUILD_OPTIMIZATION_pn-perl = "-O1"
BUILD_OPTIMIZATION_pn-glibc = "-O2"
BUILD_OPTIMIZATION_sparc = "-O2"
+BUILD_OPTIMIZATION_ep9312 = "-O"
TARGET_LINK_HASH_STYLE = "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('TARGET_ARCH',d,1) in ['mips', 'mipsel']]}"
diff --git a/conf/distro/include/angstrom.inc b/conf/distro/include/angstrom.inc
index a91efe4bd7..9d4668b4d8 100644
--- a/conf/distro/include/angstrom.inc
+++ b/conf/distro/include/angstrom.inc
@@ -54,7 +54,7 @@ THUMB_INTERWORK = "yes"
#Use this variable in feeds and other parts that need a URI
ANGSTROM_URI ?= "http://www.angstrom-distribution.org"
-#Use this variable to select which recipe you want to use to get feed configs (/etc/ipkg/*, /etc/apt/sources.list)
+#Use this variable to select which recipe you want to use to get feed configs (/etc/ipkg/, /etc/apt/sources.list)
# usefull for derivative distros and local testing
# As this is runtime we can't and won't use virtual/feed-configs
ANGSTROM_FEED_CONFIGS ?= "angstrom-feed-configs"
@@ -100,7 +100,7 @@ ENABLE_BINARY_LOCALE_GENERATION ?= "1"
LOCALE_UTF8_ONLY = "1"
#qemu doesn't like this fp
-ENABLE_BINARY_LOCALE_GENERATION_ep93xx = "0"
+ENABLE_BINARY_LOCALE_GENERATION_ep9312 = "0"
#qemu has taken a dislike to armeb as well
ENABLE_BINARY_LOCALE_GENERATION_armeb = "0"
diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc
index 7a4229018f..9f97b509f1 100644
--- a/conf/distro/include/sane-srcrevs.inc
+++ b/conf/distro/include/sane-srcrevs.inc
@@ -136,7 +136,7 @@ SRCREV_pn-matchbox-panel-2 ?= "1626"
SRCREV_pn-matchbox-stroke ?= "1820"
SRCREV_pn-mickeydbus ?= "f894801916cc4d0e912e4553490dc215276c52a9"
SRCREV_pn-mickeyterm ?= "f894801916cc4d0e912e4553490dc215276c52a9"
-SRCREV_pn-midori ?= "c41845b907b72e6c255a519c621f2382cba67b44"
+SRCREV_pn-midori ?= "3179a538a947cbd7612cac346e3e0c7c3d0e03cd"
SRCREV_pn-moblin-proto ?= "8f2cb524fe06555182c25b4ba3202d7b368ac0ce"
SRCREV_pn-moko-gtk-engine ?= "4734"
SRCREV_pn-mokoko ?= "127"
@@ -254,7 +254,7 @@ SRCREV_pn-usbpath-native ?= "3172"
SRCREV-pn-vala-dbus-binding-tool-native ?= "55a6bc5dd032731d89c238d274b2898ef02d12f8"
SRCREV_pn-vala-terminal ?= "94117f453ce884e9c30b611fae6fc19f85f98f2b"
SRCREV_pn-vala-native ?= "6cf030120cd7f6a76a5d766d7420aea847e02cfd"
-SRCREV_pn-webkit-gtk ?= "44489"
+SRCREV_pn-webkit-gtk ?= "44523"
SRCREV_pn-wlan-ng-modules ?= "1859"
SRCREV_pn-wlan-ng-utils ?= "1859"
SRCREV_pn-wmiconfig ?= "4522"
@@ -266,7 +266,7 @@ SRCREV_pn-zhone ?= "f38cc52fbf11f7fe945797a6b8ade29ed479d924"
# Enlightenment Foundation Libraries
# Caution: This is not alphabetically, but (roughly) dependency-sorted.
# Please leave it like that.
-EFL_SRCREV ?= "40903"
+EFL_SRCREV ?= "40978"
SRCREV_pn-edb-native ?= "${EFL_SRCREV}"
SRCREV_pn-edb ?= "${EFL_SRCREV}"
SRCREV_pn-eina-native ?= "${EFL_SRCREV}"
diff --git a/conf/distro/kaeilos.conf b/conf/distro/kaeilos.conf
index 718239bed8..2b3aae879f 100644
--- a/conf/distro/kaeilos.conf
+++ b/conf/distro/kaeilos.conf
@@ -42,6 +42,8 @@ DISTRO_TYPE ?= "debug"
# Also, it appears that no locales fit in 16Mb for now. "C" locale rules!
IMAGE_LINGUAS = '${@base_less_or_equal("ROOT_FLASH_SIZE", "16", "", "en-us", d)}'
+# increase inode/block ratio for ext2 filesystem
+EXTRA_IMAGECMD_ext2 = "-i 4096"
# set feed path variables
FEED_BASEPATH = "feeds/2008/${ANGSTROM_PKG_FORMAT}/${LIBC}/"
@@ -209,12 +211,12 @@ DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "strace procps"
# contains ipkg specific stuff as well :(
DISTRO_EXTRA_RDEPENDS += "\
update-modules \
- ${@base_contains("MACHINE_FEATURES", "screen", "psplash", "",d)} \
kaeilos-version \
opkg-nogpg opkg-collateral ${ANGSTROM_FEED_CONFIGS} \
util-linux-ng-mount util-linux-ng-umount \
${DEBUG_APPS} angstrom-libc-fixup-hack \
"
+# ${@base_contains("MACHINE_FEATURES", "screen", "psplash", "",d)} \
# This also hooks into task-base, but isn't mandatory.
# If you don't want parts of this in your task-base using images you can put this in the image recipe:
@@ -233,5 +235,7 @@ DISTRO_EXTRA_RRECOMMENDS += " \
openssh-sftp-server \
"
+SPLASH ?= "psplash"
+
ARM_INSTRUCTION_SET_pn-uclibc = "arm"
ARM_INSTRUCTION_SET_pn-uclibc-initial = "arm"
diff --git a/conf/machine/dm355-evm.conf b/conf/machine/dm355-evm.conf
index d509152b22..9ef4ff7c7d 100644
--- a/conf/machine/dm355-evm.conf
+++ b/conf/machine/dm355-evm.conf
@@ -4,4 +4,4 @@
require conf/machine/include/davinci.inc
-UBOOT_MACHINE = "davinci_dvevm_config"
+UBOOT_MACHINE = "davinci_dm355_evm_config"
diff --git a/conf/machine/dm365-evm.conf b/conf/machine/dm365-evm.conf
index 09f4a353ca..de2cc4a759 100644
--- a/conf/machine/dm365-evm.conf
+++ b/conf/machine/dm365-evm.conf
@@ -4,4 +4,4 @@
require conf/machine/include/davinci.inc
-UBOOT_MACHINE = "davinci_dvevm_config"
+UBOOT_MACHINE = "davinci_dm365_evm_config"
diff --git a/conf/machine/dm6467-evm.conf b/conf/machine/dm6467-evm.conf
index 66ed1fe1f2..a7596f17f8 100644
--- a/conf/machine/dm6467-evm.conf
+++ b/conf/machine/dm6467-evm.conf
@@ -4,4 +4,4 @@
require conf/machine/include/davinci.inc
-UBOOT_MACHINE = "davinci_dvevm_config"
+UBOOT_MACHINE = "davinci_dm6467_evm_config"
diff --git a/conf/machine/include/davinci.inc b/conf/machine/include/davinci.inc
index 3134c28d18..af9dc0ff9c 100644
--- a/conf/machine/include/davinci.inc
+++ b/conf/machine/include/davinci.inc
@@ -9,7 +9,7 @@ KERNEL_IMAGETYPE = "uImage"
PREFERRED_PROVIDER_virtual/kernel = "linux-davinci"
-PREFERRED_VERSION_u-boot = "git"
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
UBOOT_MACHINE = "davinci_dvevm_config"
UBOOT_ENTRYPOINT = "0x80008000"
diff --git a/conf/machine/tx27.conf b/conf/machine/tx27.conf
index ef7742ef01..a3e784c110 100644
--- a/conf/machine/tx27.conf
+++ b/conf/machine/tx27.conf
@@ -10,6 +10,8 @@ GUI_MACHINE_CLASS = "bigscreen"
PREFERRED_PROVIDER_virtual/kernel = "linux"
PREFERRED_VERSION_linux = "2.6.28"
+PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
+XSERVER = "xserver-kdrive-fbdev"
require conf/machine/include/tune-arm926ejs.inc
@@ -20,8 +22,8 @@ ROOT_FLASH_SIZE = "128"
IMAGE_FSTYPES ?= "jffs2"
-EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 \
- --pad ; sumtool --eraseblock=0x20000 \
+EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 -n \
+ --pad ; sumtool --eraseblock=0x20000 -n \
--littleendian --pad \
-i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
-o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.summary"
diff --git a/contrib/weekly-changelog-report.py b/contrib/weekly-changelog-report.py
index 22535f32b1..902089bdad 100755
--- a/contrib/weekly-changelog-report.py
+++ b/contrib/weekly-changelog-report.py
@@ -23,7 +23,7 @@ start_day = end_day - datetime.timedelta(7)
print "OE weekly changelog %s to %s\n" % (start_day.isoformat(), end_day.isoformat())
-os.system("git-shortlog --since=%s --until=%s | grep -v \"Merge branch\" | grep -v \"Merge commit\"" % (start_day.isoformat(), end_day.isoformat()))
+os.system("git shortlog --since=%s --until=%s | grep -v 'Merge branch' | grep -v 'Merge commit'|sed -e 's/^ //g'|cut -b -78 " % (start_day.isoformat(), end_day.isoformat()))
os.system("wget 'http://bugs.openembedded.net/buglist.cgi?bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&bugidtype=include&chfieldfrom=7d&chfieldto=Now&chfieldvalue=&email1=&email2=&emailassigned_to1=1&emailassigned_to2=1&emailcc2=1&emailqa_contact2=1&emailreporter2=1&emailtype1=substring&emailtype2=substring&field-1-0-0=bug_status&field0-0-0=noop&known_name=1WFixed&long_desc=&long_desc_type=substring&query_format=advanced&remaction=&short_desc=&short_desc_type=allwordssubstr&type-1-0-0=anyexact&type0-0-0=noop&value-1-0-0=RESOLVED%2CVERIFIED%2CCLOSED&value0-0-0=&ctype=csv' -O resolved-bugs.csv >& /dev/null")
os.system("wget 'http://bugs.openembedded.net/buglist.cgi?bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_status=NEW&bugidtype=include&chfield=%5BBug%20creation%5D&chfieldfrom=7d&chfieldto=Now&chfieldvalue=&email1=&email2=&emailassigned_to1=1&emailassigned_to2=1&emailcc2=1&emailqa_contact2=1&emailreporter2=1&emailtype1=substring&emailtype2=substring&field-1-0-0=bug_status&field0-0-0=noop&long_desc=&long_desc_type=substring&query_format=advanced&remaction=&short_desc=&short_desc_type=allwordssubstr&type-1-0-0=anyexact&type0-0-0=noop&value-1-0-0=NEW&value0-0-0=&ctype=csv' -O new-bugs.csv &> /dev/null")
diff --git a/recipes/angstrom/e-wm-config-angstrom.bb b/recipes/angstrom/e-wm-config-angstrom.bb
index 139a23138f..04c35be2b5 100644
--- a/recipes/angstrom/e-wm-config-angstrom.bb
+++ b/recipes/angstrom/e-wm-config-angstrom.bb
@@ -4,7 +4,7 @@ DEPENDS = "edje-native eet-native"
RDEPENDS = "e-wm"
RRECOMMENDS_${PN} = "places"
-PR = "r7"
+PR = "r8"
SRC_URI = " \
file://e.src \
diff --git a/recipes/angstrom/e-wm-config-angstrom/profile.desktop b/recipes/angstrom/e-wm-config-angstrom/profile.desktop
index f85ac869d6..2a8ad2ff8c 100644
--- a/recipes/angstrom/e-wm-config-angstrom/profile.desktop
+++ b/recipes/angstrom/e-wm-config-angstrom/profile.desktop
@@ -2,4 +2,4 @@
Type=Link
Name=Angstrom
Icon=icon.png
-Comment=This is the Angstrom<br>profile that is<br>universal for most<br>systems. Choose this<br>if you are not<br>sure what to choose.
+Comment=This is the Angstrom profile that is universal for most systems. Choose this if you are not sure what to choose.
diff --git a/recipes/binutils/binutils_2.18.bb b/recipes/binutils/binutils_2.18.bb
index 0155fb1151..3b650c679b 100644
--- a/recipes/binutils/binutils_2.18.bb
+++ b/recipes/binutils/binutils_2.18.bb
@@ -1,4 +1,4 @@
-PR = "r5"
+PR = "r6"
require binutils.inc
LICENSE = "GPLv3"
@@ -18,3 +18,6 @@ SRC_URI = "\
# powerpc patches
SRC_URI += "file://binutils-2.16.1-e300c2c3.patch;patch=1"
+
+# ep93xx crunch patches
+SRC_URI_append_ep9312 = " file://binutils-crunch.patch;patch=1"
diff --git a/recipes/binutils/files/binutils-crunch.patch b/recipes/binutils/files/binutils-crunch.patch
new file mode 100644
index 0000000000..79771aad2c
--- /dev/null
+++ b/recipes/binutils/files/binutils-crunch.patch
@@ -0,0 +1,163 @@
+--- binutils-2.18-original/gas/config/tc-arm.c 2007-05-18 13:45:49.000000000 +1000
++++ binutils-2.18/gas/config/tc-arm.c 2008-04-03 12:38:28.000000000 +1000
+@@ -3573,6 +3575,140 @@
+ ignore_rest_of_line ();
+ }
+
++/* Parse a directive saving Maverick Crunch double registers. */
++
++static void
++s_arm_unwind_save_mvd (void)
++{
++ int reg;
++ int hi_reg;
++ int i;
++ unsigned mask = 0;
++ valueT op;
++
++ if (*input_line_pointer == '{')
++ input_line_pointer++;
++
++ do
++ {
++ reg = arm_reg_parse (&input_line_pointer, REG_TYPE_MVD);
++
++ if (reg == FAIL)
++ {
++ as_bad (_(reg_expected_msgs[REG_TYPE_MVD]));
++ goto error;
++ }
++
++ if (mask >> reg)
++ as_tsktsk (_("register list not in ascending order"));
++ mask |= 1 << reg;
++
++ if (*input_line_pointer == '-')
++ {
++ input_line_pointer++;
++ hi_reg = arm_reg_parse (&input_line_pointer, REG_TYPE_MVD);
++ if (hi_reg == FAIL)
++ {
++ as_bad (_(reg_expected_msgs[REG_TYPE_MVD]));
++ goto error;
++ }
++ else if (reg >= hi_reg)
++ {
++ as_bad (_("bad register range"));
++ goto error;
++ }
++ for (; reg < hi_reg; reg++)
++ mask |= 1 << reg;
++ }
++ }
++ while (skip_past_comma (&input_line_pointer) != FAIL);
++
++ if (*input_line_pointer == '}')
++ input_line_pointer++;
++
++ demand_empty_rest_of_line ();
++
++ /* Generate any deferred opcodes because we're going to be looking at
++ the list. */
++ flush_pending_unwind ();
++
++ for (i = 0; i < 16; i++)
++ {
++ if (mask & (1 << i))
++ unwind.frame_size += 8;
++ }
++
++ /* Attempt to combine with a previous opcode. We do this because gcc
++ likes to output separate unwind directives for a single block of
++ registers. */
++ if (unwind.opcode_count > 0)
++ {
++ i = unwind.opcodes[unwind.opcode_count - 1];
++ if ((i & 0xf8) == 0xd8)
++ {
++ i &= 7;
++ /* Only merge if the blocks are contiguous. */
++ if (i < 6)
++ {
++ if ((mask & 0xfe00) == (1 << 9))
++ {
++ mask |= ((1 << (i + 11)) - 1) & 0xfc00;
++ unwind.opcode_count--;
++ }
++ }
++ else if (i == 6 && unwind.opcode_count >= 2)
++ {
++ i = unwind.opcodes[unwind.opcode_count - 2];
++ reg = i >> 4;
++ i &= 0xf;
++
++ op = 0xffff << (reg - 1);
++ if (reg > 0
++ && ((mask & op) == (1u << (reg - 1))))
++ {
++ op = (1 << (reg + i + 1)) - 1;
++ op &= ~((1 << reg) - 1);
++ mask |= op;
++ unwind.opcode_count -= 2;
++ }
++ }
++ }
++ }
++
++ hi_reg = 15;
++ /* We want to generate opcodes in the order the registers have been
++ saved, ie. descending order. */
++ for (reg = 15; reg >= -1; reg--)
++ {
++ /* Save registers in blocks. */
++ if (reg < 0
++ || !(mask & (1 << reg)))
++ {
++ /* We found an unsaved reg. Generate opcodes to save the
++ preceeding block. */
++ if (reg != hi_reg)
++ {
++ if (reg == 9)
++ {
++ /* Short form. */
++ op = 0xd8 | (hi_reg - 10);
++ add_unwind_opcode (op, 1);
++ }
++ else
++ {
++ /* Long form. */
++ op = 0xde00 | ((reg + 1) << 4) | ((hi_reg - reg) - 1);
++ add_unwind_opcode (op, 2);
++ }
++ }
++ hi_reg = reg - 1;
++ }
++ }
++
++ return;
++error:
++ ignore_rest_of_line ();
++}
+
+ /* Parse an unwind_save directive.
+ If the argument is non-zero, this is a .vsave directive. */
+@@ -3624,6 +3760,8 @@
+ case REG_TYPE_MMXWR: s_arm_unwind_save_mmxwr (); return;
+ case REG_TYPE_MMXWCG: s_arm_unwind_save_mmxwcg (); return;
+
++ case REG_TYPE_MVD: s_arm_unwind_save_mvd (); return;
++
+ default:
+ as_bad (_(".unwind_save does not support this kind of register"));
+ ignore_rest_of_line ();
+@@ -14256,8 +14394,8 @@
+ REGDEF(FPSID,0,VFC), REGDEF(FPSCR,1,VFC), REGDEF(FPEXC,8,VFC),
+
+ /* Maverick DSP coprocessor registers. */
+- REGSET(mvf,MVF), REGSET(mvd,MVD), REGSET(mvfx,MVFX), REGSET(mvdx,MVDX),
+- REGSET(MVF,MVF), REGSET(MVD,MVD), REGSET(MVFX,MVFX), REGSET(MVDX,MVDX),
++ REGSET(mv,MVD), REGSET(mvf,MVF), REGSET(mvd,MVD), REGSET(mvfx,MVFX), REGSET(mvdx,MVDX),
++ REGSET(MV,MVD), REGSET(MVF,MVF), REGSET(MVD,MVD), REGSET(MVFX,MVFX), REGSET(MVDX,MVDX),
+
+ REGNUM(mvax,0,MVAX), REGNUM(mvax,1,MVAX),
+ REGNUM(mvax,2,MVAX), REGNUM(mvax,3,MVAX),
diff --git a/recipes/chromium/chromium_svn.bb b/recipes/chromium/chromium_svn.bb
index 98f4f10881..ffeae9f15a 100644
--- a/recipes/chromium/chromium_svn.bb
+++ b/recipes/chromium/chromium_svn.bb
@@ -5,7 +5,7 @@ DEPENDS = "perl-native python-native flex-native gperf-native"
PV = "0.0+svnr${SRCREV}"
-SRCREV = "1665"
+SRCREV = "17935"
SRC_URI = "svn://src.chromium.org/svn/trunk/;module=src;proto=http"
S = "${WORKDIR}/src/chrome"
diff --git a/recipes/dsplink/gstreamer-ti_svn.bb b/recipes/dsplink/gstreamer-ti_svn.bb
index bf52c63ba3..493e4fb59a 100644
--- a/recipes/dsplink/gstreamer-ti_svn.bb
+++ b/recipes/dsplink/gstreamer-ti_svn.bb
@@ -2,7 +2,7 @@ DEPENDS = "ti-codec-engine ti-dmai gstreamer gst-plugins-base gst-plugins-good g
SRC_URI = "svn://gforge.ti.com/svn/gstreamer_ti/trunk;module=gstreamer_ti;proto=https;user=anonymous;pswd='' \
"
-SRCREV = "225"
+SRCREV = "239"
PR = "${MACHINE_KERNEL_PR}"
diff --git a/recipes/e17/expedite_svn.bb b/recipes/e17/expedite_svn.bb
index 1337487623..c4dfa5afed 100644
--- a/recipes/e17/expedite_svn.bb
+++ b/recipes/e17/expedite_svn.bb
@@ -1,9 +1,9 @@
DESCRIPTION = "Expedite is a comprehensive benchmarking suite for Evas"
DEPENDS = "eet evas"
-RDEPENDS = "libevas-engine-buffer libevas-engine-fb libevas-engine-software-generic libevas-engine-software-x11 libevas-loader-png"
+RDEPENDS = "evas-engine-buffer evas-engine-fb evas-engine-software-generic evas-engine-software-x11 evas-loader-png"
LICENSE = "MIT BSD"
PV = "0.6.0+svnr${SRCREV}"
-PR = "r0"
+PR = "r1"
inherit e
diff --git a/recipes/e2fsprogs/e2fsprogs-native_1.38.bb b/recipes/e2fsprogs/e2fsprogs-native_1.38.bb
index 13fd2beb0c..cef0aa41e8 100644
--- a/recipes/e2fsprogs/e2fsprogs-native_1.38.bb
+++ b/recipes/e2fsprogs/e2fsprogs-native_1.38.bb
@@ -16,4 +16,5 @@ DEPENDS = ""
do_stage () {
oe_runmake install
+ install ${S}/lib/et/compile_et ${STAGING_BINDIR_NATIVE}
}
diff --git a/recipes/geda/geda-docs_1.4.1.bb b/recipes/geda/geda-docs_1.4.3.bb
index a35d41514b..a35d41514b 100644
--- a/recipes/geda/geda-docs_1.4.1.bb
+++ b/recipes/geda/geda-docs_1.4.3.bb
diff --git a/recipes/geda/geda-examples_1.4.1.bb b/recipes/geda/geda-examples_1.4.3.bb
index a35d41514b..a35d41514b 100644
--- a/recipes/geda/geda-examples_1.4.1.bb
+++ b/recipes/geda/geda-examples_1.4.3.bb
diff --git a/recipes/geda/geda-gattrib_1.4.1.bb b/recipes/geda/geda-gattrib_1.4.3.bb
index af4ea94153..af4ea94153 100644
--- a/recipes/geda/geda-gattrib_1.4.1.bb
+++ b/recipes/geda/geda-gattrib_1.4.3.bb
diff --git a/recipes/geda/geda-gnetlist_1.4.1.bb b/recipes/geda/geda-gnetlist_1.4.3.bb
index 4f560d3d37..4f560d3d37 100644
--- a/recipes/geda/geda-gnetlist_1.4.1.bb
+++ b/recipes/geda/geda-gnetlist_1.4.3.bb
diff --git a/recipes/geda/geda-gschem_1.4.1.bb b/recipes/geda/geda-gschem_1.4.3.bb
index 7613f3c6a5..7613f3c6a5 100644
--- a/recipes/geda/geda-gschem_1.4.1.bb
+++ b/recipes/geda/geda-gschem_1.4.3.bb
diff --git a/recipes/geda/geda-gsymcheck_1.4.1.bb b/recipes/geda/geda-gsymcheck_1.4.3.bb
index 463da2de99..463da2de99 100644
--- a/recipes/geda/geda-gsymcheck_1.4.1.bb
+++ b/recipes/geda/geda-gsymcheck_1.4.3.bb
diff --git a/recipes/geda/geda-symbols_1.4.1.bb b/recipes/geda/geda-symbols_1.4.3.bb
index 4f560d3d37..4f560d3d37 100644
--- a/recipes/geda/geda-symbols_1.4.1.bb
+++ b/recipes/geda/geda-symbols_1.4.3.bb
diff --git a/recipes/geda/geda-utils_1.4.1.bb b/recipes/geda/geda-utils_1.4.3.bb
index ea61665d9d..ea61665d9d 100644
--- a/recipes/geda/geda-utils_1.4.1.bb
+++ b/recipes/geda/geda-utils_1.4.3.bb
diff --git a/recipes/geda/geda_1.4.1.bb b/recipes/geda/geda_1.4.3.bb
index ee9394d9f2..ee9394d9f2 100644
--- a/recipes/geda/geda_1.4.1.bb
+++ b/recipes/geda/geda_1.4.3.bb
diff --git a/recipes/geda/libgeda_1.4.1.bb b/recipes/geda/libgeda_1.4.3.bb
index a00a1d5cde..a00a1d5cde 100644
--- a/recipes/geda/libgeda_1.4.1.bb
+++ b/recipes/geda/libgeda_1.4.3.bb
diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-force.patch b/recipes/glibc/glibc-2.4/glibc-crunch-eabi-force.patch
new file mode 100644
index 0000000000..b509b133c7
--- /dev/null
+++ b/recipes/glibc/glibc-2.4/glibc-crunch-eabi-force.patch
@@ -0,0 +1,133 @@
+diff -urN glibc-2.6.1/ports/sysdeps/arm/eabi/bits/fenv.h glibc-2.6.1/ports/sysdeps/arm/eabi/bits/fenv.h
+--- glibc-2.6.1/ports/sysdeps/arm/eabi/bits/fenv.h 2008-04-04 18:32:58.000000000 +1000
++++ glibc-2.6.1/ports/sysdeps/arm/eabi/bits/fenv.h 2008-04-07 10:40:28.000000000 +1000
+@@ -20,6 +20,8 @@
+ # error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
+ #endif
+
++#if 0
++
+ /* Define bits representing exceptions in the VFP FPU status word. */
+ enum
+ {
+@@ -55,37 +57,50 @@
+ #define FE_TOWARDZERO FE_TOWARDZERO
+ };
+
++#endif
++
+ /* Define bits representing exceptions in the CRUNCH FPU status word. */
+ enum
+ {
+ FE_CRUNCH_INVALID = (1),
+ #define FE_CRUNCH_INVALID FE_CRUNCH_INVALID
++#define FE_INVALID FE_CRUNCH_INVALID
++#define FE_DIVBYZERO 0
+ FE_CRUNCH_OVERFLOW = (4),
+ #define FE_CRUNCH_OVERFLOW FE_CRUNCH_OVERFLOW
++#define FE_OVERFLOW FE_CRUNCH_OVERFLOW
+ FE_CRUNCH_UNDERFLOW = (8),
+ #define FE_CRUNCH_UNDERFLOW FE_CRUNCH_UNDERFLOW
++#define FE_UNDERFLOW FE_CRUNCH_UNDERFLOW
+ FE_CRUNCH_INEXACT = (16),
+ #define FE_CRUNCH_INEXACT FE_CRUNCH_INEXACT
++#define FE_INEXACT FE_CRUNCH_INEXACT
+ };
+
+ /* Amount to shift by to convert an exception to a mask bit. */
+ #define FE_CRUNCH_EXCEPT_SHIFT 5
++#define FE_EXCEPT_SHIFT FE_CRUNCH_EXCEPT_SHIFT
+
+ /* All supported exceptions, except DIVBYZERO. */
+ #define FE_CRUNCH_ALL_EXCEPT \
+ (FE_CRUNCH_INVALID | FE_CRUNCH_OVERFLOW | FE_CRUNCH_UNDERFLOW | FE_CRUNCH_INEXACT)
++#define FE_ALL_EXCEPT FE_CRUNCH_ALL_EXCEPT
+
+ /* CRUNCH supports all of the four defined rounding modes. */
+ enum
+ {
+ FE_CRUNCH_TONEAREST = 0,
+ #define FE_CRUNCH_TONEAREST FE_CRUNCH_TONEAREST
++#define FE_TONEAREST FE_CRUNCH_TONEAREST
+ FE_CRUNCH_TOWARDZERO = 0x400,
+ #define FE_CRUNCH_TOWARDZERO FE_CRUNCH_TOWARDZERO
++#define FE_TOWARDZERO FE_CRUNCH_TOWARDZERO
+ FE_CRUNCH_DOWNWARD = 0x800,
+ #define FE_CRUNCH_DOWNWARD FE_CRUNCH_DOWNWARD
++#define FE_DOWNWARD FE_CRUNCH_DOWNWARD
+ FE_CRUNCH_UPWARD = 0xc00
+ #define FE_CRUNCH_UPWARD FE_CRUNCH_UPWARD
++#define FE_UPWARD FE_CRUNCH_UPWARD
+ };
+
+
+diff -urN glibc-2.6.1/ports/sysdeps/arm/eabi/fpu_control.h glibc-2.6.1/ports/sysdeps/arm/eabi/fpu_control.h
+--- glibc-2.6.1/ports/sysdeps/arm/eabi/fpu_control.h 2008-04-04 18:32:58.000000000 +1000
++++ glibc-2.6.1/ports/sysdeps/arm/eabi/fpu_control.h 2008-04-07 11:02:13.000000000 +1000
+@@ -20,6 +20,8 @@
+ #ifndef _FPU_CONTROL_H
+ #define _FPU_CONTROL_H
+
++#if 0
++
+ /* masking of interrupts */
+ #define _FPU_MASK_IM 0x00000100 /* invalid operation */
+ #define _FPU_MASK_ZM 0x00000200 /* divide by zero */
+@@ -45,6 +47,11 @@
+ #define _FPU_SETCW(cw) \
+ __asm__ __volatile__ ("mcr p10, 7, %0, cr1, cr0, 0" : : "r" (cw))
+
++#endif
++
+ /* CRUNCH SECTION */
+
++/* Type of the control word. */
++typedef unsigned int fpu_control_t;
++
+ /* DSPSC register: (from EP9312 User's Guide)
+@@ -69,19 +73,27 @@
+
+ /* masking of interrupts */
+ #define _FPU_CRUNCH_MASK_IM (1 << 5) /* invalid operation */
++#define _FPU_MASK_IM _FPU_CRUNCH_MASK_IM
+ #define _FPU_CRUNCH_MASK_ZM 0 /* divide by zero */
++#define _FPU_MASK_ZM _FPU_CRUNCH_MASK_ZM
+ #define _FPU_CRUNCH_MASK_OM (1 << 7) /* overflow */
++#define _FPU_MASK_OM _FPU_CRUNCH_MASK_OM
+ #define _FPU_CRUNCH_MASK_UM (1 << 8) /* underflow */
++#define _FPU_MASK_UM _FPU_CRUNCH_MASK_UM
+ #define _FPU_CRUNCH_MASK_PM (1 << 9) /* inexact */
++#define _FPU_MASK_PM _FPU_CRUNCH_MASK_PM
+ #define _FPU_CRUNCH_MASK_DM 0 /* denormalized operation */
++#undef _FPU_MASK_DM
+
+ /* Some bits in the FPSCR are not yet defined. They must be preserved when
+ modifying the contents. */
+ #define _FPU_CRUNCH_RESERVED 0x03000042
++#define _FPU_RESERVED _FPU_CRUNCH_RESERVED
+ #define _FPU_CRUNCH_DEFAULT 0x00b00000
++#define _FPU_DEFAULT _FPU_CRUNCH_DEFAULT
+ /* Default + exceptions enabled. */
+ #define _FPU_CRUNCH_IEEE (_FPU_CRUNCH_DEFAULT | 0x000003a0)
+-
++#define _FPU_IEEE _FPU_CRUNCH_IEEE
+
+ /* Macros for accessing the hardware control word. */
+ /* cfmvr64l %1, mvdx0 */
+@@ -103,6 +115,7 @@
+ : "=r" (cw), "=r" (__t1), "=r" (__t2) \
+ ); \
+ })
++#define _FPU_GETCW(cw) _FPU_CRUNCH_GETCW(cw)
+
+ /* cfmvr64l %1, mvdx0 */
+ /* cfmvr64h %2, mvdx0 */
+@@ -123,7 +136,7 @@
+ : "=r" (__t1), "=r" (__t2) : "r" (cw) \
+ ); \
+ })
+-
++#define _FPU_SETCW(cw) _FPU_CRUNCH_SETCW(cw)
+
+ /* Default control word set at startup. */
+ extern fpu_control_t __fpu_control;
diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-fraiseexcpt.patch b/recipes/glibc/glibc-2.4/glibc-crunch-eabi-fraiseexcpt.patch
new file mode 100644
index 0000000000..dcee3fad0a
--- /dev/null
+++ b/recipes/glibc/glibc-2.4/glibc-crunch-eabi-fraiseexcpt.patch
@@ -0,0 +1,88 @@
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fraiseexcpt.c glibc-2.5/ports/sysdeps/arm/eabi-new/fraiseexcpt.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/fraiseexcpt.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi-new/fraiseexcpt.c 2008-04-14 17:21:09.000000000 +1000
+@@ -25,6 +25,7 @@
+ #include <ldsodefs.h>
+ #include <dl-procinfo.h>
+ #include <sysdep.h>
++#include <math.h>
+
+ int
+ feraiseexcept (int excepts)
+@@ -105,8 +105,74 @@
+
+ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
+ {
+- /* Unsupported, for now. */
+- return 1;
++ unsigned int dspsc;
++ const float fp_zero = 0.0, fp_one = 1.0, fp_max = FLT_MAX,
++ fp_min = FLT_MIN, fp_1e32 = 1.0e32f, fp_two = 2.0,
++ fp_three = 3.0, fp_inf = HUGE_VALF;
++
++ /* Raise exceptions represented by EXPECTS. But we must raise only
++ one signal at a time. It is important that if the overflow/underflow
++ exception and the inexact exception are given at the same time,
++ the overflow/underflow exception follows the inexact exception. After
++ each exception we read from the dspsc, to force the exception to be
++ raised immediately. */
++
++ /* There are additional complications because this file may be compiled
++ without CRUNCH support enabled, and we also can't assume that the
++ assembler has CRUNCH instructions enabled. To get around this we use the
++ generic coprocessor mnemonics and avoid asking GCC to put float values
++ in CRUNCH registers. */
++
++ /* First: invalid exception. */
++ if (FE_CRUNCH_INVALID & excepts)
++ /* (ZERO * INFINITY) */
++ __asm__ __volatile__ (
++ "ldc p4, cr0, %1\n\t" /* cflds mvf0, %1 */
++ "ldc p4, cr1, %2\n\t" /* cflds mvf1, %2 */
++ "cdp p4, 1, cr0, cr0, cr1, 0\n\t" /* cfmuls mvf0, mvf0, mvf1 */
++ "cdp p4, 0, cr0, cr0, cr0, 7\n\t" /* cfmv32sc mvdx0, dspsc */
++ "mrc p5, 0, %0, cr0, cr0, 0" : "=r" (dspsc) /* cfmvr64l dspsc, mvdx0 */
++ : "m" (fp_zero), "m" (fp_inf)
++ : "s0", "s1");
++
++ /* Next: overflow. */
++ if (FE_CRUNCH_OVERFLOW & excepts)
++ /* There's no way to raise overflow without also raising inexact. */
++ __asm__ __volatile__ (
++ "ldc p4, cr0, %1\n\t" /* cflds mvf0, %1 */
++ "ldc p4, cr1, %2\n\t" /* cflds mvf1, %2 */
++ "cdp p4, 3, cr0, cr0, cr1, 4\n\t" /* cfadds mvf0, mvf0, mvf1 */
++ "cdp p4, 0, cr0, cr0, cr0, 7\n\t" /* cfmv32sc mvdx0, dspsc */
++ "mrc p5, 0, %0, cr0, cr0, 0" : "=r" (dspsc) /* cfmvr64l dspsc, mvdx0 */
++ : "m" (fp_max), "m" (fp_1e32)
++ : "s0", "s1");
++
++ /* Next: underflow. */
++ if (FE_CRUNCH_UNDERFLOW & excepts)
++ /* (FLT_MIN * FLT_MIN) */
++ __asm__ __volatile__ (
++ "ldc p4, cr0, %1\n\t" /* cflds mvf0, %1 */
++ "ldc p4, cr1, %2\n\t" /* cflds mvf1, %2 */
++ "cdp p4, 1, cr0, cr0, cr1, 0\n\t" /* cfmul mvf0, mvf0, mvf1 */
++ "cdp p4, 0, cr0, cr0, cr0, 7\n\t" /* cfmv32sc mvdx0, dspsc */
++ "mrc p5, 0, %0, cr0, cr0, 0" : "=r" (dspsc) /* cfmvr64l dspsc, mvdx0 */
++ : "m" (fp_min), "m" (fp_min)
++ : "s0", "s1");
++
++ /* Last: inexact. */
++ if (FE_CRUNCH_INEXACT & excepts)
++ /* There's no way to raise inexact without also raising overflow. */
++ __asm__ __volatile__ (
++ "ldc p4, cr0, %1\n\t" /* cflds mvf0, %1 */
++ "ldc p4, cr1, %2\n\t" /* cflds mvf1, %2 */
++ "cdp p4, 3, cr0, cr0, cr1, 4\n\t" /* cfadds mvf0, mvf0, mvf1 */
++ "cdp p4, 0, cr0, cr0, cr0, 7\n\t" /* cfmv32sc mvdx0, dspsc */
++ "mrc p5, 0, %0, cr0, cr0, 0" : "=r" (dspsc) /* cfmvr64l dspsc, mvdx0 */
++ : "m" (fp_max), "m" (fp_1e32)
++ : "s0", "s1");
++
++ /* Success. */
++ return 0;
+ }
+
+ /* Unsupported, so fail. */
diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-setjmp_longjmp.patch b/recipes/glibc/glibc-2.4/glibc-crunch-eabi-setjmp_longjmp.patch
new file mode 100644
index 0000000000..cf4ed6060b
--- /dev/null
+++ b/recipes/glibc/glibc-2.4/glibc-crunch-eabi-setjmp_longjmp.patch
@@ -0,0 +1,112 @@
+--- glibc-2.5/ports/sysdeps/arm/eabi/setjmp.S 2006-09-22 04:39:51.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/setjmp.S 2007-05-24 13:31:20.000000000 +1000
+@@ -74,6 +74,34 @@
+ stcl p1, cr15, [r12], #8
+ Lno_iwmmxt:
+
++ tst a3, #HWCAP_ARM_CRUNCH
++ beq Lno_crunch
++
++ /* Save the call-preserved crunch registers. */
++ /* Following instructions are cfstrd cr10, [ip], #8 (etc.) */
++ /* stcl p4, cr4, [r12], #8 */
++ /* stcl p4, cr5, [r12], #8 */
++ /* stcl p4, cr6, [r12], #8 */
++ /* stcl p4, cr7, [r12], #8 */
++ stcl p4, cr8, [r12], #8
++ stcl p4, cr9, [r12], #8
++ stcl p4, cr10, [r12], #8
++ stcl p4, cr11, [r12], #8
++ stcl p4, cr12, [r12], #8
++ stcl p4, cr13, [r12], #8
++ stcl p4, cr14, [r12], #8
++ stcl p4, cr15, [r12], #8
++ /* Store the floating-point status register.
++ /* Following 6 instructions are FPU_CRUNCH_GETCW (r2) clob (r3, r4) */
++ /* mrc p5, 0, r3, cr0, cr0, 0 */
++ /* mrc p5, 0, r4, cr0, cr0, 1 */
++ /* cdp p4, 0, cr0, cr0, cr0, 7 */
++ /* mrc p5, 0, r2, cr0, cr0, 0 */
++ /* mcr p5, 0, r3, cr0, cr0, 0 */
++ /* mcr p5, 0, r4, cr0, cr0, 1 */
++ /* str r2, [ip], #4 */
++Lno_crunch:
++
+ /* Make a tail call to __sigjmp_save; it takes the same args. */
+ B PLTJMP(C_SYMBOL_NAME(__sigjmp_save))
+
+--- glibc-2.5/ports/sysdeps/arm/eabi/__longjmp.S 2006-09-22 04:39:51.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/__longjmp.S 2007-05-24 13:31:23.000000000 +1000
+@@ -76,6 +76,34 @@
+ ldcl p1, cr15, [r12], #8
+ Lno_iwmmxt:
+
++ tst a2, #HWCAP_ARM_CRUNCH
++ beq Lno_crunch
++
++ /* Restore the call-preserved crunch registers. */
++ /* Following instructions are cfldrd cr10, [ip], #8 (etc.) */
++ /* ldcl p4, cr4, [r12], #8 */
++ /* ldcl p4, cr5, [r12], #8 */
++ /* ldcl p4, cr6, [r12], #8 */
++ /* ldcl p4, cr7, [r12], #8 */
++ ldcl p4, cr8, [r12], #8
++ ldcl p4, cr9, [r12], #8
++ ldcl p4, cr10, [r12], #8
++ ldcl p4, cr11, [r12], #8
++ ldcl p4, cr12, [r12], #8
++ ldcl p4, cr13, [r12], #8
++ ldcl p4, cr14, [r12], #8
++ ldcl p4, cr15, [r12], #8
++ /* Restore the floating-point status register. */
++ ldr r1, [ip], #4
++ /* Following 6 instructions are FPU_CRUNCH_SETCW (r1) clob (r2, r3). */
++ /* mrc p5, 0, r2, cr0, cr0, 0 */
++ /* mrc p5, 0, r3, cr0, cr0, 1 */
++ /* mcr p5, 0, r1, cr0, cr0, 0 */
++ /* cdp p4, 1, cr0, cr0, cr0, 7 */
++ /* mcr p5, 0, r2, cr0, cr0, 0 */
++ /* mcr p5, 0, r3, cr0, cr0, 1 */
++Lno_crunch:
++
+ DO_RET(lr)
+
+ #ifdef IS_IN_rtld
+--- glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/sysdep.h 2006-09-22 04:39:51.000000000 +1000
++++ glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/sysdep.h 2007-05-24 12:59:03.000000000 +1000
+@@ -48,6 +48,7 @@
+ #define HWCAP_ARM_EDSP 128
+ #define HWCAP_ARM_JAVA 256
+ #define HWCAP_ARM_IWMMXT 512
++#define HWCAP_ARM_CRUNCH 1024
+
+ #ifdef __ASSEMBLER__
+
+--- glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c 2007-07-02 13:20:36.000000000 +1000
++++ glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c 2007-07-02 13:23:19.000000000 +1000
+@@ -47,12 +47,12 @@
+ #if !defined PROCINFO_DECL && defined SHARED
+ ._dl_arm_cap_flags
+ #else
+-PROCINFO_CLASS const char _dl_arm_cap_flags[10][10]
++PROCINFO_CLASS const char _dl_arm_cap_flags[11][10]
+ #endif
+ #ifndef PROCINFO_DECL
+ = {
+ "swp", "half", "thumb", "26bit", "fast-mult", "fpa", "vfp", "edsp",
+- "java", "iwmmxt",
++ "java", "iwmmxt", "crunch",
+ }
+ #endif
+ #if !defined SHARED || defined PROCINFO_DECL
+--- glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h 2007-07-02 13:25:23.000000000 +1000
++++ glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h 2007-07-02 13:25:38.000000000 +1000
+@@ -24,7 +24,7 @@
+ #include <ldsodefs.h>
+ #include <sysdep.h>
+
+-#define _DL_HWCAP_COUNT 10
++#define _DL_HWCAP_COUNT 11
+
+ /* The kernel provides platform data but it is not interesting. */
+ #define _DL_HWCAP_PLATFORM 0
diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-unwind.patch b/recipes/glibc/glibc-2.4/glibc-crunch-eabi-unwind.patch
new file mode 100644
index 0000000000..d91d4fd356
--- /dev/null
+++ b/recipes/glibc/glibc-2.4/glibc-crunch-eabi-unwind.patch
@@ -0,0 +1,12 @@
+--- glibc-2.7/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind.h 2008-04-04 15:57:19.000000000 +1000
++++ glibc-2.7/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind.h 2008-04-04 16:00:41.000000000 +1000
+@@ -138,7 +138,8 @@
+ _UVRSC_VFP = 1, /* vfp */
+ _UVRSC_FPA = 2, /* fpa */
+ _UVRSC_WMMXD = 3, /* Intel WMMX data register */
+- _UVRSC_WMMXC = 4 /* Intel WMMX control register */
++ _UVRSC_WMMXC = 4, /* Intel WMMX control register */
++ _UVRSC_CRUNCH = 5 /* Maverick crunch register */
+ }
+ _Unwind_VRS_RegClass;
+
diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-eabi.patch b/recipes/glibc/glibc-2.4/glibc-crunch-eabi.patch
new file mode 100644
index 0000000000..8af4baf9d7
--- /dev/null
+++ b/recipes/glibc/glibc-2.4/glibc-crunch-eabi.patch
@@ -0,0 +1,461 @@
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/bits/fenv.h glibc-2.5/ports/sysdeps/arm/eabi/bits/fenv.h
+--- glibc-2.5/ports/sysdeps/arm/eabi/bits/fenv.h 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/bits/fenv.h 2008-04-02 13:35:39.000000000 +1000
+@@ -20,7 +20,7 @@
+ # error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
+ #endif
+
+-/* Define bits representing exceptions in the FPU status word. */
++/* Define bits representing exceptions in the VFP FPU status word. */
+ enum
+ {
+ FE_INVALID = 1,
+@@ -55,6 +55,40 @@
+ #define FE_TOWARDZERO FE_TOWARDZERO
+ };
+
++/* Define bits representing exceptions in the CRUNCH FPU status word. */
++enum
++ {
++ FE_CRUNCH_INVALID = (1),
++#define FE_CRUNCH_INVALID FE_CRUNCH_INVALID
++ FE_CRUNCH_OVERFLOW = (4),
++#define FE_CRUNCH_OVERFLOW FE_CRUNCH_OVERFLOW
++ FE_CRUNCH_UNDERFLOW = (8),
++#define FE_CRUNCH_UNDERFLOW FE_CRUNCH_UNDERFLOW
++ FE_CRUNCH_INEXACT = (16),
++#define FE_CRUNCH_INEXACT FE_CRUNCH_INEXACT
++ };
++
++/* Amount to shift by to convert an exception to a mask bit. */
++#define FE_CRUNCH_EXCEPT_SHIFT 5
++
++/* All supported exceptions, except DIVBYZERO. */
++#define FE_CRUNCH_ALL_EXCEPT \
++ (FE_CRUNCH_INVALID | FE_CRUNCH_OVERFLOW | FE_CRUNCH_UNDERFLOW | FE_CRUNCH_INEXACT)
++
++/* CRUNCH supports all of the four defined rounding modes. */
++enum
++ {
++ FE_CRUNCH_TONEAREST = 0,
++#define FE_CRUNCH_TONEAREST FE_CRUNCH_TONEAREST
++ FE_CRUNCH_TOWARDZERO = 0x400,
++#define FE_CRUNCH_TOWARDZERO FE_CRUNCH_TOWARDZERO
++ FE_CRUNCH_DOWNWARD = 0x800,
++#define FE_CRUNCH_DOWNWARD FE_CRUNCH_DOWNWARD
++ FE_CRUNCH_UPWARD = 0xc00
++#define FE_CRUNCH_UPWARD FE_CRUNCH_UPWARD
++ };
++
++
+ /* Type representing exception flags. */
+ typedef unsigned int fexcept_t;
+
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fclrexcpt.c glibc-2.5/ports/sysdeps/arm/eabi/fclrexcpt.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/fclrexcpt.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/fclrexcpt.c 2008-04-02 13:25:09.000000000 +1000
+@@ -48,6 +48,26 @@
+ return 0;
+ }
+
++ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
++ {
++ unsigned long int temp;
++
++ /* Mask out unsupported bits/exceptions. */
++ excepts &= FE_CRUNCH_ALL_EXCEPT;
++
++ /* Get the current floating point status. */
++ _FPU_CRUNCH_GETCW (temp);
++
++ /* Clear the relevant bits. */
++ temp = (temp & ~FE_CRUNCH_ALL_EXCEPT) | (temp & FE_CRUNCH_ALL_EXCEPT & ~excepts);
++
++ /* Put the new data in effect. */
++ _FPU_CRUNCH_SETCW (temp);
++
++ /* Success. */
++ return 0;
++ }
++
+ /* Unsupported, so fail. */
+ return 1;
+ }
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fedisblxcpt.c glibc-2.5/ports/sysdeps/arm/eabi/fedisblxcpt.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/fedisblxcpt.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/fedisblxcpt.c 2008-04-02 13:29:44.000000000 +1000
+@@ -46,6 +46,23 @@
+ return old_exc;
+ }
+
++ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
++ {
++ unsigned long int new_exc, old_exc;
++
++ _FPU_CRUNCH_GETCW(new_exc);
++
++ old_exc = (new_exc >> FE_CRUNCH_EXCEPT_SHIFT) & FE_CRUNCH_ALL_EXCEPT;
++
++ excepts &= FE_CRUNCH_ALL_EXCEPT;
++
++ new_exc &= ~(excepts << FE_CRUNCH_EXCEPT_SHIFT);
++
++ _FPU_CRUNCH_SETCW(new_exc);
++
++ return old_exc;
++ }
++
+ /* Unsupported, so return -1 for failure. */
+ return -1;
+ }
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/feenablxcpt.c glibc-2.5/ports/sysdeps/arm/eabi/feenablxcpt.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/feenablxcpt.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/feenablxcpt.c 2008-04-02 13:30:30.000000000 +1000
+@@ -46,6 +46,23 @@
+ return old_exc;
+ }
+
++ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
++ {
++ unsigned long int new_exc, old_exc;
++
++ _FPU_CRUNCH_GETCW(new_exc);
++
++ old_exc = (new_exc >> FE_CRUNCH_EXCEPT_SHIFT) & FE_CRUNCH_ALL_EXCEPT;
++
++ excepts &= FE_CRUNCH_ALL_EXCEPT;
++
++ new_exc |= (excepts << FE_CRUNCH_EXCEPT_SHIFT);
++
++ _FPU_CRUNCH_SETCW(new_exc);
++
++ return old_exc;
++ }
++
+ /* Unsupported, so return -1 for failure. */
+ return -1;
+ }
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fegetenv.c glibc-2.5/ports/sysdeps/arm/eabi/fegetenv.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/fegetenv.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/fegetenv.c 2008-04-02 13:31:08.000000000 +1000
+@@ -38,6 +38,16 @@
+ return 0;
+ }
+
++ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
++ {
++ unsigned long int temp;
++ _FPU_CRUNCH_GETCW (temp);
++ envp->__cw = temp;
++
++ /* Success. */
++ return 0;
++ }
++
+ /* Unsupported, so fail. */
+ return 1;
+ }
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fegetexcept.c glibc-2.5/ports/sysdeps/arm/eabi/fegetexcept.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/fegetexcept.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/fegetexcept.c 2008-04-02 13:31:40.000000000 +1000
+@@ -38,6 +38,15 @@
+ return (temp >> FE_EXCEPT_SHIFT) & FE_ALL_EXCEPT;
+ }
+
++ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
++ {
++ unsigned long temp;
++
++ _FPU_CRUNCH_GETCW (temp);
++
++ return (temp >> FE_CRUNCH_EXCEPT_SHIFT) & FE_CRUNCH_ALL_EXCEPT;
++ }
++
+ /* Unsupported. Return all exceptions disabled. */
+ return 0;
+ }
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fegetround.c glibc-2.5/ports/sysdeps/arm/eabi/fegetround.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/fegetround.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/fegetround.c 2008-04-02 13:32:18.000000000 +1000
+@@ -38,6 +38,16 @@
+ return temp & FE_TOWARDZERO;
+ }
+
++ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
++ {
++ unsigned int temp;
++
++ /* Get the current environment. */
++ _FPU_CRUNCH_GETCW (temp);
++
++ return temp & FE_CRUNCH_UPWARD;
++ }
++
+ /* The current soft-float implementation only handles TONEAREST. */
+ return FE_TONEAREST;
+ }
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/feholdexcpt.c glibc-2.5/ports/sysdeps/arm/eabi/feholdexcpt.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/feholdexcpt.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/feholdexcpt.c 2008-04-02 13:36:24.000000000 +1000
+@@ -47,6 +47,25 @@
+ return 0;
+ }
+
++ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
++ {
++ unsigned long int temp;
++
++ /* Store the environment. */
++ _FPU_CRUNCH_GETCW(temp);
++ envp->__cw = temp;
++
++ /* Now set all exceptions to non-stop. */
++ temp &= ~(FE_CRUNCH_ALL_EXCEPT << FE_CRUNCH_EXCEPT_SHIFT);
++
++ /* And clear all exception flags. */
++ temp &= ~FE_CRUNCH_ALL_EXCEPT;
++
++ _FPU_CRUNCH_SETCW(temp);
++
++ return 0;
++ }
++
+ /* Unsupported, so fail. */
+ return 1;
+ }
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fesetenv.c glibc-2.5/ports/sysdeps/arm/eabi/fesetenv.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/fesetenv.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/fesetenv.c 2008-04-02 13:43:31.000000000 +1000
+@@ -48,6 +48,26 @@
+ return 0;
+ }
+
++ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
++ {
++ unsigned int temp;
++
++ _FPU_CRUNCH_GETCW (temp);
++ temp &= _FPU_CRUNCH_RESERVED;
++
++ if (envp == FE_DFL_ENV)
++ temp |= _FPU_CRUNCH_DEFAULT;
++ else if (envp == FE_NOMASK_ENV)
++ temp |= _FPU_CRUNCH_IEEE;
++ else
++ temp |= envp->__cw & ~_FPU_CRUNCH_RESERVED;
++
++ _FPU_CRUNCH_SETCW (temp);
++
++ /* Success. */
++ return 0;
++ }
++
+ /* Unsupported, so fail. */
+ return 1;
+ }
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fesetround.c glibc-2.5/ports/sysdeps/arm/eabi/fesetround.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/fesetround.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/fesetround.c 2008-04-02 13:57:35.000000000 +1000
+@@ -45,6 +45,24 @@
+ default:
+ return 1;
+ }
+ }
++ else if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
++ {
++ fpu_control_t temp;
++
++ switch (round)
++ {
++ case FE_CRUNCH_TONEAREST:
++ case FE_CRUNCH_UPWARD:
++ case FE_CRUNCH_DOWNWARD:
++ case FE_CRUNCH_TOWARDZERO:
++ _FPU_CRUNCH_GETCW (temp);
++ temp = (temp & ~FE_CRUNCH_UPWARD) | round;
++ _FPU_CRUNCH_SETCW (temp);
++ return 0;
++ default:
++ return 1;
++ }
++ }
+ else if (round == FE_TONEAREST)
+ /* This is the only supported rounding mode for soft-fp. */
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fpu_control.h glibc-2.5/ports/sysdeps/arm/eabi/fpu_control.h
+--- glibc-2.5/ports/sysdeps/arm/eabi/fpu_control.h 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/fpu_control.h 2008-04-02 13:43:05.000000000 +1000
+@@ -45,6 +45,86 @@
+ #define _FPU_SETCW(cw) \
+ __asm__ __volatile__ ("mcr p10, 7, %0, cr1, cr0, 0" : : "r" (cw))
+
++/* CRUNCH SECTION */
++
++/* DSPSC register: (from EP9312 User's Guide)
++ *
++ * bits 31..29 - DAID
++ * bits 28..26 - HVID
++ * bits 25..24 - RSVD
++ * bit 23 - ISAT
++ * bit 22 - UI
++ * bit 21 - INT
++ * bit 20 - AEXC
++ * bits 19..18 - SAT
++ * bits 17..16 - FCC
++ * bit 15 - V
++ * bit 14 - FWDEN
++ * bit 13 - Invalid
++ * bit 12 - Denorm
++ * bits 11..10 - RM
++ * bits 9..5 - IXE, UFE, OFE, RSVD, IOE
++ * bits 4..0 - IX, UF, OF, RSVD, IO
++ */
++
++/* masking of interrupts */
++#define _FPU_CRUNCH_MASK_IM (1 << 5) /* invalid operation */
++#define _FPU_CRUNCH_MASK_ZM 0 /* divide by zero */
++#define _FPU_CRUNCH_MASK_OM (1 << 7) /* overflow */
++#define _FPU_CRUNCH_MASK_UM (1 << 8) /* underflow */
++#define _FPU_CRUNCH_MASK_PM (1 << 9) /* inexact */
++#define _FPU_CRUNCH_MASK_DM 0 /* denormalized operation */
++
++/* Some bits in the FPSCR are not yet defined. They must be preserved when
++ modifying the contents. */
++#define _FPU_CRUNCH_RESERVED 0x03000042
++#define _FPU_CRUNCH_DEFAULT 0x00b00000
++/* Default + exceptions enabled. */
++#define _FPU_CRUNCH_IEEE (_FPU_CRUNCH_DEFAULT | 0x000003a0)
++
++
++/* Macros for accessing the hardware control word. */
++/* cfmvr64l %1, mvdx0 */
++/* cfmvr64h %2, mvdx0 */
++/* cfmv32sc mvdx0, dspsc */
++/* cfmvr64l %0, mvdx0 */
++/* cfmv64lr mvdx0, %1 */
++/* cfmv64hr mvdx0, %2 */
++#define _FPU_CRUNCH_GETCW(cw) ({ \
++ register int __t1, __t2; \
++ \
++ __asm__ volatile ( \
++ "mrc p5, 0, %1, cr0, cr0, 0\n\t" \
++ "mrc p5, 0, %2, cr0, cr0, 1\n\t" \
++ "cdp p4, 0, cr0, cr0, cr0, 7\n\t" \
++ "mrc p5, 0, %0, cr0, cr0, 0\n\t" \
++ "mcr p5, 0, %1, cr0, cr0, 0\n\t" \
++ "mcr p5, 0, %2, cr0, cr0, 1" \
++ : "=r" (cw), "=r" (__t1), "=r" (__t2) \
++ ); \
++})
++
++/* cfmvr64l %1, mvdx0 */
++/* cfmvr64h %2, mvdx0 */
++/* cfmv64lr mvdx0, %0 */
++/* cfmvsc32 dspsc, mvdx0 */
++/* cfmv64lr mvdx0, %1 */
++/* cfmv64hr mvdx0, %2 */
++#define _FPU_CRUNCH_SETCW(cw) ({ \
++ register int __t1, __t2; \
++ \
++ __asm__ volatile ( \
++ "mrc p5, 0, %0, cr0, cr0, 0\n\t" \
++ "mrc p5, 0, %1, cr0, cr0, 1\n\t" \
++ "mcr p5, 0, %2, cr0, cr0, 0\n\t" \
++ "cdp p4, 1, cr0, cr0, cr0, 7\n\t" \
++ "mcr p5, 0, %0, cr0, cr0, 0\n\t" \
++ "mcr p5, 0, %1, cr0, cr0, 1\n\t" \
++ : "=r" (__t1), "=r" (__t2) : "r" (cw) \
++ ); \
++})
++
++
+ /* Default control word set at startup. */
+ extern fpu_control_t __fpu_control;
+
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fraiseexcpt.c glibc-2.5/ports/sysdeps/arm/eabi/fraiseexcpt.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/fraiseexcpt.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/fraiseexcpt.c 2008-04-07 16:48:09.000000000 +1000
+@@ -103,6 +103,12 @@
+ return 0;
+ }
+
++ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
++ {
++ /* Unsupported, for now. */
++ return 1;
++ }
++
+ /* Unsupported, so fail. */
+ return 1;
+ }
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fsetexcptflg.c glibc-2.5/ports/sysdeps/arm/eabi/fsetexcptflg.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/fsetexcptflg.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/fsetexcptflg.c 2008-04-02 13:49:34.000000000 +1000
+@@ -47,6 +47,24 @@
+ return 0;
+ }
+
++ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
++ {
++ fexcept_t temp;
++
++ /* Get the current environment. */
++ _FPU_CRUNCH_GETCW (temp);
++
++ /* Set the desired exception mask. */
++ temp &= ~((excepts & FE_CRUNCH_ALL_EXCEPT) << FE_CRUNCH_EXCEPT_SHIFT);
++ temp |= (*flagp & excepts & FE_CRUNCH_ALL_EXCEPT) << FE_CRUNCH_EXCEPT_SHIFT;
++
++ /* Save state back to the FPU. */
++ _FPU_CRUNCH_SETCW (temp);
++
++ /* Success. */
++ return 0;
++ }
++
+ /* Unsupported, so fail. */
+ return 1;
+ }
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/ftestexcept.c glibc-2.5/ports/sysdeps/arm/eabi/ftestexcept.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/ftestexcept.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/ftestexcept.c 2008-04-02 13:50:10.000000000 +1000
+@@ -38,6 +38,16 @@
+ return temp & excepts & FE_ALL_EXCEPT;
+ }
+
++ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
++ {
++ fexcept_t temp;
++
++ /* Get current exceptions. */
++ _FPU_CRUNCH_GETCW(temp);
++
++ return temp & excepts & FE_CRUNCH_ALL_EXCEPT;
++ }
++
+ /* Unsupported, return 0. */
+ return 0;
+ }
+diff -urN glibc-2.5/ports/sysdeps/arm/eabi/setfpucw.c glibc-2.5/ports/sysdeps/arm/eabi/setfpucw.c
+--- glibc-2.5/ports/sysdeps/arm/eabi/setfpucw.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/eabi/setfpucw.c 2008-04-02 13:51:28.000000000 +1000
+@@ -43,5 +43,20 @@
+ _FPU_SETCW (cw);
+ }
+
++ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH)
++ {
++ fpu_control_t cw;
++
++ /* Fetch the current control word. */
++ _FPU_CRUNCH_GETCW (cw);
++
++ /* Preserve the reserved bits, and set the rest as the user
++ specified (or the default, if the user gave zero). */
++ cw &= _FPU_CRUNCH_RESERVED;
++ cw |= set & ~_FPU_CRUNCH_RESERVED;
++
++ _FPU_CRUNCH_SETCW (cw);
++ }
++
+ /* Do nothing if a VFP unit isn't present. */
+ }
diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-endian-bigword-littlebyte.patch b/recipes/glibc/glibc-2.4/glibc-crunch-endian-bigword-littlebyte.patch
new file mode 100644
index 0000000000..e181e97ca5
--- /dev/null
+++ b/recipes/glibc/glibc-2.4/glibc-crunch-endian-bigword-littlebyte.patch
@@ -0,0 +1,40 @@
+diff -urN glibc-2.5/ports/sysdeps/arm/bits/endian.h glibc-2.5/ports/sysdeps/arm/bits/endian.h
+--- glibc-2.5/ports/sysdeps/arm/bits/endian.h 2005-06-13 20:11:47.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/bits/endian.h 2007-05-18 08:41:52.000000000 +1000
+@@ -15,5 +15,9 @@
+ #ifdef __VFP_FP__
+ #define __FLOAT_WORD_ORDER __BYTE_ORDER
+ #else
++#ifdef __MAVERICK__
++#define __FLOAT_WORD_ORDER __BIG_ENDIAN
++#else
+ #define __FLOAT_WORD_ORDER __BIG_ENDIAN
+ #endif
++#endif
+diff -urN glibc-2.5/ports/sysdeps/arm/gccframe.h glibc-2.5/ports/sysdeps/arm/gccframe.h
+--- glibc-2.5/ports/sysdeps/arm/gccframe.h 2001-11-16 11:07:20.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/gccframe.h 2007-05-18 08:53:38.000000000 +1000
+@@ -17,6 +17,10 @@
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
++#ifdef __MAVERICK__
++#define FIRST_PSEUDO_REGISTER 43
++#else
+ #define FIRST_PSEUDO_REGISTER 27
++#endif
+
+ #include <sysdeps/generic/gccframe.h>
+diff -urN glibc-2.5/ports/sysdeps/arm/gmp-mparam.h glibc-2.5/ports/sysdeps/arm/gmp-mparam.h
+--- glibc-2.5/ports/sysdeps/arm/gmp-mparam.h 2005-06-13 20:11:47.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/gmp-mparam.h 2007-05-18 08:54:21.000000000 +1000
+@@ -29,6 +29,9 @@
+ #if defined(__ARMEB__)
+ # define IEEE_DOUBLE_MIXED_ENDIAN 0
+ # define IEEE_DOUBLE_BIG_ENDIAN 1
++#elif defined(__MAVERICK__)
++#define IEEE_DOUBLE_MIXED_ENDIAN 0
++#define IEEE_DOUBLE_BIG_ENDIAN 1
+ #elif defined(__VFP_FP__)
+ # define IEEE_DOUBLE_MIXED_ENDIAN 0
+ # define IEEE_DOUBLE_BIG_ENDIAN 0
diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-endian-littleword-littlebyte.patch b/recipes/glibc/glibc-2.4/glibc-crunch-endian-littleword-littlebyte.patch
new file mode 100644
index 0000000000..e8559d4f67
--- /dev/null
+++ b/recipes/glibc/glibc-2.4/glibc-crunch-endian-littleword-littlebyte.patch
@@ -0,0 +1,40 @@
+diff -urN glibc-2.5/ports/sysdeps/arm/bits/endian.h glibc-2.5/ports/sysdeps/arm/bits/endian.h
+--- glibc-2.5/ports/sysdeps/arm/bits/endian.h 2005-06-13 20:11:47.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/bits/endian.h 2007-05-18 08:41:52.000000000 +1000
+@@ -15,5 +15,9 @@
+ #ifdef __VFP_FP__
+ #define __FLOAT_WORD_ORDER __BYTE_ORDER
+ #else
++#ifdef __MAVERICK__
++#define __FLOAT_WORD_ORDER __LITTLE_ENDIAN
++#else
+ #define __FLOAT_WORD_ORDER __BIG_ENDIAN
+ #endif
++#endif
+diff -urN glibc-2.5/ports/sysdeps/arm/gccframe.h glibc-2.5/ports/sysdeps/arm/gccframe.h
+--- glibc-2.5/ports/sysdeps/arm/gccframe.h 2001-11-16 11:07:20.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/gccframe.h 2007-05-18 08:53:38.000000000 +1000
+@@ -17,6 +17,10 @@
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
++#ifdef __MAVERICK__
++#define FIRST_PSEUDO_REGISTER 43
++#else
+ #define FIRST_PSEUDO_REGISTER 27
++#endif
+
+ #include <sysdeps/generic/gccframe.h>
+diff -urN glibc-2.5/ports/sysdeps/arm/gmp-mparam.h glibc-2.5/ports/sysdeps/arm/gmp-mparam.h
+--- glibc-2.5/ports/sysdeps/arm/gmp-mparam.h 2005-06-13 20:11:47.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/gmp-mparam.h 2007-05-18 08:54:21.000000000 +1000
+@@ -29,6 +29,9 @@
+ #if defined(__ARMEB__)
+ # define IEEE_DOUBLE_MIXED_ENDIAN 0
+ # define IEEE_DOUBLE_BIG_ENDIAN 1
++#elif defined(__MAVERICK__)
++#define IEEE_DOUBLE_MIXED_ENDIAN 0
++#define IEEE_DOUBLE_BIG_ENDIAN 0
+ #elif defined(__VFP_FP__)
+ # define IEEE_DOUBLE_MIXED_ENDIAN 0
+ # define IEEE_DOUBLE_BIG_ENDIAN 0
diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-oabi.patch b/recipes/glibc/glibc-2.4/glibc-crunch-oabi.patch
new file mode 100644
index 0000000000..964abb46d6
--- /dev/null
+++ b/recipes/glibc/glibc-2.4/glibc-crunch-oabi.patch
@@ -0,0 +1,310 @@
+diff -urN glibc-2.5/ports/sysdeps/arm/fpu/bits/fenv.h glibc-2.5/ports/sysdeps/arm/fpu/bits/fenv.h
+--- glibc-2.5/ports/sysdeps/arm/fpu/bits/fenv.h 2001-07-06 14:55:48.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/fpu/bits/fenv.h 2007-05-18 08:44:33.000000000 +1000
+@@ -20,6 +20,45 @@
+ # error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
+ #endif
+
++#if defined(__MAVERICK__)
++
++/* Define bits representing exceptions in the FPU status word. */
++enum
++ {
++ FE_INVALID = 1,
++#define FE_INVALID FE_INVALID
++ FE_OVERFLOW = 4,
++#define FE_OVERFLOW FE_OVERFLOW
++ FE_UNDERFLOW = 8,
++#define FE_UNDERFLOW FE_UNDERFLOW
++ FE_INEXACT = 16,
++#define FE_INEXACT FE_INEXACT
++ };
++
++/* Amount to shift by to convert an exception to a mask bit. */
++#define FE_EXCEPT_SHIFT 5
++
++/* All supported exceptions. */
++#define FE_ALL_EXCEPT \
++ (FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
++
++/* IEEE rounding modes. */
++enum
++ {
++ FE_TONEAREST = 0,
++#define FE_TONEAREST FE_TONEAREST
++ FE_TOWARDZERO = 0x400,
++#define FE_TOWARDZERO FE_TOWARDZERO
++ FE_DOWNWARD = 0x800,
++#define FE_DOWNWARD FE_DOWNWARD
++ FE_UPWARD = 0xc00,
++#define FE_UPWARD FE_UPWARD
++ };
++
++#define FE_ROUND_MASK (FE_UPWARD)
++
++#else /* FPA */
++
+ /* Define bits representing exceptions in the FPU status word. */
+ enum
+ {
+@@ -31,6 +70,7 @@
+ #define FE_OVERFLOW FE_OVERFLOW
+ FE_UNDERFLOW = 8,
+ #define FE_UNDERFLOW FE_UNDERFLOW
++
+ };
+
+ /* Amount to shift by to convert an exception to a mask bit. */
+@@ -44,6 +84,8 @@
+ modes exist, but you have to encode them in the actual instruction. */
+ #define FE_TONEAREST 0
+
++#endif /* FPA */
++
+ /* Type representing exception flags. */
+ typedef unsigned long int fexcept_t;
+
+diff -urN glibc-2.5/ports/sysdeps/arm/fpu/bits/setjmp.h glibc-2.5/ports/sysdeps/arm/fpu/bits/setjmp.h
+--- glibc-2.5/ports/sysdeps/arm/fpu/bits/setjmp.h 2006-01-10 19:22:16.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/fpu/bits/setjmp.h 2007-05-18 08:45:22.000000000 +1000
+@@ -28,7 +28,11 @@
+ #ifndef _ASM
+ /* Jump buffer contains v1-v6, sl, fp, sp and pc. Other registers are not
+ saved. */
++#ifdef __MAVERICK__
++typedef int __jmp_buf[34];
++#else
+ typedef int __jmp_buf[22];
+ #endif
++#endif
+
+ #endif
+diff -urN glibc-2.5/ports/sysdeps/arm/fpu/fegetround.c glibc-2.5/ports/sysdeps/arm/fpu/fegetround.c
+--- glibc-2.5/ports/sysdeps/arm/fpu/fegetround.c 2001-07-06 14:55:48.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/fpu/fegetround.c 2007-05-18 08:47:52.000000000 +1000
+@@ -18,9 +18,21 @@
+ 02111-1307 USA. */
+
+ #include <fenv.h>
++#include <fpu_control.h>
+
+ int
+ fegetround (void)
+ {
++#if defined(__MAVERICK__)
++
++ unsigned long temp;
++
++ _FPU_GETCW (temp);
++ return temp & FE_ROUND_MASK;
++
++#else /* FPA */
++
+ return FE_TONEAREST; /* Easy. :-) */
++
++#endif
+ }
+diff -urN glibc-2.5/ports/sysdeps/arm/fpu/fesetround.c glibc-2.5/ports/sysdeps/arm/fpu/fesetround.c
+--- glibc-2.5/ports/sysdeps/arm/fpu/fesetround.c 2005-10-11 01:29:32.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/fpu/fesetround.c 2007-05-18 08:48:32.000000000 +1000
+@@ -20,10 +20,26 @@
+ #include <fenv.h>
++#include <fpu_control.h>
+
+ int
+ fesetround (int round)
+ {
++#if defined(__MAVERICK__)
++ unsigned long temp;
++
++ if (round & ~FE_ROUND_MASK)
++ return 1;
++
++ _FPU_GETCW (temp);
++ temp = (temp & ~FE_ROUND_MASK) | round;
++ _FPU_SETCW (temp);
++ return 0;
++
++#else /* FPA */
++
+ /* We only support FE_TONEAREST, so there is no need for any work. */
+ return (round == FE_TONEAREST)?0:1;
++
++#endif
+ }
+
+ libm_hidden_def (fesetround)
+diff -urN glibc-2.5/ports/sysdeps/arm/fpu/fpu_control.h glibc-2.5/ports/sysdeps/arm/fpu/fpu_control.h
+--- glibc-2.5/ports/sysdeps/arm/fpu/fpu_control.h 2001-07-06 14:55:48.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/fpu/fpu_control.h 2007-05-18 08:50:28.000000000 +1000
+@@ -20,6 +20,81 @@
+ #ifndef _FPU_CONTROL_H
+ #define _FPU_CONTROL_H
+
++#if defined(__MAVERICK__)
++
++/* DSPSC register: (from EP9312 User's Guide)
++ *
++ * bits 31..29 - DAID
++ * bits 28..26 - HVID
++ * bits 25..24 - RSVD
++ * bit 23 - ISAT
++ * bit 22 - UI
++ * bit 21 - INT
++ * bit 20 - AEXC
++ * bits 19..18 - SAT
++ * bits 17..16 - FCC
++ * bit 15 - V
++ * bit 14 - FWDEN
++ * bit 13 - Invalid
++ * bit 12 - Denorm
++ * bits 11..10 - RM
++ * bits 9..5 - IXE, UFE, OFE, RSVD, IOE
++ * bits 4..0 - IX, UF, OF, RSVD, IO
++ */
++
++/* masking of interrupts */
++#define _FPU_MASK_IM (1 << 5) /* invalid operation */
++#define _FPU_MASK_ZM 0 /* divide by zero */
++#define _FPU_MASK_OM (1 << 7) /* overflow */
++#define _FPU_MASK_UM (1 << 8) /* underflow */
++#define _FPU_MASK_PM (1 << 9) /* inexact */
++#define _FPU_MASK_DM 0 /* denormalized operation */
++
++#define _FPU_RESERVED 0xfffff000 /* These bits are reserved. */
++
++#define _FPU_DEFAULT 0x00b00000 /* Default value. */
++#define _FPU_IEEE 0x00b003a0 /* Default + exceptions enabled. */
++
++/* Type of the control word. */
++typedef unsigned int fpu_control_t;
++
++/* Macros for accessing the hardware control word. */
++#define _FPU_GETCW(cw) ({ \
++ register int __t1, __t2; \
++ \
++ __asm__ volatile ( \
++ "cfmvr64l %1, mvdx0\n\t" \
++ "cfmvr64h %2, mvdx0\n\t" \
++ "cfmv32sc mvdx0, dspsc\n\t" \
++ "cfmvr64l %0, mvdx0\n\t" \
++ "cfmv64lr mvdx0, %1\n\t" \
++ "cfmv64hr mvdx0, %2" \
++ : "=r" (cw), "=r" (__t1), "=r" (__t2) \
++ ); \
++})
++
++#define _FPU_SETCW(cw) ({ \
++ register int __t0, __t1, __t2; \
++ \
++ __asm__ volatile ( \
++ "cfmvr64l %1, mvdx0\n\t" \
++ "cfmvr64h %2, mvdx0\n\t" \
++ "cfmv64lr mvdx0, %0\n\t" \
++ "cfmvsc32 dspsc, mvdx0\n\t" \
++ "cfmv64lr mvdx0, %1\n\t" \
++ "cfmv64hr mvdx0, %2" \
++ : "=r" (__t0), "=r" (__t1), "=r" (__t2) \
++ : "0" (cw) \
++ ); \
++})
++
++/* Default control word set at startup. */
++extern fpu_control_t __fpu_control;
++
++#else /* FPA */
++
++
++
+ /* We have a slight terminology confusion here. On the ARM, the register
+ * we're interested in is actually the FPU status word - the FPU control
+ * word is something different (which is implementation-defined and only
+@@ -99,4 +174,6 @@
+ /* Default control word set at startup. */
+ extern fpu_control_t __fpu_control;
+
++#endif /* FPA */
++
+ #endif /* _FPU_CONTROL_H */
+diff -urN glibc-2.5/ports/sysdeps/arm/fpu/__longjmp.S glibc-2.5/ports/sysdeps/arm/fpu/__longjmp.S
+--- glibc-2.5/ports/sysdeps/arm/fpu/__longjmp.S 2001-07-06 14:55:48.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/fpu/__longjmp.S 2007-05-18 08:51:36.000000000 +1000
+@@ -30,7 +30,33 @@
+ movs r0, r1 /* get the return value in place */
+ moveq r0, #1 /* can't let setjmp() return zero! */
+
++#ifdef __MAVERICK__
++ cfldrd mvd4, [ip], #8
++ nop
++ cfldrd mvd5, [ip], #8
++ nop
++ cfldrd mvd6, [ip], #8
++ nop
++ cfldrd mvd7, [ip], #8
++ nop
++ cfldrd mvd8, [ip], #8
++ nop
++ cfldrd mvd9, [ip], #8
++ nop
++ cfldrd mvd10, [ip], #8
++ nop
++ cfldrd mvd11, [ip], #8
++ nop
++ cfldrd mvd12, [ip], #8
++ nop
++ cfldrd mvd13, [ip], #8
++ nop
++ cfldrd mvd14, [ip], #8
++ nop
++ cfldrd mvd15, [ip], #8
++#else
+ lfmfd f4, 4, [ip] ! /* load the floating point regs */
++#endif
+
+ LOADREGS(ia, ip, {v1-v6, sl, fp, sp, pc})
+ END (__longjmp)
+diff -urN glibc-2.5/ports/sysdeps/arm/fpu/setjmp.S glibc-2.5/ports/sysdeps/arm/fpu/setjmp.S
+--- glibc-2.5/ports/sysdeps/arm/fpu/setjmp.S 2001-07-06 14:55:48.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/fpu/setjmp.S 2007-05-18 08:53:00.000000000 +1000
+@@ -24,11 +24,41 @@
+
+ ENTRY (__sigsetjmp)
+ /* Save registers */
++#ifdef __MAVERICK__
++ cfstrd mvd4, [r0], #8
++ nop
++ cfstrd mvd5, [r0], #8
++ nop
++ cfstrd mvd6, [r0], #8
++ nop
++ cfstrd mvd7, [r0], #8
++ nop
++ cfstrd mvd8, [r0], #8
++ nop
++ cfstrd mvd9, [r0], #8
++ nop
++ cfstrd mvd10, [r0], #8
++ nop
++ cfstrd mvd11, [r0], #8
++ nop
++ cfstrd mvd12, [r0], #8
++ nop
++ cfstrd mvd13, [r0], #8
++ nop
++ cfstrd mvd14, [r0], #8
++ nop
++ cfstrd mvd15, [r0], #8
++#else
+ sfmea f4, 4, [r0]!
++#endif
+ stmia r0, {v1-v6, sl, fp, sp, lr}
+
+ /* Restore pointer to jmp_buf */
++#ifdef __MAVERICK__
++ sub r0, r0, #96
++#else
+ sub r0, r0, #48
++#endif
+
+ /* Make a tail call to __sigjmp_save; it takes the same args. */
+ B PLTJMP(C_SYMBOL_NAME(__sigjmp_save))
diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-oabi2.patch b/recipes/glibc/glibc-2.4/glibc-crunch-oabi2.patch
new file mode 100644
index 0000000000..fe5a05014f
--- /dev/null
+++ b/recipes/glibc/glibc-2.4/glibc-crunch-oabi2.patch
@@ -0,0 +1,18 @@
+--- glibc-2.5/ports/sysdeps/arm/sysdep.h 2007-07-02 13:05:53.000000000 +1000
++++ glibc-2.5/ports/sysdeps/arm/sysdep.h 2007-07-02 13:06:26.000000000 +1000
+@@ -51,6 +51,7 @@
+
+ #endif
+
++#if 0 // ndef __MAVERICK__
+ /* APCS-32 doesn't preserve the condition codes across function call. */
+ #ifdef __APCS_32__
+ #define LOADREGS(cond, base, reglist...)\
+@@ -74,6 +75,7 @@
+ #define DO_RET(_reg) \
+ movs pc, _reg
+ #endif
++#endif
+
+ /* Define an entry point visible from C. */
+ #define ENTRY(name) \
diff --git a/recipes/glibc/glibc-package.bbclass b/recipes/glibc/glibc-package.bbclass
index 793401fa46..2bf08cec75 100644
--- a/recipes/glibc/glibc-package.bbclass
+++ b/recipes/glibc/glibc-package.bbclass
@@ -32,6 +32,8 @@ USE_LDCONFIG ?= "1"
PACKAGES = "glibc-dbg glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"
PACKAGES_DYNAMIC = "glibc-gconv-* glibc-charmap-* glibc-localedata-* locale-base-* glibc-binary-localedata-*"
+INSANE_SKIP_glibc-dbg = True
+
libc_baselibs = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so ${base_libdir}/libc*.so.* ${base_libdir}/libc-*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so ${base_libdir}/ld*.so.* ${base_libdir}/ld-*.so ${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so ${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so ${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so ${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so ${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so ${base_libdir}/libnss_files*.so.* ${base_libdir}/libnss_files-*.so ${base_libdir}/libnss_compat*.so.* ${base_libdir}/libnss_compat-*.so ${base_libdir}/libnss_dns*.so.* ${base_libdir}/libnss_dns-*.so ${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so ${base_libdir}/libanl*.so.* ${base_libdir}/libanl-*.so ${base_libdir}/libBrokenLocale*.so.* ${base_libdir}/libBrokenLocale-*.so"
FILES_${PN} = "${libc_baselibs} ${libexecdir}/* ${datadir}/zoneinfo ${@base_conditional('USE_LDCONFIG', '1', '/sbin/ldconfig', '', d)}"
diff --git a/recipes/glibc/glibc_2.6.1.bb b/recipes/glibc/glibc_2.6.1.bb
index 4f0a58fa91..0a8708c1e3 100644
--- a/recipes/glibc/glibc_2.6.1.bb
+++ b/recipes/glibc/glibc_2.6.1.bb
@@ -60,7 +60,14 @@ SRC_URI = "\
file://march-i686.patch;patch=1;pnum=0 \
"
-# file://ldsocache-varrun.patch;patch=1 \
+SRC_URI_append_ep9312 = "\
+ file://glibc-crunch-endian-littleword-littlebyte.patch;patch=1 \
+ file://glibc-crunch-eabi-setjmp_longjmp.patch;patch=1 \
+ file://glibc-crunch-eabi-unwind.patch;patch=1 \
+ file://glibc-crunch-eabi.patch;patch=1 \
+ file://glibc-crunch-eabi-force.patch;patch=1 \
+ file://glibc-crunch-eabi-fraiseexcpt.patch;patch=1 \
+"
# Build fails on sh3 and sh4 without additional patches
SRC_URI_append_sh3 = " file://no-z-defs.patch;patch=1"
diff --git a/recipes/gnome/libsoup-2.4_2.26.0.bb b/recipes/gnome/libsoup-2.4_2.26.0.bb
deleted file mode 100644
index 73824f9da7..0000000000
--- a/recipes/gnome/libsoup-2.4_2.26.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "An HTTP library implementation in C"
-SECTION = "x11/gnome/libs"
-LICENSE = "GPL"
-DEPENDS = "libproxy glib-2.0 gnutls libxml2 sqlite3"
-
-PR = "r2"
-
-inherit gnome
-
-SRC_URI = "${GNOME_MIRROR}/libsoup/${@gnome_verdir("${PV}")}/libsoup-${PV}.tar.bz2"
-S = "${WORKDIR}/libsoup-${PV}"
-
-do_stage() {
- autotools_stage_all
-}
-
-PACKAGES =+ "libsoup-gnome"
-FILES_libsoup-gnome = "${libdir}/libsoup-gnome*.so.*"
-FILES_${PN} = "${libdir}/libsoup-2*.so.*"
-FILES_${PN}-dev = "${includedir}/ ${libdir}/"
-FILES_${PN}-doc = "${datadir}/"
diff --git a/recipes/gtk-webcore/midori_0.1.7.bb b/recipes/gtk-webcore/midori_0.1.7.bb
new file mode 100644
index 0000000000..c1d1f66fe7
--- /dev/null
+++ b/recipes/gtk-webcore/midori_0.1.7.bb
@@ -0,0 +1,31 @@
+require midori.inc
+
+DEPENDS += "python-native python-docutils-native"
+
+SRC_URI = "http://goodies.xfce.org/releases/midori/midori-${PV}.tar.bz2 \
+ file://waf"
+
+
+do_configure() {
+ cp -f ${WORKDIR}/waf ${S}/
+ ./configure \
+ --prefix=${prefix} \
+ --bindir=${bindir} \
+ --sbindir=${sbindir} \
+ --libexecdir=${libexecdir} \
+ --datadir=${datadir} \
+ --sysconfdir=${sysconfdir} \
+ --sharedstatedir=${sharedstatedir} \
+ --localstatedir=${localstatedir} \
+ --libdir=${libdir} \
+ --includedir=${includedir} \
+ --infodir=${infodir} \
+ --mandir=${mandir} \
+ ${EXTRA_OECONF}
+
+ sed -i /LINK_CC/d ./_build_/c4che/default.cache.py
+ echo "LINK_CC = '${CXX}'" >> ./_build_/c4che/default.cache.py
+}
+
+
+
diff --git a/recipes/gtk-webcore/midori_git.bb b/recipes/gtk-webcore/midori_git.bb
index 9e0344e4f6..aa5a213f78 100644
--- a/recipes/gtk-webcore/midori_git.bb
+++ b/recipes/gtk-webcore/midori_git.bb
@@ -3,7 +3,7 @@ require midori.inc
DEPENDS += "python-native python-docutils-native"
# increment PR every time SRCREV is updated!
-PR = "r0"
+PR = "r1"
PV = "0.1.7+${PR}+gitr${SRCREV}"
SRC_URI = "git://git.xfce.org/kalikiana/midori;protocol=git \
diff --git a/recipes/iptraf/iptraf-3.0.0/support-makefile.patch b/recipes/iptraf/iptraf-3.0.0/support-makefile.patch
new file mode 100644
index 0000000000..59fe43b590
--- /dev/null
+++ b/recipes/iptraf/iptraf-3.0.0/support-makefile.patch
@@ -0,0 +1,18 @@
+--- iptraf-3.0.0/support/Makefile.orig 2002-07-19 12:31:48.000000000 -0400
++++ iptraf-3.0.0/support/Makefile 2009-06-08 01:21:19.000000000 -0400
+@@ -7,12 +7,12 @@
+
+ libtextbox.a: $(OBJS)
+ rm -rf libtextbox.a
+- ar cq libtextbox.a $(OBJS)
+- ranlib libtextbox.a
++ $(AR) cq libtextbox.a $(OBJS)
++ $(RANLIB) libtextbox.a
+ # gcc -shared -o libtextbox.so $(OBJS)
+
+ %.o: %.c *.h
+- gcc -O2 -g -Wall -fPIC $(INCLUDEDIR) -c -o $*.o $<
++# gcc -O2 -g -Wall -fPIC $(INCLUDEDIR) -c -o $*.o $<
+
+ clean:
+ rm -rf *.o *~ libtextbox.a libtextbox.so
diff --git a/recipes/iptraf/iptraf_3.0.0.bb b/recipes/iptraf/iptraf_3.0.0.bb
new file mode 100644
index 0000000000..bbfad48d38
--- /dev/null
+++ b/recipes/iptraf/iptraf_3.0.0.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "Heavyweight console network bandwidth monitor"
+LICENSE = "GPLv2"
+DEPENDS = "ncurses"
+PR = "r0"
+
+SRC_URI = " \
+ ${DEBIAN_MIRROR}/main/i/iptraf/iptraf_${PV}.orig.tar.gz \
+ ${DEBIAN_MIRROR}/main/i/iptraf/iptraf_3.0.0-6.diff.gz;patch=1 \
+ file://support-makefile.patch;patch=1 \
+"
+
+# iptraf will store user filters etc. in /var/run/iptraf, which is probably
+# volatile.
+EXTRA_OEMAKE_append = " \
+ TARGET=${bindir} WORKDIR=${localstatedir}/run/iptraf DESTDIR=${D} \
+ INCLUDEDIR=-I../support \
+"
+
+do_compile(){
+ oe_runmake -C ${S}/src
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/src/iptraf ${D}${bindir}
+ install -m 0755 ${S}/src/rvnamed ${D}${bindir}
+
+ install -d ${D}${mandir}/man8
+ install -m 0644 ${S}/Documentation/iptraf.8 ${D}${mandir}/man8
+}
+
+PACKAGES =+ "${PN}-dns"
+DESCRIPTION_${PN}-dns = "Asynchronous reverse DNS lookup daemon for iptraf"
+FILES_${PN}-dns = "${bindir}/rvnamed"
diff --git a/recipes/irssi/irssi_0.8.13.bb b/recipes/irssi/irssi_0.8.13.bb
new file mode 100644
index 0000000000..9091ddc4bf
--- /dev/null
+++ b/recipes/irssi/irssi_0.8.13.bb
@@ -0,0 +1,61 @@
+DESCRIPTION = "Irssi is a modular IRC client with Perl scripting."
+HOMEPAGE = "http://irssi.org/"
+SECTION = "console/network"
+LICENSE = "GPL"
+DEPENDS += "ncurses glib-2.0"
+
+PACKAGES += "${PN}-common"
+FILES_${PN} = "${bindir}/irssi"
+FILES_${PN}-common = "${datadir}/irssi ${sysconfdir}"
+RDEPENDS_${PN} += "${PN}-common"
+
+inherit autotools
+
+SRC_URI = "http://www.irssi.org/files/${P}.tar.bz2 \
+"
+
+EXTRA_OECONF = "--enable-ipv6 \
+ --disable-ssl \
+ --disable-glibtest \
+ --without-socks \
+ --with-textui \
+ --without-bot \
+ --without-proxy \
+ --with-perl=no \
+ --with-ncurses=${STAGING_LIBDIR}/.."
+
+do_configure () {
+ # create help files
+ echo "Creating help files..."
+ perl syntax.pl
+
+ files=`echo docs/help/in/*.in|sed -e 's,docs/help/in/Makefile.in ,,' -e 's,docs/help/in/,!,g' -e 's/\.in /.in ?/g'`
+ cat docs/help/in/Makefile.am.gen|sed "s/@HELPFILES@/$files/g"|sed 's/?/\\?/g'|tr '!?' '\t\n' > docs/help/in/Makefile.am
+
+ files=`echo $files|sed 's/\.in//g'`
+ cat docs/help/Makefile.am.gen|sed "s/@HELPFILES@/$files/g"|sed 's/?/\\?/g'|tr '!?' '\t\n' > docs/help/Makefile.am
+
+ # .HTML -> .txt with lynx
+ # echo "Documentation: html -> txt..."
+ # lynx -dump -nolist docs/faq.html|perl -pe 's/^ *//; if ($_ eq "\n" && $state eq "Q") { $_ = ""; } elsif (/^([QA]):/) { $state = $1 } elsif ($_ ne "\n") { $_ = " $_"; };' > docs/faq.txt
+ > docs/faq.txt
+
+ autotools_do_configure
+}
+
+do_stage () {
+ find . -name \*.h | for h in `cat`; do
+ install -d ${STAGING_LIBDIR}/../irssi/`dirname $h`
+ install -m 0644 $h ${STAGING_LIBDIR}/../irssi/$h
+ done
+ find . -name lib\*.a | for l in `cat`; do
+ install -d ${STAGING_LIBDIR}/../irssi/`dirname $l`
+ install -m 0644 $l ${STAGING_LIBDIR}/../irssi/$l
+ done
+ install -m 0644 irssi-config ${STAGING_LIBDIR}/../irssi/
+}
+
+do_install () {
+ autotools_do_install
+ rm -f ${D}${docdir}/irssi/faq.txt
+}
diff --git a/recipes/krb/krb5_1.6.3.bb b/recipes/krb/krb5_1.6.3.bb
index a1694b2d5c..f11bdb2192 100644
--- a/recipes/krb/krb5_1.6.3.bb
+++ b/recipes/krb/krb5_1.6.3.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://web.mit.edu/Kerberos/"
SECTION = "console/network"
PR = "r6"
LICENSE = "MIT"
-DEPENDS = "perl-native ncurses e2fsprogs-libs"
+DEPENDS = "perl-native ncurses e2fsprogs-libs e2fsprogs-native"
inherit autotools binconfig
diff --git a/recipes/linux/linux-2.6.28/tx27/defconfig b/recipes/linux/linux-2.6.28/tx27/defconfig
index 44ed75ae06..d46f4401f0 100644
--- a/recipes/linux/linux-2.6.28/tx27/defconfig
+++ b/recipes/linux/linux-2.6.28/tx27/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.28
-# Fri May 29 22:49:00 2009
+# Sun Jun 7 01:39:35 2009
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -32,7 +32,6 @@ CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
-CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
@@ -233,7 +232,7 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_PREEMPT=y
+# CONFIG_PREEMPT is not set
CONFIG_HZ=100
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
@@ -260,7 +259,7 @@ CONFIG_ALIGNMENT_TRAP=y
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=jffs2 console=ttymxc0,115200"
+CONFIG_CMDLINE=" debug "
# CONFIG_XIP_KERNEL is not set
# CONFIG_KEXEC is not set
@@ -366,8 +365,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_PHONET is not set
# CONFIG_WIRELESS is not set
CONFIG_WIRELESS_EXT=y
-# CONFIG_MAC80211_RC_DEFAULT_PID is not set
-# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
@@ -653,7 +650,13 @@ CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_KEYBOARD_GPIO=m
-# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_MOUSE=y
+# CONFIG_MOUSE_PS2 is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
@@ -775,8 +778,8 @@ CONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#
-CONFIG_SPI_BITBANG=m
-CONFIG_SPI_MXC=m
+CONFIG_SPI_BITBANG=y
+CONFIG_SPI_MXC=y
# CONFIG_SPI_MXC_TEST_LOOPBACK is not set
CONFIG_SPI_MXC_SELECT1=y
# CONFIG_SPI_MXC_SELECT2 is not set
@@ -1030,9 +1033,6 @@ CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_UPD64083 is not set
# CONFIG_VIDEO_VIVI is not set
# CONFIG_VIDEO_MXC_CAMERA is not set
-# CONFIG_MXC_CAMERA_MICRON111 is not set
-# CONFIG_MXC_CAMERA_MC521DA is not set
-# CONFIG_MXC_CAMERA_OV2640 is not set
CONFIG_VIDEO_MXC_OUTPUT=y
# CONFIG_VIDEO_MXC_OUTPUT_DEBUG is not set
CONFIG_VIDEO_MXC_EMMA_OUTPUT=y
@@ -1101,11 +1101,50 @@ CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
+# CONFIG_LOGO is not set
+CONFIG_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+CONFIG_SND_ARM=y
+CONFIG_SND_SPI=y
+# CONFIG_SND_USB is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_ALL_CODECS=y
+CONFIG_SND_SOC_AD73311=y
+CONFIG_SND_SOC_AK4535=y
+CONFIG_SND_SOC_CS4270=y
+CONFIG_SND_SOC_SSM2602=y
+CONFIG_SND_SOC_TLV320AIC23=y
+CONFIG_SND_SOC_TLV320AIC26=y
+CONFIG_SND_SOC_TLV320AIC3X=y
+CONFIG_SND_SOC_UDA1380=y
+CONFIG_SND_SOC_WM8510=y
+CONFIG_SND_SOC_WM8580=y
+CONFIG_SND_SOC_WM8731=y
+CONFIG_SND_SOC_WM8750=y
+CONFIG_SND_SOC_WM8753=y
+CONFIG_SND_SOC_WM8900=y
+CONFIG_SND_SOC_WM8903=y
+CONFIG_SND_SOC_WM8971=y
+CONFIG_SND_SOC_WM8990=y
+# CONFIG_SOUND_PRIME is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
@@ -1121,7 +1160,7 @@ CONFIG_USB_HID=y
#
# Special HID drivers
#
-# CONFIG_HID_COMPAT is not set
+CONFIG_HID_COMPAT=y
# CONFIG_HID_A4TECH is not set
# CONFIG_HID_APPLE is not set
# CONFIG_HID_BELKIN is not set
@@ -1586,7 +1625,6 @@ CONFIG_DEBUG_KERNEL=y
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_SLAB is not set
-# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
@@ -1620,7 +1658,6 @@ CONFIG_HAVE_FUNCTION_TRACER=y
#
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_CONTEXT_SWITCH_TRACER is not set
# CONFIG_BOOT_TRACER is not set
diff --git a/recipes/linux/linux_2.6.28.bb b/recipes/linux/linux_2.6.28.bb
index bded7ed03e..415f81a1cb 100644
--- a/recipes/linux/linux_2.6.28.bb
+++ b/recipes/linux/linux_2.6.28.bb
@@ -1,6 +1,6 @@
require linux.inc
-PR = "r9"
+PR = "r10"
# Mark archs/machines that this kernel supports
DEFAULT_PREFERENCE = "-1"
diff --git a/recipes/minicom/minicom-2.3/rename-conflicting-functions.patch b/recipes/minicom/minicom-2.3/rename-conflicting-functions.patch
new file mode 100644
index 0000000000..c344203267
--- /dev/null
+++ b/recipes/minicom/minicom-2.3/rename-conflicting-functions.patch
@@ -0,0 +1,13 @@
+--- minicom-2.3/src/minicom.c-orig 2009-06-08 14:49:07.000000000 +0200
++++ minicom-2.3/src/minicom.c 2009-06-08 14:50:23.000000000 +0200
+@@ -63,6 +63,10 @@
+ }
+ #endif /*DEBUG*/
+
++#ifdef __USE_GNU
++#define getline minicom_getline
++#endif
++
+ /*
+ * Sub - menu's.
+ */
diff --git a/recipes/minicom/minicom_2.3.bb b/recipes/minicom/minicom_2.3.bb
index 5b32401b1e..736ac84b70 100644
--- a/recipes/minicom/minicom_2.3.bb
+++ b/recipes/minicom/minicom_2.3.bb
@@ -2,6 +2,7 @@ SECTION = "console/network"
DEPENDS = "ncurses"
LICENSE = "GPL"
SRC_URI = "http://alioth.debian.org/frs/download.php/2332/minicom-${PV}.tar.gz \
+ file://rename-conflicting-functions.patch;patch=1 \
"
inherit autotools gettext
diff --git a/recipes/mtools/mtools_4.0.10.bb b/recipes/mtools/mtools_4.0.10.bb
index 5b7f0cd890..b53306a517 100644
--- a/recipes/mtools/mtools_4.0.10.bb
+++ b/recipes/mtools/mtools_4.0.10.bb
@@ -18,3 +18,9 @@ S = "${WORKDIR}/mtools-${PV}"
inherit autotools
EXTRA_OECONF = "--without-x"
+
+do_fix_perms() {
+ chmod 644 ${S}/*.c ${S}/*.h
+}
+
+addtask fix_perms after do_unpack before do_patch
diff --git a/recipes/musicpd/mpd_0.14.2.bb b/recipes/musicpd/mpd_0.14.2.bb
index 822608c817..a5e4d2f17a 100644
--- a/recipes/musicpd/mpd_0.14.2.bb
+++ b/recipes/musicpd/mpd_0.14.2.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.musicpd.org"
SECTION = "console/multimedia"
LICENSE = "GPLv2"
DEPENDS = "libvorbis libogg libao zlib libmikmod flac audiofile virtual/libiconv faad2 pulseaudio \
- ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag', d)}"
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag lame', d)}"
SRC_URI = "${SOURCEFORGE_MIRROR}/musicpd/mpd-${PV}.tar.bz2 \
file://mpd/mpd.conf \
@@ -27,6 +27,8 @@ EXTRA_OECONF = "\
--with-mad-includes=${STAGING_INCDIR} \
--with-faad-libraries=${STAGING_LIBDIR} \
--with-faad-includes=${STAGING_INCDIR} \
+ --disable-curl \
+ --disable-ffmpeg \
--disable-jack \
--enable-pulse \
--enable-mod \
diff --git a/recipes/sdr/sdrshell/gcc-43-fix.patch b/recipes/sdr/sdrshell/gcc-43-fix.patch
new file mode 100644
index 0000000000..1870ea6ac0
--- /dev/null
+++ b/recipes/sdr/sdrshell/gcc-43-fix.patch
@@ -0,0 +1,10 @@
+Index: main_widget.cpp
+===================================================================
+--- main_widget.cpp (revision 57)
++++ main_widget.cpp (working copy)
+@@ -1,3 +1,5 @@
++#include <cstdlib>
++
+ #include "main_widget.h"
+ #include "switches.h"
+ #include "modes.h"
diff --git a/recipes/tangogps/tangogps_0.9.3.bb b/recipes/tangogps/tangogps_0.9.6.bb
index 59020fd6bd..727179e5af 100644
--- a/recipes/tangogps/tangogps_0.9.3.bb
+++ b/recipes/tangogps/tangogps_0.9.6.bb
@@ -1,3 +1,3 @@
require tangogps.inc
-PR = "r3"
+PR = "r0"
diff --git a/recipes/u-boot/u-boot_git.bb b/recipes/u-boot/u-boot_git.bb
index 9f1bd61c00..12ebcfe74e 100644
--- a/recipes/u-boot/u-boot_git.bb
+++ b/recipes/u-boot/u-boot_git.bb
@@ -1,13 +1,10 @@
require u-boot.inc
-PR ="r25"
+PR ="r26"
FILESPATHPKG =. "u-boot-git:"
SRC_URI = "git://www.denx.de/git/u-boot.git;protocol=git "
SRCREV_davinci-sffsdr = "4b50cd12a3b3c644153c4cf393f4a4c12289e5aa"
-SRCREV_dm6446-evm = "4b50cd12a3b3c644153c4cf393f4a4c12289e5aa"
-SRCREV_dm6467-evm = "4b50cd12a3b3c644153c4cf393f4a4c12289e5aa"
-SRCREV_dm355-evm = "4b50cd12a3b3c644153c4cf393f4a4c12289e5aa"
SRCREV_akita = "9bf86baaa3b35b25baa2d664e2f7f6cafad689ee"
SRCREV_spitz = "9bf86baaa3b35b25baa2d664e2f7f6cafad689ee"
SRCREV_c7x0 = "9bf86baaa3b35b25baa2d664e2f7f6cafad689ee"
@@ -38,6 +35,22 @@ SRC_URI_overo = "git://gitorious.org/u-boot-omap3/mainline.git;branch=omap3-dev;
SRCREV_overo = "2dea1db2a3b7c12ed70bbf8ee50755089c5e5170"
PV_overo = "2009.03+${PR}+gitr${SRCREV}"
+SRC_URI_dm6446-evm = "git://arago-project.org/git/people/sandeep/u-boot-davinci.git;protocol=git"
+SRCREV_dm6446-evm = "6dc7c97635b46ed00117e326d16d092a963fb6d4"
+PV_dm6446-evm = "2009.05+2009.06-rc0+${PR}+gitr${SRCREV}"
+
+SRC_URI_dm6467-evm = "git://arago-project.org/git/people/sandeep/u-boot-davinci.git;protocol=git"
+SRCREV_dm6467-evm = "6dc7c97635b46ed00117e326d16d092a963fb6d4"
+PV_dm6467-evm = "2009.05+2009.06-rc0+${PR}+gitr${SRCREV}"
+
+SRC_URI_dm355-evm = "git://arago-project.org/git/people/sandeep/u-boot-davinci.git;protocol=git"
+SRCREV_dm355-evm = "6dc7c97635b46ed00117e326d16d092a963fb6d4"
+PV_dm355-evm = "2009.05+2009.06-rc0+${PR}+gitr${SRCREV}"
+
+SRC_URI_dm365-evm = "git://arago-project.org/git/people/sandeep/u-boot-davinci.git;protocol=git"
+SRCREV_dm365-evm = "6dc7c97635b46ed00117e326d16d092a963fb6d4"
+PV_dm365-evm = "2009.05+2009.06-rc0+${PR}+gitr${SRCREV}"
+
SRC_URI_dm355-leopard = "git://www.denx.de/git/u-boot-arm.git;protocol=git;branch=next \
file://leopardboard-support.patch;patch=1 \
"
@@ -95,4 +108,3 @@ do_deploy_prepend_mini2440() {
do_deploy_prepend_micro2440() {
cp ${S}/u-boot-nand16k.bin ${S}/u-boot.bin
}
-
diff --git a/recipes/webkit/webkit-gtk/configure.ac b/recipes/webkit/webkit-gtk/configure.ac
index 6375788dd3..2ee8210695 100644
--- a/recipes/webkit/webkit-gtk/configure.ac
+++ b/recipes/webkit/webkit-gtk/configure.ac
@@ -548,23 +548,10 @@ else
CFLAGS="$CFLAGS -O0"
fi
-# check whether to use libsoup-gnome
-AC_MSG_CHECKING([whether to use GNOME-specific features of libsoup])
-AC_ARG_WITH(libsoup_gnome,
- AC_HELP_STRING([--with-libsoup-gnome],
- [using GNOME-specific features of libsoup [default=no]]),
- [],[with_libsoup_gnome="no"])
-AC_MSG_RESULT([$with_libsoup_gnome])
-
-if test "$with_libsoup_gnome" = "yes"; then
- PKG_CHECK_MODULES([LIBSOUP],
- [libsoup-gnome-2.4 >= $LIBSOUP_REQUIRED_VERSION])
-else
- PKG_CHECK_MODULES([LIBSOUP],
- [libsoup-2.4 >= $LIBSOUP_REQUIRED_VERSION])
-fi
-AC_SUBST(LIBSOUP_CFLAGS)
-AC_SUBST(LIBSOUP_LIBS)
+PKG_CHECK_MODULES([LIBSOUP],
+ [libsoup-2.4 >= $LIBSOUP_REQUIRED_VERSION])
+AC_SUBST([LIBSOUP_CFLAGS])
+AC_SUBST([LIBSOUP_LIBS])
if test "$enable_gnomekeyring" = "yes"; then
PKG_CHECK_MODULES([GNOMEKEYRING],
@@ -663,9 +650,6 @@ AM_CONDITIONAL([USE_GNOMEKEYRING], [test "$enable_gnomekeyring" = "yes"])
AM_CONDITIONAL([USE_FREETYPE], [test "$with_font_backend" = "freetype"])
AM_CONDITIONAL([USE_PANGO], [test "$with_font_backend" = "pango"])
-# libsoup-gnome conditionals
-AM_CONDITIONAL([USE_SOUP_GNOME], [test "$with_libsoup_gnome" = "yes"])
-
# WebKit feature conditionals
AM_CONDITIONAL([ENABLE_DEBUG],[test "$enable_debug" = "yes"])
AM_CONDITIONAL([ENABLE_DASHBOARD_SUPPORT],[test "$enable_dashboard_support" = "yes"])
@@ -715,7 +699,6 @@ Build configuration:
Unicode backend : $with_unicode_backend
Font backend : $with_font_backend
Optimized memory allocator : $enable_fast_malloc
- Using GNOME-specific features of libsoup : $with_libsoup_gnome
Features:
3D Transforms : $enable_3D_transforms
JIT compilation : $enable_jit
diff --git a/recipes/xorg-util/util-macros-1.2.1/cross-compiler-for-checking.patch b/recipes/xorg-util/util-macros-1.2.1/cross-compiler-for-checking.patch
new file mode 100644
index 0000000000..c646ffff5b
--- /dev/null
+++ b/recipes/xorg-util/util-macros-1.2.1/cross-compiler-for-checking.patch
@@ -0,0 +1,11 @@
+--- util-macros-1.2.1/xorg-macros.m4.in-orig 2009-06-08 13:49:09.000000000 +0200
++++ util-macros-1.2.1/xorg-macros.m4.in 2009-06-08 13:51:28.000000000 +0200
+@@ -445,7 +445,7 @@
+ CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
+ -Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
+ -Wbad-function-cast"
+- case `gcc -dumpversion` in
++ case `$CC -dumpversion 2>/dev/null` in
+ 3.4.* | 4.*)
+ CWARNFLAGS+=" -Wold-style-definition -Wdeclaration-after-statement"
+ ;;
diff --git a/recipes/xorg-util/util-macros_1.2.1.bb b/recipes/xorg-util/util-macros_1.2.1.bb
index 4775fc6901..ddf8874a3b 100644
--- a/recipes/xorg-util/util-macros_1.2.1.bb
+++ b/recipes/xorg-util/util-macros_1.2.1.bb
@@ -1,5 +1,11 @@
require xorg-util-common.inc
+# Version 1.2.1 uses plain `gcc' for checking the compiler version.
+# Instead, the cross compiler must be used. Whenever upgrading to
+# a new version, please recheck for this problem, otherwise it breaks
+# builds with older gcc versions!
+SRC_URI += " file://cross-compiler-for-checking.patch;patch=1"
+
DESCRIPTION = "X autotools macros"
PE = "1"
diff --git a/recipes/xorg-xserver/xserver-xorg-1.3.0.0/glyphstr.patch b/recipes/xorg-xserver/xserver-xorg-1.3.0.0/glyphstr.patch
index ba7d26f7cd..6dfe7baeb5 100644
--- a/recipes/xorg-xserver/xserver-xorg-1.3.0.0/glyphstr.patch
+++ b/recipes/xorg-xserver/xserver-xorg-1.3.0.0/glyphstr.patch
@@ -1,4 +1,7 @@
upstream: https://bugs.freedesktop.org/show_bug.cgi?id=22133
+status: Rejected
+comment: It's a bit unclear if this patch was ever needed, but recent versions seem
+ to work fine without it.
--- xorg-server-1.3.0.0/render/glyphstr.h~ 2006-09-18 03:04:18.000000000 -0300
+++ xorg-server-1.3.0.0/render/glyphstr.h 2008-02-03 22:14:23.187159732 -0200