From f8d5341f0c8f249db753e9813d09f55f97e0ff6e Mon Sep 17 00:00:00 2001 From: Openmoko anonymizer key Date: Tue, 28 Aug 2007 15:05:16 +0000 Subject: gsmd: rewrite start script, use start-stop-daemon. fixes OM bugs #704, #751 --- packages/gsm/files/gsmd | 133 +++++++++++++------------------------------- packages/gsm/libgsmd_svn.bb | 3 +- 2 files changed, 40 insertions(+), 96 deletions(-) diff --git a/packages/gsm/files/gsmd b/packages/gsm/files/gsmd index 5c78e8178a..bc7999ea77 100644 --- a/packages/gsm/files/gsmd +++ b/packages/gsm/files/gsmd @@ -1,106 +1,49 @@ -#!/bin/sh +##!/bin/sh # -# gsmd This shell script starts and stops gsmd. +# gsmd This shell script starts and stops gsmd. # # chkconfig: 345 90 40 # description: Gsmd manages access to a serial- or USB-connected GSM # processname: gsmd -# Source configuration -. /etc/default/gsmd +PATH=/bin:/usr/bin:/sbin:/usr/sbin -# Source function library. -#. /etc/rc.d/init.d/functions +[ -f /etc/default/rcS ] && . /etc/default/rcS +[ -f /etc/default/gsmd ] && . /etc/default/gsmd -RETVAL=0 -prog="gsmd" - -start() { - # Hack for broken uboot and/or kernel on the neo1973 - dmesg -n1 - - if [ -n "${GSM_POW}" ] - then - if [ -e "${GSM_POW}" ] - then - echo -n "Powering up GSM device..." - echo "1" > ${GSM_POW} - sleep 1 - echo "done" - else - echo "GSM device not found. Aborting startup" - return false - fi - fi - # Start daemons. - echo -n "Starting $prog: " - # We don't use the daemon function here because of a known bug - # in initlog -- it spuriously returns a nonzero status when - # starting daemons that fork themselves. See - # http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=130629 - # for discussion. Fortunately: - # - # 1. gsmd startup can't fail, or at least not in the absence of - # much larger resource-exhaustion problems that would be very obvious. - # - # 2. We don't need all the logging crud that daemon/initlog sets - # up -- gsmd does its own syslog calls. - # - if [ -e "${GSM_DEV}" ] - then - gsmd -p ${GSM_DEV} ${GSMD_OPTS} >/tmp/gsm.log 2>&1 & - echo "success" - else - # User needs to symlink ${GPS_DEV} to the right thing - echo "No ${GSM_DEV} device, aborting gsmd startup." - fi - RETVAL=$? - echo - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/gsmd - return $RETVAL -} - -stop() { - # Stop daemons. - echo -n "Shutting down $prog: " - killall gsmd -# killproc gsmd - RETVAL=$? - echo - if [ $RETVAL -eq 0 ] - then - rm -f /var/lock/subsys/gsmd; - fi - return $RETVAL -} - -# See how we were called. case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload) - stop - start - RETVAL=$? - ;; - condrestart) - if [ -f /var/lock/subsys/gsmd ]; then - stop - start - RETVAL=$? - fi - ;; - status) -# status gsmd -# RETVAL=$? - ;; - *) - echo "Usage: $0 {start|stop|restart|condrestart|status}" - exit 1 + start) + [ -n $GSM_POW ] && ( echo "0" >$GSM_POW; sleep 1 ) + [ -n $GSM_POW ] && ( echo "1" >$GSM_POW; sleep 1 ) + [ -n $GSM_RES ] && ( echo "1" >$GSM_RES; sleep 1 ) + [ -n $GSM_RES ] && ( echo "0" >$GSM_RES; sleep 2 ) + + echo -n "Starting GSM daemon: " + start-stop-daemon -S -x /usr/sbin/gsmd -- gsmd -p $GSM_DEV $GSMD_OPTS >/tmp/gsm.log 2>&1 & + + if [ $? = 0 ]; then + echo "gsmd." + else + echo "(failed.)" + fi + ;; + stop) + [ -n $GSM_POW ] && echo "0" >$GSM_POW + + echo -n "Stopping GSM daemon: " + start-stop-daemon -K -x /usr/sbin/gsmd + echo "gsmd." + ;; + restart|force-reload) + $0 stop + $0 start + exit + ;; + *) + echo "Usage: /etc/init.d/apmd {start|stop|restart|force-reload}" + exit 1 + ;; esac -exit $RETVAL +exit 0 + diff --git a/packages/gsm/libgsmd_svn.bb b/packages/gsm/libgsmd_svn.bb index 7eee675047..5862ea6d48 100644 --- a/packages/gsm/libgsmd_svn.bb +++ b/packages/gsm/libgsmd_svn.bb @@ -4,7 +4,7 @@ LICENSE = "GPL LGPL" SECTION = "libs/gsm" PROVIDES += "gsmd" PV = "0.1+svn${SRCDATE}" -PR = "r21" +PR = "r22" SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http \ file://gsmd \ @@ -46,6 +46,7 @@ RDEPENDS_gsmd-plugins = "gsmd-plugin-machine-generic \ RDEPENDS_gsmd = "initscripts" RRECOMMENDS_gsmd = "gsmd-plugins" + FILES_${PN}-dbg += "${libdir}/gsmd/.debug/*" FILES_${PN}-tools = "${bindir}/*" FILES_gsmd = "${sbindir}/gsmd ${sysconfdir}" -- cgit v1.2.3 From 2b8b042b0d55562ce3ad845007d94a3277924c73 Mon Sep 17 00:00:00 2001 From: Daniel Willmann Date: Wed, 29 Aug 2007 16:39:19 +0000 Subject: linux-gta01_2.6.22.5.bb: Modify fix-EVIOCGRAB-semantics patch for 2.6.22 and enable it again. --- .../fix-EVIOCGRAB-semantics-2.6.22.5.patch | 91 ++++++++++++++++++++++ packages/linux/linux-gta01_2.6.22.5.bb | 4 +- 2 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 packages/linux/linux-gta01/fix-EVIOCGRAB-semantics-2.6.22.5.patch diff --git a/packages/linux/linux-gta01/fix-EVIOCGRAB-semantics-2.6.22.5.patch b/packages/linux/linux-gta01/fix-EVIOCGRAB-semantics-2.6.22.5.patch new file mode 100644 index 0000000000..cc74c0e289 --- /dev/null +++ b/packages/linux/linux-gta01/fix-EVIOCGRAB-semantics-2.6.22.5.patch @@ -0,0 +1,91 @@ +Index: linux-2.6.22.5/drivers/input/evdev.c +=================================================================== +--- linux-2.6.22.5.orig/drivers/input/evdev.c ++++ linux-2.6.22.5/drivers/input/evdev.c +@@ -28,7 +28,7 @@ struct evdev { + char name[16]; + struct input_handle handle; + wait_queue_head_t wait; +- struct evdev_client *grab; ++ int grab; + struct list_head client_list; + }; + +@@ -36,6 +36,7 @@ struct evdev_client { + struct input_event buffer[EVDEV_BUFFER_SIZE]; + int head; + int tail; ++ int grab; + struct fasync_struct *fasync; + struct evdev *evdev; + struct list_head node; +@@ -48,8 +49,7 @@ static void evdev_event(struct input_han + struct evdev *evdev = handle->private; + struct evdev_client *client; + +- if (evdev->grab) { +- client = evdev->grab; ++ list_for_each_entry(client, &evdev->client_list, node) { + + do_gettimeofday(&client->buffer[client->head].time); + client->buffer[client->head].type = type; +@@ -58,17 +58,7 @@ static void evdev_event(struct input_han + client->head = (client->head + 1) & (EVDEV_BUFFER_SIZE - 1); + + kill_fasync(&client->fasync, SIGIO, POLL_IN); +- } else +- list_for_each_entry(client, &evdev->client_list, node) { +- +- do_gettimeofday(&client->buffer[client->head].time); +- client->buffer[client->head].type = type; +- client->buffer[client->head].code = code; +- client->buffer[client->head].value = value; +- client->head = (client->head + 1) & (EVDEV_BUFFER_SIZE - 1); +- +- kill_fasync(&client->fasync, SIGIO, POLL_IN); +- } ++ } + + wake_up_interruptible(&evdev->wait); + } +@@ -105,9 +95,10 @@ static int evdev_release(struct inode *i + struct evdev_client *client = file->private_data; + struct evdev *evdev = client->evdev; + +- if (evdev->grab == client) { +- input_release_device(&evdev->handle); +- evdev->grab = NULL; ++ if (client->grab) { ++ if(!--evdev->grab && evdev->exist) ++ input_release_device(&evdev->handle); ++ client->grab = 0; + } + + evdev_fasync(-1, file, 0); +@@ -488,17 +479,19 @@ static long evdev_ioctl_handler(struct f + + case EVIOCGRAB: + if (p) { +- if (evdev->grab) +- return -EBUSY; +- if (input_grab_device(&evdev->handle)) ++ if (client->grab) + return -EBUSY; +- evdev->grab = client; ++ if (!evdev->grab++) ++ if (input_grab_device(&evdev->handle)) ++ return -EBUSY; ++ client->grab = 0; + return 0; + } else { +- if (evdev->grab != client) ++ if (!client->grab) + return -EINVAL; +- input_release_device(&evdev->handle); +- evdev->grab = NULL; ++ if (!--evdev->grab) ++ input_release_device(&evdev->handle); ++ client->grab = 0; + return 0; + } + diff --git a/packages/linux/linux-gta01_2.6.22.5.bb b/packages/linux/linux-gta01_2.6.22.5.bb index 4b970f9811..1f06c49764 100644 --- a/packages/linux/linux-gta01_2.6.22.5.bb +++ b/packages/linux/linux-gta01_2.6.22.5.bb @@ -1,10 +1,10 @@ require linux-gta01.inc SRC_URI += "svn://svn.openmoko.org/trunk/src/target/kernel;module=patches;proto=http" -#SRC_URI += "file://fix-EVIOCGRAB-semantics.patch;patch=1" +SRC_URI += "file://fix-EVIOCGRAB-semantics-2.6.22.5.patch;patch=1" MOKOR = "moko11" -PR = "${MOKOR}-r1" +PR = "${MOKOR}-r2" VANILLA_VERSION = "2.6.22.5" -- cgit v1.2.3 From 3c36d655120d270ca85b9de77758708f5543a90e Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 29 Aug 2007 16:57:16 +0000 Subject: bluez: update to 3.16 --- packages/bluez/bluez-libs_3.16.bb | 1 + packages/bluez/bluez-utils_3.16.bb | 116 +++++++++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 packages/bluez/bluez-libs_3.16.bb create mode 100644 packages/bluez/bluez-utils_3.16.bb diff --git a/packages/bluez/bluez-libs_3.16.bb b/packages/bluez/bluez-libs_3.16.bb new file mode 100644 index 0000000000..6ddf62a4fb --- /dev/null +++ b/packages/bluez/bluez-libs_3.16.bb @@ -0,0 +1 @@ +require bluez-libs.inc diff --git a/packages/bluez/bluez-utils_3.16.bb b/packages/bluez/bluez-utils_3.16.bb new file mode 100644 index 0000000000..b8dbfbca7c --- /dev/null +++ b/packages/bluez/bluez-utils_3.16.bb @@ -0,0 +1,116 @@ +require bluez-utils.inc + +DEPENDS += "glib-2.0" + +# ti patch doesn't apply, people using it should rediff it and send it upstream +SRC_URI = "http://bluez.sourceforge.net/download/bluez-utils-${PV}.tar.gz \ + file://hcid.conf \ +# file://hciattach-ti-bts.patch;patch=1 \ + " +PR = "r0" + +EXTRA_OECONF = " \ + --enable-bccmd \ + --enable-hid2hci \ + --enable-alsa \ + --enable-cups \ + --enable-glib \ + --disable-sdpd \ + --enable-network \ + --enable-serial \ + --enable-input \ + --enable-audio \ + --enable-echo \ + --enable-configfile \ + --enable-initscripts \ + --enable-test \ + " + +# The config options are explained below: + +# --enable-obex enable OBEX support +# --enable-alsa enable ALSA support, not needed for nokia770, nokia800 and fic-gtao1 +# --enable-cups install CUPS backend support +# --enable-bccmd install BCCMD interface utility +# --enable-avctrl install Audio/Video control utility +# --enable-hid2hci install HID mode switching utility +# --enable-dfutool install DFU firmware upgrade utility + +# --enable-glib For systems that use and install GLib anyway +# --disable-sdpd The sdpd is obsolete and should no longer be used. This of course requires that hcid will be started with -s to enable the SDP server + +#Following services can be enabled so far: +# --enable-network +# --enable-serial +# --enable-input +# --enable-audio +# --enable-echo + +#There is no need to modify any init script. They will be started +#automatically or on demand. Only /etc/bluetooth/*.service files should +#be patched to change name or the autostart value. +# --enable-configfile +# --enable-initscripts + +#For even smaller -doc packages +# --disable-manpages +# --disable-pcmciarules + +#I haven't seen any embedded device with HID proxy support. So simply +#disable it: +# --disable-hid2hci + + +PACKAGES =+ "${PN}-compat ${PN}-alsa" + +CONFFILES_${PN} = " \ + ${sysconfdir}/bluetooth/hcid.conf \ + ${sysconfdir}/default/bluetooth \ + " + +CONFFILES_${PN}-compat = " \ + ${sysconfdir}/bluetooth/rfcomm.conf \ + " + +FILES_${PN} = " \ + ${base_sbindir}/hcid \ + ${libdir}/bluetooth \ + ${sysconfdir}/init.d/bluetooth \ + ${sysconfdir}/bluetooth/*.service \ + ${sysconfdir}/bluetooth/hcid.conf \ + ${sysconfdir}/default \ + ${sysconfdir}/dbus-1 \ + ${base_sbindir}/hciattach \ + " + +FILES_${PN}-dbg += " \ + ${libdir}/bluetooth/.debug \ + ${libdir}/cups/backend/.debug \ + ${libdir}/alsa-lib/.debug \ + " + +FILES_${PN}-compat = " \ + ${base_bindir}/sdptool \ + ${base_bindir}/dund \ + ${base_bindir}/rctest \ + ${base_bindir}/ciptool \ + ${base_bindir}/l2test \ + ${base_bindir}/rfcomm \ + ${base_bindir}/hcitool \ + ${base_bindir}/pand \ + ${base_bindir}/hidd \ + ${base_bindir}/l2ping \ + ${base_sbindir}/hciconfig \ + ${base_sbindir}/bccmd \ + ${base_sbindir}/hciemu \ + ${base_sbindir}/hid2hci \ + ${base_bindir}/passkey-agent \ + ${sysconfdir}/bluetooth/rfcomm.conf \ + " + +FILES_${PN}-alsa = "${libdir}/alsa-lib/libasound*" + +FILES_bluez-cups-backend = "${libdir}/cups/backend/bluetooth" +RDEPENDS_bluez-cups-backend = "cups" + + -- cgit v1.2.3 From c71a7df3813f8de5f174ab00674f3281bc473079 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 29 Aug 2007 16:57:24 +0000 Subject: bluez-gnome: update to 0.14 --- packages/bluez/bluez-gnome_0.14.bb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 packages/bluez/bluez-gnome_0.14.bb diff --git a/packages/bluez/bluez-gnome_0.14.bb b/packages/bluez/bluez-gnome_0.14.bb new file mode 100644 index 0000000000..0fb8a7980f --- /dev/null +++ b/packages/bluez/bluez-gnome_0.14.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "BLuetooth configuration applet" +LICENSE = "GPL+LGPL" + +PR = "r1" + +DEPENDS = "dbus-glib gconf libnotify gtk+" +RRECOMMENDS = "gnome-icon-theme" + +SRC_URI = "http://bluez.sourceforge.net/download/${P}.tar.gz" + +inherit autotools pkgconfig gconf + +FILES_${PN} += "${datadir}/gconf" + -- cgit v1.2.3 From 7e169f75d0a1caccabd1956d9a2d7e131d5dcc62 Mon Sep 17 00:00:00 2001 From: Craig Hughes Date: Wed, 29 Aug 2007 19:32:07 +0000 Subject: initscripts: lower alignment value for gumstix boards - close #2890 --- packages/initscripts/initscripts-1.0/gumstix-connex/.mtn2git_empty | 0 packages/initscripts/initscripts-1.0/gumstix-connex/alignment.sh | 6 ++++++ packages/initscripts/initscripts-1.0/gumstix-verdex/.mtn2git_empty | 0 packages/initscripts/initscripts-1.0/gumstix-verdex/alignment.sh | 6 ++++++ packages/initscripts/initscripts_1.0.bb | 2 +- 5 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 packages/initscripts/initscripts-1.0/gumstix-connex/.mtn2git_empty create mode 100644 packages/initscripts/initscripts-1.0/gumstix-connex/alignment.sh create mode 100644 packages/initscripts/initscripts-1.0/gumstix-verdex/.mtn2git_empty create mode 100644 packages/initscripts/initscripts-1.0/gumstix-verdex/alignment.sh diff --git a/packages/initscripts/initscripts-1.0/gumstix-connex/.mtn2git_empty b/packages/initscripts/initscripts-1.0/gumstix-connex/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/initscripts/initscripts-1.0/gumstix-connex/alignment.sh b/packages/initscripts/initscripts-1.0/gumstix-connex/alignment.sh new file mode 100644 index 0000000000..3826457609 --- /dev/null +++ b/packages/initscripts/initscripts-1.0/gumstix-connex/alignment.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +if [ -e /proc/cpu/alignment ]; then + echo "2" > /proc/cpu/alignment +fi + diff --git a/packages/initscripts/initscripts-1.0/gumstix-verdex/.mtn2git_empty b/packages/initscripts/initscripts-1.0/gumstix-verdex/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/initscripts/initscripts-1.0/gumstix-verdex/alignment.sh b/packages/initscripts/initscripts-1.0/gumstix-verdex/alignment.sh new file mode 100644 index 0000000000..3826457609 --- /dev/null +++ b/packages/initscripts/initscripts-1.0/gumstix-verdex/alignment.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +if [ -e /proc/cpu/alignment ]; then + echo "2" > /proc/cpu/alignment +fi + diff --git a/packages/initscripts/initscripts_1.0.bb b/packages/initscripts/initscripts_1.0.bb index ebddf17b61..3d2f0f50b4 100644 --- a/packages/initscripts/initscripts_1.0.bb +++ b/packages/initscripts/initscripts_1.0.bb @@ -4,7 +4,7 @@ PRIORITY = "required" DEPENDS = "makedevs" RDEPENDS = "makedevs" LICENSE = "GPL" -PR = "r98" +PR = "r99" SRC_URI = "file://functions \ file://halt \ -- cgit v1.2.3 From c0aa0dd67ca21aa15147213b2630e7088044bdce Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Wed, 29 Aug 2007 21:35:19 +0000 Subject: python-openmoko: Apply Marcin's patch until today as this is going to be applied upstream I decided to use the 29th and risking to break the AMD64 builds instead of breaking the build for everyone tomorrow. I will need to poke mickeyl and ask to use a specific revision. --- packages/python/python-openmoko_0.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/python/python-openmoko_0.1.bb b/packages/python/python-openmoko_0.1.bb index e193f0f2de..6755d4dca8 100644 --- a/packages/python/python-openmoko_0.1.bb +++ b/packages/python/python-openmoko_0.1.bb @@ -6,7 +6,7 @@ SECTION = "devel/python" PR = "r1" SRC_URI = "svn://svn.projects.openmoko.org/svnroot/bindings;module=python;proto=http \ - file://python-path.patch;patch=1" + file://python-path.patch;patch=1;maxdate=20070829" S = "${WORKDIR}/python" -- cgit v1.2.3 From 42d71fff6707807416083f46bb6d51ddf8766e35 Mon Sep 17 00:00:00 2001 From: Michael Lauer Date: Thu, 30 Aug 2007 00:00:33 +0000 Subject: openmoko-mediaplayer2: ship images, remove patches that have been applied upstream --- .../openmoko2/openmoko-mediaplayer2/.mtn2git_empty | 0 .../openmoko2/openmoko-mediaplayer2/autofoo.patch | 38 ---------------------- .../openmoko-mediaplayer2/missing-images.patch | 13 -------- packages/openmoko2/openmoko-mediaplayer2_svn.bb | 6 ++-- 4 files changed, 2 insertions(+), 55 deletions(-) delete mode 100644 packages/openmoko2/openmoko-mediaplayer2/.mtn2git_empty delete mode 100644 packages/openmoko2/openmoko-mediaplayer2/autofoo.patch delete mode 100644 packages/openmoko2/openmoko-mediaplayer2/missing-images.patch diff --git a/packages/openmoko2/openmoko-mediaplayer2/.mtn2git_empty b/packages/openmoko2/openmoko-mediaplayer2/.mtn2git_empty deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/openmoko2/openmoko-mediaplayer2/autofoo.patch b/packages/openmoko2/openmoko-mediaplayer2/autofoo.patch deleted file mode 100644 index 5db5707798..0000000000 --- a/packages/openmoko2/openmoko-mediaplayer2/autofoo.patch +++ /dev/null @@ -1,38 +0,0 @@ -Index: openmoko-mediaplayer2/configure.ac -=================================================================== ---- openmoko-mediaplayer2.orig/configure.ac 2007-08-25 16:05:09.000000000 +0000 -+++ openmoko-mediaplayer2/configure.ac 2007-08-25 16:05:28.000000000 +0000 -@@ -14,12 +14,6 @@ - AM_GNU_GETTEXT - AM_GNU_GETTEXT_VERSION([0.12.1]) - -- --CFLAGS="-I${prefix}/include $CFLAGS" --AC_SUBST(CFLAGS) --CPPFLAGS="-I${prefix}/include $CPPFLAGS" --AC_SUBST(CPPFLAGS) -- - # Check for GTK/GLib/GThread/Pango, dbus, OpenMoko libs, gstreamer, expat, uriparser and XSPF - - PKG_CHECK_MODULES(GTK, [glib-2.0 >= 2.4.0 gtk+-2.0 >= 2.4.0 gthread-2.0 pango],, -@@ -61,7 +55,5 @@ - Makefile - src/Makefile - images/Makefile -- po/Makefile.in -- intl/Makefile - ]) - AC_OUTPUT -Index: openmoko-mediaplayer2/Makefile.am -=================================================================== ---- openmoko-mediaplayer2.orig/Makefile.am 2007-08-25 16:07:46.000000000 +0000 -+++ openmoko-mediaplayer2/Makefile.am 2007-08-25 16:07:53.000000000 +0000 -@@ -1,6 +1,6 @@ - AUTOMAKE_OPTIONS = foreign --SUBDIRS = src images intl --# po -+SUBDIRS = src images -+# po intl - - - EXTRA_DIST = openmoko-mediaplayer.desktop openmoko-mediaplayer.png diff --git a/packages/openmoko2/openmoko-mediaplayer2/missing-images.patch b/packages/openmoko2/openmoko-mediaplayer2/missing-images.patch deleted file mode 100644 index d968e474eb..0000000000 --- a/packages/openmoko2/openmoko-mediaplayer2/missing-images.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: openmoko-mediaplayer2/images/Makefile.am -=================================================================== ---- openmoko-mediaplayer2.orig/images/Makefile.am 2007-08-25 16:15:27.000000000 +0000 -+++ openmoko-mediaplayer2/images/Makefile.am 2007-08-25 16:15:35.000000000 +0000 -@@ -12,8 +12,6 @@ - ico-repeat-all.png \ - ico-shuffle-on.png \ - ico-shuffle-off.png \ -- ico-balance-left.png \ -- ico-balance-right.png \ - ico-tracktype-general.png \ - ind-music-eq-00.png \ - ind-music-eq-01.png \ diff --git a/packages/openmoko2/openmoko-mediaplayer2_svn.bb b/packages/openmoko2/openmoko-mediaplayer2_svn.bb index a7e6711d23..871416c066 100644 --- a/packages/openmoko2/openmoko-mediaplayer2_svn.bb +++ b/packages/openmoko2/openmoko-mediaplayer2_svn.bb @@ -6,7 +6,5 @@ PR = "r0" inherit openmoko2 -SRC_URI += "\ - file://autofoo.patch;patch=1 \ - file://missing-images.patch;patch=1 \ -" +FILES_${PN} += "${datadir}/openmoko-mediaplayer" + -- cgit v1.2.3 From 918a0a0d66c4300920eb819c7cc745dc3b2620d0 Mon Sep 17 00:00:00 2001 From: Rod Whitby Date: Thu, 30 Aug 2007 01:45:45 +0000 Subject: task-openmoko-feed: added openssh packages --- packages/tasks/task-openmoko-feed.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/tasks/task-openmoko-feed.bb b/packages/tasks/task-openmoko-feed.bb index 9657eccc1d..c0fff078df 100644 --- a/packages/tasks/task-openmoko-feed.bb +++ b/packages/tasks/task-openmoko-feed.bb @@ -1,11 +1,12 @@ DESCRIPTION = "OpenMoko: Misc. Feed Items" SECTION = "openmoko/base" LICENSE = "MIT" -PR = "r1" +PR = "r2" inherit task RDEPENDS_task-openmoko-feed = "\ + openssh openssh-scp openssh-ssh openssh-sshd openssh-sftp openssh-misc \ python \ python-pygtk \ python-pyserial \ -- cgit v1.2.3 From 2040047451210610f1c99124f9e8fe30135122ff Mon Sep 17 00:00:00 2001 From: Rod Whitby Date: Thu, 30 Aug 2007 06:00:17 +0000 Subject: openmoko-feed: Added meta package to actually build all the packages in task-openmoko-* --- packages/meta/openmoko-feed.bb | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 packages/meta/openmoko-feed.bb diff --git a/packages/meta/openmoko-feed.bb b/packages/meta/openmoko-feed.bb new file mode 100644 index 0000000000..b191f715c4 --- /dev/null +++ b/packages/meta/openmoko-feed.bb @@ -0,0 +1,10 @@ +DESCRIPTION = "Meta-package for OpenMoko Misc. Feed Items" +LICENSE = "MIT" + +RDEPENDS = "\ + task-openmoko-debug \ + task-openmoko-native-sdk \ + task-openmoko-feed \ +" + +inherit meta -- cgit v1.2.3 From 3aded69ae48453e4929d42994c9f66abcb2dd47e Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 30 Aug 2007 07:23:50 +0000 Subject: classes: Remove bitbake 1.6 compatibility code --- classes/base.bbclass | 47 ----------------------------------------------- classes/debian.bbclass | 3 +-- classes/image.bbclass | 1 - classes/meta.bbclass | 1 - classes/native.bbclass | 3 --- 5 files changed, 1 insertion(+), 54 deletions(-) diff --git a/classes/base.bbclass b/classes/base.bbclass index 9998982bd1..32f7fcbe31 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -864,54 +864,7 @@ def base_after_parse(d): bb.data.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}", d) return -# -# Various backwards compatibility stuff to be removed -# when we switch to bitbake 1.8.2+ as a minimum version -# -def base_oldbitbake_workarounds(d): - import bb - from bb import __version__ - from distutils.version import LooseVersion - - if (LooseVersion(__version__) > "1.8.0"): - return - - pn = bb.data.getVar('PN', d, True) - srcdate = bb.data.getVar('SRCDATE_%s' % pn, d, True) - if srcdate != None: - bb.data.setVar('SRCDATE', srcdate, d) - depends = bb.data.getVar('DEPENDS', d, False) - patchdeps = bb.data.getVar("PATCHTOOL", d, True) - if patchdeps: - patchdeps = "%s-native " % patchdeps - if not patchdeps in bb.data.getVar("PROVIDES", d, True): - depends = patchdeps + depends - if bb.data.inherits_class('rootfs_ipk', d): - depends = "ipkg-native ipkg-utils-native fakeroot-native " + depends - if bb.data.inherits_class('rootfs_deb', d): - depends = "dpkg-native apt-native fakeroot-native " + depends - if bb.data.inherits_class('image', d): - depends = "makedevs-native " + depends - for type in (bb.data.getVar('IMAGE_FSTYPES', d, True) or "").split(): - deps = bb.data.getVar('IMAGE_DEPENDS_%s' % type, d) or "" - if deps: - depends = depends + " %s" % deps - for dep in (bb.data.getVar('EXTRA_IMAGEDEPENDS', d, True) or "").split(): - depends = depends + " %s" % dep - - packages = bb.data.getVar('PACKAGES', d, True) - if packages != '': - if bb.data.inherits_class('package_ipk', d): - depends = "ipkg-utils-native " + depends - if bb.data.inherits_class('package_deb', d): - depends = "dpkg-native " + depends - if bb.data.inherits_class('package', d): - depends = "${PACKAGE_DEPENDS} fakeroot-native " + depends - - bb.data.setVar('DEPENDS', depends, d) - python () { - base_oldbitbake_workarounds(d) base_after_parse(d) } diff --git a/classes/debian.bbclass b/classes/debian.bbclass index a0c78a25f4..403c38c752 100644 --- a/classes/debian.bbclass +++ b/classes/debian.bbclass @@ -4,8 +4,7 @@ STAGING_PKGMAPS_DIR = "${STAGING_DIR}/pkgmaps/debian" # We therefore have to make sure we build all runtime packages # before building the current package to make the packages runtime # depends are correct -BUILD_ALL_DEPS = "1" - +# # Better expressed as ensure all RDEPENDS package before we package # This means we can't have circular RDEPENDS/RRECOMMENDS do_package_write[rdeptask] = "do_package" diff --git a/classes/image.bbclass b/classes/image.bbclass index 91e63262cd..38e19df7eb 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -3,7 +3,6 @@ inherit rootfs_${IMAGE_PKGTYPE} PACKAGES = "" # We need to recursively follow RDEPENDS and RRECOMMENDS for images -BUILD_ALL_DEPS = "1" do_rootfs[recrdeptask] = "do_package_write do_deploy do_populate_staging" # Images are generally built explicitly, do not need to be part of world. diff --git a/classes/meta.bbclass b/classes/meta.bbclass index f7d41eec26..d35c40bccd 100644 --- a/classes/meta.bbclass +++ b/classes/meta.bbclass @@ -1,5 +1,4 @@ PACKAGES = "" -BUILD_ALL_DEPS = "1" do_build[recrdeptask] = "do_build" \ No newline at end of file diff --git a/classes/native.bbclass b/classes/native.bbclass index 43000f96bf..16026f53c9 100644 --- a/classes/native.bbclass +++ b/classes/native.bbclass @@ -11,9 +11,6 @@ PACKAGE_ARCH = "${BUILD_ARCH}" # RPROVIDES becomes unnecessary. RPROVIDES = "${PN}" -# Need to resolve package RDEPENDS as well as DEPENDS -BUILD_ALL_DEPS = "1" - # Break the circular dependency as a result of DEPENDS # in package.bbclass PACKAGE_DEPENDS = "" -- cgit v1.2.3 From 72371295243dfdfc8893ffb62f3c6e4216d98b0b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 30 Aug 2007 07:26:21 +0000 Subject: eglibc: (r)provide glibc stuff, since it is compatible, closes #2894 --- conf/distro/include/angstrom-eglibc.inc | 8 ++++---- packages/glibc/eglibc-package.bbclass | 9 +++++++++ packages/glibc/eglibc_svn.bb | 9 ++++++--- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/conf/distro/include/angstrom-eglibc.inc b/conf/distro/include/angstrom-eglibc.inc index 91afb658e3..6726710aa9 100644 --- a/conf/distro/include/angstrom-eglibc.inc +++ b/conf/distro/include/angstrom-eglibc.inc @@ -1,8 +1,8 @@ # eglibc: -PREFERRED_PROVIDER_virtual/libiconv ?= "eglibc" -PREFERRED_PROVIDER_virtual/libintl ?= "eglibc" -PREFERRED_PROVIDER_virtual/libc ?= "eglibc" -PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial ?= "eglibc-initial" +PREFERRED_PROVIDER_virtual/libiconv = "eglibc" +PREFERRED_PROVIDER_virtual/libintl = "eglibc" +PREFERRED_PROVIDER_virtual/libc = "eglibc" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "eglibc-initial" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "eglibc-intermediate" PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc = "eglibc-intermediate" diff --git a/packages/glibc/eglibc-package.bbclass b/packages/glibc/eglibc-package.bbclass index 0f88227cdf..ce2f545a2a 100644 --- a/packages/glibc/eglibc-package.bbclass +++ b/packages/glibc/eglibc-package.bbclass @@ -29,6 +29,15 @@ BINARY_LOCALE_ARCHES ?= "arm.*" PACKAGES = "eglibc-dbg eglibc catchsegv sln nscd ldd localedef eglibc-utils eglibc-dev eglibc-doc eglibc-locale libsegfault eglibc-extra-nss eglibc-thread-db eglibc-pcprofile" PACKAGES_DYNAMIC = "eglibc-gconv-* eglibc-charmap-* eglibc-localedata-*" +RPROVIDES_eglibc = "glibc" +RPROVIDES_eglibc-utils = "glibc-utils" +RPROVIDES_eglibc-dev = "glibc-dev" +RPROVIDES_eglibc-doc = "glibc-doc" +RPROVIDES_eglibc-locale = "glibc-locale" +RPROVIDES_eglibc-extra-nss = "glibc-extra-nss" +RPROVIDES_eglibc-thread-db = "glibc-thread-db" +RPROVIDES_eglibc-pcprofiles = "glibc-pcprofiles" + libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*" FILES_${PN} = "${sysconfdir} ${libc_baselibs} /sbin/ldconfig ${libexecdir}/* ${datadir}/zoneinfo" diff --git a/packages/glibc/eglibc_svn.bb b/packages/glibc/eglibc_svn.bb index 21079bb895..98b9556c70 100644 --- a/packages/glibc/eglibc_svn.bb +++ b/packages/glibc/eglibc_svn.bb @@ -2,7 +2,7 @@ require glibc.inc DEFAULT_PREFERENCE = "-1" FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/eglibc-svn" -PV = "2.6+svn${SRCDATE}" +PV = "2.6+svnr${SRCREV}" SRC_URI = "svn://svn.eglibc.org;module=trunk \ file://export-fcntl2.patch;patch=1 \ file://etc/ld.so.conf \ @@ -10,8 +10,8 @@ SRC_URI = "svn://svn.eglibc.org;module=trunk \ S = "${WORKDIR}/trunk/libc" B = "${WORKDIR}/build-${TARGET_SYS}" -#PACKAGES_DYNAMIC = "libc6*" -#RPROVIDES_${PN}-dev = "libc6-dev" +PACKAGES_DYNAMIC = "libc6*" +RPROVIDES_${PN}-dev = "libc6-dev" # the -isystem in bitbake.conf screws up glibc do_stage BUILD_CPPFLAGS = "-I${STAGING_DIR}/${BUILD_SYS}/include" @@ -86,6 +86,9 @@ do_compile () { } do_stage() { + # FIXME: this removes files from staging + # make sure there isn't a conflicting libc in staging + # this should be solved differently rm -f ${STAGING_LIBDIR}/libc.so.6 oe_runmake 'install_root=${STAGING_DIR}/${HOST_SYS}' \ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \ -- cgit v1.2.3 From e9fae590194eef2d4fcfb162112da4f6a87dd7a3 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Thu, 30 Aug 2007 07:55:13 +0000 Subject: angstrom-x11--image: fix basename --- packages/angstrom/angstrom-x11-gpe-image.bb | 2 +- packages/angstrom/angstrom-x11-office-image.bb | 2 +- packages/angstrom/angstrom-x11-pimlico-image.bb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/angstrom/angstrom-x11-gpe-image.bb b/packages/angstrom/angstrom-x11-gpe-image.bb index bb5e3c66be..6d9e7b296c 100644 --- a/packages/angstrom/angstrom-x11-gpe-image.bb +++ b/packages/angstrom/angstrom-x11-gpe-image.bb @@ -13,7 +13,7 @@ ANGSTROM_EXTRA_INSTALL += " \ " XSERVER ?= "xserver-kdrive-fbdev" -export IMAGE_BASENAME = "x11-image" +export IMAGE_BASENAME = "x11-gpe-image" DEPENDS = "task-base" RDEPENDS = "\ diff --git a/packages/angstrom/angstrom-x11-office-image.bb b/packages/angstrom/angstrom-x11-office-image.bb index cfe8220291..8cb6e7a839 100644 --- a/packages/angstrom/angstrom-x11-office-image.bb +++ b/packages/angstrom/angstrom-x11-office-image.bb @@ -13,7 +13,7 @@ ANGSTROM_EXTRA_INSTALL += " \ " XSERVER ?= "xserver-kdrive-fbdev" -export IMAGE_BASENAME = "x11-image" +export IMAGE_BASENAME = "x11-office-image" DEPENDS = "task-base" RDEPENDS = "\ diff --git a/packages/angstrom/angstrom-x11-pimlico-image.bb b/packages/angstrom/angstrom-x11-pimlico-image.bb index 0ddaeae12b..0f6782e007 100644 --- a/packages/angstrom/angstrom-x11-pimlico-image.bb +++ b/packages/angstrom/angstrom-x11-pimlico-image.bb @@ -13,7 +13,7 @@ ANGSTROM_EXTRA_INSTALL += " \ " XSERVER ?= "xserver-kdrive-fbdev" -export IMAGE_BASENAME = "x11-image" +export IMAGE_BASENAME = "x11-pimlico-image" DEPENDS = "task-base" RDEPENDS = "\ -- cgit v1.2.3 From ded7be737c96742174f57b1d097740d0f3d9cb1a Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Thu, 30 Aug 2007 09:40:19 +0000 Subject: mtd-utils: lock down git rev --- packages/mtd/mtd-utils_1.0.0+git.bb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/mtd/mtd-utils_1.0.0+git.bb b/packages/mtd/mtd-utils_1.0.0+git.bb index cfbd38c714..8b14faa1d6 100644 --- a/packages/mtd/mtd-utils_1.0.0+git.bb +++ b/packages/mtd/mtd-utils_1.0.0+git.bb @@ -3,9 +3,15 @@ SECTION = "base" DEPENDS = "zlib lzo" HOMEPAGE = "http://www.linux-mtd.infradead.org/" LICENSE = "GPLv2" -PR = "r4" +PR = "r5" -SRC_URI = "git://git.infradead.org/mtd-utils.git;protocol=git;tag=master \ +# This is the default package, thus we lock to a specific git version so +# upstream changes will not break builds. + +TAG = "9845d92440bd87739c89edd000fd6e0c47fab185" +# As of 2007/27/07, see http://git.infradead.org/?p=mtd-utils.git;a=shortlog + +SRC_URI = "git://git.infradead.org/mtd-utils.git;protocol=git;tag=${TAG} \ file://add-exclusion-to-mkfs-jffs2-git.patch;patch=1 \ file://fix-ignoreerrors-git.patch;patch=1 \ file://lzo_1x.patch;patch=1" -- cgit v1.2.3 From 50b6e431ae4b64867b98f5ca4ae38265af863de7 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Thu, 30 Aug 2007 10:30:48 +0000 Subject: zaurus-2.6.inc: consistently suffix jffs2 images with jffs2 --- conf/machine/include/zaurus-2.6.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/machine/include/zaurus-2.6.inc b/conf/machine/include/zaurus-2.6.inc index aa9046ee5d..456555e51e 100644 --- a/conf/machine/include/zaurus-2.6.inc +++ b/conf/machine/include/zaurus-2.6.inc @@ -11,7 +11,7 @@ ERASEBLOCKSIZE_akita = "0x20000" EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=${ERASEBLOCKSIZE} --pad --faketime -n" -IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.bin ${EXTRA_IMAGECMD}" +IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}" EXTRA_IMAGEDEPENDS += "zaurus-updater" @@ -69,4 +69,4 @@ zaurus_make_installkit () { } # Don't include kernels in standard images for Zaurus machines -RDEPENDS_kernel-base = "" \ No newline at end of file +RDEPENDS_kernel-base = "" -- cgit v1.2.3 From 6894fb33b04ff4bed47478625f71d05d3385f766 Mon Sep 17 00:00:00 2001 From: Graeme Gregory Date: Thu, 30 Aug 2007 10:32:30 +0000 Subject: machine/include/zaurus-2.6.inc : dont put .bin on end os jffs2 images --- conf/machine/include/zaurus-2.6.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/machine/include/zaurus-2.6.inc b/conf/machine/include/zaurus-2.6.inc index aa9046ee5d..456555e51e 100644 --- a/conf/machine/include/zaurus-2.6.inc +++ b/conf/machine/include/zaurus-2.6.inc @@ -11,7 +11,7 @@ ERASEBLOCKSIZE_akita = "0x20000" EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=${ERASEBLOCKSIZE} --pad --faketime -n" -IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.bin ${EXTRA_IMAGECMD}" +IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}" EXTRA_IMAGEDEPENDS += "zaurus-updater" @@ -69,4 +69,4 @@ zaurus_make_installkit () { } # Don't include kernels in standard images for Zaurus machines -RDEPENDS_kernel-base = "" \ No newline at end of file +RDEPENDS_kernel-base = "" -- cgit v1.2.3 From de372333d013c8cf7674c9032a16d29b92f0a7b9 Mon Sep 17 00:00:00 2001 From: Sergey Bostandzhyan Date: Thu, 30 Aug 2007 12:50:46 +0000 Subject: image-magick: fix staging and packaging, closes #2892 --- packages/imagemagick/imagemagick_6.2.9.bb | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/imagemagick/imagemagick_6.2.9.bb b/packages/imagemagick/imagemagick_6.2.9.bb index 33748a005e..a403e1a629 100644 --- a/packages/imagemagick/imagemagick_6.2.9.bb +++ b/packages/imagemagick/imagemagick_6.2.9.bb @@ -7,8 +7,9 @@ SRC_URI = "ftp://ftp.nluug.nl/pub/ImageMagick/ImageMagick-${PV}-2.tar.bz2 \ file://PerlMagic_MakePatch;patch=1" S = "${WORKDIR}/ImageMagick-${PV}" +PR="r1" -inherit autotools +inherit autotools binconfig EXTRA_OECONF="--without-x" EXTRA_OECONF_openprotium="--without-x --without-xml --without-perl" @@ -16,7 +17,17 @@ EXTRA_OECONF_openprotium="--without-x --without-xml --without-perl" LEAD_SONAME="libMagick.so.*" FILES_${PN} += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.so \ + ${libdir}/ImageMagick-${PV}/modules-Q16/*/*.la \ ${libdir}/ImageMagick-${PV}/config/ \ ${datadir}/ImageMagick-${PV}" FILES_${PN}-dbg += "${libdir}/ImageMagick-${PV}/modules-Q16/*/.debug/*" + +do_stage() { + oe_libinstall -so -a libMagick ${STAGING_LIBDIR} + oe_libinstall -so -a libWand ${STAGING_LIBDIR} + install -d ${STAGING_INCDIR}/wand/ + install -d ${STAGING_INCDIR}/magick/ + install -m 0644 wand/*.h ${STAGING_INCDIR}/wand/ + install -m 0644 magick/*.h ${STAGING_INCDIR}/magick/ +} -- cgit v1.2.3 From b026cba70e6ddba33680f90c2693738b7c19a9b7 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Thu, 30 Aug 2007 14:50:58 +0000 Subject: gcc 4.2.1: add patches for maverick crunch on ep93xx (That's an FPU) --- packages/gcc/gcc-4.2.1/arm-crunch-20000320.patch | 11 + .../gcc/gcc-4.2.1/arm-crunch-32bit-disable.patch | 85 +++ .../gcc-4.2.1/arm-crunch-64bit-disable-4.2.0.patch | 169 ++++++ .../gcc/gcc-4.2.1/arm-crunch-64bit-disable0.patch | 47 ++ packages/gcc/gcc-4.2.1/arm-crunch-and-or.patch | 67 +++ .../gcc/gcc-4.2.1/arm-crunch-cfcvt64-disable.patch | 19 + .../gcc/gcc-4.2.1/arm-crunch-cfcvtds-disable.patch | 32 ++ .../gcc/gcc-4.2.1/arm-crunch-cirrus-bugfixes.patch | 573 +++++++++++++++++++++ .../gcc/gcc-4.2.1/arm-crunch-compare-geu.patch | 48 ++ .../gcc-4.2.1/arm-crunch-compare-unordered.patch | 98 ++++ .../arm-crunch-compare-unordered.patch-z-eq | 98 ++++ packages/gcc/gcc-4.2.1/arm-crunch-compare.patch | 400 ++++++++++++++ .../gcc/gcc-4.2.1/arm-crunch-compare.patch-z-eq | 400 ++++++++++++++ packages/gcc/gcc-4.2.1/arm-crunch-dominance.patch | 12 + .../gcc-4.2.1/arm-crunch-eabi-ieee754-div.patch | 139 +++++ .../gcc/gcc-4.2.1/arm-crunch-eabi-ieee754.patch | 100 ++++ packages/gcc/gcc-4.2.1/arm-crunch-eabi.patch | 64 +++ .../arm-crunch-floatsi-disable-single.patch | 38 ++ .../gcc/gcc-4.2.1/arm-crunch-floatsi-disable.patch | 61 +++ .../gcc/gcc-4.2.1/arm-crunch-floatunsidf.patch | 37 ++ packages/gcc/gcc-4.2.1/arm-crunch-fp_consts.patch | 13 + packages/gcc/gcc-4.2.1/arm-crunch-neg.patch | 30 ++ packages/gcc/gcc-4.2.1/arm-crunch-neg2.patch | 25 + packages/gcc/gcc-4.2.1/arm-crunch-offset.patch | 20 + packages/gcc/gcc-4.2.1/arm-crunch-predicates.patch | 20 + .../gcc/gcc-4.2.1/arm-crunch-predicates2.patch | 10 + .../gcc/gcc-4.2.1/arm-crunch-predicates3.patch | 116 +++++ packages/gcc/gcc-4.2.1/arm-crunch-saveregs.patch | 153 ++++++ packages/gcc/gcc-4.2.1/arm-crunch-scc.patch | 38 ++ .../gcc-4.2.1/arm-crunch-truncsi-disable-new.patch | 33 ++ .../gcc/gcc-4.2.1/arm-crunch-truncsi-disable.patch | 56 ++ packages/gcc/gcc-cross_4.2.1.bb | 2 +- packages/gcc/gcc_4.2.1.bb | 19 +- 33 files changed, 3031 insertions(+), 2 deletions(-) create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-20000320.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-32bit-disable.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-64bit-disable-4.2.0.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-64bit-disable0.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-and-or.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-cfcvt64-disable.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-cfcvtds-disable.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-cirrus-bugfixes.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-compare-geu.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-compare-unordered.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-compare-unordered.patch-z-eq create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-compare.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-compare.patch-z-eq create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-dominance.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-eabi-ieee754-div.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-eabi-ieee754.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-eabi.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-floatsi-disable-single.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-floatsi-disable.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-floatunsidf.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-fp_consts.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-neg.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-neg2.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-offset.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-predicates.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-predicates2.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-predicates3.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-saveregs.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-scc.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-truncsi-disable-new.patch create mode 100644 packages/gcc/gcc-4.2.1/arm-crunch-truncsi-disable.patch diff --git a/packages/gcc/gcc-4.2.1/arm-crunch-20000320.patch b/packages/gcc/gcc-4.2.1/arm-crunch-20000320.patch new file mode 100644 index 0000000000..3fb0da7670 --- /dev/null +++ b/packages/gcc/gcc-4.2.1/arm-crunch-20000320.patch @@ -0,0 +1,11 @@ +--- gcc-4.1.2/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c.original 2007-06-07 16:33:44.000000000 +1000 ++++ gcc-4.1.2/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c 2007-06-07 16:34:05.000000000 +1000 +@@ -49,7 +49,7 @@ + exit (0); + + c(0x3690000000000000ULL, 0x00000000U); +-#if (defined __arm__ || defined __thumb__) && ! (defined __ARMEB__ || defined __VFP_FP__) ++#if (defined __arm__ || defined __thumb__) && ! (defined __ARMEB__ || defined __VFP_FP__) && ! (defined __MAVERICK__) + /* The ARM always stores FP numbers in big-wordian format, + even when running in little-byteian mode. */ + c(0x0000000136900000ULL, 0x00000001U); diff --git a/packages/gcc/gcc-4.2.1/arm-crunch-32bit-disable.patch b/packages/gcc/gcc-4.2.1/arm-crunch-32bit-disable.patch new file mode 100644 index 0000000000..88eaee322d --- /dev/null +++ b/packages/gcc/gcc-4.2.1/arm-crunch-32bit-disable.patch @@ -0,0 +1,85 @@ +--- gcc-4.1.2/gcc/config/arm/cirrus.md-integer 2007-06-15 09:01:37.000000000 +1000 ++++ gcc-4.1.2/gcc/config/arm/cirrus.md 2007-06-15 09:04:45.000000000 +1000 +@@ -149,7 +149,7 @@ + (match_operand:SI 1 "cirrus_fp_register" "0") + (mult:SI (match_operand:SI 2 "cirrus_fp_register" "v") + (match_operand:SI 3 "cirrus_fp_register" "v"))))] +- "0 && TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "0 && TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfmsc32%?\\t%V0, %V2, %V3" + [(set_attr "type" "mav_farith") + (set_attr "cirrus" "normal")] +@@ -305,7 +305,7 @@ + [(set (match_operand:SF 0 "cirrus_fp_register" "=v") + (float:SF (match_operand:SI 1 "s_register_operand" "r"))) + (clobber (match_scratch:DF 2 "=v"))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfmv64lr%?\\t%Z2, %1\;cfcvt32s%?\\t%V0, %Y2" + [(set_attr "length" "8") + (set_attr "cirrus" "move")] +@@ -315,7 +315,7 @@ + [(set (match_operand:DF 0 "cirrus_fp_register" "=v") + (float:DF (match_operand:SI 1 "s_register_operand" "r"))) + (clobber (match_scratch:DF 2 "=v"))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfmv64lr%?\\t%Z2, %1\;cfcvt32d%?\\t%V0, %Y2" + [(set_attr "length" "8") + (set_attr "cirrus" "move")] +@@ -339,7 +339,7 @@ + [(set (match_operand:SI 0 "s_register_operand" "=r") + (fix:SI (fix:SF (match_operand:SF 1 "cirrus_fp_register" "v")))) + (clobber (match_scratch:DF 2 "=v"))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cftruncs32%?\\t%Y2, %V1\;cfmvr64l%?\\t%0, %Z2" + [(set_attr "length" "8") + (set_attr "cirrus" "normal")] +@@ -349,7 +349,7 @@ + [(set (match_operand:SI 0 "s_register_operand" "=r") + (fix:SI (fix:DF (match_operand:DF 1 "cirrus_fp_register" "v")))) + (clobber (match_scratch:DF 2 "=v"))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cftruncd32%?\\t%Y2, %V1\;cfmvr64l%?\\t%0, %Z2" + [(set_attr "length" "8") + (set_attr "cirrus" "normal")] +--- gcc-4.1.2/gcc/config/arm/arm.md-trunc 2007-06-15 10:56:13.000000000 +1000 ++++ gcc-4.1.2/gcc/config/arm/arm.md 2007-06-15 11:01:22.000000000 +1000 +@@ -3130,7 +3130,7 @@ + (float:SF (match_operand:SI 1 "s_register_operand" "")))] + "TARGET_ARM && TARGET_HARD_FLOAT" + " +- if (TARGET_MAVERICK) ++ if (TARGET_MAVERICK && 0) + { + emit_insn (gen_cirrus_floatsisf2 (operands[0], operands[1])); + DONE; +@@ -3142,7 +3142,7 @@ + (float:DF (match_operand:SI 1 "s_register_operand" "")))] + "TARGET_ARM && TARGET_HARD_FLOAT" + " +- if (TARGET_MAVERICK) ++ if (TARGET_MAVERICK && 0) + { + emit_insn (gen_cirrus_floatsidf2 (operands[0], operands[1])); + DONE; +@@ -3154,7 +3154,7 @@ + (fix:SI (fix:SF (match_operand:SF 1 "s_register_operand" ""))))] + "TARGET_ARM && TARGET_HARD_FLOAT" + " +- if (TARGET_MAVERICK) ++ if (TARGET_MAVERICK && 0) + { + if (!cirrus_fp_register (operands[0], SImode)) + operands[0] = force_reg (SImode, operands[0]); +@@ -3170,7 +3170,7 @@ + (fix:SI (fix:DF (match_operand:DF 1 "s_register_operand" ""))))] + "TARGET_ARM && TARGET_HARD_FLOAT" + " +- if (TARGET_MAVERICK) ++ if (TARGET_MAVERICK && 0) + { + if (!cirrus_fp_register (operands[1], DFmode)) + operands[1] = force_reg (DFmode, operands[0]); diff --git a/packages/gcc/gcc-4.2.1/arm-crunch-64bit-disable-4.2.0.patch b/packages/gcc/gcc-4.2.1/arm-crunch-64bit-disable-4.2.0.patch new file mode 100644 index 0000000000..60b17852bd --- /dev/null +++ b/packages/gcc/gcc-4.2.1/arm-crunch-64bit-disable-4.2.0.patch @@ -0,0 +1,169 @@ +--- gcc-4.1.2/gcc/config/arm/cirrus.md-integer 2007-06-15 09:01:37.000000000 +1000 ++++ gcc-4.1.2/gcc/config/arm/cirrus.md 2007-06-15 09:04:45.000000000 +1000 +@@ -34,7 +34,7 @@ + [(set (match_operand:DI 0 "cirrus_fp_register" "=v") + (plus:DI (match_operand:DI 1 "cirrus_fp_register" "v") + (match_operand:DI 2 "cirrus_fp_register" "v")))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfadd64%?\\t%V0, %V1, %V2" + [(set_attr "type" "mav_farith") + (set_attr "cirrus" "normal")] +@@ -74,7 +74,7 @@ + [(set (match_operand:DI 0 "cirrus_fp_register" "=v") + (minus:DI (match_operand:DI 1 "cirrus_fp_register" "v") + (match_operand:DI 2 "cirrus_fp_register" "v")))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfsub64%?\\t%V0, %V1, %V2" + [(set_attr "type" "mav_farith") + (set_attr "cirrus" "normal")] +@@ -124,7 +124,7 @@ + [(set (match_operand:DI 0 "cirrus_fp_register" "=v") + (mult:DI (match_operand:DI 2 "cirrus_fp_register" "v") + (match_operand:DI 1 "cirrus_fp_register" "v")))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfmul64%?\\t%V0, %V1, %V2" + [(set_attr "type" "mav_dmult") + (set_attr "cirrus" "normal")] +@@ -206,7 +206,7 @@ + [(set (match_operand:DI 0 "cirrus_fp_register" "=v") + (ashift:DI (match_operand:DI 1 "cirrus_fp_register" "v") + (match_operand:SI 2 "register_operand" "r")))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfrshl64%?\\t%V1, %V0, %s2" + [(set_attr "cirrus" "normal")] + ) +@@ -215,7 +215,7 @@ + [(set (match_operand:DI 0 "cirrus_fp_register" "=v") + (ashift:DI (match_operand:DI 1 "cirrus_fp_register" "v") + (match_operand:SI 2 "cirrus_shift_const" "")))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfsh64%?\\t%V0, %V1, #%s2" + [(set_attr "cirrus" "normal")] + ) +@@ -224,7 +224,7 @@ + [(set (match_operand:DI 0 "cirrus_fp_register" "=v") + (ashiftrt:DI (match_operand:DI 1 "cirrus_fp_register" "v") + (match_operand:SI 2 "cirrus_shift_const" "")))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfsh64%?\\t%V0, %V1, #-%s2" + [(set_attr "cirrus" "normal")] + ) +@@ -232,7 +232,7 @@ + (define_insn "*cirrus_absdi2" + [(set (match_operand:DI 0 "cirrus_fp_register" "=v") + (abs:DI (match_operand:DI 1 "cirrus_fp_register" "v")))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfabs64%?\\t%V0, %V1" + [(set_attr "cirrus" "normal")] + ) +@@ -238,11 +238,12 @@ + ) + + ;; This doesn't really clobber ``cc''. Fixme: aldyh. ++;; maybe buggy? + (define_insn "*cirrus_negdi2" + [(set (match_operand:DI 0 "cirrus_fp_register" "=v") + (neg:DI (match_operand:DI 1 "cirrus_fp_register" "v"))) + (clobber (reg:CC CC_REGNUM))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfneg64%?\\t%V0, %V1" + [(set_attr "cirrus" "normal")] + ) +@@ -324,14 +324,14 @@ + (define_insn "floatdisf2" + [(set (match_operand:SF 0 "cirrus_fp_register" "=v") + (float:SF (match_operand:DI 1 "cirrus_fp_register" "v")))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfcvt64s%?\\t%V0, %V1" + [(set_attr "cirrus" "normal")]) + + (define_insn "floatdidf2" + [(set (match_operand:DF 0 "cirrus_fp_register" "=v") + (float:DF (match_operand:DI 1 "cirrus_fp_register" "v")))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfcvt64d%?\\t%V0, %V1" + [(set_attr "cirrus" "normal")]) + +@@ -376,7 +376,7 @@ + (define_insn "*cirrus_arm_movdi" + [(set (match_operand:DI 0 "nonimmediate_di_operand" "=r,r,o<>,v,r,v,m,v") + (match_operand:DI 1 "di_operand" "rIK,mi,r,r,v,mi,v,v"))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "* + { + switch (which_alternative) +--- gcc-4.1.2/gcc/config/arm/arm.md-64 2007-06-15 11:37:42.000000000 +1000 ++++ gcc-4.1.2/gcc/config/arm/arm.md 2007-06-15 11:40:45.000000000 +1000 +@@ -357,7 +357,7 @@ + (clobber (reg:CC CC_REGNUM))])] + "TARGET_EITHER" + " +- if (TARGET_HARD_FLOAT && TARGET_MAVERICK) ++ if (TARGET_HARD_FLOAT && TARGET_MAVERICK && 0) + { + if (!cirrus_fp_register (operands[0], DImode)) + operands[0] = force_reg (DImode, operands[0]); +@@ -393,7 +393,7 @@ + (plus:DI (match_operand:DI 1 "s_register_operand" "%0, 0") + (match_operand:DI 2 "s_register_operand" "r, 0"))) + (clobber (reg:CC CC_REGNUM))] +- "TARGET_ARM && !(TARGET_HARD_FLOAT && TARGET_MAVERICK)" ++ "TARGET_ARM" + "#" + "TARGET_ARM && reload_completed" + [(parallel [(set (reg:CC_C CC_REGNUM) +@@ -421,7 +421,7 @@ + (match_operand:SI 2 "s_register_operand" "r,r")) + (match_operand:DI 1 "s_register_operand" "r,0"))) + (clobber (reg:CC CC_REGNUM))] +- "TARGET_ARM && !(TARGET_HARD_FLOAT && TARGET_MAVERICK)" ++ "TARGET_ARM" + "#" + "TARGET_ARM && reload_completed" + [(parallel [(set (reg:CC_C CC_REGNUM) +@@ -450,7 +450,7 @@ + (match_operand:SI 2 "s_register_operand" "r,r")) + (match_operand:DI 1 "s_register_operand" "r,0"))) + (clobber (reg:CC CC_REGNUM))] +- "TARGET_ARM && !(TARGET_HARD_FLOAT && TARGET_MAVERICK)" ++ "TARGET_ARM" + "#" + "TARGET_ARM && reload_completed" + [(parallel [(set (reg:CC_C CC_REGNUM) +@@ -838,7 +838,7 @@ + if (TARGET_HARD_FLOAT && TARGET_MAVERICK + && TARGET_ARM + && cirrus_fp_register (operands[0], DImode) +- && cirrus_fp_register (operands[1], DImode)) ++ && cirrus_fp_register (operands[1], DImode) && 0) + { + emit_insn (gen_cirrus_subdi3 (operands[0], operands[1], operands[2])); + DONE; +@@ -2599,7 +2599,7 @@ + values to iwmmxt regs and back. */ + FAIL; + } +- else if (!TARGET_REALLY_IWMMXT && !(TARGET_HARD_FLOAT && TARGET_MAVERICK)) ++ else if (!TARGET_REALLY_IWMMXT) + FAIL; + " + ) +@@ -4215,7 +4215,6 @@ + [(set (match_operand:DI 0 "nonimmediate_operand" "=l,l,l,l,>,l, m,*r") + (match_operand:DI 1 "general_operand" "l, I,J,>,l,mi,l,*r"))] + "TARGET_THUMB +- && !(TARGET_HARD_FLOAT && TARGET_MAVERICK) + && ( register_operand (operands[0], DImode) + || register_operand (operands[1], DImode))" + "* diff --git a/packages/gcc/gcc-4.2.1/arm-crunch-64bit-disable0.patch b/packages/gcc/gcc-4.2.1/arm-crunch-64bit-disable0.patch new file mode 100644 index 0000000000..95abf68a60 --- /dev/null +++ b/packages/gcc/gcc-4.2.1/arm-crunch-64bit-disable0.patch @@ -0,0 +1,47 @@ +diff -ruN /home/hwilliams/openembedded/build/tmp/work/ep9312-angstrom-linux-gnueabi/gcc-cross-4.1.2-r0/gcc-4.1.2/gcc/config/arm/arm.md gcc-4.1.2/gcc/config/arm/arm.md +--- /home/hwilliams/openembedded/build/tmp/work/ep9312-angstrom-linux-gnueabi/gcc-cross-4.1.2-r0/gcc-4.1.2/gcc/config/arm/arm.md 2006-09-28 03:10:22.000000000 +1000 ++++ gcc-4.1.2/gcc/config/arm/arm.md 2007-05-15 09:53:21.000000000 +1000 +@@ -6865,10 +6877,12 @@ + ) + + ;; Cirrus DI compare instruction ++;; This is disabled and left go through ARM core registers, because currently ++;; Crunch coprocessor does only signed comparison. + (define_expand "cmpdi" + [(match_operand:DI 0 "cirrus_fp_register" "") + (match_operand:DI 1 "cirrus_fp_register" "")] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK & 0" + "{ + arm_compare_op0 = operands[0]; + arm_compare_op1 = operands[1]; +@@ -6879,7 +6893,7 @@ + [(set (reg:CC CC_REGNUM) + (compare:CC (match_operand:DI 0 "cirrus_fp_register" "v") + (match_operand:DI 1 "cirrus_fp_register" "v")))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK & 0" + "cfcmp64%?\\tr15, %V0, %V1" + [(set_attr "type" "mav_farith") + (set_attr "cirrus" "compare")] +@@ -10105,6 +10119,7 @@ + [(unspec:SI [(match_operand:SI 0 "register_operand" "")] UNSPEC_PROLOGUE_USE)] + "" + "%@ %0 needed for prologue" ++ [(set_attr "length" "0")] + ) + + +diff -ruN /home/hwilliams/openembedded/build/tmp/work/ep9312-angstrom-linux-gnueabi/gcc-cross-4.1.2-r0/gcc-4.1.2/gcc/config/arm/cirrus.md gcc-4.1.2/gcc/config/arm/cirrus.md +--- /home/hwilliams/openembedded/build/tmp/work/ep9312-angstrom-linux-gnueabi/gcc-cross-4.1.2-r0/gcc-4.1.2/gcc/config/arm/cirrus.md 2005-06-25 11:22:41.000000000 +1000 ++++ gcc-4.1.2/gcc/config/arm/cirrus.md 2007-05-15 09:55:29.000000000 +1000 +@@ -348,7 +348,8 @@ + (clobber (match_scratch:DF 2 "=v"))] + "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" + "cftruncd32%?\\t%Y2, %V1\;cfmvr64l%?\\t%0, %Z2" +- [(set_attr "length" "8")] ++ [(set_attr "length" "8") ++ (set_attr "cirrus" "normal")] + ) + + (define_insn "*cirrus_truncdfsf2" diff --git a/packages/gcc/gcc-4.2.1/arm-crunch-and-or.patch b/packages/gcc/gcc-4.2.1/arm-crunch-and-or.patch new file mode 100644 index 0000000000..24357d316e --- /dev/null +++ b/packages/gcc/gcc-4.2.1/arm-crunch-and-or.patch @@ -0,0 +1,67 @@ +--- gcc-4.1.2/gcc/config/arm/arm.md-original 2007-06-13 17:16:38.000000000 +1000 ++++ gcc-4.1.2/gcc/config/arm/arm.md 2007-06-13 17:35:19.000000000 +1000 +@@ -8455,7 +8455,7 @@ + (and:SI (match_operator:SI 1 "arm_comparison_operator" + [(match_operand 3 "cc_register" "") (const_int 0)]) + (match_operand:SI 2 "s_register_operand" "r")))] +- "TARGET_ARM" ++ "TARGET_ARM && !TARGET_MAVERICK" + "mov%D1\\t%0, #0\;and%d1\\t%0, %2, #1" + [(set_attr "conds" "use") + (set_attr "length" "8")] +@@ -8466,7 +8466,7 @@ + (ior:SI (match_operator:SI 2 "arm_comparison_operator" + [(match_operand 3 "cc_register" "") (const_int 0)]) + (match_operand:SI 1 "s_register_operand" "0,?r")))] +- "TARGET_ARM" ++ "TARGET_ARM && !TARGET_MAVERICK" + "@ + orr%d2\\t%0, %1, #1 + mov%D2\\t%0, %1\;orr%d2\\t%0, %1, #1" +@@ -8734,7 +8734,8 @@ + (clobber (reg:CC CC_REGNUM))] + "TARGET_ARM + && (arm_select_dominance_cc_mode (operands[3], operands[6], DOM_CC_X_OR_Y) +- != CCmode)" ++ != CCmode) ++ && !TARGET_MAVERICK" + "#" + "TARGET_ARM && reload_completed" + [(set (match_dup 7) +@@ -8765,7 +8766,7 @@ + (set (match_operand:SI 7 "s_register_operand" "=r") + (ior:SI (match_op_dup 3 [(match_dup 1) (match_dup 2)]) + (match_op_dup 6 [(match_dup 4) (match_dup 5)])))] +- "TARGET_ARM" ++ "TARGET_ARM && !TARGET_MAVERICK" + "#" + "TARGET_ARM && reload_completed" + [(set (match_dup 0) +@@ -8790,7 +8791,8 @@ + (clobber (reg:CC CC_REGNUM))] + "TARGET_ARM + && (arm_select_dominance_cc_mode (operands[3], operands[6], DOM_CC_X_AND_Y) +- != CCmode)" ++ != CCmode) ++ && !TARGET_MAVERICK" + "#" + "TARGET_ARM && reload_completed + && (arm_select_dominance_cc_mode (operands[3], operands[6], DOM_CC_X_AND_Y) +@@ -8823,7 +8825,7 @@ + (set (match_operand:SI 7 "s_register_operand" "=r") + (and:SI (match_op_dup 3 [(match_dup 1) (match_dup 2)]) + (match_op_dup 6 [(match_dup 4) (match_dup 5)])))] +- "TARGET_ARM" ++ "TARGET_ARM && !TARGET_MAVERICK" + "#" + "TARGET_ARM && reload_completed" + [(set (match_dup 0) +@@ -8850,7 +8852,7 @@ + [(match_operand:SI 4 "s_register_operand" "r,r,r") + (match_operand:SI 5 "arm_add_operand" "rIL,rIL,rIL")]))) + (clobber (reg:CC CC_REGNUM))] +- "TARGET_ARM ++ "TARGET_ARM && !TARGET_MAVERICK + && (arm_select_dominance_cc_mode (operands[3], operands[6], DOM_CC_X_AND_Y) + == CCmode)" + "#" diff --git a/packages/gcc/gcc-4.2.1/arm-crunch-cfcvt64-disable.patch b/packages/gcc/gcc-4.2.1/arm-crunch-cfcvt64-disable.patch new file mode 100644 index 0000000000..f9280b18b5 --- /dev/null +++ b/packages/gcc/gcc-4.2.1/arm-crunch-cfcvt64-disable.patch @@ -0,0 +1,19 @@ +--- gcc-4.2.0/gcc/config/arm/cirrus.md-original 2007-06-25 15:32:01.000000000 +1000 ++++ gcc-4.2.0/gcc/config/arm/cirrus.md 2007-06-25 15:32:14.000000000 +1000 +@@ -325,14 +325,14 @@ + (define_insn "floatdisf2" + [(set (match_operand:SF 0 "cirrus_fp_register" "=v") + (float:SF (match_operand:DI 1 "cirrus_fp_register" "v")))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfcvt64s%?\\t%V0, %V1" + [(set_attr "cirrus" "normal")]) + + (define_insn "floatdidf2" + [(set (match_operand:DF 0 "cirrus_fp_register" "=v") + (float:DF (match_operand:DI 1 "cirrus_fp_register" "v")))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfcvt64d%?\\t%V0, %V1" + [(set_attr "cirrus" "normal")]) + diff --git a/packages/gcc/gcc-4.2.1/arm-crunch-cfcvtds-disable.patch b/packages/gcc/gcc-4.2.1/arm-crunch-cfcvtds-disable.patch new file mode 100644 index 0000000000..ec09ea16a1 --- /dev/null +++ b/packages/gcc/gcc-4.2.1/arm-crunch-cfcvtds-disable.patch @@ -0,0 +1,32 @@ +--- gcc-4.1.2/gcc/config/arm/cirrus.md-cfcvt 2007-06-15 10:06:24.000000000 +1000 ++++ gcc-4.1.2/gcc/config/arm/cirrus.md 2007-06-15 10:07:21.000000000 +1000 +@@ -355,11 +355,12 @@ + (set_attr "cirrus" "normal")] + ) + ++; appears to be buggy - causes 20000320-1.c to fail in execute/ieee + (define_insn "*cirrus_truncdfsf2" + [(set (match_operand:SF 0 "cirrus_fp_register" "=v") + (float_truncate:SF + (match_operand:DF 1 "cirrus_fp_register" "v")))] +- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK" ++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0" + "cfcvtds%?\\t%V0, %V1" + [(set_attr "cirrus" "normal")] + ) +--- gcc-4.1.2/gcc/config/arm/arm.md-truncdfsf2 2007-06-15 10:25:43.000000000 +1000 ++++ gcc-4.1.2/gcc/config/arm/arm.md 2007-06-15 10:27:01.000000000 +1000 +@@ -3181,11 +3181,12 @@ + + ;; Truncation insns + ++;; Maverick Crunch truncdfsf2 is buggy - see cirrus.md + (define_expand "truncdfsf2" + [(set (match_operand:SF 0 "s_register_operand" "") + (float_truncate:SF + (match_operand:DF 1 "s_register_operand" "")))] +- "TARGET_ARM && TARGET_HARD_FLOAT" ++ "TARGET_ARM && TARGET_HARD_FLOAT && (TARGET_FPA || TARGET_VFP)" + "" + ) + diff --git a/packages/gcc/gcc-4.2.1/arm-crunch-cirrus-bugfixes.patch b/packages/gcc/gcc-4.2.1/arm-crunch-cirrus-bugfixes.patch new file mode 100644 index 0000000000..cb0af8546d --- /dev/null +++ b/packages/gcc/gcc-4.2.1/arm-crunch-cirrus-bugfixes.patch @@ -0,0 +1,573 @@ +diff -ruN /home/hwilliams/openembedded/build/tmp/work/ep9312-angstrom-linux-gnueabi/gcc-cross-4.1.2-r0/gcc-4.1.2/gcc/config/arm/arm.c gcc-4.1.2/gcc/config/arm/arm.c +--- /home/hwilliams/openembedded/build/tmp/work/ep9312-angstrom-linux-gnueabi/gcc-cross-4.1.2-r0/gcc-4.1.2/gcc/config/arm/arm.c 2007-05-09 16:32:29.000000000 +1000 ++++ gcc-4.1.2/gcc/config/arm/arm.c 2007-05-15 09:39:41.000000000 +1000 +@@ -4,6 +4,7 @@ + Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl) + and Martin Simmons (@harleqn.co.uk). + More major hacks by Richard Earnshaw (rearnsha@arm.com). ++ Cirrus Crunch bugfixes by Vladimir Ivanov (vladit@nucleusys.com) + + This file is part of GCC. + +@@ -131,9 +132,17 @@ + static bool arm_xscale_rtx_costs (rtx, int, int, int *); + static bool arm_9e_rtx_costs (rtx, int, int, int *); + static int arm_address_cost (rtx); +-static bool arm_memory_load_p (rtx); ++// static bool arm_memory_load_p (rtx); + static bool arm_cirrus_insn_p (rtx); +-static void cirrus_reorg (rtx); ++// static void cirrus_reorg (rtx); ++static bool arm_mem_access_p (rtx); ++static bool cirrus_dest_regn_p (rtx, int); ++static rtx cirrus_prev_next_mach_insn (rtx, int *, int); ++static rtx cirrus_prev_mach_insn (rtx, int *); ++static rtx cirrus_next_mach_insn (rtx, int *); ++static void cirrus_reorg_branch (rtx); ++static void cirrus_reorg_bug1 (rtx); ++static void cirrus_reorg_bug10_12 (rtx); + static void arm_init_builtins (void); + static rtx arm_expand_builtin (tree, rtx, rtx, enum machine_mode, int); + static void arm_init_iwmmxt_builtins (void); +@@ -5399,41 +5412,6 @@ + || TREE_CODE (valtype) == COMPLEX_TYPE)); + } + +-/* Returns TRUE if INSN is an "LDR REG, ADDR" instruction. +- Use by the Cirrus Maverick code which has to workaround +- a hardware bug triggered by such instructions. */ +-static bool +-arm_memory_load_p (rtx insn)