diff options
author | jbeich <jbeich@FreeBSD.org> | 2018-05-31 10:53:36 +0800 |
---|---|---|
committer | jbeich <jbeich@FreeBSD.org> | 2018-05-31 10:53:36 +0800 |
commit | 7574fe60391277d438b76080258fd7b45753a46f (patch) | |
tree | 0f4db0e4abaf6f212ca867154866b1cc79adf14b /emulators | |
parent | 57eb486b9dc7e7b5afd1ed648ebd969bbc792361 (diff) | |
download | freebsd-ports-gnome-7574fe60391277d438b76080258fd7b45753a46f.tar.gz freebsd-ports-gnome-7574fe60391277d438b76080258fd7b45753a46f.tar.zst freebsd-ports-gnome-7574fe60391277d438b76080258fd7b45753a46f.zip |
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)
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/citra/files/patch-externals_cryptopp_cryptopp_cpu.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/emulators/citra/files/patch-externals_cryptopp_cryptopp_cpu.h b/emulators/citra/files/patch-externals_cryptopp_cryptopp_cpu.h new file mode 100644 index 000000000000..6dd96bd645db --- /dev/null +++ b/emulators/citra/files/patch-externals_cryptopp_cryptopp_cpu.h @@ -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)
|