The current x86_64 asm code does not work for x32 ABIs, so disable it until someone can fix it. Simply deleting the q suffix is not enough.
* src/longlong.h: Check for __ILP32__ for x86_64 targets. --- src/longlong.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/longlong.h b/src/longlong.h index f2b2c49..baf001c 100644 --- a/src/longlong.h +++ b/src/longlong.h @@ -1006,7 +1006,7 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype); #endif #endif /* 80x86 */ -#if defined (__amd64__) && W_TYPE_SIZE == 64 +#if defined (__amd64__) && W_TYPE_SIZE == 64 && !defined (__ILP32__) #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("addq %5,%q1\n\tadcq %3,%q0" \ : "=r" (sh), "=&r" (sl) \ -- 1.7.12.4