aboutsummaryrefslogtreecommitdiffstats
path: root/linux/nslu2-linksys-2.4.22
diff options
context:
space:
mode:
Diffstat (limited to 'linux/nslu2-linksys-2.4.22')
-rw-r--r--linux/nslu2-linksys-2.4.22/gcc-registerparanoia.patch57
-rw-r--r--linux/nslu2-linksys-2.4.22/gcc3-userfuncs.patch134
-rw-r--r--linux/nslu2-linksys-2.4.22/gl811e.patch43
-rw-r--r--linux/nslu2-linksys-2.4.22/linksys_can_bite_me.patch34
-rw-r--r--linux/nslu2-linksys-2.4.22/linux-2.4.24-attribute-used.patch140
-rw-r--r--linux/nslu2-linksys-2.4.22/nofpu.patch18
-rw-r--r--linux/nslu2-linksys-2.4.22/short_loadbytes.patch18
7 files changed, 444 insertions, 0 deletions
diff --git a/linux/nslu2-linksys-2.4.22/gcc-registerparanoia.patch b/linux/nslu2-linksys-2.4.22/gcc-registerparanoia.patch
index e69de29bb2..7c3e538e1e 100644
--- a/linux/nslu2-linksys-2.4.22/gcc-registerparanoia.patch
+++ b/linux/nslu2-linksys-2.4.22/gcc-registerparanoia.patch
@@ -0,0 +1,57 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.22/include/asm-arm/system.h~gcc-registerparanoia 2004-09-08 19:45:34.000000000 -0500
++++ linux-2.4.22/include/asm-arm/system.h 2004-09-08 19:53:01.000000000 -0500
+@@ -3,6 +3,15 @@
+
+ #ifdef __KERNEL__
+
++/*
++ * This is used to ensure the compiler did actually allocate the register we
++ * asked it for some inline assembly sequences. Apparently we can't trust
++ * the compiler from one version to another so a bit of paranoia won't hurt.
++ * This string is meant to be concatenated with the inline asm string and
++ * will cause compilation to stop on mismatch.
++ */
++#define __asmeq(x, y) ".ifnc " x "," y " ; .err ; .endif\n\t"
++
+ #include <linux/config.h>
+ #include <linux/kernel.h>
+
+--- linux-2.4.22/include/asm-arm/uaccess.h~gcc-registerparanoia 2004-09-08 19:45:34.000000000 -0500
++++ linux-2.4.22/include/asm-arm/uaccess.h 2004-09-08 19:59:20.000000000 -0500
+@@ -6,6 +6,7 @@
+ */
+ #include <linux/sched.h>
+ #include <asm/errno.h>
++#include <asm/system.h>
+
+ #define VERIFY_READ 0
+ #define VERIFY_WRITE 1
+@@ -71,7 +72,9 @@
+ extern int __get_user_bad(void);
+
+ #define __get_user_x(__r1,__p,__e,__s,__i...) \
+- __asm__ __volatile__ ("bl __get_user_" #__s \
++ __asm__ __volatile__ ( \
++ __asmeq("%0", "r0") __asmeq("%1", "r1") \
++ "bl __get_user_" #__s \
+ : "=&r" (__e), "=r" (__r1) \
+ : "0" (__p) \
+ : __i)
+@@ -110,7 +113,9 @@
+ extern int __put_user_bad(void);
+
+ #define __put_user_x(__r1,__p,__e,__s,__i...) \
+- __asm__ __volatile__ ("bl __put_user_" #__s \
++ __asm__ __volatile__ ( \
++ __asmeq("%0", "r0") __asmeq("%2", "r1") \
++ "bl __put_user_" #__s \
+ : "=&r" (__e) \
+ : "0" (__p), "r" (__r1) \
+ : __i)
+--- linux-2.4.22/-~gcc-registerparanoia
++++ linux-2.4.22/-
diff --git a/linux/nslu2-linksys-2.4.22/gcc3-userfuncs.patch b/linux/nslu2-linksys-2.4.22/gcc3-userfuncs.patch
index e69de29bb2..54726bf740 100644
--- a/linux/nslu2-linksys-2.4.22/gcc3-userfuncs.patch
+++ b/linux/nslu2-linksys-2.4.22/gcc3-userfuncs.patch
@@ -0,0 +1,134 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.22/arch/arm/lib/getuser.S~gcc3-userfuncs 2004-09-08 19:14:05.000000000 -0500
++++ linux-2.4.22/arch/arm/lib/getuser.S 2004-09-08 19:49:27.000000000 -0500
+@@ -42,17 +42,17 @@
+
+ .global __get_user_2
+ __get_user_2:
+- bic r2, sp, #0x1f00
+- bic r2, r2, #0x00ff
+- ldr r2, [r2, #TSK_ADDR_LIMIT]
+- sub r2, r2, #2
+- cmp r0, r2
++ bic ip, sp, #0x1f00
++ bic ip, ip, #0x00ff
++ ldr ip, [ip, #TSK_ADDR_LIMIT]
++ sub ip, ip, #2
++ cmp r0, ip
+ 2: ldrlsbt r1, [r0], #1
+-3: ldrlsbt r2, [r0]
++3: ldrlsbt ip, [r0]
+ #ifndef __ARMEB__
+- orrls r1, r1, r2, lsl #8
++ orrls r1, r1, ip, lsl #8
+ #else
+- orrls r1, r2, r1, lsl #8
++ orrls r1, ip, r1, lsl #8
+ #endif
+ movls r0, #0
+ movls pc, lr
+--- linux-2.4.22/arch/arm/lib/putuser.S~gcc3-userfuncs 2004-09-08 19:14:05.000000000 -0500
++++ linux-2.4.22/arch/arm/lib/putuser.S 2004-09-08 19:45:00.000000000 -0500
+@@ -18,7 +18,7 @@
+ * Inputs: r0 contains the address
+ * r1, r2 contains the value
+ * Outputs: r0 is the error code
+- * lr corrupted
++ * ip, lr corrupted
+ *
+ * No other registers must be altered. (see include/asm-arm/uaccess.h
+ * for specific ASM register usage).
+@@ -30,11 +30,11 @@
+
+ .global __put_user_1
+ __put_user_1:
+- bic r2, sp, #0x1f00
+- bic r2, r2, #0x00ff
+- ldr r2, [r2, #TSK_ADDR_LIMIT]
+- sub r2, r2, #1
+- cmp r0, r2
++ bic ip, sp, #0x1f00
++ bic ip, ip, #0x00ff
++ ldr ip, [ip, #TSK_ADDR_LIMIT]
++ sub ip, ip, #1
++ cmp r0, ip
+ 1: strlsbt r1, [r0]
+ movls r0, #0
+ movls pc, lr
+@@ -42,20 +42,20 @@
+
+ .global __put_user_2
+ __put_user_2:
+- bic r2, sp, #0x1f00
+- bic r2, r2, #0x00ff
+- ldr r2, [r2, #TSK_ADDR_LIMIT]
+- sub r2, r2, #2
+- cmp r0, r2
++ bic ip, sp, #0x1f00
++ bic ip, ip, #0x00ff
++ ldr ip, [ip, #TSK_ADDR_LIMIT]
++ sub ip, ip, #2
++ cmp r0, ip
+ #ifndef __ARMEB__
+ 2: strlsbt r1, [r0], #1
+ movls r1, r1, lsr #8
+ 3: strlsbt r1, [r0]
+ #else
+-2: movls r2, r1
++2: movls ip, r1
+ movls r1, r1, lsr #8
+ strlsbt r1, [r0], #1
+- movls r1, r2
++ movls r1, ip
+ 3: strlsbt r1, [r0]
+ #endif
+ movls r0, #0
+@@ -64,11 +64,11 @@
+
+ .global __put_user_4
+ __put_user_4:
+- bic r2, sp, #0x1f00
+- bic r2, r2, #0x00ff
+- ldr r2, [r2, #TSK_ADDR_LIMIT]
+- sub r2, r2, #4
+- cmp r0, r2
++ bic ip, sp, #0x1f00
++ bic ip, ip, #0x00ff
++ ldr ip, [ip, #TSK_ADDR_LIMIT]
++ sub ip, ip, #4
++ cmp r0, ip
+ 4: strlst r1, [r0]
+ movls r0, #0
+ movls pc, lr
+--- linux-2.4.22/include/asm-arm/uaccess.h~gcc3-userfuncs 2004-09-08 19:36:03.000000000 -0500
++++ linux-2.4.22/include/asm-arm/uaccess.h 2004-09-08 20:03:34.000000000 -0500
+@@ -86,7 +86,7 @@
+ __get_user_x(__r1, __p, __e, 1, "lr"); \
+ break; \
+ case 2: \
+- __get_user_x(__r1, __p, __e, 2, "r2", "lr"); \
++ __get_user_x(__r1, __p, __e, 2, "ip", "lr"); \
+ break; \
+ case 4: \
+ __get_user_x(__r1, __p, __e, 4, "lr"); \
+@@ -122,13 +122,13 @@
+ register int __e asm("r0"); \
+ switch (sizeof(*(p))) { \
+ case 1: \
+- __put_user_x(__r1, __p, __e, 1, "r2", "lr"); \
++ __put_user_x(__r1, __p, __e, 1, "ip", "lr"); \
+ break; \
+ case 2: \
+- __put_user_x(__r1, __p, __e, 2, "r2", "lr"); \
++ __put_user_x(__r1, __p, __e, 2, "ip", "lr"); \
+ break; \
+ case 4: \
+- __put_user_x(__r1, __p, __e, 4, "r2", "lr"); \
++ __put_user_x(__r1, __p, __e, 4, "ip", "lr"); \
+ break; \
+ case 8: \
+ __put_user_x(__r1, __p, __e, 8, "ip", "lr"); \
diff --git a/linux/nslu2-linksys-2.4.22/gl811e.patch b/linux/nslu2-linksys-2.4.22/gl811e.patch
index e69de29bb2..106c329b4c 100644
--- a/linux/nslu2-linksys-2.4.22/gl811e.patch
+++ b/linux/nslu2-linksys-2.4.22/gl811e.patch
@@ -0,0 +1,43 @@
+--- linux-2.4.22/drivers/usb/storage/transport.c Fri Jul 9 10:56:27 2004
++++ linux-2.4.22/drivers/usb/storage/transport.c Fri Jul 9 11:51:14 2004
+@@ -1170,6 +1170,12 @@
+
+ /* if the command transfered well, then we go to the data stage */
+ if (result == 0) {
++
++ /* Genesys Logic interface chips need a 100us delay between
++ * the command phase and the data phase */
++ if (us->pusb_dev->descriptor.idVendor == USB_VENDOR_ID_GENESYS)
++ udelay(100);
++
+ /* send/receive data payload, if there is any */
+ if (bcb->DataTransferLength) {
+ usb_stor_transfer(srb, us);
+--- linux-2.4.22/drivers/usb/storage/usb.c Fri Jul 9 11:44:53 2004
++++ linux-2.4.22/drivers/usb/storage/usb.c Fri Jul 9 11:49:44 2004
+@@ -996,6 +996,15 @@
+ */
+ (struct us_data *)ss->htmplt.proc_dir = ss;
+
++ /* According to the technical support people at Genesys Logic,
++ * devices using their chips have problems transferring more
++ * than 32 KB at a time. In practice people have found that
++ * 64 KB works okay and that's what Windows does. But we'll
++ * be conservative.
++ */
++ if (ss->pusb_dev->descriptor.idVendor == USB_VENDOR_ID_GENESYS)
++ ss->htmplt.max_sectors = 64;
++
+ /* Just before we start our control thread, initialize
+ * the device if it needs initialization */
+ if (unusual_dev && unusual_dev->initFunction)
+--- linux-2.4.22/drivers/usb/storage/usb.h Fri Jul 9 10:56:03 2004
++++ linux-2.4.22/drivers/usb/storage/usb.h Fri Jul 9 11:45:49 2004
+@@ -193,4 +193,7 @@
+ /* Function to fill an inquiry response. See usb.c for details */
+ extern void fill_inquiry_response(struct us_data *us,
+ unsigned char *data, unsigned int data_len);
++
++/* Vendor ID list for devices that require special handling */
++#define USB_VENDOR_ID_GENESYS 0x05e3 /* Genesys Logic */
+ #endif
diff --git a/linux/nslu2-linksys-2.4.22/linksys_can_bite_me.patch b/linux/nslu2-linksys-2.4.22/linksys_can_bite_me.patch
index e69de29bb2..2afbe66f0a 100644
--- a/linux/nslu2-linksys-2.4.22/linksys_can_bite_me.patch
+++ b/linux/nslu2-linksys-2.4.22/linksys_can_bite_me.patch
@@ -0,0 +1,34 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.22/drivers/usb/Config.in~linksys_can_bite_me 2004-09-08 19:14:15.000000000 -0500
++++ linux-2.4.22/drivers/usb/Config.in 2004-09-08 19:19:37.000000000 -0500
+@@ -120,6 +120,4 @@
+ fi
+ fi
+
+-source drivers/usb/gadget/Config.in
+-
+ endmenu
+--- linux-2.4.22/drivers/ixp400/Makefile~linksys_can_bite_me 2004-09-08 19:14:08.000000000 -0500
++++ linux-2.4.22/drivers/ixp400/Makefile 2004-09-08 19:32:55.000000000 -0500
+@@ -78,7 +78,9 @@
+ # DAMAGE."
+ #
+ # -- End Intel/GPL Copyright Notice --
++#
+
++ifdef CONFIG_IXP425_CSR
+ include $(ROOTDIR)/IXP400lib/ixp400_xscale_sw/buildUtils/environment.linux
+ # IX_XSCALE_SW=$(ROOTDIR)/IXP400lib/ixp400_xscale_sw/
+ # The kernel makefiles override the value of CFLAGS on the make
+@@ -148,6 +150,7 @@
+ # directory. Note that they must be filenames in this directory - the
+ # ramdisk rules cannot handle paths in this list.
+ obj-m := $(IXP400_MODULES)
++endif
+
+ # Include the generic kernel build system rules
+ include $(TOPDIR)/Rules.make
diff --git a/linux/nslu2-linksys-2.4.22/linux-2.4.24-attribute-used.patch b/linux/nslu2-linksys-2.4.22/linux-2.4.24-attribute-used.patch
index e69de29bb2..bcf1c10335 100644
--- a/linux/nslu2-linksys-2.4.22/linux-2.4.24-attribute-used.patch
+++ b/linux/nslu2-linksys-2.4.22/linux-2.4.24-attribute-used.patch
@@ -0,0 +1,140 @@
+diff -purN linux-2.4.24-uc0.orig/include/asm-arm/setup.h linux-2.4.24-uc0/include/asm-arm/setup.h
+--- linux-2.4.24-uc0.orig/include/asm-arm/setup.h 2003-08-25 04:44:43.000000000 -0700
++++ linux-2.4.24-uc0/include/asm-arm/setup.h 2004-09-09 04:36:03.000000000 -0700
+@@ -236,7 +236,7 @@ struct tagtable {
+ int (*parse)(const struct tag *);
+ };
+
+-#define __tag __attribute__((unused, __section__(".taglist")))
++#define __tag __attribute_used__ __attribute__((__section__(".taglist")))
+ #define __tagtable(tag, fn) \
+ static struct tagtable __tagtable_##fn __tag = { tag, fn }
+
+diff -purN linux-2.4.24-uc0.orig/include/linux/compiler.h linux-2.4.24-uc0/include/linux/compiler.h
+--- linux-2.4.24-uc0.orig/include/linux/compiler.h 2004-03-31 21:52:49.000000000 -0800
++++ linux-2.4.24-uc0/include/linux/compiler.h 2004-09-09 01:33:29.000000000 -0700
+@@ -13,4 +13,18 @@
+ #define likely(x) __builtin_expect((x),1)
+ #define unlikely(x) __builtin_expect((x),0)
+
++#if __GNUC__ > 3
++#define __attribute_used__ __attribute__((__used__))
++#elif __GNUC__ == 3
++#if __GNUC_MINOR__ >= 3
++# define __attribute_used__ __attribute__((__used__))
++#else
++# define __attribute_used__ __attribute__((__unused__))
++#endif /* __GNUC_MINOR__ >= 3 */
++#elif __GNUC__ == 2
++#define __attribute_used__ __attribute__((__unused__))
++#else
++#define __attribute_used__ /* not implemented */
++#endif /* __GNUC__ */
++
+ #endif /* __LINUX_COMPILER_H */
+diff -purN linux-2.4.24-uc0.orig/include/linux/init.h linux-2.4.24-uc0/include/linux/init.h
+--- linux-2.4.24-uc0.orig/include/linux/init.h 2004-03-31 21:52:50.000000000 -0800
++++ linux-2.4.24-uc0/include/linux/init.h 2004-09-09 01:38:11.000000000 -0700
+@@ -2,6 +2,7 @@
+ #define _LINUX_INIT_H
+
+ #include <linux/config.h>
++#include <linux/compiler.h>
+
+ /* These macros are used to mark some functions or
+ * initialized data (doesn't apply to uninitialized data)
+@@ -51,7 +52,7 @@ typedef void (*exitcall_t)(void);
+ extern initcall_t __initcall_start, __initcall_end;
+
+ #define __initcall(fn) \
+- static initcall_t __initcall_##fn __init_call = fn
++ static initcall_t __initcall_##fn __attribute_used__ __init_call = fn
+ #define __exitcall(fn) \
+ static exitcall_t __exitcall_##fn __exit_call = fn
+
+@@ -67,7 +68,7 @@ extern struct kernel_param __setup_start
+
+ #define __setup(str, fn) \
+ static char __setup_str_##fn[] __initdata = str; \
+- static struct kernel_param __setup_##fn __attribute__((unused)) __initsetup = { __setup_str_##fn, fn }
++ static struct kernel_param __setup_##fn __attribute_used__ __initsetup = { __setup_str_##fn, fn }
+
+ #endif /* __ASSEMBLY__ */
+
+@@ -77,16 +78,16 @@ extern struct kernel_param __setup_start
+ */
+ #ifndef NO_TEXT_SECTIONS
+ #define __init __attribute__ ((__section__ (".text.init")))
+-#define __exit __attribute__ ((unused, __section__(".text.exit")))
++#define __exit __attribute_used__ __attribute__ ((__section__(".text.exit")))
+ #else
+ #define __init
+-#define __exit __attribute__ ((unused))
++#define __exit __attribute_used__
+ #endif
+ #define __initdata __attribute__ ((__section__ (".data.init")))
+-#define __exitdata __attribute__ ((unused, __section__ (".data.exit")))
+-#define __initsetup __attribute__ ((unused,__section__ (".setup.init")))
+-#define __init_call __attribute__ ((unused,__section__ (".initcall.init")))
+-#define __exit_call __attribute__ ((unused,__section__ (".exitcall.exit")))
++#define __exitdata __attribute_used__ __attribute__ ((__section__ (".data.exit")))
++#define __initsetup __attribute_used__ __attribute__ ((__section__ (".setup.init")))
++#define __init_call __attribute_used__ __attribute__ ((__section__ (".initcall.init")))
++#define __exit_call __attribute_used__ __attribute__ ((__section__ (".exitcall.exit")))
+
+ /* For assembly routines */
+ #define __INIT .section ".text.init","ax"
+diff -purN linux-2.4.24-uc0.orig/include/linux/module.h linux-2.4.24-uc0/include/linux/module.h
+--- linux-2.4.24-uc0.orig/include/linux/module.h 2002-08-02 17:39:45.000000000 -0700
++++ linux-2.4.24-uc0/include/linux/module.h 2004-09-09 03:15:30.000000000 -0700
+@@ -8,6 +8,7 @@
+ #define _LINUX_MODULE_H
+
+ #include <linux/config.h>
++#include <linux/compiler.h>
+ #include <linux/spinlock.h>
+ #include <linux/list.h>
+
+@@ -254,9 +255,9 @@ __attribute__((section(".modinfo"))) =
+ */
+ #define MODULE_GENERIC_TABLE(gtype,name) \
+ static const unsigned long __module_##gtype##_size \
+- __attribute__ ((unused)) = sizeof(struct gtype##_id); \
++ __attribute_used__ = sizeof(struct gtype##_id); \
+ static const struct gtype##_id * __module_##gtype##_table \
+- __attribute__ ((unused)) = name
++ __attribute_used__ = name
+
+ /*
+ * The following license idents are currently accepted as indicating free
+@@ -284,7 +285,7 @@ static const struct gtype##_id * __modul
+ */
+
+ #define MODULE_LICENSE(license) \
+-static const char __module_license[] __attribute__((section(".modinfo"))) = \
++static const char __module_license[] __attribute_used__ __attribute__((section(".modinfo"))) = \
+ "license=" license
+
+ /* Define the module variable, and usage macros. */
+@@ -296,10 +297,10 @@ extern struct module __this_module;
+ #define MOD_IN_USE __MOD_IN_USE(THIS_MODULE)
+
+ #include <linux/version.h>
+-static const char __module_kernel_version[] __attribute__((section(".modinfo"))) =
++static const char __module_kernel_version[] __attribute_used__ __attribute__((section(".modinfo"))) =
+ "kernel_version=" UTS_RELEASE;
+ #ifdef MODVERSIONS
+-static const char __module_using_checksums[] __attribute__((section(".modinfo"))) =
++static const char __module_using_checksums[] __attribute_used__ __attribute__((section(".modinfo"))) =
+ "using_checksums=1";
+ #endif
+
+@@ -319,7 +320,7 @@ static const char __module_using_checksu
+ */
+ #define MODULE_GENERIC_TABLE(gtype,name) \
+ static const struct gtype##_id * __module_##gtype##_table \
+- __attribute__ ((unused, __section__(".data.exit"))) = name
++ __attribute_used__ __attribute__ ((__section__(".data.exit"))) = name
+
+ #ifndef __GENKSYMS__
+
diff --git a/linux/nslu2-linksys-2.4.22/nofpu.patch b/linux/nslu2-linksys-2.4.22/nofpu.patch
index e69de29bb2..c23eceb506 100644
--- a/linux/nslu2-linksys-2.4.22/nofpu.patch
+++ b/linux/nslu2-linksys-2.4.22/nofpu.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.22/arch/arm/Makefile~nofpu 2004-09-08 19:34:11.000000000 -0500
++++ linux-2.4.22/arch/arm/Makefile 2004-09-08 20:03:34.000000000 -0500
+@@ -76,7 +76,7 @@
+
+ CFLAGS_BOOT :=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
+ CFLAGS +=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
+-AFLAGS +=$(apcs-y) $(arch-y) -mno-fpu -msoft-float
++AFLAGS +=$(apcs-y) $(arch-y) -msoft-float
+
+ ifeq ($(CONFIG_CPU_26),y)
+ PROCESSOR := armo
+--- linux-2.4.22/-~nofpu
++++ linux-2.4.22/-
diff --git a/linux/nslu2-linksys-2.4.22/short_loadbytes.patch b/linux/nslu2-linksys-2.4.22/short_loadbytes.patch
index e69de29bb2..f0b514225c 100644
--- a/linux/nslu2-linksys-2.4.22/short_loadbytes.patch
+++ b/linux/nslu2-linksys-2.4.22/short_loadbytes.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.22/arch/arm/Makefile~short_loadbytes 2004-09-08 19:34:45.000000000 -0500
++++ linux-2.4.22/arch/arm/Makefile 2004-09-08 19:34:53.000000000 -0500
+@@ -74,8 +74,8 @@
+ tune-$(CONFIG_CPU_XSCALE) :=-mtune=strongarm
+ endif
+
+-CFLAGS_BOOT :=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
+-CFLAGS +=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
++CFLAGS_BOOT :=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
++CFLAGS +=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
+ AFLAGS +=$(apcs-y) $(arch-y) -msoft-float
+
+ ifeq ($(CONFIG_CPU_26),y)