[153136] trunk/dports/security/libtomcrypt
raimue at macports.org
raimue at macports.org
Sun Sep 25 06:39:06 PDT 2016
Revision: 153136
https://trac.macports.org/changeset/153136
Author: raimue at macports.org
Date: 2016-09-25 06:39:05 -0700 (Sun, 25 Sep 2016)
Log Message:
-----------
security/libtomcrypt: fix build on OS X >= 10.10
Closes #52364.
Modified Paths:
--------------
trunk/dports/security/libtomcrypt/Portfile
Added Paths:
-----------
trunk/dports/security/libtomcrypt/files/
trunk/dports/security/libtomcrypt/files/patch-rolc-asm.diff
Modified: trunk/dports/security/libtomcrypt/Portfile
===================================================================
--- trunk/dports/security/libtomcrypt/Portfile 2016-09-25 13:08:32 UTC (rev 153135)
+++ trunk/dports/security/libtomcrypt/Portfile 2016-09-25 13:39:05 UTC (rev 153136)
@@ -24,6 +24,8 @@
worksrcdir ${name}-${version}
+patchfiles patch-rolc-asm.diff
+
use_configure no
build.target
Added: trunk/dports/security/libtomcrypt/files/patch-rolc-asm.diff
===================================================================
--- trunk/dports/security/libtomcrypt/files/patch-rolc-asm.diff (rev 0)
+++ trunk/dports/security/libtomcrypt/files/patch-rolc-asm.diff 2016-09-25 13:39:05 UTC (rev 153136)
@@ -0,0 +1,83 @@
+Upstream: https://github.com/libtom/libtomcrypt/commit/62878de0c5dbb9f89474590d953bbdb339bd2f76
+
+Adapted to apply to 1.17.
+
+index c2832ab..f0dcf68 100644
+--- src/headers/tomcrypt_macros.h
++++ src/headers/tomcrypt_macros.h
+@@ -262,21 +262,22 @@
+
+ #ifndef LTC_NO_ROLC
+
+-static inline unsigned ROLc(unsigned word, const int i)
+-{
+- asm ("roll %2,%0"
+- :"=r" (word)
+- :"0" (word),"I" (i));
+- return word;
+-}
+-
+-static inline unsigned RORc(unsigned word, const int i)
+-{
+- asm ("rorl %2,%0"
+- :"=r" (word)
+- :"0" (word),"I" (i));
+- return word;
+-}
++#define ROLc(word,i) ({ \
++ ulong32 __ROLc_tmp = word; \
++ __asm__ ("roll %2, %0" : \
++ "=r" (__ROLc_tmp) : \
++ "0" (__ROLc_tmp), \
++ "I" (i)); \
++ __ROLc_tmp; \
++ })
++#define RORc(word,i) ({ \
++ ulong32 __RORc_tmp = word; \
++ __asm__ ("rorl %2, %0" : \
++ "=r" (__RORc_tmp) : \
++ "0" (__RORc_tmp), \
++ "I" (i)); \
++ __RORc_tmp; \
++ })
+
+ #else
+
+@@ -361,21 +362,22 @@
+
+ #ifndef LTC_NO_ROLC
+
+-static inline unsigned long ROL64c(unsigned long word, const int i)
+-{
+- asm("rolq %2,%0"
+- :"=r" (word)
+- :"0" (word),"J" (i));
+- return word;
+-}
+-
+-static inline unsigned long ROR64c(unsigned long word, const int i)
+-{
+- asm("rorq %2,%0"
+- :"=r" (word)
+- :"0" (word),"J" (i));
+- return word;
+-}
++#define ROL64c(word,i) ({ \
++ ulong64 __ROL64c_tmp = word; \
++ __asm__ ("rolq %2, %0" : \
++ "=r" (__ROL64c_tmp) : \
++ "0" (__ROL64c_tmp), \
++ "J" (i)); \
++ __ROL64c_tmp; \
++ })
++#define ROR64c(word,i) ({ \
++ ulong64 __ROR64c_tmp = word; \
++ __asm__ ("rorq %2, %0" : \
++ "=r" (__ROR64c_tmp) : \
++ "0" (__ROR64c_tmp), \
++ "J" (i)); \
++ __ROR64c_tmp; \
++ })
+
+ #else /* LTC_NO_ROLC */
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160925/6ce26f1a/attachment-0001.html>
More information about the macports-changes
mailing list