Blame src/setjmp/nt32/setjmp.s
|
|
716654 |
############################################################################
|
|
|
716654 |
## mmglue: midipix architecture- and target-specific bits for musl libc ##
|
|
|
716654 |
## Copyright (C) 2013--2023 SysDeer Technologies, LLC ##
|
|
|
716654 |
## Released under the Standard MIT License; see COPYING.MMGLUE. ##
|
|
|
716654 |
############################################################################
|
|
|
716654 |
|
|
|
296178 |
.text
|
|
|
296178 |
.globl ___setjmp
|
|
|
296178 |
.globl __setjmp
|
|
|
296178 |
.globl _setjmp
|
|
|
296178 |
|
|
|
ed42e6 |
.def ___setjmp; .scl 2; .type 32; .endef
|
|
|
ed42e6 |
.def __setjmp; .scl 2; .type 32; .endef
|
|
|
ed42e6 |
.def _setjmp; .scl 2; .type 32; .endef
|
|
|
ed42e6 |
|
|
|
296178 |
___setjmp:
|
|
|
296178 |
__setjmp:
|
|
|
296178 |
_setjmp:
|
|
|
e3a960 |
movl 4(%esp), %edx # jump buffer
|
|
|
e3a960 |
|
|
|
e3a960 |
movl (%esp), %eax # return address
|
|
|
e3a960 |
movl %eax, (%edx)
|
|
|
e3a960 |
|
|
|
e3a960 |
leal 4(%esp), %ecx # caller's stack pointer
|
|
|
e3a960 |
movl %ecx, 4(%edx)
|
|
|
e3a960 |
|
|
|
e3a960 |
movl %ebx, 8(%edx)
|
|
|
e3a960 |
movl %ebp, 12(%edx)
|
|
|
e3a960 |
movl %edi, 16(%edx)
|
|
|
e3a960 |
movl %esi, 20(%edx)
|
|
|
e3a960 |
|
|
|
e3a960 |
xor %eax,%eax
|
|
|
296178 |
ret
|
|
|
fa55cc |
|
|
|
fa55cc |
.section .got$setjmp,"r"
|
|
|
fa55cc |
.global __imp__setjmp
|
|
|
fa55cc |
__imp__setjmp:
|
|
|
fa55cc |
.long _setjmp
|
|
|
fa55cc |
.linkonce discard
|