diff options
Diffstat (limited to 'devel/linuxthreads/files/clone.S')
-rw-r--r-- | devel/linuxthreads/files/clone.S | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/devel/linuxthreads/files/clone.S b/devel/linuxthreads/files/clone.S index 51e7560446b0..7a868b2becc5 100644 --- a/devel/linuxthreads/files/clone.S +++ b/devel/linuxthreads/files/clone.S @@ -14,12 +14,6 @@ * 8 12 16 20 * _clone (__fn, __childstack, __flags, __arg); * - * I'm pretty shakey on assembly language, so someone else better - * check this! I don't even know what half this stuff means, its - * just copied from somewhere else (rf.S). - * - * It seems to work though. - * * Here's the idea: * __childstack is the TOS for the new rforked thread * __flags are the rfork flags @@ -42,14 +36,14 @@ ENTRY(_clone) /* * Push thread info onto the new thread's stack */ - movl 12(%ebp), %esi / get stack addr + movl 12(%ebp), %esi /* get stack addr */ subl $4, %esi - movl 20(%ebp), %eax / get __arg + movl 20(%ebp), %eax /* get __arg */ movl %eax, (%esi) subl $4, %esi - movl 8(%ebp), %eax / get __fn + movl 8(%ebp), %eax /* get __fn */ movl %eax, (%esi) .stabd 68,0,2 @@ -97,7 +91,7 @@ ENTRY(_clone) #ifdef DEBUG movl %eax,_fcn #endif - call %eax + call *%eax addl $8, %esp /* |