summaryrefslogtreecommitdiffstats
path: root/recipes/linux/linux-2.6.28/nokia900/gcc_4.4_endianess_macros.patch
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@no-log.org>2010-09-12 12:13:24 +0200
committerDenis 'GNUtoo' Carikli <GNUtoo@no-log.org>2010-09-12 13:49:50 +0200
commit8909526b2efd809396383b4c22d97bd6d1e5ec2f (patch)
tree120bf81421cc3af12a322c68a4ccf8d28d93a32e /recipes/linux/linux-2.6.28/nokia900/gcc_4.4_endianess_macros.patch
parentb84f8bd7ea620ce2dafd8a6c5d75691948958505 (diff)
downloadopenembedded-8909526b2efd809396383b4c22d97bd6d1e5ec2f.tar.gz
linux-2.6.28 : nokia900: update patchset and unbreak compilation with gcc 4.4
The gcc patch was indicated to me by felipec in #maemo on freenode <felipec> GNUtoo|laptop: http://article.gmane.org/gmane.linux.ports.arm.omap/28461 The nokia patch was updated to kernel_2.6.28-20101501+0m5.diff.gz I was also told in #openmoko-cdevelon freenode by dos11 that PR had to be bumped only in the machine config: <apt> dos11 meant: GNUtoo|laptop: only macine conf
Diffstat (limited to 'recipes/linux/linux-2.6.28/nokia900/gcc_4.4_endianess_macros.patch')
-rw-r--r--recipes/linux/linux-2.6.28/nokia900/gcc_4.4_endianess_macros.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/recipes/linux/linux-2.6.28/nokia900/gcc_4.4_endianess_macros.patch b/recipes/linux/linux-2.6.28/nokia900/gcc_4.4_endianess_macros.patch
new file mode 100644
index 0000000000..46e60f74e6
--- /dev/null
+++ b/recipes/linux/linux-2.6.28/nokia900/gcc_4.4_endianess_macros.patch
@@ -0,0 +1,24 @@
+Index: linux-2.6.28/drivers/dsp/bridge/dynload/cload.c
+===================================================================
+--- linux-2.6.28.orig/drivers/dsp/bridge/dynload/cload.c 2010-09-12 02:03:52.106475160 +0200
++++ linux-2.6.28/drivers/dsp/bridge/dynload/cload.c 2010-09-12 02:05:30.722106026 +0200
+@@ -1475,10 +1475,6 @@
+ #if TARGET_AU_BITS <= BITS_PER_AU
+ /* byte-swapping issues may exist for strings on target */
+ *dst++ = *src++;
+-#elif TARGET_ENDIANNESS_DIFFERS(TARGET_BIG_ENDIAN)
+- register TgtAU_t tmp;
+- tmp = *src++;
+- *dst++ = SWAP16BY8(tmp); /* right for TARGET_AU_BITS == 16 */
+ #else
+ *dst++ = *src++;
+ #endif
+@@ -1486,8 +1482,6 @@
+ /*apply force to make sure that the string table has null terminator */
+ #if (BITS_PER_AU == BITS_PER_BYTE) && (TARGET_AU_BITS == BITS_PER_BYTE)
+ dst[-1] = 0;
+-#elif TARGET_BIG_ENDIAN
+- dst[-1] &= ~BYTE_MASK; /* big-endian */
+ #else
+ dst[-1] &= (1 << (BITS_PER_AU - BITS_PER_BYTE)) - 1; /* little endian */
+ #endif