mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-29 00:02:48 +02:00
GCC 3.4 fix. This doesn't fix the oops, yet.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@520 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
70c28efe71
commit
bae2f67e64
214
openwrt/package/linux/kernel-patches/307-gcc-3.4-fix.patch
Normal file
214
openwrt/package/linux/kernel-patches/307-gcc-3.4-fix.patch
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
diff -Nur linux-2.4.29/arch/mips/kernel/signal.c linux-2.4.29-gcc3.4/arch/mips/kernel/signal.c
|
||||||
|
--- linux-2.4.29/arch/mips/kernel/signal.c 2005-01-19 15:09:29.000000000 +0100
|
||||||
|
+++ linux-2.4.29-gcc3.4/arch/mips/kernel/signal.c 2005-03-27 23:09:57.000000000 +0200
|
||||||
|
@@ -6,8 +6,10 @@
|
||||||
|
* Copyright (C) 1991, 1992 Linus Torvalds
|
||||||
|
* Copyright (C) 1994 - 1999 Ralf Baechle
|
||||||
|
* Copyright (C) 1999 Silicon Graphics, Inc.
|
||||||
|
+ * Copyright (C) 2004 Maciej W. Rozycki
|
||||||
|
*/
|
||||||
|
#include <linux/config.h>
|
||||||
|
+#include <linux/compiler.h>
|
||||||
|
#include <linux/sched.h>
|
||||||
|
#include <linux/mm.h>
|
||||||
|
#include <linux/smp.h>
|
||||||
|
@@ -76,7 +78,9 @@
|
||||||
|
* Atomically swap in the new signal mask, and wait for a signal.
|
||||||
|
*/
|
||||||
|
save_static_function(sys_sigsuspend);
|
||||||
|
-static_unused int _sys_sigsuspend(struct pt_regs regs)
|
||||||
|
+static int _sys_sigsuspend(struct pt_regs regs)
|
||||||
|
+ __asm__("_sys_sigsuspend") __attribute_used__;
|
||||||
|
+static int _sys_sigsuspend(struct pt_regs regs)
|
||||||
|
{
|
||||||
|
sigset_t *uset, saveset, newset;
|
||||||
|
|
||||||
|
@@ -102,7 +106,9 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
save_static_function(sys_rt_sigsuspend);
|
||||||
|
-static_unused int _sys_rt_sigsuspend(struct pt_regs regs)
|
||||||
|
+static int _sys_rt_sigsuspend(struct pt_regs regs)
|
||||||
|
+ __asm__("_sys_rt_sigsuspend") __attribute_used__;
|
||||||
|
+static int _sys_rt_sigsuspend(struct pt_regs regs)
|
||||||
|
{
|
||||||
|
sigset_t *unewset, saveset, newset;
|
||||||
|
size_t sigsetsize;
|
||||||
|
diff -Nur linux-2.4.29/arch/mips/kernel/syscall.c linux-2.4.29-gcc3.4/arch/mips/kernel/syscall.c
|
||||||
|
--- linux-2.4.29/arch/mips/kernel/syscall.c 2005-01-19 15:09:29.000000000 +0100
|
||||||
|
+++ linux-2.4.29-gcc3.4/arch/mips/kernel/syscall.c 2005-03-27 23:09:57.000000000 +0200
|
||||||
|
@@ -5,6 +5,7 @@
|
||||||
|
*
|
||||||
|
* Copyright (C) 1995 - 2000 by Ralf Baechle
|
||||||
|
* Copyright (C) 2000 Silicon Graphics, Inc.
|
||||||
|
+ * Copyright (C) 2004 Maciej W. Rozycki
|
||||||
|
*
|
||||||
|
* TODO: Implement the compatibility syscalls.
|
||||||
|
* Don't waste that much memory for empty entries in the syscall
|
||||||
|
@@ -158,7 +159,9 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
save_static_function(sys_fork);
|
||||||
|
-static_unused int _sys_fork(struct pt_regs regs)
|
||||||
|
+static int _sys_fork(struct pt_regs regs)
|
||||||
|
+ __asm__("_sys_fork") __attribute_used__;
|
||||||
|
+static int _sys_fork(struct pt_regs regs)
|
||||||
|
{
|
||||||
|
int res;
|
||||||
|
|
||||||
|
@@ -168,7 +171,9 @@
|
||||||
|
|
||||||
|
|
||||||
|
save_static_function(sys_clone);
|
||||||
|
-static_unused int _sys_clone(struct pt_regs regs)
|
||||||
|
+static int _sys_clone(struct pt_regs regs)
|
||||||
|
+ __asm__("_sys_clone") __attribute_used__;
|
||||||
|
+static int _sys_clone(struct pt_regs regs)
|
||||||
|
{
|
||||||
|
unsigned long clone_flags;
|
||||||
|
unsigned long newsp;
|
||||||
|
diff -Nur linux-2.4.29/arch/mips64/kernel/signal.c linux-2.4.29-gcc3.4/arch/mips64/kernel/signal.c
|
||||||
|
--- linux-2.4.29/arch/mips64/kernel/signal.c 2005-01-19 15:09:32.000000000 +0100
|
||||||
|
+++ linux-2.4.29-gcc3.4/arch/mips64/kernel/signal.c 2005-03-27 23:09:57.000000000 +0200
|
||||||
|
@@ -6,8 +6,10 @@
|
||||||
|
* Copyright (C) 1991, 1992 Linus Torvalds
|
||||||
|
* Copyright (C) 1994 - 2000 Ralf Baechle
|
||||||
|
* Copyright (C) 1999, 2000 Silicon Graphics, Inc.
|
||||||
|
+ * Copyright (C) 2004 Maciej W. Rozycki
|
||||||
|
*/
|
||||||
|
#include <linux/config.h>
|
||||||
|
+#include <linux/compiler.h>
|
||||||
|
#include <linux/sched.h>
|
||||||
|
#include <linux/mm.h>
|
||||||
|
#include <linux/smp.h>
|
||||||
|
@@ -75,7 +77,9 @@
|
||||||
|
* Atomically swap in the new signal mask, and wait for a signal.
|
||||||
|
*/
|
||||||
|
save_static_function(sys_rt_sigsuspend);
|
||||||
|
-static_unused int _sys_rt_sigsuspend(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
+static int _sys_rt_sigsuspend(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
+ __asm__("_sys_rt_sigsuspend") __attribute_used__;
|
||||||
|
+static int _sys_rt_sigsuspend(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
{
|
||||||
|
sigset_t *unewset, saveset, newset;
|
||||||
|
size_t sigsetsize;
|
||||||
|
diff -Nur linux-2.4.29/arch/mips64/kernel/signal32.c linux-2.4.29-gcc3.4/arch/mips64/kernel/signal32.c
|
||||||
|
--- linux-2.4.29/arch/mips64/kernel/signal32.c 2005-01-19 15:09:33.000000000 +0100
|
||||||
|
+++ linux-2.4.29-gcc3.4/arch/mips64/kernel/signal32.c 2005-03-27 23:09:57.000000000 +0200
|
||||||
|
@@ -6,7 +6,9 @@
|
||||||
|
* Copyright (C) 1991, 1992 Linus Torvalds
|
||||||
|
* Copyright (C) 1994 - 2000 Ralf Baechle
|
||||||
|
* Copyright (C) 1999, 2000 Silicon Graphics, Inc.
|
||||||
|
+ * Copyright (C) 2004 Maciej W. Rozycki
|
||||||
|
*/
|
||||||
|
+#include <linux/compiler.h>
|
||||||
|
#include <linux/sched.h>
|
||||||
|
#include <linux/mm.h>
|
||||||
|
#include <linux/smp.h>
|
||||||
|
@@ -192,7 +194,9 @@
|
||||||
|
* Atomically swap in the new signal mask, and wait for a signal.
|
||||||
|
*/
|
||||||
|
save_static_function(sys32_sigsuspend);
|
||||||
|
-static_unused int _sys32_sigsuspend(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
+static int _sys32_sigsuspend(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
+ __asm__("_sys32_sigsuspend") __attribute_used__;
|
||||||
|
+static int _sys32_sigsuspend(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
{
|
||||||
|
sigset32_t *uset;
|
||||||
|
sigset_t newset, saveset;
|
||||||
|
@@ -219,7 +223,9 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
save_static_function(sys32_rt_sigsuspend);
|
||||||
|
-static_unused int _sys32_rt_sigsuspend(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
+static int _sys32_rt_sigsuspend(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
+ __asm__("_sys32_rt_sigsuspend") __attribute_used__;
|
||||||
|
+static int _sys32_rt_sigsuspend(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
{
|
||||||
|
sigset32_t *uset;
|
||||||
|
sigset_t newset, saveset;
|
||||||
|
diff -Nur linux-2.4.29/arch/mips64/kernel/syscall.c linux-2.4.29-gcc3.4/arch/mips64/kernel/syscall.c
|
||||||
|
--- linux-2.4.29/arch/mips64/kernel/syscall.c 2005-01-19 15:09:33.000000000 +0100
|
||||||
|
+++ linux-2.4.29-gcc3.4/arch/mips64/kernel/syscall.c 2005-03-27 23:09:57.000000000 +0200
|
||||||
|
@@ -6,7 +6,9 @@
|
||||||
|
* Copyright (C) 1995 - 2000, 2001 by Ralf Baechle
|
||||||
|
* Copyright (C) 1999, 2000 Silicon Graphics, Inc.
|
||||||
|
* Copyright (C) 2001 MIPS Technologies, Inc.
|
||||||
|
+ * Copyright (C) 2004 Maciej W. Rozycki
|
||||||
|
*/
|
||||||
|
+#include <linux/compiler.h>
|
||||||
|
#include <linux/errno.h>
|
||||||
|
#include <linux/linkage.h>
|
||||||
|
#include <linux/mm.h>
|
||||||
|
@@ -151,7 +153,9 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
save_static_function(sys_fork);
|
||||||
|
-static_unused int _sys_fork(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
+static int _sys_fork(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
+ __asm__("_sys_fork") __attribute_used__;
|
||||||
|
+static int _sys_fork(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
{
|
||||||
|
int res;
|
||||||
|
|
||||||
|
@@ -160,7 +164,9 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
save_static_function(sys_clone);
|
||||||
|
-static_unused int _sys_clone(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
+static int _sys_clone(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
+ __asm__("_sys_clone") __attribute_used__;
|
||||||
|
+static int _sys_clone(abi64_no_regargs, struct pt_regs regs)
|
||||||
|
{
|
||||||
|
unsigned long clone_flags;
|
||||||
|
unsigned long newsp;
|
||||||
|
diff -Nur linux-2.4.29/include/asm-mips/ptrace.h linux-2.4.29-gcc3.4/include/asm-mips/ptrace.h
|
||||||
|
--- linux-2.4.29/include/asm-mips/ptrace.h 2004-02-18 14:36:32.000000000 +0100
|
||||||
|
+++ linux-2.4.29-gcc3.4/include/asm-mips/ptrace.h 2005-03-27 23:09:57.000000000 +0200
|
||||||
|
@@ -4,6 +4,7 @@
|
||||||
|
* for more details.
|
||||||
|
*
|
||||||
|
* Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000 by Ralf Baechle
|
||||||
|
+ * Copyright (C) 2004 Maciej W. Rozycki
|
||||||
|
*
|
||||||
|
* Machine dependent structs and defines to help the user use
|
||||||
|
* the ptrace system call.
|
||||||
|
@@ -64,12 +65,10 @@
|
||||||
|
"sw\t$22,"__str(PT_R22)"($29)\n\t" \
|
||||||
|
"sw\t$23,"__str(PT_R23)"($29)\n\t" \
|
||||||
|
"sw\t$30,"__str(PT_R30)"($29)\n\t" \
|
||||||
|
+ "j\t_" #symbol "\n\t" \
|
||||||
|
".end\t" #symbol "\n\t" \
|
||||||
|
".size\t" #symbol",. - " #symbol)
|
||||||
|
|
||||||
|
-/* Used in declaration of save_static functions. */
|
||||||
|
-#define static_unused static __attribute__((unused))
|
||||||
|
-
|
||||||
|
#endif /* !__ASSEMBLY__ */
|
||||||
|
|
||||||
|
/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
|
||||||
|
diff -Nur linux-2.4.29/include/asm-mips64/ptrace.h linux-2.4.29-gcc3.4/include/asm-mips64/ptrace.h
|
||||||
|
--- linux-2.4.29/include/asm-mips64/ptrace.h 2004-02-18 14:36:32.000000000 +0100
|
||||||
|
+++ linux-2.4.29-gcc3.4/include/asm-mips64/ptrace.h 2005-03-27 23:09:57.000000000 +0200
|
||||||
|
@@ -5,6 +5,7 @@
|
||||||
|
*
|
||||||
|
* Copyright (C) 1994, 95, 96, 97, 98, 99, 2000 by Ralf Baechle
|
||||||
|
* Copyright (C) 1999, 2000 Silicon Graphics, Inc.
|
||||||
|
+ * Copyright (C) 2004 Maciej W. Rozycki
|
||||||
|
*/
|
||||||
|
#ifndef _ASM_PTRACE_H
|
||||||
|
#define _ASM_PTRACE_H
|
||||||
|
@@ -61,12 +62,10 @@
|
||||||
|
"sd\t$22,"__str(PT_R22)"($29)\n\t" \
|
||||||
|
"sd\t$23,"__str(PT_R23)"($29)\n\t" \
|
||||||
|
"sd\t$30,"__str(PT_R30)"($29)\n\t" \
|
||||||
|
+ "j\t_" #symbol "\n\t" \
|
||||||
|
".end\t" #symbol "\n\t" \
|
||||||
|
".size\t" #symbol",. - " #symbol)
|
||||||
|
|
||||||
|
-/* Used in declaration of save_static functions. */
|
||||||
|
-#define static_unused static __attribute__((unused))
|
||||||
|
-
|
||||||
|
#define abi64_no_regargs \
|
||||||
|
unsigned long __dummy0, \
|
||||||
|
unsigned long __dummy1, \
|
Loading…
Reference in New Issue
Block a user