Skip to contentSkip to conversation

h8300: kernel: ptrace: remove redundancy default user_disable_single_step()

PATCH New Chen Gang 1 participant 4 messages Aug 29, 2013 ptrace support

lore
Share & tools
lore

Chen Gang

author
#0 lore raw

PATCH 1/1 h8300: kernel: ptrace: remove redundancy default user_disable_single_step()

For platform h8300h and h8s, user_disable_single_step() is already defined, it is conflict with the default one in h8300.

The public header already defined the default implementation, so in h8300, need not define the default one.

The related error (defconfig for h8300h):

LD vmlinux.o
arch/h8300/platform/h8300h/built-in.o: In function `user_disable_single_step':
arch/h8300/platform/h8300h/ptrace_h8300h.c:65: multiple definition of `user_disable_single_step'
arch/h8300/kernel/built-in.o: arch/h8300/kernel/ptrace.c:39: first defined here
/usr/local/bin/h8300-gchen-elf-ld: Warning: size of symbol `_user_disable_single_step' changed from 2 in arch/h8300/kernel/built-in.o to 30 in arch/h8300/platform/h8300h/built-in.o

---
 arch/h8300/include/asm/ptrace.h |    2 ++
 arch/h8300/kernel/ptrace.c      |    5 -----
 2 files changed, 2 insertions(+), 5 deletions(-)
arch/h8300/include/asm/ptrace.h +2 -0
index c1826b9..dd887e9 100644
@@ -20,7 +20,9 @@
 /* Find the stack offset for a register, relative to thread.esp0. */
 #define PT_REG(reg)	((long)&((struct pt_regs *)0)->reg)
 
+#if defined(__H8300H__) || defined(__H8300S__)
 #define arch_has_single_step()	(1)
+#endif
 
 #define user_mode(regs) (!((regs)->ccr & PS_S))
 #define instruction_pointer(regs) ((regs)->pc)
arch/h8300/kernel/ptrace.c +0 -5
index 748cf65..82ec3b6 100644
@@ -34,11 +34,6 @@
 extern long h8300_get_reg(struct task_struct *task, int regno);
 extern int  h8300_put_reg(struct task_struct *task, int regno, unsigned long data);
 
-
-void user_disable_single_step(struct task_struct *child)
-{
-}
-
 /*
  * does not yet catch signals sent when the child dies.
  * in exit.c or in signal.c.
Signature · 1 line
1.7.7.6
author
#1 lore raw

PATCH 1/1 arch/h8300/kernel/setup.c: implement default 'screen_info'

Need implement default 'screen_info' just like another architectures (tile, cris, score, sh), or can not pass compiling for defconfig:

The related error:

drivers/video/console/vgacon.c:820: undefined reference to screen_info' drivers/video/console/vgacon.c:840: undefined reference to screen_info'
drivers/built-in.o: In function `vgacon_init':
drivers/video/console/vgacon.c:589: undefined reference to `screen_info'
drivers/built-in.o: In function `vgacon_startup':
drivers/video/console/vgacon.c:375: undefined reference to screen_info' drivers/video/console/vgacon.c:387: undefined reference to screen_info' drivers/built-in.o:/root/linux-next/drivers/video/console/vgacon.c:388: more undefined references to `screen_info' follow

---
 arch/h8300/kernel/setup.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
arch/h8300/kernel/setup.c +5 -0
index d0b1607..488b94c 100644
@@ -31,6 +31,7 @@
 #include <linux/bootmem.h>
 #include <linux/seq_file.h>
 #include <linux/init.h>
+#include <linux/screen_info.h>
 
 #include <asm/setup.h>
 #include <asm/irq.h>
@@ -49,6 +50,10 @@
 
 #define STUBSIZE 0xc000
 
+#ifdef CONFIG_VT
+struct screen_info screen_info;
+#endif
+
 unsigned long rom_length;
 unsigned long memory_start;
 unsigned long memory_end;
Signature · 1 line
1.7.7.6
author
#2 lore raw

[Suggestion] h8300: built-in: about "can not find built-in.o" issue.

Hello Maintainers:

When build h8300h with defconfig, an 'built-in' issue occurs. I can add an dummy file and let "obj-y := dummy.o" to fix this issue, I am sure it is correct, but it seems not 'standard'.

So welcome any additional suggestions or completions, thanks.

The related information (with defconfig for h8300h):

/usr/local/bin/h8300-gchen-elf-ld -mh8300helf -r -o vmlinux.o arch/h8300/platform/h8300h/generic/crt0_ram.o init/built-in.o --start-group usr/built-in.o arch/h8300/kernel/built-in.o arch/h8300/mm/built-in.o arch/h8300/platform/h8300h/built-in.o arch/h8300/platform/h8300h/generic/built-in.o kernel/built-in.o mm/built-in.o fs/built-in.o ipc/built-in.o security/built-in.o crypto/built-in.o block/built-in.o lib/lib.a arch/h8300/lib/lib.a /usr/local/lib/gcc/h8300-gchen-elf/4.7.4/h8300h/int32/libgcc.a lib/built-in.o arch/h8300/lib/built-in.o /usr/local/lib/gcc/h8300-gchen-elf/4.7.4/h8300h/int32/libgcc.a drivers/built-in.o sound/built-in.o firmware/built-in.o net/built-in.o --end-group /usr/local/bin/h8300-gchen-elf-ld: cannot find arch/h8300/platform/h8300h/generic/built-in.o: No such file or directory
make: *** [vmlinux] Error 1

Thanks.
--
Chen Gang.

author
#3 lore raw

Re: [Suggestion] h8300: built-in: about "can not find built-in.o" issue.

After the recent several issue fix patches (include this suggestion), The h8300h with defconfig can pass building completely.

And next, I will try to build allmodconfig (finish before 2013-08-31).

Thanks.

Quoted 19 lines · Chen Gang

Hello Maintainers:

When build h8300h with defconfig, an 'built-in' issue occurs. I can add an dummy file and let "obj-y := dummy.o" to fix this issue, I am sure it is correct, but it seems not 'standard'.

So welcome any additional suggestions or completions, thanks.

The related information (with defconfig for h8300h):

/usr/local/bin/h8300-gchen-elf-ld -mh8300helf -r -o vmlinux.o arch/h8300/platform/h8300h/generic/crt0_ram.o init/built-in.o --start-group usr/built-in.o arch/h8300/kernel/built-in.o arch/h8300/mm/built-in.o arch/h8300/platform/h8300h/built-in.o arch/h8300/platform/h8300h/generic/built-in.o kernel/built-in.o mm/built-in.o fs/built-in.o ipc/built-in.o security/built-in.o crypto/built-in.o block/built-in.o lib/lib.a arch/h8300/lib/lib.a /usr/local/lib/gcc/h8300-gchen-elf/4.7.4/h8300h/int32/libgcc.a lib/built-in.o arch/h8300/lib/built-in.o /usr/local/lib/gcc/h8300-gchen-elf/4.7.4/h8300h/int32/libgcc.a drivers/built-in.o sound/built-in.o firmware/built-in.o net/built-in.o --end-group /usr/local/bin/h8300-gchen-elf-ld: cannot find arch/h8300/platform/h8300h/generic/built-in.o: No such file or directory
make: *** [vmlinux] Error 1

Thanks.
--
Chen Gang.

Signature · 1 line
Chen Gang