提交 77c728c2 编写于 作者: R Ralf Baechle

Gcc 4.0 fixes.

Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
上级 5eaf7a21
...@@ -261,11 +261,12 @@ asmlinkage int sys32_sigaction(int sig, const struct sigaction32 *act, ...@@ -261,11 +261,12 @@ asmlinkage int sys32_sigaction(int sig, const struct sigaction32 *act,
if (act) { if (act) {
old_sigset_t mask; old_sigset_t mask;
s32 handler;
if (!access_ok(VERIFY_READ, act, sizeof(*act))) if (!access_ok(VERIFY_READ, act, sizeof(*act)))
return -EFAULT; return -EFAULT;
err |= __get_user((u32)(u64)new_ka.sa.sa_handler, err |= __get_user(handler, &act->sa_handler);
&act->sa_handler); new_ka.sa.sa_handler = (void*)(s64)handler;
err |= __get_user(new_ka.sa.sa_flags, &act->sa_flags); err |= __get_user(new_ka.sa.sa_flags, &act->sa_flags);
err |= __get_user(mask, &act->sa_mask.sig[0]); err |= __get_user(mask, &act->sa_mask.sig[0]);
if (err) if (err)
...@@ -826,12 +827,13 @@ asmlinkage int sys32_rt_sigaction(int sig, const struct sigaction32 *act, ...@@ -826,12 +827,13 @@ asmlinkage int sys32_rt_sigaction(int sig, const struct sigaction32 *act,
goto out; goto out;
if (act) { if (act) {
s32 handler;
int err = 0; int err = 0;
if (!access_ok(VERIFY_READ, act, sizeof(*act))) if (!access_ok(VERIFY_READ, act, sizeof(*act)))
return -EFAULT; return -EFAULT;
err |= __get_user((u32)(u64)new_sa.sa.sa_handler, err |= __get_user(handler, &act->sa_handler);
&act->sa_handler); new_sa.sa.sa_handler = (void*)(s64)handler;
err |= __get_user(new_sa.sa.sa_flags, &act->sa_flags); err |= __get_user(new_sa.sa.sa_flags, &act->sa_flags);
err |= get_sigset(&new_sa.sa.sa_mask, &act->sa_mask); err |= get_sigset(&new_sa.sa.sa_mask, &act->sa_mask);
if (err) if (err)
......
...@@ -235,7 +235,7 @@ static inline void __sb1_flush_icache_range(unsigned long start, ...@@ -235,7 +235,7 @@ static inline void __sb1_flush_icache_range(unsigned long start,
/* /*
* Invalidate all caches on this CPU * Invalidate all caches on this CPU
*/ */
static void local_sb1___flush_cache_all(void) static void __attribute_used__ local_sb1___flush_cache_all(void)
{ {
__sb1_writeback_inv_dcache_all(); __sb1_writeback_inv_dcache_all();
__sb1_flush_icache_all(); __sb1_flush_icache_all();
......
...@@ -52,7 +52,7 @@ struct __large_pstruct { unsigned long buf[100]; }; ...@@ -52,7 +52,7 @@ struct __large_pstruct { unsigned long buf[100]; };
}) })
#define __get_dbe_asm(insn) \ #define __get_dbe_asm(insn) \
({ \ { \
__asm__ __volatile__( \ __asm__ __volatile__( \
"1:\t" insn "\t%1,%2\n\t" \ "1:\t" insn "\t%1,%2\n\t" \
"move\t%0,$0\n" \ "move\t%0,$0\n" \
...@@ -67,7 +67,7 @@ struct __large_pstruct { unsigned long buf[100]; }; ...@@ -67,7 +67,7 @@ struct __large_pstruct { unsigned long buf[100]; };
".previous" \ ".previous" \
:"=r" (__gu_err), "=r" (__gu_val) \ :"=r" (__gu_err), "=r" (__gu_val) \
:"o" (__mp(__gu_addr)), "i" (-EFAULT)); \ :"o" (__mp(__gu_addr)), "i" (-EFAULT)); \
}) }
extern void __get_dbe_unknown(void); extern void __get_dbe_unknown(void);
...@@ -90,7 +90,7 @@ extern void __get_dbe_unknown(void); ...@@ -90,7 +90,7 @@ extern void __get_dbe_unknown(void);
}) })
#define __put_dbe_asm(insn) \ #define __put_dbe_asm(insn) \
({ \ { \
__asm__ __volatile__( \ __asm__ __volatile__( \
"1:\t" insn "\t%1,%2\n\t" \ "1:\t" insn "\t%1,%2\n\t" \
"move\t%0,$0\n" \ "move\t%0,$0\n" \
...@@ -104,7 +104,7 @@ extern void __get_dbe_unknown(void); ...@@ -104,7 +104,7 @@ extern void __get_dbe_unknown(void);
".previous" \ ".previous" \
: "=r" (__pu_err) \ : "=r" (__pu_err) \
: "r" (__pu_val), "o" (__mp(__pu_addr)), "i" (-EFAULT)); \ : "r" (__pu_val), "o" (__mp(__pu_addr)), "i" (-EFAULT)); \
}) }
extern void __put_dbe_unknown(void); extern void __put_dbe_unknown(void);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册