1
0
mirror of https://github.com/php/php-src.git synced 2026-04-01 13:12:16 +02:00

Merge branch 'PHP-8.1'

This commit is contained in:
Ben Ramsey
2022-05-25 15:30:24 -05:00
4 changed files with 21 additions and 1 deletions

View File

@@ -24,12 +24,18 @@
* *
****************************************************************************************/
# if defined __CET__
# include <cet.h>
# else
# define _CET_ENDBR
# endif
.file "jump_x86_64_sysv_elf_gas.S"
.text
.globl jump_fcontext
.type jump_fcontext,@function
.align 16
jump_fcontext:
_CET_ENDBR
leaq -0x38(%rsp), %rsp /* prepare stack */
#if !defined(BOOST_USE_TSX)

View File

@@ -24,12 +24,18 @@
* *
****************************************************************************************/
# if defined __CET__
# include <cet.h>
# else
# define _CET_ENDBR
# endif
.file "make_x86_64_sysv_elf_gas.S"
.text
.globl make_fcontext
.type make_fcontext,@function
.align 16
make_fcontext:
_CET_ENDBR
/* first arg of make_fcontext() == top of context-stack */
movq %rdi, %rax
@@ -66,11 +72,13 @@ make_fcontext:
trampoline:
/* store return address on stack */
/* fix stack alignment */
_CET_ENDBR
push %rbp
/* jump to context-function */
jmp *%rbx
finish:
_CET_ENDBR
/* exit code is zero */
xorq %rdi, %rdi
/* exit application */

View File

@@ -141,7 +141,7 @@ typedef struct {
/* These functions are defined in assembler files provided by boost.context (located in "Zend/asm"). */
extern void *make_fcontext(void *sp, size_t size, void (*fn)(boost_context_data));
extern boost_context_data jump_fcontext(void *to, zend_fiber_transfer *transfer);
extern ZEND_INDIRECT_RETURN boost_context_data jump_fcontext(void *to, zend_fiber_transfer *transfer);
#endif
ZEND_API zend_class_entry *zend_ce_fiber;

View File

@@ -679,4 +679,10 @@ extern "C++" {
# define ZEND_VOIDP(ptr) (ptr)
#endif
#if defined(__GNUC__) && ZEND_GCC_VERSION >= 9000
# define ZEND_INDIRECT_RETURN __attribute__((__indirect_return__))
#else
# define ZEND_INDIRECT_RETURN
#endif
#endif /* ZEND_PORTABILITY_H */