From 608abb3e165b1aace9417360c43f0ed23accf51b Mon Sep 17 00:00:00 2001 From: Tee KOBAYASHI Date: Wed, 3 May 2023 02:48:08 +0900 Subject: [PATCH] redis: Backport alignment fix --- packages/redis/build.sh | 6 +----- packages/redis/redis-7.0.11-alignment.patch | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 packages/redis/redis-7.0.11-alignment.patch diff --git a/packages/redis/build.sh b/packages/redis/build.sh index 144cf1325d..bc1ba60867 100644 --- a/packages/redis/build.sh +++ b/packages/redis/build.sh @@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="In-memory data structure store used as a database, cache TERMUX_PKG_LICENSE="BSD 3-Clause" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION=7.0.11 +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://download.redis.io/releases/redis-$TERMUX_PKG_VERSION.tar.gz TERMUX_PKG_SHA256=ce250d1fba042c613de38a15d40889b78f7cb6d5461a27e35017ba39b07221e3 TERMUX_PKG_DEPENDS="libandroid-execinfo, libandroid-glob" @@ -16,11 +17,6 @@ termux_step_pre_configure() { CPPFLAGS+=" -DHAVE_BACKTRACE" CFLAGS+=" $CPPFLAGS" LDFLAGS+=" -landroid-execinfo -landroid-glob" - - # https://github.com/termux/termux-packages/issues/15849 - if [ "$TERMUX_ARCH" = "arm" ]; then - CFLAGS="${CFLAGS/-mfpu=neon/} -mfpu=vfpv3" - fi } termux_step_post_make_install() { diff --git a/packages/redis/redis-7.0.11-alignment.patch b/packages/redis/redis-7.0.11-alignment.patch new file mode 100644 index 0000000000..a4f83ec82f --- /dev/null +++ b/packages/redis/redis-7.0.11-alignment.patch @@ -0,0 +1,19 @@ +https://github.com/termux/termux-packages/issues/15849 +Partial backport of https://github.com/redis/redis/commit/f3f6f7c0d66f136146a912e06c8fbe31ecfbc977 + +Please always test on arm (32-bit) arch if you modify or delete this patch. + +--- a/src/zmalloc.c ++++ b/src/zmalloc.c +@@ -60,8 +60,9 @@ + #ifdef HAVE_MALLOC_SIZE + #define PREFIX_SIZE (0) + #else +-#if defined(__sun) || defined(__sparc) || defined(__sparc__) +-#define PREFIX_SIZE (sizeof(long long)) ++/* Use at least 8 bytes alignment on all systems. */ ++#if SIZE_MAX < 0xffffffffffffffffull ++#define PREFIX_SIZE 8 + #else + #define PREFIX_SIZE (sizeof(size_t)) + #endif