Changeset 2d1195c0 in mainline
- Timestamp:
- 2013-03-29T15:33:54Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8a5a902
- Parents:
- 26c02b22
- git-author:
- Wolf Ramovsky <wolf.ramovsky@…> (2013-03-29 15:33:54)
- git-committer:
- Martin Decky <martin@…> (2013-03-29 15:33:54)
- Location:
- uspace/lib/c
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/ia32/src/setjmp.S
r26c02b22 r2d1195c0 35 35 .type setjmp,@function 36 36 setjmp: 37 movl 0(%esp),%eax # save pc value into eax38 movl 4(%esp),%edx # address of the jmp_buf structure to save context to39 40 37 movl 0(%esp),%eax # save pc value into eax 38 movl 4(%esp),%edx # address of the jmp_buf structure to save context to 39 40 # save registers to the jmp_buf structure 41 41 CONTEXT_SAVE_ARCH_CORE %edx %eax 42 43 xorl %eax,%eax 42 43 xorl %eax,%eax # set_jmp returns 0 44 44 ret 45 45 46 46 .type longjmp,@function 47 47 longjmp: 48 49 movl 4(%esp), %ecx # put address of jmp_buf into ecx 50 movl 8(%esp), %eax # put return value into eax 51 52 # restore registers from the jmp_buf structure 48 movl 4(%esp), %ecx # put address of jmp_buf into ecx 49 movl 8(%esp), %eax # put return value into eax 50 51 # restore registers from the jmp_buf structure 53 52 CONTEXT_RESTORE_ARCH_CORE %ecx %edx 54 55 movl %edx,0(%esp) 53 54 movl %edx,0(%esp) # put saved pc on stack 56 55 ret 57 -
uspace/lib/c/include/setjmp.h
r26c02b22 r2d1195c0 38 38 #include <libarch/fibril.h> 39 39 40 typedef context_t jmp_buf ;40 typedef context_t jmp_buf[1]; 41 41 42 42 extern int setjmp(jmp_buf env); … … 47 47 /** @} 48 48 */ 49
Note:
See TracChangeset
for help on using the changeset viewer.