aboutsummaryrefslogtreecommitdiff
path: root/math/libgmp4
diff options
context:
space:
mode:
authorEdwin Groothuis <edwin@FreeBSD.org>2004-01-07 00:35:40 +0000
committerEdwin Groothuis <edwin@FreeBSD.org>2004-01-07 00:35:40 +0000
commit4601d4e923dd56c32bfae6c99b38f9a12fe9eb7b (patch)
tree565ee358fa6016dd71652bc710ef4ab12cda05a5 /math/libgmp4
parent0f4a49c72c8ba28afa232b34d6519f5f8f9db281 (diff)
downloadports-4601d4e923dd56c32bfae6c99b38f9a12fe9eb7b.tar.gz
ports-4601d4e923dd56c32bfae6c99b38f9a12fe9eb7b.zip
Fix build of math/libgmp4 on AMD64 systems
On Opteron/AMD64 systems with GCC, count_trailing_zeros in longlong.h may cause errors from the assembler about incorrect registers used with bsfq. Submitted by: edwin@mavetju.org Approved by: Alex Dupre <sysadmin@alexdupre.com> Obtained from: http://www.swox.com/gmp/#STATUS
Notes
Notes: svn path=/head/; revision=97519
Diffstat (limited to 'math/libgmp4')
-rw-r--r--math/libgmp4/Makefile2
-rw-r--r--math/libgmp4/files/patch-longlong.h14
2 files changed, 15 insertions, 1 deletions
diff --git a/math/libgmp4/Makefile b/math/libgmp4/Makefile
index f77aeda14079..9e1a9a0e46d9 100644
--- a/math/libgmp4/Makefile
+++ b/math/libgmp4/Makefile
@@ -8,7 +8,7 @@
PORTNAME= libgmp
PORTVERSION= 4.1.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= math devel
MASTER_SITES= ${MASTER_SITE_GNU}
MASTER_SITE_SUBDIR= gmp
diff --git a/math/libgmp4/files/patch-longlong.h b/math/libgmp4/files/patch-longlong.h
new file mode 100644
index 000000000000..105464b6ae63
--- /dev/null
+++ b/math/libgmp4/files/patch-longlong.h
@@ -0,0 +1,14 @@
+--- longlong.h.old 2003-07-29 17:10:52.000000000 +1000
++++ longlong.h 2003-07-29 17:12:16.000000000 +1000
+@@ -715,8 +715,10 @@
+ } while (0)
+ #define count_trailing_zeros(count, x) \
+ do { \
++ UDItype __cbtmp; \
+ ASSERT ((x) != 0); \
+- __asm__ ("bsfq %1,%0" : "=r" (count) : "rm" ((UDItype)(x))); \
++ __asm__ ("bsfq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \
++ (count) = __cbtmp; \
+ } while (0)
+ #endif /* x86_64 */
+