Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Apr 2023 13:18:54 GMT
From:      Alexey Dokuchaev <danfe@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 09b3d995009c - main - misc/far2l: try harder to unbreak the build on AArch64
Message-ID:  <202304081318.338DIsLf074995@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by danfe:

URL: https://cgit.FreeBSD.org/ports/commit/?id=09b3d995009c317088d49f974be740760e16075f

commit 09b3d995009c317088d49f974be740760e16075f
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2023-04-08 13:17:54 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2023-04-08 13:17:54 +0000

    misc/far2l: try harder to unbreak the build on AArch64
    
    This should be part of the earlier commit 1f8d09172023.
    
    Reported by:    pkg-fallout
---
 .../files/patch-multiarc_src_formats_7z_C_7zCrc.c     | 11 +++++++++++
 .../files/patch-multiarc_src_formats_7z_C_CpuArch.c   | 19 +++++++++++++++++++
 .../files/patch-multiarc_src_formats_7z_C_Sha1Opt.c   | 12 ++++++++++++
 .../files/patch-multiarc_src_formats_7z_C_Sha256Opt.c | 12 ++++++++++++
 4 files changed, 54 insertions(+)

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



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