Even with the corrected patch below, I'm still getting the error regarding "Unknown command 'pack', check ext/phar/phar.php help".
Index: php5-5.4.4/Zend/zend_multiply.h
===================================================================
--- php5-5.4.4.orig/Zend/zend_multiply.h 2012-11-15 20:06:31.000000000 +0000
+++ php5-5.4.4/Zend/zend_multiply.h 2012-11-15 20:08:25.000000000 +0000
@@ -31,7 +31,7 @@
else (lval) = __tmpvar; \
} while (0)
-#elif defined(__x86_64__) && defined(__GNUC__)
+#elif defined(__x86_64__) && ! defined(__ILP32__) && defined(__GNUC__)
#define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \
long __tmpvar; \
Index: php5-5.4.4/Zend/zend_alloc.c
===================================================================
--- php5-5.4.4.orig/Zend/zend_alloc.c 2012-11-15 20:06:31.000000000 +0000
+++ php5-5.4.4/Zend/zend_alloc.c 2012-11-15 20:53:49.000000000 +0000
@@ -672,7 +672,7 @@
#elif defined(__GNUC__) && defined(__x86_64__)
unsigned long n;
- __asm__("bsrq %1,%0\n\t" : "=r" (n) : "rm" (_size));
+ __asm__("bsr %1,%0\n\t" : "=r" (n) : "rm" (_size));
return (unsigned int)n;
#elif defined(_MSC_VER) && defined(_M_IX86)
__asm {
@@ -698,7 +698,7 @@
#elif defined(__GNUC__) && defined(__x86_64__)
unsigned long n;
- __asm__("bsfq %1,%0\n\t" : "=r" (n) : "rm" (_size));
+ __asm__("bsf %1,%0\n\t" : "=r" (n) : "rm" (_size));
return (unsigned int)n;
#elif defined(_MSC_VER) && defined(_M_IX86)
__asm {
@@ -2474,7 +2474,7 @@
return res;
}
-#elif defined(__GNUC__) && defined(__x86_64__)
+#elif defined(__GNUC__) && defined(__x86_64__) && ! defined(__ILP32__)
static inline size_t safe_address(size_t nmemb, size_t size, size_t offset)
{