]> 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:55:18 +0000 (17:55 -0400)
Zend/zend_alloc.c

index c6aee57a73d963e97fa4fbd845301e7f3e45914e..383a1dfcab7aa40f12c2f852ca67065c9b31a6de 100644 (file)
@@ -2465,7 +2465,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),
@@ -2493,7 +2493,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),