aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m32r
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m32r')
-rw-r--r--arch/m32r/Kconfig1
-rw-r--r--arch/m32r/include/asm/Kbuild1
-rw-r--r--arch/m32r/include/asm/module.h10
-rw-r--r--arch/m32r/include/asm/thread_info.h9
-rw-r--r--arch/m32r/kernel/module.c15
-rw-r--r--arch/m32r/kernel/process.c4
-rw-r--r--arch/m32r/kernel/signal.c3
7 files changed, 6 insertions, 37 deletions
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig
index e875fc3ce9cb..f807721e19a5 100644
--- a/arch/m32r/Kconfig
+++ b/arch/m32r/Kconfig
@@ -14,6 +14,7 @@ config M32R
14 select GENERIC_IRQ_SHOW 14 select GENERIC_IRQ_SHOW
15 select GENERIC_ATOMIC64 15 select GENERIC_ATOMIC64
16 select ARCH_USES_GETTIMEOFFSET 16 select ARCH_USES_GETTIMEOFFSET
17 select MODULES_USE_ELF_RELA
17 18
18config SBUS 19config SBUS
19 bool 20 bool
diff --git a/arch/m32r/include/asm/Kbuild b/arch/m32r/include/asm/Kbuild
index fccd81eddff1..50bbf387b2f8 100644
--- a/arch/m32r/include/asm/Kbuild
+++ b/arch/m32r/include/asm/Kbuild
@@ -2,3 +2,4 @@ include include/asm-generic/Kbuild.asm
2 2
3generic-y += clkdev.h 3generic-y += clkdev.h
4generic-y += exec.h 4generic-y += exec.h
5generic-y += module.h
diff --git a/arch/m32r/include/asm/module.h b/arch/m32r/include/asm/module.h
deleted file mode 100644
index eb73ee011215..000000000000
--- a/arch/m32r/include/asm/module.h
+++ /dev/null
@@ -1,10 +0,0 @@
1#ifndef _ASM_M32R_MODULE_H
2#define _ASM_M32R_MODULE_H
3
4struct mod_arch_specific { };
5
6#define Elf_Shdr Elf32_Shdr
7#define Elf_Sym Elf32_Sym
8#define Elf_Ehdr Elf32_Ehdr
9
10#endif /* _ASM_M32R_MODULE_H */
diff --git a/arch/m32r/include/asm/thread_info.h b/arch/m32r/include/asm/thread_info.h
index c083f6073ef4..c074f4c2e858 100644
--- a/arch/m32r/include/asm/thread_info.h
+++ b/arch/m32r/include/asm/thread_info.h
@@ -119,25 +119,20 @@ static inline unsigned int get_thread_fault_code(void)
119#define TIF_SIGPENDING 1 /* signal pending */ 119#define TIF_SIGPENDING 1 /* signal pending */
120#define TIF_NEED_RESCHED 2 /* rescheduling necessary */ 120#define TIF_NEED_RESCHED 2 /* rescheduling necessary */
121#define TIF_SINGLESTEP 3 /* restore singlestep on return to user mode */ 121#define TIF_SINGLESTEP 3 /* restore singlestep on return to user mode */
122#define TIF_IRET 4 /* return with iret */
123#define TIF_NOTIFY_RESUME 5 /* callback before returning to user */ 122#define TIF_NOTIFY_RESUME 5 /* callback before returning to user */
124#define TIF_RESTORE_SIGMASK 8 /* restore signal mask in do_signal() */ 123#define TIF_RESTORE_SIGMASK 8 /* restore signal mask in do_signal() */
125#define TIF_USEDFPU 16 /* FPU was used by this task this quantum (SMP) */ 124#define TIF_USEDFPU 16 /* FPU was used by this task this quantum (SMP) */
126#define TIF_POLLING_NRFLAG 17 /* true if poll_idle() is polling TIF_NEED_RESCHED */
127#define TIF_MEMDIE 18 /* is terminating due to OOM killer */ 125#define TIF_MEMDIE 18 /* is terminating due to OOM killer */
128 126
129#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) 127#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE)
130#define _TIF_SIGPENDING (1<<TIF_SIGPENDING) 128#define _TIF_SIGPENDING (1<<TIF_SIGPENDING)
131#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED) 129#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED)
132#define _TIF_SINGLESTEP (1<<TIF_SINGLESTEP) 130#define _TIF_SINGLESTEP (1<<TIF_SINGLESTEP)
133#define _TIF_IRET (1<<TIF_IRET)
134#define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) 131#define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME)
135#define _TIF_RESTORE_SIGMASK (1<<TIF_RESTORE_SIGMASK)
136#define _TIF_USEDFPU (1<<TIF_USEDFPU) 132#define _TIF_USEDFPU (1<<TIF_USEDFPU)
137#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG)
138 133
139#define _TIF_WORK_MASK 0x0000FFFE /* work to do on interrupt/exception return */ 134#define _TIF_WORK_MASK (_TIF_SIGPENDING | _TIF_NEED_RESCHED | _TIF_NOTIFY_RESUME)
140#define _TIF_ALLWORK_MASK 0x0000FFFF /* work to do on any return to u-space */ 135#define _TIF_ALLWORK_MASK (_TIF_WORK_MASK | _TIF_SYSCALL_TRACE)
141 136
142/* 137/*
143 * Thread-synchronous status. 138 * Thread-synchronous status.
diff --git a/arch/m32r/kernel/module.c b/arch/m32r/kernel/module.c
index 3071fe83ffc8..38233b6596b6 100644
--- a/arch/m32r/kernel/module.c
+++ b/arch/m32r/kernel/module.c
@@ -201,18 +201,3 @@ int apply_relocate_add(Elf32_Shdr *sechdrs,
201 } 201 }
202 return 0; 202 return 0;
203} 203}
204
205int apply_relocate(Elf32_Shdr *sechdrs,
206 const char *strtab,
207 unsigned int symindex,
208 unsigned int relsec,
209 struct module *me)
210{
211#if 0
212 printk(KERN_ERR "module %s: REL RELOCATION unsupported\n",
213 me->name);
214 return -ENOEXEC;
215#endif
216 return 0;
217
218}
diff --git a/arch/m32r/kernel/process.c b/arch/m32r/kernel/process.c
index 384e63f3a4c4..e7366276ef30 100644
--- a/arch/m32r/kernel/process.c
+++ b/arch/m32r/kernel/process.c
@@ -296,14 +296,14 @@ asmlinkage int sys_execve(const char __user *ufilename,
296 unsigned long r6, struct pt_regs regs) 296 unsigned long r6, struct pt_regs regs)
297{ 297{
298 int error; 298 int error;
299 char *filename; 299 struct filename *filename;
300 300
301 filename = getname(ufilename); 301 filename = getname(ufilename);
302 error = PTR_ERR(filename); 302 error = PTR_ERR(filename);
303 if (IS_ERR(filename)) 303 if (IS_ERR(filename))
304 goto out; 304 goto out;
305 305
306 error = do_execve(filename, uargv, uenvp, &regs); 306 error = do_execve(filename->name, uargv, uenvp, &regs);
307 putname(filename); 307 putname(filename);
308out: 308out:
309 return error; 309 return error;
diff --git a/arch/m32r/kernel/signal.c b/arch/m32r/kernel/signal.c
index d0f60b97bbc5..6e3c26a1607c 100644
--- a/arch/m32r/kernel/signal.c
+++ b/arch/m32r/kernel/signal.c
@@ -20,7 +20,6 @@
20#include <linux/unistd.h> 20#include <linux/unistd.h>
21#include <linux/stddef.h> 21#include <linux/stddef.h>
22#include <linux/personality.h> 22#include <linux/personality.h>
23#include <linux/freezer.h>
24#include <linux/tracehook.h> 23#include <linux/tracehook.h>
25#include <asm/cacheflush.h> 24#include <asm/cacheflush.h>
26#include <asm/ucontext.h> 25#include <asm/ucontext.h>
@@ -366,6 +365,4 @@ void do_notify_resume(struct pt_regs *regs, __u32 thread_info_flags)
366 clear_thread_flag(TIF_NOTIFY_RESUME); 365 clear_thread_flag(TIF_NOTIFY_RESUME);
367 tracehook_notify_resume(regs); 366 tracehook_notify_resume(regs);
368 } 367 }
369
370 clear_thread_flag(TIF_IRET);
371} 368}