diff options
author | Edwin Groothuis <edwin@FreeBSD.org> | 2004-01-07 00:35:40 +0000 |
---|---|---|
committer | Edwin Groothuis <edwin@FreeBSD.org> | 2004-01-07 00:35:40 +0000 |
commit | 4601d4e923dd56c32bfae6c99b38f9a12fe9eb7b (patch) | |
tree | 565ee358fa6016dd71652bc710ef4ab12cda05a5 /math/libgmp4 | |
parent | 0f4a49c72c8ba28afa232b34d6519f5f8f9db281 (diff) | |
download | ports-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/Makefile | 2 | ||||
-rw-r--r-- | math/libgmp4/files/patch-longlong.h | 14 |
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 */ + |