* linux-next: m86k/m68knommu tree build failure
@ 2009-09-10 5:11 Stephen Rothwell
2009-09-10 5:37 ` Greg Ungerer
0 siblings, 1 reply; 7+ messages in thread
From: Stephen Rothwell @ 2009-09-10 5:11 UTC (permalink / raw)
To: Geert Uytterhoeven, Greg Ungerer; +Cc: linux-next, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 729 bytes --]
Hi Geert, Greg,
Today's linux-next build (m68k defconfig) failed like this:
kernel/built-in.o: In function `ptrace_resume':
ptrace.c:(.text+0xc5d6): undefined reference to `user_disable_single_step'
ptrace.c:(.text+0xc5fe): undefined reference to `user_enable_single_step'
ptrace.c:(.text+0xc620): undefined reference to `user_disable_single_step'
Caused by commit 5db612ef70d24be12f6dbf5d06b23bcd6bc2fc05 ("m68knommu:
define arch_has_single_step() and friends"). This commit added
definitions of these functions for m68knommu, but added declarations (and
arch_has_single_step()) in a common header file.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: linux-next: m86k/m68knommu tree build failure 2009-09-10 5:11 linux-next: m86k/m68knommu tree build failure Stephen Rothwell @ 2009-09-10 5:37 ` Greg Ungerer 2009-09-10 8:04 ` Andreas Schwab 0 siblings, 1 reply; 7+ messages in thread From: Greg Ungerer @ 2009-09-10 5:37 UTC (permalink / raw) To: Stephen Rothwell; +Cc: Geert Uytterhoeven, linux-next, linux-kernel Hi Stephen, Stephen Rothwell wrote: > Today's linux-next build (m68k defconfig) failed like this: > > kernel/built-in.o: In function `ptrace_resume': > ptrace.c:(.text+0xc5d6): undefined reference to `user_disable_single_step' > ptrace.c:(.text+0xc5fe): undefined reference to `user_enable_single_step' > ptrace.c:(.text+0xc620): undefined reference to `user_disable_single_step' > > Caused by commit 5db612ef70d24be12f6dbf5d06b23bcd6bc2fc05 ("m68knommu: > define arch_has_single_step() and friends"). This commit added > definitions of these functions for m68knommu, but added declarations (and > arch_has_single_step()) in a common header file. Ah, yes, thanks. I'll fix that. I don't regularly build for m68k, so I missed that in my test builds. Regards Greg ------------------------------------------------------------------------ Greg Ungerer -- Principal Engineer EMAIL: gerg@snapgear.com SnapGear Group, McAfee PHONE: +61 7 3435 2888 825 Stanley St, FAX: +61 7 3891 3630 Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: linux-next: m86k/m68knommu tree build failure 2009-09-10 5:37 ` Greg Ungerer @ 2009-09-10 8:04 ` Andreas Schwab 2009-09-17 13:12 ` Christoph Hellwig ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Andreas Schwab @ 2009-09-10 8:04 UTC (permalink / raw) To: Greg Ungerer Cc: Stephen Rothwell, Geert Uytterhoeven, linux-next, linux-kernel Greg Ungerer <gerg@snapgear.com> writes: > Hi Stephen, > > Stephen Rothwell wrote: >> Today's linux-next build (m68k defconfig) failed like this: >> >> kernel/built-in.o: In function `ptrace_resume': >> ptrace.c:(.text+0xc5d6): undefined reference to `user_disable_single_step' >> ptrace.c:(.text+0xc5fe): undefined reference to `user_enable_single_step' >> ptrace.c:(.text+0xc620): undefined reference to `user_disable_single_step' >> >> Caused by commit 5db612ef70d24be12f6dbf5d06b23bcd6bc2fc05 ("m68knommu: >> define arch_has_single_step() and friends"). This commit added >> definitions of these functions for m68knommu, but added declarations (and >> arch_has_single_step()) in a common header file. > > Ah, yes, thanks. I'll fix that. I don't regularly build for m68k, > so I missed that in my test builds. An m68k implementation is here <http://permalink.gmane.org/gmane.linux.ports.m68k/721>. Andreas. -- Andreas Schwab, schwab@redhat.com GPG Key fingerprint = D4E8 DBE3 3813 BB5D FA84 5EC7 45C6 250E 6F00 984E "And now for something completely different." ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: linux-next: m86k/m68knommu tree build failure 2009-09-10 8:04 ` Andreas Schwab @ 2009-09-17 13:12 ` Christoph Hellwig 2009-09-18 6:09 ` Greg Ungerer 2009-10-01 6:37 ` Greg Ungerer 2 siblings, 0 replies; 7+ messages in thread From: Christoph Hellwig @ 2009-09-17 13:12 UTC (permalink / raw) To: Andreas Schwab Cc: Greg Ungerer, Stephen Rothwell, Geert Uytterhoeven, linux-next, linux-kernel On Thu, Sep 10, 2009 at 10:04:51AM +0200, Andreas Schwab wrote: > > Ah, yes, thanks. I'll fix that. I don't regularly build for m68k, > > so I missed that in my test builds. > > An m68k implementation is here > <http://permalink.gmane.org/gmane.linux.ports.m68k/721>. It would be great if the m68k maintainers could submit it for mainline. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: linux-next: m86k/m68knommu tree build failure 2009-09-10 8:04 ` Andreas Schwab 2009-09-17 13:12 ` Christoph Hellwig @ 2009-09-18 6:09 ` Greg Ungerer 2009-10-01 6:37 ` Greg Ungerer 2 siblings, 0 replies; 7+ messages in thread From: Greg Ungerer @ 2009-09-18 6:09 UTC (permalink / raw) To: Andreas Schwab Cc: Stephen Rothwell, Geert Uytterhoeven, linux-next, linux-kernel Hi Andreas, Andreas Schwab wrote: > Greg Ungerer <gerg@snapgear.com> writes: > >> Hi Stephen, >> >> Stephen Rothwell wrote: >>> Today's linux-next build (m68k defconfig) failed like this: >>> >>> kernel/built-in.o: In function `ptrace_resume': >>> ptrace.c:(.text+0xc5d6): undefined reference to `user_disable_single_step' >>> ptrace.c:(.text+0xc5fe): undefined reference to `user_enable_single_step' >>> ptrace.c:(.text+0xc620): undefined reference to `user_disable_single_step' >>> >>> Caused by commit 5db612ef70d24be12f6dbf5d06b23bcd6bc2fc05 ("m68knommu: >>> define arch_has_single_step() and friends"). This commit added >>> definitions of these functions for m68knommu, but added declarations (and >>> arch_has_single_step()) in a common header file. >> Ah, yes, thanks. I'll fix that. I don't regularly build for m68k, >> so I missed that in my test builds. > > An m68k implementation is here > <http://permalink.gmane.org/gmane.linux.ports.m68k/721>. Thanks for the pointer. I have something similar I have been working on for m68knommu. I'll follow up here with the new patches soon. Regards Greg ------------------------------------------------------------------------ Greg Ungerer -- Principal Engineer EMAIL: gerg@snapgear.com SnapGear Group, McAfee PHONE: +61 7 3435 2888 825 Stanley St, FAX: +61 7 3891 3630 Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: linux-next: m86k/m68knommu tree build failure 2009-09-10 8:04 ` Andreas Schwab 2009-09-17 13:12 ` Christoph Hellwig 2009-09-18 6:09 ` Greg Ungerer @ 2009-10-01 6:37 ` Greg Ungerer 2009-10-01 6:55 ` Greg Ungerer 2 siblings, 1 reply; 7+ messages in thread From: Greg Ungerer @ 2009-10-01 6:37 UTC (permalink / raw) To: Andreas Schwab Cc: Stephen Rothwell, Geert Uytterhoeven, linux-next, linux-kernel Hi Andreas, Andreas Schwab wrote: > Greg Ungerer <gerg@snapgear.com> writes: > >> Hi Stephen, >> >> Stephen Rothwell wrote: >>> Today's linux-next build (m68k defconfig) failed like this: >>> >>> kernel/built-in.o: In function `ptrace_resume': >>> ptrace.c:(.text+0xc5d6): undefined reference to `user_disable_single_step' >>> ptrace.c:(.text+0xc5fe): undefined reference to `user_enable_single_step' >>> ptrace.c:(.text+0xc620): undefined reference to `user_disable_single_step' >>> >>> Caused by commit 5db612ef70d24be12f6dbf5d06b23bcd6bc2fc05 ("m68knommu: >>> define arch_has_single_step() and friends"). This commit added >>> definitions of these functions for m68knommu, but added declarations (and >>> arch_has_single_step()) in a common header file. >> Ah, yes, thanks. I'll fix that. I don't regularly build for m68k, >> so I missed that in my test builds. > > An m68k implementation is here > <http://permalink.gmane.org/gmane.linux.ports.m68k/721>. I have 2 patches now for m68knommu (first is below, second following). If no complaints I'll add to the for-next branch of the m68knommu git tree. Regards Greg m68knommu: define arch_has_single_step() and friends Towards adding CONFIG_UTRACE support for non-mmu m68k add arch_has_single_step, and its support functions user_enable_single_step() and user_disable_single_step(). Signed-off-by: Greg Ungerer <gerg@uclinux.org> --- arch/m68k/include/asm/ptrace.h | 12 ++++++++++++ arch/m68knommu/kernel/ptrace.c | 18 +++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/arch/m68k/include/asm/ptrace.h b/arch/m68k/include/asm/ptrace.h index 8c9194b..beb2091 100644 --- a/arch/m68k/include/asm/ptrace.h +++ b/arch/m68k/include/asm/ptrace.h @@ -82,6 +82,18 @@ struct switch_stack { #define instruction_pointer(regs) ((regs)->pc) #define profile_pc(regs) instruction_pointer(regs) extern void show_regs(struct pt_regs *); + +/* + * These are defined as per linux/ptrace.h. + */ +struct task_struct; + +#ifndef CONFIG_MMU +#define arch_has_single_step() (1) +extern void user_enable_single_step(struct task_struct *); +extern void user_disable_single_step(struct task_struct *); +#endif + #endif /* __KERNEL__ */ #endif /* __ASSEMBLY__ */ #endif /* _M68K_PTRACE_H */ diff --git a/arch/m68knommu/kernel/ptrace.c b/arch/m68knommu/kernel/ptrace.c index ef70ca0..4d38289 100644 --- a/arch/m68knommu/kernel/ptrace.c +++ b/arch/m68knommu/kernel/ptrace.c @@ -86,6 +86,20 @@ static inline int put_reg(struct task_struct *task, int regno, return 0; } +void user_enable_single_step(struct task_struct *task) +{ + unsigned long srflags; + srflags = get_reg(task, PT_SR) | (TRACE_BITS << 16); + put_reg(task, PT_SR, srflags); +} + +void user_disable_single_step(struct task_struct *task) +{ + unsigned long srflags; + srflags = get_reg(task, PT_SR) & ~(TRACE_BITS << 16); + put_reg(task, PT_SR, srflags); +} + /* * Called by kernel/ptrace.c when detaching.. * @@ -93,10 +107,8 @@ static inline int put_reg(struct task_struct *task, int regno, */ void ptrace_disable(struct task_struct *child) { - unsigned long tmp; /* make sure the single step bit is not set. */ - tmp = get_reg(child, PT_SR) & ~(TRACE_BITS << 16); - put_reg(child, PT_SR, tmp); + user_disable_single_step(child); } long arch_ptrace(struct task_struct *child, long request, long addr, long data) ------------------------------------------------------------------------ Greg Ungerer -- Principal Engineer EMAIL: gerg@snapgear.com SnapGear Group, McAfee PHONE: +61 7 3435 2888 825 Stanley St, FAX: +61 7 3891 3630 Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: linux-next: m86k/m68knommu tree build failure 2009-10-01 6:37 ` Greg Ungerer @ 2009-10-01 6:55 ` Greg Ungerer 0 siblings, 0 replies; 7+ messages in thread From: Greg Ungerer @ 2009-10-01 6:55 UTC (permalink / raw) To: Andreas Schwab Cc: Stephen Rothwell, Geert Uytterhoeven, linux-next, linux-kernel Greg Ungerer wrote: > Hi Andreas, > > Andreas Schwab wrote: >> Greg Ungerer <gerg@snapgear.com> writes: >> >>> Hi Stephen, >>> >>> Stephen Rothwell wrote: >>>> Today's linux-next build (m68k defconfig) failed like this: >>>> >>>> kernel/built-in.o: In function `ptrace_resume': >>>> ptrace.c:(.text+0xc5d6): undefined reference to >>>> `user_disable_single_step' >>>> ptrace.c:(.text+0xc5fe): undefined reference to >>>> `user_enable_single_step' >>>> ptrace.c:(.text+0xc620): undefined reference to >>>> `user_disable_single_step' >>>> >>>> Caused by commit 5db612ef70d24be12f6dbf5d06b23bcd6bc2fc05 ("m68knommu: >>>> define arch_has_single_step() and friends"). This commit added >>>> definitions of these functions for m68knommu, but added declarations >>>> (and >>>> arch_has_single_step()) in a common header file. >>> Ah, yes, thanks. I'll fix that. I don't regularly build for m68k, >>> so I missed that in my test builds. >> >> An m68k implementation is here >> <http://permalink.gmane.org/gmane.linux.ports.m68k/721>. > > I have 2 patches now for m68knommu (first is below, second following). > If no complaints I'll add to the for-next branch of the m68knommu > git tree. Second patch: m68knommu: remove ptrace PEEK and POKE Remove the no longer needed ptrace PEEK and POKE ioctl support. Signed-off-by: Greg Ungerer <gerg@uclinux.org> --- arch/m68knommu/kernel/ptrace.c | 68 ---------------------------------------- 1 files changed, 0 insertions(+), 68 deletions(-) diff --git a/arch/m68knommu/kernel/ptrace.c b/arch/m68knommu/kernel/ptrace.c index 4d38289..5a37549 100644 --- a/arch/m68knommu/kernel/ptrace.c +++ b/arch/m68knommu/kernel/ptrace.c @@ -116,12 +116,6 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) int ret; switch (request) { - /* when I and D space are separate, these will need to be fixed. */ - case PTRACE_PEEKTEXT: /* read word at location addr. */ - case PTRACE_PEEKDATA: - ret = generic_ptrace_peekdata(child, addr, data); - break; - /* read the word at location addr in the USER area. */ case PTRACE_PEEKUSR: { unsigned long tmp; @@ -160,12 +154,6 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) break; } - /* when I and D space are separate, this will have to be fixed. */ - case PTRACE_POKETEXT: /* write the word at location addr. */ - case PTRACE_POKEDATA: - ret = generic_ptrace_pokedata(child, addr, data); - break; - case PTRACE_POKEUSR: /* write the word at location addr in the USER area */ ret = -EIO; if ((addr & 3) || addr < 0 || @@ -202,62 +190,6 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) } break; - case PTRACE_SYSCALL: /* continue and stop at next (return from) syscall */ - case PTRACE_CONT: { /* restart after signal. */ - long tmp; - - ret = -EIO; - if (!valid_signal(data)) - break; - if (request == PTRACE_SYSCALL) - set_tsk_thread_flag(child, TIF_SYSCALL_TRACE); - else - clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); - child->exit_code = data; - /* make sure the single step bit is not set. */ - tmp = get_reg(child, PT_SR) & ~(TRACE_BITS << 16); - put_reg(child, PT_SR, tmp); - wake_up_process(child); - ret = 0; - break; - } - - /* - * make the child exit. Best I can do is send it a sigkill. - * perhaps it should be put in the status that it wants to - * exit. - */ - case PTRACE_KILL: { - long tmp; - - ret = 0; - if (child->exit_state == EXIT_ZOMBIE) /* already dead */ - break; - child->exit_code = SIGKILL; - /* make sure the single step bit is not set. */ - tmp = get_reg(child, PT_SR) & ~(TRACE_BITS << 16); - put_reg(child, PT_SR, tmp); - wake_up_process(child); - break; - } - - case PTRACE_SINGLESTEP: { /* set the trap flag. */ - long tmp; - - ret = -EIO; - if (!valid_signal(data)) - break; - clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); - tmp = get_reg(child, PT_SR) | (TRACE_BITS << 16); - put_reg(child, PT_SR, tmp); - - child->exit_code = data; - /* give it a chance to run. */ - wake_up_process(child); - ret = 0; - break; - } - case PTRACE_DETACH: /* detach a process that was attached. */ ret = ptrace_detach(child, data); break; ------------------------------------------------------------------------ Greg Ungerer -- Principal Engineer EMAIL: gerg@snapgear.com SnapGear Group, McAfee PHONE: +61 7 3435 2888 825 Stanley St, FAX: +61 7 3891 3630 Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-10-01 6:56 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-09-10 5:11 linux-next: m86k/m68knommu tree build failure Stephen Rothwell 2009-09-10 5:37 ` Greg Ungerer 2009-09-10 8:04 ` Andreas Schwab 2009-09-17 13:12 ` Christoph Hellwig 2009-09-18 6:09 ` Greg Ungerer 2009-10-01 6:37 ` Greg Ungerer 2009-10-01 6:55 ` Greg Ungerer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).