All of lore.kernel.org
 help / color / mirror / Atom feed
* 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.