From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.haj.ipfire.org (localhost [IPv6:::1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4frtZZ2Yl0z2yDM for ; Thu, 09 Apr 2026 08:36:38 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1 raw public key) server-digest SHA384 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mail01.haj.ipfire.org", Issuer "R12" (not verified)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4frtZZ2Dlxz2xKR for ; Thu, 09 Apr 2026 08:36:38 +0000 (UTC) Received: from people01.haj.ipfire.org (people01.haj.ipfire.org [IPv6:2001:678:b28::161]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bit raw public key) server-digest SHA256 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "people01.haj.ipfire.org", Issuer "E8" (not verified)) by mail01.ipfire.org (Postfix) with ESMTPS id 4frtZY4lMMz32r for ; Thu, 09 Apr 2026 08:36:37 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1775723797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc; bh=YHQJjlfKMbt7W1mA+t7SDyHyaxKRbRpM3iTmdCfx9vw=; b=7YgCrN3JE/rUBTjach/xI0t9vzR8Iu43cRG7ZqLbwOSBTgnYB5WPqW0J4Zd0+m9n8eBu3d AbR56amQIQhr5XCA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1775723797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc; bh=YHQJjlfKMbt7W1mA+t7SDyHyaxKRbRpM3iTmdCfx9vw=; b=aNBLYr1b7L99a3mjm59t84+b55mdD/5FWmHpjm/e2dq/QoQTzvIr9OSvP7EaTRkD68AnMm N/8F/jUr7GzWXj5GmqrTo5aQ8HFvHHIRmIOA39pfPDeE0LyRfGy4uCrQbIkV5FmnDVWISL WSJlvqk9JZpXntwqSmm9D3vwNF/wDPRP1wZRvTJmpk5B9eIfvHKifITYUep2UaizPzWDR2 RbXEp23qkXwypwOfuqbuDUKXiUwzdbVp+u8U6ah3Obw9DdG7FC7N4H3TancQFxRKd/vsfa OV0osx7jE0oAwStEuaPnKFBprL6WukgAqbTvE4ET4jiSqULSue390o3sFVUqsA== Received: by people01.haj.ipfire.org (Postfix, from userid 1000) id 4frtZS3V0Pz2xcL; Thu, 09 Apr 2026 08:36:32 +0000 (UTC) To: ipfire-scm@lists.ipfire.org Subject: [git.ipfire.org] IPFire 2.x development tree branch, next, updated. 9193150dfe23aa84c7d519bbc1c205664ca6ca86 X-Git-Refname: refs/heads/next X-Git-Reftype: branch X-Git-Oldrev: c4ae15e75de968e684161d9162a1575fc7f69a1f X-Git-Newrev: 9193150dfe23aa84c7d519bbc1c205664ca6ca86 Message-Id: <4frtZS3V0Pz2xcL@people01.haj.ipfire.org> Date: Thu, 09 Apr 2026 08:36:32 +0000 (UTC) From: Michael Tremer Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree". The branch, next has been updated via 9193150dfe23aa84c7d519bbc1c205664ca6ca86 (commit) from c4ae15e75de968e684161d9162a1575fc7f69a1f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 9193150dfe23aa84c7d519bbc1c205664ca6ca86 Author: Adolf Belka Date: Wed Apr 8 22:23:07 2026 +0200 libsodium: Add patch to enable 1.0.21 to build on aarch64 - The update to 1.0.21 resulted in libsodium not building on aarch64. A fix has b been developed and will ultimately be available with the next release. This uses that patch fix to be applied to 1.0.21 - Build tested on aarch64 and was successfull. Signed-off-by: Adolf Belka Signed-off-by: Michael Tremer ----------------------------------------------------------------------- Summary of changes: lfs/libsodium | 1 + ....0.21_fix_compilation_with_GCC_on_aarch64.patch | 33 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/patches/libsodium-1.0.21_fix_compilation_with_GCC_on_aarch64.patch Difference in files: diff --git a/lfs/libsodium b/lfs/libsodium index acd4a72dc..8f6605643 100644 --- a/lfs/libsodium +++ b/lfs/libsodium @@ -73,6 +73,7 @@ $(subst %,%_BLAKE2,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libsodium-1.0.21_fix_compilation_with_GCC_on_aarch64.patch cd $(DIR_APP) && ./configure \ --prefix=/usr \ --disable-static diff --git a/src/patches/libsodium-1.0.21_fix_compilation_with_GCC_on_aarch64.patch b/src/patches/libsodium-1.0.21_fix_compilation_with_GCC_on_aarch64.patch new file mode 100644 index 000000000..1ffdbd088 --- /dev/null +++ b/src/patches/libsodium-1.0.21_fix_compilation_with_GCC_on_aarch64.patch @@ -0,0 +1,33 @@ +diff --git a/src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c b/src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c +index c5a27e92ec..bad4ce3898 100644 +--- a/src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c ++++ b/src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c +@@ -37,7 +37,7 @@ typedef uint64x2_t BlockVec; + # define XOR128_3(a, b, c) veorq_u64(veorq_u64((a), (b)), (c)) + # define SET64x2(a, b) vsetq_lane_u64((uint64_t) (a), vmovq_n_u64((uint64_t) (b)), 1) + # define BYTESHL128(a, b) \ +- vreinterpretq_u64_u8(vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_u64(a), 16 - (b))) ++ vreinterpretq_u64_u8(vextq_u8(vdupq_n_u8(0), vreinterpretq_u8_u64(a), 16 - (b))) + + # define AES_XENCRYPT(block_vec, rkey) \ + vreinterpretq_u64_u8( \ +@@ -348,12 +348,12 @@ pfx_set_bit(uint8_t ip16[16], const unsigned int bit_index, const uint8_t bit_va + static void + pfx_shift_left(uint8_t ip16[16]) + { +- BlockVec v = LOAD128(ip16); +- const BlockVec shl = vshlq_n_u8(vreinterpretq_u8_u64(v), 1); +- const BlockVec msb = vshrq_n_u8(vreinterpretq_u8_u64(v), 7); +- const BlockVec zero = vdupq_n_u8(0); +- const BlockVec carries = vextq_u8(vreinterpretq_u8_u64(msb), zero, 1); +- v = vreinterpretq_u64_u8(vorrq_u8(shl, carries)); ++ BlockVec v = LOAD128(ip16); ++ const uint8x16_t shl = vshlq_n_u8(vreinterpretq_u8_u64(v), 1); ++ const uint8x16_t msb = vshrq_n_u8(vreinterpretq_u8_u64(v), 7); ++ const uint8x16_t zero = vdupq_n_u8(0); ++ const uint8x16_t carries = vextq_u8(msb, zero, 1); ++ v = vreinterpretq_u64_u8(vorrq_u8(shl, carries)); + STORE128(ip16, v); + } + + hooks/post-receive -- IPFire 2.x development tree