Skip to content

Commit 3b2f03d

Browse files
mvorisekndossche
authored andcommitted
Sync all boost.context files with release 1.86.0
Closes GH-20375.
1 parent 7c96263 commit 3b2f03d

File tree

3 files changed

+24
-17
lines changed

3 files changed

+24
-17
lines changed

NEWS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
33
?? ??? ????, PHP 8.3.29
44

5+
- Core:
6+
. Sync all boost.context files with release 1.86.0. (mvorisek)
7+
58
- Date:
69
. Fix crashes when trying to instantiate uninstantiable classes via date
710
static constructors. (ndossche)

Zend/asm/jump_s390x_sysv_elf_gas.S

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,12 @@
4949
.type jump_fcontext, @function
5050

5151
#define ARG_OFFSET 0
52-
#define GR_OFFSET 16
53-
#define FP_OFFSET 96
54-
#define FPC_OFFSET 160
55-
#define PC_OFFSET 168
56-
#define CONTEXT_SIZE 176
52+
#define GR_OFFSET 16
53+
#define R14_OFFSET 88
54+
#define FP_OFFSET 96
55+
#define FPC_OFFSET 160
56+
#define PC_OFFSET 168
57+
#define CONTEXT_SIZE 176
5758

5859
#define REG_SAVE_AREA_SIZE 160
5960

@@ -131,11 +132,14 @@ jump_fcontext:
131132
ltg %r2,GR_OFFSET(%r15)
132133
jnz use_return_slot
133134

134-
/* We restore a make_fcontext context. Use the function
135-
argument slot in the context we just saved and allocate the
136-
register save area for the target function. */
137-
la %r2,ARG_OFFSET(%r1)
138-
aghi %r15,-REG_SAVE_AREA_SIZE
135+
/* We're restoring a context created by make_fcontext.
136+
This is going to be the argument of the entry point
137+
of the fiber. We're placing it on top of the ABI
138+
defined register save area of the fiber's own stack. */
139+
la %r2,REG_SAVE_AREA_SIZE(%r15)
140+
141+
/* REG_SAVE_AREA_SIZE + sizeof(transfer_t) */
142+
aghi %r15,-(REG_SAVE_AREA_SIZE+16)
139143

140144
use_return_slot:
141145
/* Save the two fields in transfer_t. When calling a

Zend/asm/make_s390x_sysv_elf_gas.S

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@
4949
.type make_fcontext, @function
5050

5151
#define ARG_OFFSET 0
52-
#define GR_OFFSET 16
53-
#define R14_OFFSET 88
54-
#define FP_OFFSET 96
55-
#define FPC_OFFSET 160
56-
#define PC_OFFSET 168
57-
#define CONTEXT_SIZE 176
52+
#define GR_OFFSET 16
53+
#define R14_OFFSET 88
54+
#define FP_OFFSET 96
55+
#define FPC_OFFSET 160
56+
#define PC_OFFSET 168
57+
#define CONTEXT_SIZE 176
5858

5959
/*
6060
@@ -72,7 +72,7 @@ r4 - The address of the context function
7272
make_fcontext:
7373
.machine "z10"
7474
/* Align the stack to an 8 byte boundary. */
75-
nill %r2,0xfff0
75+
nill %r2,0xfff8
7676

7777
/* Allocate stack space for the context. */
7878
aghi %r2,-CONTEXT_SIZE

0 commit comments

Comments
 (0)