GMP-5.0.0 problems with gcd_1.asm on Apple with fixes

Jack Howarth howarth at bromo.med.uc.edu
Fri Jan 15 15:16:16 CET 2010


On Fri, Jan 15, 2010 at 11:34:22AM +0100, Torbjorn Granlund wrote:
> Philip McLaughlin <pbmcl at dakotacom.net> writes:
> 
>   On Jan 12, 2010, at 2:59 PM, Torbjorn Granlund wrote:
>   
>   Fix #1: this error vanishes if the trailing zero table label
>   "L(table)" is changed to "tz_table" (2 places).
>   
>     What is the logic behind this change?
>   
>   I have done some experimentation and Apple appears to have a bug.
> 
> I notice that I avoid the local prefix (typically L or .L) in other GMP
> assembly files when refering between sections.  This makes some sense.
> 
> (Note the L(foo) inside GMP assembly files invokes the m4 macro L on foo
> and expands this to the local right prefix and appends foo.)
> 
> Thanks for your GMP improvements!
> 
> -- 
> Torbjörn
> _______________________________________________
> gmp-bugs mailing list
> gmp-bugs at gmplib.org
> https://gmplib.org/mailman/listinfo/gmp-bugs

Torbjörn,
    The stock gmp 5.0.0 release builds ABI=64 and passes
all of its testsuite on darwin10 with the simple change of...

--- gmp-5.0.0/mpn/x86_64/darwin.m4.org	2010-01-14 20:12:26.000000000 -0500
+++ gmp-5.0.0/mpn/x86_64/darwin.m4	2010-01-14 20:15:09.000000000 -0500
@@ -22,6 +22,10 @@
 dnl
 dnl  Simply override the definition in x86_64-defs.m4.
 
+define(`LEA',`
+	lea	$1(%rip), $2
+')
+
 define(`CALL',`call	GSYM_PREFIX`'$1')
 
No other patches were needed.
                Jack


More information about the gmp-bugs mailing list