From nobody Fri Apr 22 15:28:52 2022 X-Original-To: dev-commits-ports-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 3F6FF199AFCC; Fri, 22 Apr 2022 15:28:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KlJGY180Lz4V23; Fri, 22 Apr 2022 15:28:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1650641333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xfwucmVNpTC9Rydqu2AEdzewnhkAS2Ez6TMaBuMuoCY=; b=pdZCoBLaVmxayptz9eCvB1Trv4sCQljheB+0DTsUXYLGCJxVRNkR/rV3B6mGUeQeVRQlnq mUC2kuTF6MmvFqZMYTlZRG6MXXZh/J+HYipjRYIU8uTkDPIV6q6sZR1uPMumk882N5/IcU 5kqER+s3wZviOzATC5C0zHLm3cDCLyKZEPcJzh6ohZfb1/H62iR3KW6WfvLuAnYbXOCyPp aDcD5i4rwLSIFxc57my8IjUOO9DCvTVVpIRUCG+LjO9HfJIMme2cuy61zuCrjMep0xIP8u s1T7qHFtpRrzp+qzSqkBwVsD83CLXkQSEW8lQ4hJlRJYrbpsbNg00jUCzy+zzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 07E811F978; Fri, 22 Apr 2022 15:28:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 23MFSqJR082615; Fri, 22 Apr 2022 15:28:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 23MFSqBI082614; Fri, 22 Apr 2022 15:28:52 GMT (envelope-from git) Date: Fri, 22 Apr 2022 15:28:52 GMT Message-Id: <202204221528.23MFSqBI082614@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org From: Max Brazhnikov Subject: git: 93a0e053b7f8 - 2022Q2 - archivers/7-zip: fix build on armv6/armv7 List-Id: Commits to the quarterly branches of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-branches@freebsd.org X-BeenThere: dev-commits-ports-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: makc X-Git-Repository: ports X-Git-Refname: refs/heads/2022Q2 X-Git-Reftype: branch X-Git-Commit: 93a0e053b7f8dd451ae4b4ac377f20a45e8df188 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1650641333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xfwucmVNpTC9Rydqu2AEdzewnhkAS2Ez6TMaBuMuoCY=; b=caMakWYpI6YfIOK09wzQHo8Qrr8fGYeazm83ldxBV7bVrhkw5VQOCJ4Pz4rJ/wV4Go8dAD dhssPZpuWAc5144OQBJlAO5aryEUtXPERbkXicowGJpl72YZn9YcQjibNUCXVW8JP27vxY pCT1foP138zbTvka8FqoUJ7144JejZh6FHk3bLXkC5ahFSdNh4mgLFr9pP4Mt+GYv1pRyz faNPqPZK95+g9M5PymoR90sm/m7kfFSHyOXnQscH5tXZuZYHVy5nL3G9dGEFbpCIIQs0Q8 kpK8hrKbAzBydqPg9YUIuuonXlwWA2uMPSPOFEVoQAlah5Sjd/YMhmys3vyP6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1650641333; a=rsa-sha256; cv=none; b=RbEd4Ag03S6IU393Qsvq7EGm/QkpKjL8UWCpyNW6G7qHpn+HQGTzFyC/Gdm+NFB5pG93de XtJIKamhU4qTNE3/YtD53S0zmJ1mEiNUz3w+tZPShshn7B2AMFQs2xKlkdzJHtO9m34Xdz piNAWnjaw99z3IuUNj3uzqqamqDRd+ZrQ7VkC6aalClFSs8RUzsQAFzKSXdD7OdB7ihxrp 71KgPTYI9nWJZOep6CwHsIgEyha5ha+QgaM39Twqg5sWlc3rV2gxaskUGEeXBeC3dZEObE 1NmYiBXrDepcXmwXzxjOQIhQz+1nMAEfsyvMa55zDG9jTm6kna2fP7d02LPtTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch 2022Q2 has been updated by makc: URL: https://cgit.FreeBSD.org/ports/commit/?id=93a0e053b7f8dd451ae4b4ac377f20a45e8df188 commit 93a0e053b7f8dd451ae4b4ac377f20a45e8df188 Author: Max Brazhnikov AuthorDate: 2022-04-18 11:40:48 +0000 Commit: Max Brazhnikov CommitDate: 2022-04-22 15:27:46 +0000 archivers/7-zip: fix build on armv6/armv7 - Extend HWCAP detection patch to use correct auxvals on armv6/armv7. - Disable optimised AES, CRC, SHA-1, and SHA-256 kernels on armv6/armv7 as they don't build with base clang. PR: 263244 Submitted by: Robert Clausecker (cherry picked from commit 96151ece4c41ec9a060a5347704f1a51323dd57f) --- archivers/7-zip/Makefile | 5 ++++ archivers/7-zip/files/patch-C_7zCrc.c | 11 +++++++++ archivers/7-zip/files/patch-C_Aes.c | 11 +++++++++ archivers/7-zip/files/patch-C_AesOpt.c | 38 +++++++++++++++++++++++++++++++ archivers/7-zip/files/patch-C_CpuArch.c | 26 +++++++++++++-------- archivers/7-zip/files/patch-C_Sha1Opt.c | 11 +++++++++ archivers/7-zip/files/patch-C_Sha256Opt.c | 11 +++++++++ 7 files changed, 104 insertions(+), 9 deletions(-) diff --git a/archivers/7-zip/Makefile b/archivers/7-zip/Makefile index 549bd0fb3868..eeccb82cee65 100644 --- a/archivers/7-zip/Makefile +++ b/archivers/7-zip/Makefile @@ -30,6 +30,11 @@ CFLAGS_aarch64?= -march=armv8-a+crc+crypto NO_WRKSUBDIR= yes BUILD_WRKSRC= ${WRKSRC}/CPP/7zip/Bundles/Alone2 DOS2UNIX_FILES= C/CpuArch.c \ + C/7zCrc.c \ + C/Aes.c \ + C/AesOpt.c \ + C/Sha1Opt.c \ + C/Sha256Opt.c \ CPP/7zip/7zip_gcc.mak \ CPP/7zip/var_gcc.mak \ CPP/Windows/SystemInfo.cpp diff --git a/archivers/7-zip/files/patch-C_7zCrc.c b/archivers/7-zip/files/patch-C_7zCrc.c new file mode 100644 index 000000000000..085636273a14 --- /dev/null +++ b/archivers/7-zip/files/patch-C_7zCrc.c @@ -0,0 +1,11 @@ +--- C/7zCrc.c.orig 2022-04-12 15:58:06 UTC ++++ C/7zCrc.c +@@ -71,7 +71,7 @@ UInt32 MY_FAST_CALL CrcUpdateT1(UInt32 v, const void * + + #ifdef MY_CPU_LE + +-#if defined(MY_CPU_ARM_OR_ARM64) ++#if defined(MY_CPU_ARM64) + + // #pragma message("ARM*") + diff --git a/archivers/7-zip/files/patch-C_Aes.c b/archivers/7-zip/files/patch-C_Aes.c new file mode 100644 index 000000000000..5c7f45168933 --- /dev/null +++ b/archivers/7-zip/files/patch-C_Aes.c @@ -0,0 +1,11 @@ +--- C/Aes.c.orig 2022-04-12 15:57:33 UTC ++++ C/Aes.c +@@ -55,7 +55,7 @@ static Byte InvS[256]; + + #ifdef MY_CPU_X86_OR_AMD64 + #define USE_HW_AES +-#elif defined(MY_CPU_ARM_OR_ARM64) && defined(MY_CPU_LE) ++#elif defined(MY_CPU_ARM) && defined(MY_CPU_LE) + #if defined(__clang__) + #if (__clang_major__ >= 8) // fix that check + #define USE_HW_AES diff --git a/archivers/7-zip/files/patch-C_AesOpt.c b/archivers/7-zip/files/patch-C_AesOpt.c new file mode 100644 index 000000000000..6366058533f0 --- /dev/null +++ b/archivers/7-zip/files/patch-C_AesOpt.c @@ -0,0 +1,38 @@ +--- C/AesOpt.c.orig 2022-04-12 15:59:22 UTC ++++ C/AesOpt.c +@@ -506,7 +506,7 @@ VAES_COMPAT_STUB (AesCtr_Code_HW) + #endif // ! USE_INTEL_VAES + + +-#elif defined(MY_CPU_ARM_OR_ARM64) && defined(MY_CPU_LE) ++#elif defined(MY_CPU_ARM64) && defined(MY_CPU_LE) + + #if defined(__clang__) + #if (__clang_major__ >= 8) // fix that check +@@ -773,4 +773,25 @@ AES_FUNC_START2 (AesCtr_Code_HW) + + #endif // USE_HW_AES + +-#endif // MY_CPU_ARM_OR_ARM64 ++#else ++ ++/* no USE_HW_AES */ ++ ++#pragma message("AES HW_SW stub was used") ++ ++#define AES_TYPE_keys UInt32 ++#define AES_TYPE_data Byte ++ ++#define AES_FUNC_START(name) \ ++ void MY_FAST_CALL name(UInt32 *p, Byte *data, size_t numBlocks) \ ++ ++#define AES_COMPAT_STUB(name) \ ++ AES_FUNC_START(name); \ ++ AES_FUNC_START(name ## _HW) \ ++ { name(p, data, numBlocks); } ++ ++AES_COMPAT_STUB (AesCbc_Encode) ++AES_COMPAT_STUB (AesCbc_Decode) ++AES_COMPAT_STUB (AesCtr_Code) ++ ++#endif diff --git a/archivers/7-zip/files/patch-C_CpuArch.c b/archivers/7-zip/files/patch-C_CpuArch.c index 579b684d4337..be204095f526 100644 --- a/archivers/7-zip/files/patch-C_CpuArch.c +++ b/archivers/7-zip/files/patch-C_CpuArch.c @@ -1,30 +1,38 @@ --- C/CpuArch.c.orig 2021-12-12 14:45:15 UTC +++ C/CpuArch.c -@@ -417,6 +417,23 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP +@@ -417,6 +417,31 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP #include +#if defined(__FreeBSD__) -+static UInt64 get_hwcap() { ++static unsigned long get_hwcap(int aux) { + unsigned long hwcap; -+ if(elf_aux_info(AT_HWCAP, &hwcap, sizeof(unsigned long)) != 0) { -+ return(0); ++ if (elf_aux_info(aux, &hwcap, sizeof hwcap) != 0) { ++ return 0; + } + return hwcap; +} + -+BoolInt CPU_IsSupported_CRC32(void) { return get_hwcap() & HWCAP_CRC32; } ++#ifdef MY_CPU_ARM64 ++BoolInt CPU_IsSupported_CRC32(void) { return get_hwcap(AT_HWCAP) & HWCAP_CRC32; } +BoolInt CPU_IsSupported_NEON(void) { return 1; } -+BoolInt CPU_IsSupported_SHA1(void){ return get_hwcap() & HWCAP_SHA1; } -+BoolInt CPU_IsSupported_SHA2(void) { return get_hwcap() & HWCAP_SHA2; } -+BoolInt CPU_IsSupported_AES(void) { return get_hwcap() & HWCAP_AES; } ++BoolInt CPU_IsSupported_SHA1(void){ return get_hwcap(AT_HWCAP) & HWCAP_SHA1; } ++BoolInt CPU_IsSupported_SHA2(void) { return get_hwcap(AT_HWCAP) & HWCAP_SHA2; } ++BoolInt CPU_IsSupported_AES(void) { return get_hwcap(AT_HWCAP) & HWCAP_AES; } ++#else /* MY_CPU_ARM */ ++BoolInt CPU_IsSupported_CRC32(void) { return get_hwcap(AT_HWCAP2) & HWCAP2_CRC32; } ++BoolInt CPU_IsSupported_NEON(void) { return get_hwcap(AT_HWCAP) & HWCAP_NEON; } ++BoolInt CPU_IsSupported_SHA1(void){ return get_hwcap(AT_HWCAP2) & HWCAP2_SHA1; } ++BoolInt CPU_IsSupported_SHA2(void) { return get_hwcap(AT_HWCAP2) & HWCAP2_SHA2; } ++BoolInt CPU_IsSupported_AES(void) { return get_hwcap(AT_HWCAP2) & HWCAP2_AES; } ++#endif + +#else // __FreeBSD__ + #define USE_HWCAP #ifdef USE_HWCAP -@@ -450,6 +467,7 @@ MY_HWCAP_CHECK_FUNC (SHA1) +@@ -450,6 +475,7 @@ MY_HWCAP_CHECK_FUNC (SHA1) MY_HWCAP_CHECK_FUNC (SHA2) MY_HWCAP_CHECK_FUNC (AES) diff --git a/archivers/7-zip/files/patch-C_Sha1Opt.c b/archivers/7-zip/files/patch-C_Sha1Opt.c new file mode 100644 index 000000000000..335ae642521d --- /dev/null +++ b/archivers/7-zip/files/patch-C_Sha1Opt.c @@ -0,0 +1,11 @@ +--- C/Sha1Opt.c.orig 2022-04-12 16:00:26 UTC ++++ C/Sha1Opt.c +@@ -212,7 +212,7 @@ void MY_FAST_CALL Sha1_UpdateBlocks_HW(UInt32 state[5] + + #endif // USE_HW_SHA + +-#elif defined(MY_CPU_ARM_OR_ARM64) ++#elif defined(MY_CPU_ARM64) + + #if defined(__clang__) + #if (__clang_major__ >= 8) // fix that check diff --git a/archivers/7-zip/files/patch-C_Sha256Opt.c b/archivers/7-zip/files/patch-C_Sha256Opt.c new file mode 100644 index 000000000000..3e1eaa16fe61 --- /dev/null +++ b/archivers/7-zip/files/patch-C_Sha256Opt.c @@ -0,0 +1,11 @@ +--- C/Sha256Opt.c.orig 2022-04-12 16:00:07 UTC ++++ C/Sha256Opt.c +@@ -212,7 +212,7 @@ void MY_FAST_CALL Sha256_UpdateBlocks_HW(UInt32 state[ + + #endif // USE_HW_SHA + +-#elif defined(MY_CPU_ARM_OR_ARM64) ++#elif defined(MY_CPU_ARM64) + + #if defined(__clang__) + #if (__clang_major__ >= 8) // fix that check