summaryrefslogtreecommitdiffstats
path: root/target/linux/generic-2.4/patches/113-even_more_gcc4_stuff.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-06-26 20:42:18 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-06-26 20:42:18 +0000
commiteb81d2d1629a0ecc62066ca593d55e97485d1408 (patch)
tree9264d2b913f480a708714830608dc5615c016ecc /target/linux/generic-2.4/patches/113-even_more_gcc4_stuff.patch
parent4b7db99798885095b033f783fc43fd05f35ce99d (diff)
remove generic linux 2.4 support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21948 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic-2.4/patches/113-even_more_gcc4_stuff.patch')
-rw-r--r--target/linux/generic-2.4/patches/113-even_more_gcc4_stuff.patch359
1 files changed, 0 insertions, 359 deletions
diff --git a/target/linux/generic-2.4/patches/113-even_more_gcc4_stuff.patch b/target/linux/generic-2.4/patches/113-even_more_gcc4_stuff.patch
deleted file mode 100644
index 62a6e2191..000000000
--- a/target/linux/generic-2.4/patches/113-even_more_gcc4_stuff.patch
+++ /dev/null
@@ -1,359 +0,0 @@
---- a/arch/mips/kernel/mips_ksyms.c
-+++ b/arch/mips/kernel/mips_ksyms.c
-@@ -30,6 +30,10 @@
- #include <asm/floppy.h>
- #endif
-
-+asmlinkage long long __ashldi3 (long long, int);
-+asmlinkage long long __ashrdi3 (long long, int);
-+asmlinkage long long __lshrdi3 (long long, int);
-+asmlinkage long long __muldi3 (long long, long long);
- extern void *__bzero(void *__s, size_t __count);
- extern long __strncpy_from_user_nocheck_asm(char *__to,
- const char *__from, long __len);
-@@ -78,6 +82,13 @@ EXPORT_SYMBOL_NOVERS(__strnlen_user_noch
- EXPORT_SYMBOL_NOVERS(__strnlen_user_asm);
-
-
-+/* Compiler stuff */
-+EXPORT_SYMBOL_NOVERS(__ashldi3);
-+EXPORT_SYMBOL_NOVERS(__ashrdi3);
-+EXPORT_SYMBOL_NOVERS(__lshrdi3);
-+EXPORT_SYMBOL_NOVERS(__muldi3);
-+
-+
- /* Networking helper routines. */
- EXPORT_SYMBOL(csum_partial_copy);
-
---- a/arch/mips/lib/Makefile
-+++ b/arch/mips/lib/Makefile
-@@ -9,7 +9,8 @@ L_TARGET = lib.a
- obj-y += csum_partial.o csum_partial_copy.o \
- promlib.o rtc-std.o rtc-no.o memcpy.o \
- memset.o watch.o strlen_user.o \
-- strncpy_user.o strnlen_user.o
-+ strncpy_user.o strnlen_user.o \
-+ ashldi3.o ashrdi3.o lshrdi3.o muldi3.o
-
- export-objs := rtc-std.o rtc-no.o
-
---- /dev/null
-+++ b/arch/mips/lib/ashldi3.c
-@@ -0,0 +1,62 @@
-+/* ashrdi3.c extracted from gcc-2.95.2/libgcc2.c which is: */
-+/* Copyright (C) 1989, 92-98, 1999 Free Software Foundation, Inc.
-+
-+This file is part of GNU CC.
-+
-+GNU CC is free software; you can redistribute it and/or modify
-+it under the terms of the GNU General Public License as published by
-+the Free Software Foundation; either version 2, or (at your option)
-+any later version.
-+
-+GNU CC is distributed in the hope that it will be useful,
-+but WITHOUT ANY WARRANTY; without even the implied warranty of
-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+GNU General Public License for more details.
-+
-+You should have received a copy of the GNU General Public License
-+along with GNU CC; see the file COPYING. If not, write to
-+the Free Software Foundation, 59 Temple Place - Suite 330,
-+Boston, MA 02111-1307, USA. */
-+
-+#define BITS_PER_UNIT 8
-+
-+typedef int SItype __attribute__ ((mode (SI)));
-+typedef unsigned int USItype __attribute__ ((mode (SI)));
-+typedef int DItype __attribute__ ((mode (DI)));
-+typedef int word_type __attribute__ ((mode (__word__)));
-+
-+struct DIstruct {SItype high, low;};
-+
-+typedef union
-+{
-+ struct DIstruct s;
-+ DItype ll;
-+} DIunion;
-+
-+DItype
-+__ashldi3 (DItype u, word_type b)
-+{
-+ DIunion w;
-+ word_type bm;
-+ DIunion uu;
-+
-+ if (b == 0)
-+ return u;
-+
-+ uu.ll = u;
-+
-+ bm = (sizeof (SItype) * BITS_PER_UNIT) - b;
-+ if (bm <= 0)
-+ {
-+ w.s.low = 0;
-+ w.s.high = (USItype)uu.s.low << -bm;
-+ }
-+ else
-+ {
-+ USItype carries = (USItype)uu.s.low >> bm;
-+ w.s.low = (USItype)uu.s.low << b;
-+ w.s.high = ((USItype)uu.s.high << b) | carries;
-+ }
-+
-+ return w.ll;
-+}
---- /dev/null
-+++ b/arch/mips/lib/ashrdi3.c
-@@ -0,0 +1,63 @@
-+/* ashrdi3.c extracted from gcc-2.7.2/libgcc2.c which is: */
-+/* Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
-+
-+This file is part of GNU CC.
-+
-+GNU CC is free software; you can redistribute it and/or modify
-+it under the terms of the GNU General Public License as published by
-+the Free Software Foundation; either version 2, or (at your option)
-+any later version.
-+
-+GNU CC is distributed in the hope that it will be useful,
-+but WITHOUT ANY WARRANTY; without even the implied warranty of
-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+GNU General Public License for more details.
-+
-+You should have received a copy of the GNU General Public License
-+along with GNU CC; see the file COPYING. If not, write to
-+the Free Software Foundation, 59 Temple Place - Suite 330,
-+Boston, MA 02111-1307, USA. */
-+
-+#define BITS_PER_UNIT 8
-+
-+typedef int SItype __attribute__ ((mode (SI)));
-+typedef unsigned int USItype __attribute__ ((mode (SI)));
-+typedef int DItype __attribute__ ((mode (DI)));
-+typedef int word_type __attribute__ ((mode (__word__)));
-+
-+struct DIstruct {SItype high, low;};
-+
-+typedef union
-+{
-+ struct DIstruct s;
-+ DItype ll;
-+} DIunion;
-+
-+DItype
-+__ashrdi3 (DItype u, word_type b)
-+{
-+ DIunion w;
-+ word_type bm;
-+ DIunion uu;
-+
-+ if (b == 0)
-+ return u;
-+
-+ uu.ll = u;
-+
-+ bm = (sizeof (SItype) * BITS_PER_UNIT) - b;
-+ if (bm <= 0)
-+ {
-+ /* w.s.high = 1..1 or 0..0 */
-+ w.s.high = uu.s.high >> (sizeof (SItype) * BITS_PER_UNIT - 1);
-+ w.s.low = uu.s.high >> -bm;
-+ }
-+ else
-+ {
-+ USItype carries = (USItype)uu.s.high << bm;
-+ w.s.high = uu.s.high >> b;
-+ w.s.low = ((USItype)uu.s.low >> b) | carries;
-+ }
-+
-+ return w.ll;
-+}
---- /dev/null
-+++ b/arch/mips/lib/lshrdi3.c
-@@ -0,0 +1,62 @@
-+/* lshrdi3.c extracted from gcc-2.7.2/libgcc2.c which is: */
-+/* Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
-+
-+This file is part of GNU CC.
-+
-+GNU CC is free software; you can redistribute it and/or modify
-+it under the terms of the GNU General Public License as published by
-+the Free Software Foundation; either version 2, or (at your option)
-+any later version.
-+
-+GNU CC is distributed in the hope that it will be useful,
-+but WITHOUT ANY WARRANTY; without even the implied warranty of
-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+GNU General Public License for more details.
-+
-+You should have received a copy of the GNU General Public License
-+along with GNU CC; see the file COPYING. If not, write to
-+the Free Software Foundation, 59 Temple Place - Suite 330,
-+Boston, MA 02111-1307, USA. */
-+
-+#define BITS_PER_UNIT 8
-+
-+typedef int SItype __attribute__ ((mode (SI)));
-+typedef unsigned int USItype __attribute__ ((mode (SI)));
-+typedef int DItype __attribute__ ((mode (DI)));
-+typedef int word_type __attribute__ ((mode (__word__)));
-+
-+struct DIstruct {SItype high, low;};
-+
-+typedef union
-+{
-+ struct DIstruct s;
-+ DItype ll;
-+} DIunion;
-+
-+DItype
-+__lshrdi3 (DItype u, word_type b)
-+{
-+ DIunion w;
-+ word_type bm;
-+ DIunion uu;
-+
-+ if (b == 0)
-+ return u;
-+
-+ uu.ll = u;
-+
-+ bm = (sizeof (SItype) * BITS_PER_UNIT) - b;
-+ if (bm <= 0)
-+ {
-+ w.s.high = 0;
-+ w.s.low = (USItype)uu.s.high >> -bm;
-+ }
-+ else
-+ {
-+ USItype carries = (USItype)uu.s.high << bm;
-+ w.s.high = (USItype)uu.s.high >> b;
-+ w.s.low = ((USItype)uu.s.low >> b) | carries;
-+ }
-+
-+ return w.ll;
-+}
---- /dev/null
-+++ b/arch/mips/lib/muldi3.c
-@@ -0,0 +1,63 @@
-+/* muldi3.c extracted from gcc-2.7.2.3/libgcc2.c and
-+ gcc-2.7.2.3/longlong.h which is: */
-+/* Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
-+
-+This file is part of GNU CC.
-+
-+GNU CC is free software; you can redistribute it and/or modify
-+it under the terms of the GNU General Public License as published by
-+the Free Software Foundation; either version 2, or (at your option)
-+any later version.
-+
-+GNU CC is distributed in the hope that it will be useful,
-+but WITHOUT ANY WARRANTY; without even the implied warranty of
-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+GNU General Public License for more details.
-+
-+You should have received a copy of the GNU General Public License
-+along with GNU CC; see the file COPYING. If not, write to
-+the Free Software Foundation, 59 Temple Place - Suite 330,
-+Boston, MA 02111-1307, USA. */
-+
-+#define BITS_PER_UNIT 8
-+
-+#define umul_ppmm(w1, w0, u, v) \
-+ __asm__ ("multu %2,%3" \
-+ : "=l" ((USItype)(w0)), \
-+ "=h" ((USItype)(w1)) \
-+ : "d" ((USItype)(u)), \
-+ "d" ((USItype)(v)))
-+
-+#define __umulsidi3(u, v) \
-+ ({DIunion __w; \
-+ umul_ppmm (__w.s.high, __w.s.low, u, v); \
-+ __w.ll; })
-+
-+typedef int SItype __attribute__ ((mode (SI)));
-+typedef unsigned int USItype __attribute__ ((mode (SI)));
-+typedef int DItype __attribute__ ((mode (DI)));
-+typedef int word_type __attribute__ ((mode (__word__)));
-+
-+struct DIstruct {SItype high, low;};
-+
-+typedef union
-+{
-+ struct DIstruct s;
-+ DItype ll;
-+} DIunion;
-+
-+DItype
-+__muldi3 (DItype u, DItype v)
-+{
-+ DIunion w;
-+ DIunion uu, vv;
-+
-+ uu.ll = u,
-+ vv.ll = v;
-+
-+ w.ll = __umulsidi3 (uu.s.low, vv.s.low);
-+ w.s.high += ((USItype) uu.s.low * (USItype) vv.s.high
-+ + (USItype) uu.s.high * (USItype) vv.s.low);
-+
-+ return w.ll;
-+}
---- a/fs/cifs/cifsfs.c
-+++ b/fs/cifs/cifsfs.c
-@@ -50,8 +50,6 @@
- static struct quotactl_ops cifs_quotactl_ops;
- #endif
-
--extern struct file_system_type cifs_fs_type;
--
- int cifsFYI = 0;
- int cifsERROR = 1;
- int traceSMB = 0;
---- a/include/asm-mips/uaccess.h
-+++ b/include/asm-mips/uaccess.h
-@@ -149,7 +149,7 @@ static inline int verify_area(int type,
- * Returns zero on success, or -EFAULT on error.
- */
- #define put_user(x,ptr) \
-- __put_user_check((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr)))
-+ __put_user_check((x),(ptr),sizeof(*(ptr)))
-
- /*
- * get_user: - Get a simple variable from user space.
-@@ -169,7 +169,7 @@ static inline int verify_area(int type,
- * On error, the variable @x is set to zero.
- */
- #define get_user(x,ptr) \
-- __get_user_check((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr)))
-+ __get_user_check((x),(ptr),sizeof(*(ptr)))
-
- /*
- * __put_user: - Write a simple value into user space, with less checking.
-@@ -191,7 +191,7 @@ static inline int verify_area(int type,
- * Returns zero on success, or -EFAULT on error.
- */
- #define __put_user(x,ptr) \
-- __put_user_nocheck((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr)))
-+ __put_user_nocheck((x),(ptr),sizeof(*(ptr)))
-
- /*
- * __get_user: - Get a simple variable from user space, with less checking.
-@@ -214,7 +214,7 @@ static inline int verify_area(int type,
- * On error, the variable @x is set to zero.
- */
- #define __get_user(x,ptr) \
-- __get_user_nocheck((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr)))
-+ __get_user_nocheck((x),(ptr),sizeof(*(ptr)))
-
- struct __large_struct { unsigned long buf[100]; };
- #define __m(x) (*(struct __large_struct *)(x))
-@@ -232,7 +232,7 @@ struct __large_struct { unsigned long bu
- #define __get_user_nocheck(x,ptr,size) \
- ({ \
- long __gu_err = 0; \
-- __typeof(*(ptr)) __gu_val = 0; \
-+ __typeof(*(ptr)) __gu_val = (__typeof(*(ptr))) 0; \
- long __gu_addr; \
- __gu_addr = (long) (ptr); \
- switch (size) { \