Skip to content

Commit f9a83a4

Browse files
committed
fiber fix wrong asm directives on (default) solaris build mode.
Illumos/Solaris while being 64 bits produces by default 32 bits build. In this case building the i386 assembly. Close GH-13320
1 parent da6a4e7 commit f9a83a4

File tree

3 files changed

+21
-12
lines changed

3 files changed

+21
-12
lines changed

NEWS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Core:
1111
(nielsdos)
1212
. Fixed bug GH-13178 (Iterator positions incorrect when converting packed
1313
array to hashed). (ilutov)
14+
. Fixed zend fiber build for solaris default mode (32 bits). (David Carlier)
1415

1516
Curl:
1617
. Deprecated the CURLOPT_BINARYTRANSFER constant. (divinity76)

Zend/asm/jump_x86_64_sysv_elf_gas.S

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,16 @@
3131
* *
3232
****************************************************************************************/
3333

34-
# if defined __CET__
35-
# include <cet.h>
36-
# define SHSTK_ENABLED (__CET__ & 0x2)
37-
# define BOOST_CONTEXT_SHADOW_STACK (SHSTK_ENABLED && SHADOW_STACK_SYSCALL)
34+
# ifdef __i386__
35+
# include "jump_i386_sysv_elf_gas.S"
3836
# else
39-
# define _CET_ENDBR
40-
# endif
37+
# if defined __CET__
38+
# include <cet.h>
39+
# define SHSTK_ENABLED (__CET__ & 0x2)
40+
# define BOOST_CONTEXT_SHADOW_STACK (SHSTK_ENABLED && SHADOW_STACK_SYSCALL)
41+
# else
42+
# define _CET_ENDBR
43+
# endif
4144
.file "jump_x86_64_sysv_elf_gas.S"
4245
.text
4346
.globl jump_fcontext
@@ -148,3 +151,4 @@ jump_fcontext:
148151

149152
/* Mark that we don't need executable stack. */
150153
.section .note.GNU-stack,"",%progbits
154+
# endif

Zend/asm/make_x86_64_sysv_elf_gas.S

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,16 @@
3131
* *
3232
****************************************************************************************/
3333

34-
# if defined __CET__
35-
# include <cet.h>
36-
# define SHSTK_ENABLED (__CET__ & 0x2)
37-
# define BOOST_CONTEXT_SHADOW_STACK (SHSTK_ENABLED && SHADOW_STACK_SYSCALL)
34+
# ifdef __i386__
35+
# include "make_i386_sysv_elf_gas.S"
3836
# else
39-
# define _CET_ENDBR
40-
# endif
37+
# if defined __CET__
38+
# include <cet.h>
39+
# define SHSTK_ENABLED (__CET__ & 0x2)
40+
# define BOOST_CONTEXT_SHADOW_STACK (SHSTK_ENABLED && SHADOW_STACK_SYSCALL)
41+
# else
42+
# define _CET_ENDBR
43+
# endif
4144
.file "make_x86_64_sysv_elf_gas.S"
4245
.text
4346
.globl make_fcontext
@@ -184,3 +187,4 @@ finish:
184187

185188
/* Mark that we don't need executable stack. */
186189
.section .note.GNU-stack,"",%progbits
190+
# endif

0 commit comments

Comments
 (0)