Re: [uClinux-dev] [PATCH] m68knommu : Fix strace support for 68328/68360
Hi Philippe, Philippe De Muyter wrote: m68knommu : Fix strace support for 68328/68360 strace enabled is marked using the `flags' field of the `thread_info' struct. 68360 version of entry.S did test a wrong bit in a wrong structure (task_struct). 68328 version of entry.S did test the right bit in the right structure, but wrongly, because the `flags' field is 32 bit wide, while the used assembler insn (btst) only accesses a 8 bit byte in memory. Fix both using code already used in the coldfire version of entry.S Signed-off-by: Philippe De Muyter Thanks. I add that to the m68knommu git tree. Regards Greg --- diff --git a/arch/m68knommu/platform/68328/entry.S b/arch/m68knommu/platform/68328/entry.S index 9d80d2c..74229f7 100644 --- a/arch/m68knommu/platform/68328/entry.S +++ b/arch/m68knommu/platform/68328/entry.S @@ -80,7 +80,7 @@ ENTRY(system_call) movel %sp,%d1 /* get thread_info pointer */ andl#-THREAD_SIZE,%d1 movel %d1,%a2 - btst#TIF_SYSCALL_TRACE,%a2@(TI_FLAGS) + btst#(TIF_SYSCALL_TRACE%8),%a2@(TI_FLAGS+(31-TIF_SYSCALL_TRACE)/8) jne do_trace cmpl#NR_syscalls,%d0 jcc badsys diff --git a/arch/m68knommu/platform/68360/entry.S b/arch/m68knommu/platform/68360/entry.S index 6d3460a..d5ad408 100644 --- a/arch/m68knommu/platform/68360/entry.S +++ b/arch/m68knommu/platform/68360/entry.S @@ -71,7 +71,12 @@ ENTRY(system_call) jbsrset_esp0 addql #4,%sp - btst #PF_TRACESYS_BIT,%a2@(TASK_FLAGS+PF_TRACESYS_OFF) + movel %sp@(PT_OFF_ORIG_D0),%d0 + + movel %sp,%d1 /* get thread_info pointer */ + andl#-THREAD_SIZE,%d1 + movel %d1,%a2 + btst#(TIF_SYSCALL_TRACE%8),%a2@(TI_FLAGS+(31-TIF_SYSCALL_TRACE)/8) jne do_trace cmpl#NR_syscalls,%d0 jcc badsys -- Greg Ungerer -- Principal EngineerEMAIL: g...@snapgear.com SnapGear Group, McAfee PHONE: +61 7 3435 2888 8 Gardner Close FAX: +61 7 3217 5323 Milton, QLD, 4064, AustraliaWEB: http://www.SnapGear.com ___ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev
[uClinux-dev] [PATCH] m68knommu : Fix strace support for 68328/68360
m68knommu : Fix strace support for 68328/68360 strace enabled is marked using the `flags' field of the `thread_info' struct. 68360 version of entry.S did test a wrong bit in a wrong structure (task_struct). 68328 version of entry.S did test the right bit in the right structure, but wrongly, because the `flags' field is 32 bit wide, while the used assembler insn (btst) only accesses a 8 bit byte in memory. Fix both using code already used in the coldfire version of entry.S Signed-off-by: Philippe De Muyter --- diff --git a/arch/m68knommu/platform/68328/entry.S b/arch/m68knommu/platform/68328/entry.S index 9d80d2c..74229f7 100644 --- a/arch/m68knommu/platform/68328/entry.S +++ b/arch/m68knommu/platform/68328/entry.S @@ -80,7 +80,7 @@ ENTRY(system_call) movel %sp,%d1 /* get thread_info pointer */ andl#-THREAD_SIZE,%d1 movel %d1,%a2 - btst#TIF_SYSCALL_TRACE,%a2@(TI_FLAGS) + btst#(TIF_SYSCALL_TRACE%8),%a2@(TI_FLAGS+(31-TIF_SYSCALL_TRACE)/8) jne do_trace cmpl#NR_syscalls,%d0 jcc badsys diff --git a/arch/m68knommu/platform/68360/entry.S b/arch/m68knommu/platform/68360/entry.S index 6d3460a..d5ad408 100644 --- a/arch/m68knommu/platform/68360/entry.S +++ b/arch/m68knommu/platform/68360/entry.S @@ -71,7 +71,12 @@ ENTRY(system_call) jbsrset_esp0 addql #4,%sp - btst#PF_TRACESYS_BIT,%a2@(TASK_FLAGS+PF_TRACESYS_OFF) + movel %sp@(PT_OFF_ORIG_D0),%d0 + + movel %sp,%d1 /* get thread_info pointer */ + andl#-THREAD_SIZE,%d1 + movel %d1,%a2 + btst#(TIF_SYSCALL_TRACE%8),%a2@(TI_FLAGS+(31-TIF_SYSCALL_TRACE)/8) jne do_trace cmpl#NR_syscalls,%d0 jcc badsys -- Philippe De Muyter phdm at macqel dot be Tel +32 27029044 Macq Electronique SA rue de l'Aeronef 2 B-1140 Bruxelles Fax +32 27029077 ___ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev
Re: [uClinux-dev] [PATCH] m68knommu : Fix strace support for 68328/68360
On Tue, Aug 17, 2010 at 17:39, Philippe De Muyter wrote: > On Tue, Aug 17, 2010 at 11:14:32AM -0400, Mike Frysinger wrote: >> >> unless i'm missing something, you're only changing whitespace here. > > That's true, > >> and these account for more than half the patch. please keep >> whitespace changes separate from real changes. > > but that makes comparing the resulting files 68328/entry.S and 68360/entry.S > easier. Hence please create two patches: - The first one to fix up the whitespace, - The second one to fix the bugs. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ___ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev
Re: [uClinux-dev] [PATCH] m68knommu : Fix strace support for 68328/68360
On Tue, Aug 17, 2010 at 11:14:32AM -0400, Mike Frysinger wrote: > > unless i'm missing something, you're only changing whitespace here. That's true, > and these account for more than half the patch. please keep > whitespace changes separate from real changes. but that makes comparing the resulting files 68328/entry.S and 68360/entry.S easier. Philippe -- Philippe De Muyter phdm at macqel dot be Tel +32 27029044 Macq Electronique SA rue de l'Aeronef 2 B-1140 Bruxelles Fax +32 27029077 ___ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev
Re: [uClinux-dev] [PATCH] m68knommu : Fix strace support for 68328/68360
On Tue, Aug 17, 2010 at 11:11 AM, Philippe De Muyter wrote: > do_trace: > - movel #-ENOSYS,%sp@(PT_OFF_D0) /* needed for strace*/ > + movel #-ENOSYS,%sp@(PT_OFF_D0) /* needed for strace*/ > subql #4,%sp > > -1: movel %d0,%sp@(PT_OFF_D0) /* save the return value */ > +1: movel %d0,%sp@(PT_OFF_D0) /* save the return value */ > subql #4,%sp /* dummy return address */ > /* save top of frame*/ > - pea %sp@ > - jbsr set_esp0 > - addql #4,%sp > + pea %sp@ > + jbsr set_esp0 > + addql #4,%sp >jbsr%a0@ > - movel %d0,%sp@(PT_OFF_D0) /* save the return value*/ > + movel %d0,%sp@(PT_OFF_D0) /* save the return value*/ > > ret_from_exception: > - btst#5,%sp@(PT_OFF_SR) /* check if returning to > kernel*/ > + btst#5,%sp@(PT_OFF_SR) /* check if returning to kernel*/ >jeq Luser_return/* if so, skip resched, signals*/ unless i'm missing something, you're only changing whitespace here. and these account for more than half the patch. please keep whitespace changes separate from real changes. -mike ___ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev
[uClinux-dev] [PATCH] m68knommu : Fix strace support for 68328/68360
strace is enabled using the `flags' field of the `thread_info' struct. 68360 version of entry.S did test a wrong bit in a wrong structure (task_struct). 68328 version of entry.S did test the right bit in the right structure, but wrongly, because the `flags' field is 32 bit wide, while the used assembler insn (btst) only accesses a 8 bit byte in memory. Fix both using code already used in the coldfire version of entry.S Also fix some spaces/tabs issues. Signed-off-by: Philippe De Muyter --- arch/m68knommu/platform/68328/entry.S | 16 arch/m68knommu/platform/68360/entry.S |7 ++- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/arch/m68knommu/platform/68328/entry.S b/arch/m68knommu/platform/68328/entry.S index 9d80d2c..74229f7 100644 --- a/arch/m68knommu/platform/68328/entry.S +++ b/arch/m68knommu/platform/68328/entry.S @@ -43,7 +43,7 @@ badsys: jra ret_from_exception do_trace: - movel #-ENOSYS,%sp@(PT_OFF_D0)/* needed for strace*/ + movel #-ENOSYS,%sp@(PT_OFF_D0) /* needed for strace*/ subql #4,%sp SAVE_SWITCH_STACK jbsrsyscall_trace @@ -57,7 +57,7 @@ do_trace: lea sys_call_table, %a0 jbsr%a0@(%d1) -1: movel %d0,%sp@(PT_OFF_D0) /* save the return value */ +1: movel %d0,%sp@(PT_OFF_D0) /* save the return value */ subql #4,%sp /* dummy return address */ SAVE_SWITCH_STACK jbsrsyscall_trace @@ -71,16 +71,16 @@ ENTRY(system_call) SAVE_ALL /* save top of frame*/ - pea %sp@ - jbsrset_esp0 - addql #4,%sp + pea %sp@ + jbsrset_esp0 + addql #4,%sp movel %sp@(PT_OFF_ORIG_D0),%d0 movel %sp,%d1 /* get thread_info pointer */ andl#-THREAD_SIZE,%d1 movel %d1,%a2 - btst#TIF_SYSCALL_TRACE,%a2@(TI_FLAGS) + btst#(TIF_SYSCALL_TRACE%8),%a2@(TI_FLAGS+(31-TIF_SYSCALL_TRACE)/8) jne do_trace cmpl#NR_syscalls,%d0 jcc badsys @@ -88,10 +88,10 @@ ENTRY(system_call) lea sys_call_table,%a0 movel %a0@(%d0), %a0 jbsr%a0@ - movel %d0,%sp@(PT_OFF_D0) /* save the return value*/ + movel %d0,%sp@(PT_OFF_D0) /* save the return value*/ ret_from_exception: - btst#5,%sp@(PT_OFF_SR) /* check if returning to kernel*/ + btst#5,%sp@(PT_OFF_SR) /* check if returning to kernel*/ jeq Luser_return/* if so, skip resched, signals*/ Lkernel_return: diff --git a/arch/m68knommu/platform/68360/entry.S b/arch/m68knommu/platform/68360/entry.S index 6d3460a..d5ad408 100644 --- a/arch/m68knommu/platform/68360/entry.S +++ b/arch/m68knommu/platform/68360/entry.S @@ -71,7 +71,12 @@ ENTRY(system_call) jbsrset_esp0 addql #4,%sp - btst#PF_TRACESYS_BIT,%a2@(TASK_FLAGS+PF_TRACESYS_OFF) + movel %sp@(PT_OFF_ORIG_D0),%d0 + + movel %sp,%d1 /* get thread_info pointer */ + andl#-THREAD_SIZE,%d1 + movel %d1,%a2 + btst#(TIF_SYSCALL_TRACE%8),%a2@(TI_FLAGS+(31-TIF_SYSCALL_TRACE)/8) jne do_trace cmpl#NR_syscalls,%d0 jcc badsys -- 1.6.3.3 ___ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev