]> granicus.if.org Git - php/commitdiff
fix assembly of safe_address() for x86 and x86_64
authorNuno Lopes <nlopess@php.net>
Wed, 3 Jul 2013 21:53:46 +0000 (17:53 -0400)
committerNuno Lopes <nlopess@php.net>
Wed, 3 Jul 2013 21:56:02 +0000 (17:56 -0400)
Zend/zend_alloc.c

index 0bbd59a357c446206410a200c4cb93c7e4225371..596c2498bcecaf7cc2245035d64f7941e604663c 100644 (file)
@@ -2461,7 +2461,7 @@ static inline size_t safe_address(size_t nmemb, size_t size, size_t offset)
        size_t res = nmemb;
        unsigned long overflow = 0;
 
-       __asm__ ("mull %3\n\taddl %4,%0\n\tadcl %1,%1"
+       __asm__ ("mull %3\n\taddl %4,%0\n\tadcl $0,%1"
             : "=&a"(res), "=&d" (overflow)
             : "%0"(res),
               "rm"(size),
@@ -2489,7 +2489,7 @@ static inline size_t safe_address(size_t nmemb, size_t size, size_t offset)
 
         __asm__ ("mul" LP_SUFF  " %3\n\t"
                  "add %4,%0\n\t"
-                 "adc %1,%1"
+                 "adc $0,%1"
              : "=&a"(res), "=&d" (overflow)
              : "%0"(res),
                "rm"(size),