[Gmp-commit] /var/hg/gmp: 2 new changesets

mercurial at gmplib.org mercurial at gmplib.org
Thu May 5 17:16:48 CEST 2011


details:   /var/hg/gmp/rev/9de12b8ef021
changeset: 14164:9de12b8ef021
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Thu May 05 17:16:08 2011 +0200
description:
(PIC_OR_DARWIN): New symbol.  Use it to work around Darwin problems.

details:   /var/hg/gmp/rev/54a67a61f764
changeset: 14165:54a67a61f764
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Thu May 05 17:16:13 2011 +0200
description:
*** empty log message ***

diffstat:

 ChangeLog                    |   5 +++++
 mpn/x86_64/fat/fat_entry.asm |  17 ++++++++++++++---
 2 files changed, 19 insertions(+), 3 deletions(-)

diffs (60 lines):

diff -r a3182d4a8628 -r 54a67a61f764 ChangeLog
--- a/ChangeLog	Wed May 04 21:26:01 2011 +0200
+++ b/ChangeLog	Thu May 05 17:16:13 2011 +0200
@@ -1,3 +1,8 @@
+2011-05-05  Torbjorn Granlund  <tege at gmplib.org>
+
+	* mpn/x86_64/fat/fat_entry.asm (PIC_OR_DARWIN): New symbol.  Use it to
+	work around Darwin problems.
+
 2011-05-04  Niels Möller  <nisse at lysator.liu.se>
 
 	* mpz/gcdext.c (mpz_gcdext): Reduced temporary allocations. Use
diff -r a3182d4a8628 -r 54a67a61f764 mpn/x86_64/fat/fat_entry.asm
--- a/mpn/x86_64/fat/fat_entry.asm	Wed May 04 21:26:01 2011 +0200
+++ b/mpn/x86_64/fat/fat_entry.asm	Thu May 05 17:16:13 2011 +0200
@@ -3,7 +3,7 @@
 dnl  Contributed to the GNU project by Kevin Ryde (original x86_32 code) and
 dnl  Torbjorn Granlund (port to x86_64)
 
-dnl  Copyright 2003, 2009 Free Software Foundation, Inc.
+dnl  Copyright 2003, 2009, 2011 Free Software Foundation, Inc.
 dnl
 dnl  This file is part of the GNU MP Library.
 dnl
@@ -33,6 +33,17 @@
 define(`WANT_PROFILING',no)
 
 
+dnl  We define PIC_OR_DARWIN as a helper symbol, the use it for suppressing
+dnl  normal, fast call code, since that triggers problems on darwin.
+dnl
+dnl  FIXME: There might be a more elegant solution, adding less overhead.
+
+ifdef(`DARWIN',
+`define(`PIC_OR_DARWIN')')
+ifdef(`PIC',
+`define(`PIC_OR_DARWIN')')
+
+
 	TEXT
 
 
@@ -59,7 +70,7 @@
 m4_assert_numargs(2)
 `	ALIGN(ifdef(`PIC',16,8))
 `'PROLOGUE($1)
-ifdef(`PIC',
+ifdef(`PIC_OR_DARWIN',
 `	LEA(	GSYM_PREFIX`'__gmpn_cpuvec, %rax)
 	jmp	*$2(%rax)
 ',`dnl non-PIC
@@ -129,7 +140,7 @@
 	pop	%rdx
 	pop	%rsi
 	pop	%rdi
-ifdef(`PIC',`
+ifdef(`PIC_OR_DARWIN',`
 	LEA(	GSYM_PREFIX`'__gmpn_cpuvec, %r10)
 	jmp	*(%r10,%rax)
 ',`dnl non-PIC


More information about the gmp-commit mailing list