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

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


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

details:   /var/hg/gmp-5.0/rev/3f724fb04d13
changeset: 13474:3f724fb04d13
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Thu May 05 17:16:32 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 33c45c1c1a67 -r 3f724fb04d13 ChangeLog
--- a/ChangeLog	Thu May 05 17:01:07 2011 +0200
+++ b/ChangeLog	Thu May 05 17:16:32 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-02  Marc Glisse  <marc.glisse at inria.fr>
 
 	* configfsf.guess: Update to version of 2011-02-02.
diff -r 33c45c1c1a67 -r 3f724fb04d13 mpn/x86_64/fat/fat_entry.asm
--- a/mpn/x86_64/fat/fat_entry.asm	Thu May 05 17:01:07 2011 +0200
+++ b/mpn/x86_64/fat/fat_entry.asm	Thu May 05 17:16:32 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