Re: [uClinux-dev] [PATCH] m68knommu : Fix strace support for 68328/68360

2010-08-18 Thread Greg Ungerer


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

2010-08-17 Thread Philippe De Muyter
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

2010-08-17 Thread Geert Uytterhoeven
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

2010-08-17 Thread Philippe De Muyter
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

2010-08-17 Thread Mike Frysinger
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

2010-08-17 Thread Philippe De Muyter
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