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 ++#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