--- /dev/null
+diff -urN gcc-4.3.1.orig/gcc/config/cris/cris.h gcc-4.3.1/gcc/config/cris/cris.h
+--- gcc-4.3.1.orig/gcc/config/cris/cris.h 2008-02-22 12:11:01.000000000 +0100
++++ gcc-4.3.1/gcc/config/cris/cris.h 2008-07-02 10:42:42.000000000 +0200
+@@ -1529,9 +1529,6 @@
+
+ #define NO_IMPLICIT_EXTERN_C
+
+-/* No specific purpose other than warningless compatibility. */
+-#define HANDLE_PRAGMA_PACK_PUSH_POP 1
+-
+ /*
+ * Local variables:
+ * eval: (c-set-style "gnu")
--- /dev/null
+diff -urN gcc-4.3.1.orig/gcc/config/cris/cris.h gcc-4.3.1/gcc/config/cris/cris.h
+--- gcc-4.3.1.orig/gcc/config/cris/cris.h 2008-02-22 12:11:01.000000000 +0100
++++ gcc-4.3.1/gcc/config/cris/cris.h 2008-07-02 10:42:42.000000000 +0200
+@@ -1529,9 +1529,6 @@
+
+ #define NO_IMPLICIT_EXTERN_C
+
+-/* No specific purpose other than warningless compatibility. */
+-#define HANDLE_PRAGMA_PACK_PUSH_POP 1
+-
+ /*
+ * Local variables:
+ * eval: (c-set-style "gnu")
--- /dev/null
+--- a/drivers/net/cris/eth_v10.c.org 2009-01-28 09:19:09.000000000 +0100
++++ b/drivers/net/cris/eth_v10.c 2009-01-28 09:19:16.000000000 +0100
+@@ -1707,7 +1707,7 @@
+ static void
+ e100_netpoll(struct net_device* netdev)
+ {
+- e100rxtx_interrupt(NETWORK_DMA_TX_IRQ_NBR, netdev, NULL);
++ e100rxtx_interrupt(NETWORK_DMA_TX_IRQ_NBR, netdev);
+ }
+ #endif
+
--- /dev/null
+--- a/include/linux/klist.h
++++ b/include/linux/klist.h
+@@ -23,7 +23,7 @@ struct klist {
+ struct list_head k_list;
+ void (*get)(struct klist_node *);
+ void (*put)(struct klist_node *);
+-};
++} __attribute__ ((aligned (4)));
+
+ #define KLIST_INIT(_name, _get, _put) \
+ { .k_lock = __SPIN_LOCK_UNLOCKED(_name.k_lock), \
+