The stack layout changed in r23983. Since then user_debug_post_syscall()
wouldn't be passed the syscall start time anymore. Fixes weird syscall timings when using strace. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26243 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -357,7 +357,8 @@ handle_syscall:
|
|||||||
movl %eax,%ds
|
movl %eax,%ds
|
||||||
movl %eax,%es
|
movl %eax,%es
|
||||||
|
|
||||||
lea 4(%esp), %ebp // stack frame pointer is the iframe
|
lea 4(%esp), %ebp // skipping the return address, the stack
|
||||||
|
// frame pointer is the iframe
|
||||||
movl %dr3, %edi // thread pointer
|
movl %dr3, %edi // thread pointer
|
||||||
|
|
||||||
// disable breakpoints, if installed
|
// disable breakpoints, if installed
|
||||||
@@ -437,8 +438,8 @@ handle_syscall:
|
|||||||
// post syscall debugging
|
// post syscall debugging
|
||||||
testl $THREAD_FLAGS_DEBUGGER_INSTALLED, THREAD_flags(%edi)
|
testl $THREAD_FLAGS_DEBUGGER_INSTALLED, THREAD_flags(%edi)
|
||||||
jz 1f
|
jz 1f
|
||||||
pushl -4(%ebp) // syscall start time
|
pushl -8(%ebp) // syscall start time
|
||||||
pushl -8(%ebp)
|
pushl -12(%ebp)
|
||||||
movl IFRAME_edx(%ebp), %edx // syscall return value
|
movl IFRAME_edx(%ebp), %edx // syscall return value
|
||||||
movl IFRAME_eax(%ebp), %eax
|
movl IFRAME_eax(%ebp), %eax
|
||||||
push %edx
|
push %edx
|
||||||
|
|||||||
Reference in New Issue
Block a user