Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 May 2018 02:53:36 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r471192 - head/emulators/citra/files
Message-ID:  <201805310253.w4V2raj7072998@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Thu May 31 02:53:36 2018
New Revision: 471192
URL: https://svnweb.freebsd.org/changeset/ports/471192

Log:
  emulators/citra: unbreak on i386 with clang 5+
  
  externals/cryptopp/cryptopp/sha.cpp:1005:5: error: invalid operand for instruction
      ASJ(    jnz,     0, b)
      ^
  externals/cryptopp/cryptopp/cpu.h:623:23: note: expanded from macro 'ASJ'
          #define ASJ(x, y, z) GNU_ASJ(x, y, z)
                               ^
  externals/cryptopp/cryptopp/cpu.h:617:27: note: expanded from macro 'GNU_ASJ'
          #define GNU_ASJ(x, y, z) #x " " #y #z ";" NEW_LINE
                                   ^
  <scratch space>:34:2: note: expanded from here
  "jnz"
   ^
  <inline asm>:80:1: note: instantiated into assembly here
  jnz 0b;
  ^
  
  Reported by:	pkg-fallout
  Obtained from:	upstream (cryptopp 7.1.0)

Added:
  head/emulators/citra/files/patch-externals_cryptopp_cryptopp_cpu.h   (contents, props changed)

Added: head/emulators/citra/files/patch-externals_cryptopp_cryptopp_cpu.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/citra/files/patch-externals_cryptopp_cryptopp_cpu.h	Thu May 31 02:53:36 2018	(r471192)
@@ -0,0 +1,17 @@
+https://github.com/citra-emu/citra/issues/3796
+
+--- externals/cryptopp/cryptopp/cpu.h.orig	2018-02-22 14:26:16 UTC
++++ externals/cryptopp/cryptopp/cpu.h
+@@ -614,7 +614,12 @@ inline int GetCacheLineSize()
+ 	#define GNU_AS2(x, y) #x ", " #y ";" NEW_LINE
+ 	#define GNU_AS3(x, y, z) #x ", " #y ", " #z ";" NEW_LINE
+ 	#define GNU_ASL(x) "\n" #x ":" NEW_LINE
++// clang 5.0.0 and apple clang 9.0.0 don't support numerical backward jumps
++#if (CRYPTOPP_LLVM_CLANG_VERSION >= 50000) || (CRYPTOPP_APPLE_CLANG_VERSION >= 90000)
++	#define GNU_ASJ(x, y, z) ATT_PREFIX ";" NEW_LINE #x " " #y #z ";" NEW_LINE INTEL_PREFIX ";" NEW_LINE
++#else
+ 	#define GNU_ASJ(x, y, z) #x " " #y #z ";" NEW_LINE
++#endif
+ 	#define AS1(x) GNU_AS1(x)
+ 	#define AS2(x, y) GNU_AS2(x, y)
+ 	#define AS3(x, y, z) GNU_AS3(x, y, z)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201805310253.w4V2raj7072998>