aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2023-04-08 13:17:54 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2023-04-08 13:17:54 +0000
commit09b3d995009c317088d49f974be740760e16075f (patch)
tree1c3037c1630e6e5c496bd7dcc6a3560356c99f79
parenteb6c9c8c4aa5981078c6b9b69527ecdaee5f22c9 (diff)
downloadports-09b3d995009c317088d49f974be740760e16075f.tar.gz
ports-09b3d995009c317088d49f974be740760e16075f.zip
misc/far2l: try harder to unbreak the build on AArch64
This should be part of the earlier commit 1f8d09172023. Reported by: pkg-fallout
-rw-r--r--misc/far2l/files/patch-multiarc_src_formats_7z_C_7zCrc.c11
-rw-r--r--misc/far2l/files/patch-multiarc_src_formats_7z_C_CpuArch.c19
-rw-r--r--misc/far2l/files/patch-multiarc_src_formats_7z_C_Sha1Opt.c12
-rw-r--r--misc/far2l/files/patch-multiarc_src_formats_7z_C_Sha256Opt.c12
4 files changed, 54 insertions, 0 deletions
diff --git a/misc/far2l/files/patch-multiarc_src_formats_7z_C_7zCrc.c b/misc/far2l/files/patch-multiarc_src_formats_7z_C_7zCrc.c
new file mode 100644
index 000000000000..3badab66c6bb
--- /dev/null
+++ b/misc/far2l/files/patch-multiarc_src_formats_7z_C_7zCrc.c
@@ -0,0 +1,11 @@
+--- multiarc/src/formats/7z/C/7zCrc.c.orig 2023-01-14 23:53:02 UTC
++++ multiarc/src/formats/7z/C/7zCrc.c
+@@ -86,7 +86,7 @@ UInt32 MY_FAST_CALL CrcUpdateT1(UInt32 v, const void *
+ #if !defined(__ARM_FEATURE_CRC32)
+ #define __ARM_FEATURE_CRC32 1
+ #if (!defined(__clang__) || (__clang_major__ > 3)) // fix these numbers
+- #define ATTRIB_CRC __attribute__((__target__("arch=armv8-a+crc")))
++ #define ATTRIB_CRC __attribute__((__target__("crc")))
+ #endif
+ #endif
+ #if defined(__ARM_FEATURE_CRC32)
diff --git a/misc/far2l/files/patch-multiarc_src_formats_7z_C_CpuArch.c b/misc/far2l/files/patch-multiarc_src_formats_7z_C_CpuArch.c
new file mode 100644
index 000000000000..c8af49af90ff
--- /dev/null
+++ b/misc/far2l/files/patch-multiarc_src_formats_7z_C_CpuArch.c
@@ -0,0 +1,19 @@
+--- multiarc/src/formats/7z/C/CpuArch.c.orig 2023-01-14 23:53:02 UTC
++++ multiarc/src/formats/7z/C/CpuArch.c
+@@ -422,7 +422,16 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP
+
+ #ifdef USE_HWCAP
+
++#ifdef __FreeBSD__
++static unsigned long getauxval(int aux)
++{
++ unsigned long auxval = 0;
++ elf_aux_info(aux, &auxval, sizeof(auxval));
++ return auxval;
++}
++#else
+ #include <asm/hwcap.h>
++#endif
+
+ #define MY_HWCAP_CHECK_FUNC_2(name1, name2) \
+ BoolInt CPU_IsSupported_ ## name1() { return (getauxval(AT_HWCAP) & (HWCAP_ ## name2)) ? 1 : 0; }
diff --git a/misc/far2l/files/patch-multiarc_src_formats_7z_C_Sha1Opt.c b/misc/far2l/files/patch-multiarc_src_formats_7z_C_Sha1Opt.c
new file mode 100644
index 000000000000..39bb0317e2d6
--- /dev/null
+++ b/misc/far2l/files/patch-multiarc_src_formats_7z_C_Sha1Opt.c
@@ -0,0 +1,12 @@
+--- multiarc/src/formats/7z/C/Sha1Opt.c.orig 2023-01-14 23:53:02 UTC
++++ multiarc/src/formats/7z/C/Sha1Opt.c
+@@ -234,7 +234,8 @@ void MY_FAST_CALL Sha1_UpdateBlocks_HW(UInt32 state[5]
+
+ #if defined(__clang__) || defined(__GNUC__)
+ #ifdef MY_CPU_ARM64
+- #define ATTRIB_SHA __attribute__((__target__("+crypto")))
++ #define __ARM_FEATURE_SHA2
++ #define ATTRIB_SHA __attribute__((__target__("sha2")))
+ #else
+ #define ATTRIB_SHA __attribute__((__target__("fpu=crypto-neon-fp-armv8")))
+ #endif
diff --git a/misc/far2l/files/patch-multiarc_src_formats_7z_C_Sha256Opt.c b/misc/far2l/files/patch-multiarc_src_formats_7z_C_Sha256Opt.c
new file mode 100644
index 000000000000..c36041a3e2cf
--- /dev/null
+++ b/misc/far2l/files/patch-multiarc_src_formats_7z_C_Sha256Opt.c
@@ -0,0 +1,12 @@
+--- multiarc/src/formats/7z/C/Sha256Opt.c.orig 2023-01-14 23:53:02 UTC
++++ multiarc/src/formats/7z/C/Sha256Opt.c
+@@ -234,7 +234,8 @@ void MY_FAST_CALL Sha256_UpdateBlocks_HW(UInt32 state[
+
+ #if defined(__clang__) || defined(__GNUC__)
+ #ifdef MY_CPU_ARM64
+- #define ATTRIB_SHA __attribute__((__target__("+crypto")))
++ #define __ARM_FEATURE_SHA2
++ #define ATTRIB_SHA __attribute__((__target__("sha2")))
+ #else
+ #define ATTRIB_SHA __attribute__((__target__("fpu=crypto-neon-fp-armv8")))
+ #endif