Skip to content

Commit 02b0bc8

Browse files
oerdnjcmb69
authored andcommitted
Fix #76767: ‘asm’ operand has impossible constraints in zend_operators.h
We disable assembly code with gcc 4.8 on i386.
1 parent 1de1742 commit 02b0bc8

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

NEWS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ PHP NEWS
33
?? ??? ????, PHP 7.3.0beta3
44

55
- Core:
6+
. Fixed #76767 (‘asm’ operand has impossible constraints in zend_operators.h).
7+
(ondrej)
68
. Fixed bug #76754 (parent private constant in extends class memory leak).
79
(Laruence)
810
. Fixed bug #76752 (Crash in ZEND_COALESCE_SPEC_TMP_HANDLER - assertion in

Zend/zend_operators.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ ZEND_API void zend_update_current_locale(void);
471471

472472
static zend_always_inline void fast_long_increment_function(zval *op1)
473473
{
474-
#if defined(HAVE_ASM_GOTO) && defined(__i386__)
474+
#if defined(HAVE_ASM_GOTO) && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__)
475475
__asm__ goto(
476476
"addl $1,(%0)\n\t"
477477
"jo %l1\n"
@@ -521,7 +521,7 @@ overflow: ZEND_ATTRIBUTE_COLD_LABEL
521521

522522
static zend_always_inline void fast_long_decrement_function(zval *op1)
523523
{
524-
#if defined(HAVE_ASM_GOTO) && defined(__i386__)
524+
#if defined(HAVE_ASM_GOTO) && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__)
525525
__asm__ goto(
526526
"subl $1,(%0)\n\t"
527527
"jo %l1\n"
@@ -571,7 +571,7 @@ overflow: ZEND_ATTRIBUTE_COLD_LABEL
571571

572572
static zend_always_inline void fast_long_add_function(zval *result, zval *op1, zval *op2)
573573
{
574-
#if defined(HAVE_ASM_GOTO) && defined(__i386__)
574+
#if defined(HAVE_ASM_GOTO) && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__)
575575
__asm__ goto(
576576
"movl (%1), %%eax\n\t"
577577
"addl (%2), %%eax\n\t"
@@ -661,7 +661,7 @@ static zend_always_inline int fast_add_function(zval *result, zval *op1, zval *o
661661

662662
static zend_always_inline void fast_long_sub_function(zval *result, zval *op1, zval *op2)
663663
{
664-
#if defined(HAVE_ASM_GOTO) && defined(__i386__)
664+
#if defined(HAVE_ASM_GOTO) && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__)
665665
__asm__ goto(
666666
"movl (%1), %%eax\n\t"
667667
"subl (%2), %%eax\n\t"

0 commit comments

Comments
 (0)