diff --git a/Zend/asm/jump_sparc64_sysv_elf_gas.S b/Zend/asm/jump_sparc64_sysv_elf_gas.S index 727687aad80..61101fb1f62 100644 --- a/Zend/asm/jump_sparc64_sysv_elf_gas.S +++ b/Zend/asm/jump_sparc64_sysv_elf_gas.S @@ -6,12 +6,14 @@ */ /* - * typedef struct { - * void *handle; - * zend_fiber_transfer *transfer; - * } boost_context_data; + * typedef void* fcontext_t; * - * boost_context_data jump_fcontext(void *to, zend_fiber_transfer *transfer); + * struct transfer_t { + * fcontext_t fctx; + * void * data; + * }; + * + * transfer_t jump_fcontext(fcontext_t const to, void *vp); */ #define CC64FSZ 176 #define BIAS 2047 diff --git a/Zend/asm/jump_x86_64_ms_pe_gas.S b/Zend/asm/jump_x86_64_ms_pe_gas.S index 5ebc46f3640..ec4ecfe946d 100644 --- a/Zend/asm/jump_x86_64_ms_pe_gas.S +++ b/Zend/asm/jump_x86_64_ms_pe_gas.S @@ -89,6 +89,7 @@ .file "jump_x86_64_ms_pe_gas.asm" .text .p2align 4,,15 +.globl jump_fcontext .def jump_fcontext; .scl 2; .type 32; .endef .seh_proc jump_fcontext jump_fcontext: @@ -203,3 +204,6 @@ jump_fcontext: /* indirect jump to context */ jmp *%r10 .seh_endproc + +.section .drectve +.ascii " -export:\"jump_fcontext\"" diff --git a/Zend/asm/make_sparc64_sysv_elf_gas.S b/Zend/asm/make_sparc64_sysv_elf_gas.S index 52ff70b996b..3e7ee809c91 100644 --- a/Zend/asm/make_sparc64_sysv_elf_gas.S +++ b/Zend/asm/make_sparc64_sysv_elf_gas.S @@ -6,7 +6,7 @@ */ /* - * void *make_fcontext(void *sp, size_t size, void (*fn)(boost_context_data)); + * fcontext_t *make_fcontext(void *sp, size_t size, void (*fn)(transfer_t)); */ #define CC64FSZ 176 #define BIAS 2047 @@ -56,7 +56,7 @@ make_fcontext: trampoline: ldx [%sp + BIAS + I7], %l0 - # no need to setup boost_context_data, already in %o0 and %o1 + # no need to setup transfer_t, already in %o0 and %o1 jmpl %l0, %o7 nop diff --git a/Zend/asm/make_x86_64_ms_pe_gas.S b/Zend/asm/make_x86_64_ms_pe_gas.S index 66a9bb39535..958a2a7b6d0 100644 --- a/Zend/asm/make_x86_64_ms_pe_gas.S +++ b/Zend/asm/make_x86_64_ms_pe_gas.S @@ -89,6 +89,7 @@ .file "make_x86_64_ms_pe_gas.asm" .text .p2align 4,,15 +.globl make_fcontext .def make_fcontext; .scl 2; .type 32; .endef .seh_proc make_fcontext make_fcontext: @@ -168,3 +169,6 @@ finish: .seh_endproc .def _exit; .scl 2; .type 32; .endef /* standard C library function */ + +.section .drectve +.ascii " -export:\"make_fcontext\""