[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