Date: Sat, 28 Feb 2015 23:44:12 +0000 (UTC) From: Ashish SHUKLA <ashish@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r380167 - head/lang/sagittarius-scheme/files Message-ID: <201502282344.t1SNiCV1063426@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ashish Date: Sat Feb 28 23:44:11 2015 New Revision: 380167 URL: https://svnweb.freebsd.org/changeset/ports/380167 QAT: https://qat.redports.org/buildarchive/r380167/ Log: - Change inline constant rotate functions to macros in the crypto library libtomcrypt used by the project, to fix compile errors with clang 3.6. More details about the fix are in PR 198017 PR: 197395 Submitted by: dim Reported by: portmgr Added: head/lang/sagittarius-scheme/files/patch-ext_crypto_libtomcrypt-1.17_src_headers_tomcrypt__macros.h (contents, props changed) Added: head/lang/sagittarius-scheme/files/patch-ext_crypto_libtomcrypt-1.17_src_headers_tomcrypt__macros.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/sagittarius-scheme/files/patch-ext_crypto_libtomcrypt-1.17_src_headers_tomcrypt__macros.h Sat Feb 28 23:44:11 2015 (r380167) @@ -0,0 +1,107 @@ + +$FreeBSD$ + +--- ext/crypto/libtomcrypt-1.17/src/headers/tomcrypt_macros.h.orig ++++ ext/crypto/libtomcrypt-1.17/src/headers/tomcrypt_macros.h +@@ -262,21 +262,19 @@ + + #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; +-} ++#define ROLc(word, i) ({ \ ++ unsigned _word = word; \ ++ asm ("roll %2,%0" \ ++ :"=r" (_word) \ ++ :"0" (_word),"I" (i)); \ ++ _word; }) + +-static inline unsigned RORc(unsigned word, const int i) +-{ +- asm ("rorl %2,%0" +- :"=r" (word) +- :"0" (word),"I" (i)); +- return word; +-} ++#define RORc(word, i) ({ \ ++ unsigned _word = word; \ ++ asm ("rorl %2,%0" \ ++ :"=r" (_word) \ ++ :"0" (_word),"I" (i)); \ ++ _word; }) + + #else + +@@ -305,21 +303,19 @@ + + #ifndef LTC_NO_ROLC + +-static inline unsigned ROLc(unsigned word, const int i) +-{ +- asm ("rotlwi %0,%0,%2" +- :"=r" (word) +- :"0" (word),"I" (i)); +- return word; +-} ++#define ROLc(word, i) ({ \ ++ unsigned _word = word; \ ++ asm ("rotlwi %0,%0,%2" \ ++ :"=r" (_word) \ ++ :"0" (_word),"I" (i)); \ ++ _word; }) + +-static inline unsigned RORc(unsigned word, const int i) +-{ +- asm ("rotrwi %0,%0,%2" +- :"=r" (word) +- :"0" (word),"I" (i)); +- return word; +-} ++#define RORc(word, i) ({ \ ++ unsigned _word = word; \ ++ asm ("rotrwi %0,%0,%2" \ ++ :"=r" (_word) \ ++ :"0" (_word),"I" (i)); \ ++ _word; }) + + #else + +@@ -361,21 +357,19 @@ + + #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; +-} ++#define ROL64c(word, i) ({ \ ++ unsigned long _word = word; \ ++ asm ("rolq %2,%0" \ ++ :"=r" (_word) \ ++ :"0" (_word),"J" (i)); \ ++ _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 ROR64c(word, i) ({ \ ++ unsigned long _word = word; \ ++ asm ("rorq %2,%0" \ ++ :"=r" (_word) \ ++ :"0" (_word),"J" (i)); \ ++ _word; }) + + #else /* LTC_NO_ROLC */ +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201502282344.t1SNiCV1063426>