Disable assembly detection in Zend arithmetic with gcc < 5
authorOndřej Surý <ondrej@sury.org>
Sat, 2 Dec 2023 21:09:36 +0000 (22:09 +0100)
committerOndřej Surý <ondrej@debian.org>
Sun, 3 Aug 2025 07:32:21 +0000 (09:32 +0200)
Gbp-Pq: Name 0042-Disable-assembly-detection-in-Zend-arithmetic-with-g.patch

Zend/zend_operators.h

index 6a3d54a9dbf2e6669e204384212ace1590ce2906..057f91159a5116f309a7693245ed05885c346507 100644 (file)
@@ -528,7 +528,7 @@ ZEND_API void zend_reset_lc_ctype_locale(void);
 
 static zend_always_inline void fast_long_increment_function(zval *op1)
 {
-#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__)
+#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && (__GNUC__ > 4)
        __asm__ goto(
                "addl $1,(%0)\n\t"
                "jo  %l1\n"
@@ -591,7 +591,7 @@ overflow: ZEND_ATTRIBUTE_COLD_LABEL
 
 static zend_always_inline void fast_long_decrement_function(zval *op1)
 {
-#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__)
+#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && (__GNUC__ > 4)
        __asm__ goto(
                "subl $1,(%0)\n\t"
                "jo  %l1\n"
@@ -654,7 +654,7 @@ overflow: ZEND_ATTRIBUTE_COLD_LABEL
 
 static zend_always_inline void fast_long_add_function(zval *result, zval *op1, zval *op2)
 {
-#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__)
+#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && (__GNUC__ > 4)
        __asm__ goto(
                "movl   (%1), %%eax\n\t"
                "addl   (%2), %%eax\n\t"
@@ -744,7 +744,7 @@ overflow: ZEND_ATTRIBUTE_COLD_LABEL
 
 static zend_always_inline void fast_long_sub_function(zval *result, zval *op1, zval *op2)
 {
-#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__)
+#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && (__GNUC__ > 4)
        __asm__ goto(
                "movl   (%1), %%eax\n\t"
                "subl   (%2), %%eax\n\t"