diff options
Diffstat (limited to 'arch/alpha/kernel/entry.S')
-rw-r--r-- | arch/alpha/kernel/entry.S | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S index bceb325fd4c5..a3e9cd85cfee 100644 --- a/arch/alpha/kernel/entry.S +++ b/arch/alpha/kernel/entry.S | |||
@@ -430,6 +430,7 @@ strace: | |||
430 | beq $1, 1f | 430 | beq $1, 1f |
431 | ldq $27, 0($2) | 431 | ldq $27, 0($2) |
432 | 1: jsr $26, ($27), sys_gettimeofday | 432 | 1: jsr $26, ($27), sys_gettimeofday |
433 | ret_from_straced: | ||
433 | ldgp $gp, 0($26) | 434 | ldgp $gp, 0($26) |
434 | 435 | ||
435 | /* check return.. */ | 436 | /* check return.. */ |
@@ -757,11 +758,15 @@ sys_vfork: | |||
757 | .ent sys_sigreturn | 758 | .ent sys_sigreturn |
758 | sys_sigreturn: | 759 | sys_sigreturn: |
759 | .prologue 0 | 760 | .prologue 0 |
761 | lda $9, ret_from_straced | ||
762 | cmpult $26, $9, $9 | ||
760 | mov $sp, $17 | 763 | mov $sp, $17 |
761 | lda $18, -SWITCH_STACK_SIZE($sp) | 764 | lda $18, -SWITCH_STACK_SIZE($sp) |
762 | lda $sp, -SWITCH_STACK_SIZE($sp) | 765 | lda $sp, -SWITCH_STACK_SIZE($sp) |
763 | jsr $26, do_sigreturn | 766 | jsr $26, do_sigreturn |
764 | br $1, undo_switch_stack | 767 | bne $9, 1f |
768 | jsr $26, syscall_trace | ||
769 | 1: br $1, undo_switch_stack | ||
765 | br ret_from_sys_call | 770 | br ret_from_sys_call |
766 | .end sys_sigreturn | 771 | .end sys_sigreturn |
767 | 772 | ||
@@ -770,11 +775,15 @@ sys_sigreturn: | |||
770 | .ent sys_rt_sigreturn | 775 | .ent sys_rt_sigreturn |
771 | sys_rt_sigreturn: | 776 | sys_rt_sigreturn: |
772 | .prologue 0 | 777 | .prologue 0 |
778 | lda $9, ret_from_straced | ||
779 | cmpult $26, $9, $9 | ||
773 | mov $sp, $17 | 780 | mov $sp, $17 |
774 | lda $18, -SWITCH_STACK_SIZE($sp) | 781 | lda $18, -SWITCH_STACK_SIZE($sp) |
775 | lda $sp, -SWITCH_STACK_SIZE($sp) | 782 | lda $sp, -SWITCH_STACK_SIZE($sp) |
776 | jsr $26, do_rt_sigreturn | 783 | jsr $26, do_rt_sigreturn |
777 | br $1, undo_switch_stack | 784 | bne $9, 1f |
785 | jsr $26, syscall_trace | ||
786 | 1: br $1, undo_switch_stack | ||
778 | br ret_from_sys_call | 787 | br ret_from_sys_call |
779 | .end sys_rt_sigreturn | 788 | .end sys_rt_sigreturn |
780 | 789 | ||