diff options
author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2023-04-08 13:17:54 +0000 |
---|---|---|
committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2023-04-08 13:17:54 +0000 |
commit | 09b3d995009c317088d49f974be740760e16075f (patch) | |
tree | 1c3037c1630e6e5c496bd7dcc6a3560356c99f79 | |
parent | eb6c9c8c4aa5981078c6b9b69527ecdaee5f22c9 (diff) | |
download | ports-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
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 |