* Re: [PR PATCH] [Updated] pagesize fixes for compat with rpi5-kernel
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-48194@inbox.vuxu.org>
@ 2024-01-13 9:31 ` classabbyamp
2024-01-13 9:35 ` classabbyamp
` (6 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: classabbyamp @ 2024-01-13 9:31 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 612 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages rpi5-fixes
https://github.com/void-linux/void-packages/pull/48194
pagesize fixes for compat with rpi5-kernel
various changes based on https://github.com/AsahiLinux/docs/wiki/Broken-Software#broken-packages
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
A patch file from https://github.com/void-linux/void-packages/pull/48194.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-rpi5-fixes-48194.patch --]
[-- Type: text/x-diff, Size: 21174 bytes --]
From 268ce76b04b1335d370409018e748766d8067d6e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 03:54:31 -0500
Subject: [PATCH 1/4] jemalloc: support larger pagesizes
---
srcpkgs/jemalloc/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/jemalloc/template b/srcpkgs/jemalloc/template
index eb7efd5dfd75d..2ce569289f9f5 100644
--- a/srcpkgs/jemalloc/template
+++ b/srcpkgs/jemalloc/template
@@ -1,9 +1,9 @@
# Template file for 'jemalloc'
pkgname=jemalloc
version=5.2.1
-revision=1
+revision=2
build_style=gnu-configure
-configure_args="je_cv_static_page_shift=12"
+configure_args="--with-lg-page=16"
short_desc="General-purpose scalable concurrent malloc(3) implementation"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-2-Clause"
From 5b5c7469032bca38e9f2ee7c0b4b98e517936481 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 03:55:06 -0500
Subject: [PATCH 2/4] common/build-helper/rust.sh: support larger pagesizes
intentionally not forcing the usage of system jemalloc because it builds
with an unprefixed malloc and thus jemalloc's malloc can unintentionally
be used for linked C libraries
---
common/build-helper/rust.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/common/build-helper/rust.sh b/common/build-helper/rust.sh
index 460aad6a12e12..22bfd980ba9e3 100644
--- a/common/build-helper/rust.sh
+++ b/common/build-helper/rust.sh
@@ -67,3 +67,6 @@ export RUSTONIG_SYSTEM_LIBONIG=1
# libsqlite3-sys
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
+
+# jemalloc-sys
+export JEMALLOC_SYS_WITH_LG_PAGE=16
From 8dad64acf182efb8cee01d3051d0edbab997fab2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 03:57:11 -0500
Subject: [PATCH 3/4] fd: rebuild to fix jemalloc on larger pagesizes
---
srcpkgs/fd/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/fd/template b/srcpkgs/fd/template
index 2bbe7b5dc114c..4630938b1645b 100644
--- a/srcpkgs/fd/template
+++ b/srcpkgs/fd/template
@@ -1,7 +1,7 @@
# Template file for 'fd'
pkgname=fd
version=9.0.0
-revision=1
+revision=2
build_style=cargo
build_helper=qemu
short_desc="Simple, fast and user-friendly alternative to find"
From 43ecf52781f28a2759970fcf9ca1f0747feca013 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 04:30:35 -0500
Subject: [PATCH 4/4] libunwind: update to 1.7.2.
fixes pagesize issues for e.g. rpi5-kernel
---
srcpkgs/libunwind/patches/ppc32-musl.patch | 198 ---------------------
srcpkgs/libunwind/template | 12 +-
2 files changed, 4 insertions(+), 206 deletions(-)
delete mode 100644 srcpkgs/libunwind/patches/ppc32-musl.patch
diff --git a/srcpkgs/libunwind/patches/ppc32-musl.patch b/srcpkgs/libunwind/patches/ppc32-musl.patch
deleted file mode 100644
index dc4e894a6b9da..0000000000000
--- a/srcpkgs/libunwind/patches/ppc32-musl.patch
+++ /dev/null
@@ -1,198 +0,0 @@
---- a/src/ppc32/Ginit.c
-+++ b/src/ppc32/Ginit.c
-@@ -48,12 +48,12 @@ uc_addr (ucontext_t *uc, int reg)
- void *addr;
-
- if ((unsigned) (reg - UNW_PPC32_R0) < 32)
-- addr = &uc->uc_mcontext.uc_regs->gregs[reg - UNW_PPC32_R0];
-+ addr = &UC_REGS(*uc)->gregs[reg - UNW_PPC32_R0];
-
- else
- if ( ((unsigned) (reg - UNW_PPC32_F0) < 32) &&
- ((unsigned) (reg - UNW_PPC32_F0) >= 0) )
-- addr = &uc->uc_mcontext.uc_regs->fpregs.fpregs[reg - UNW_PPC32_F0];
-+ addr = &UC_REGS(*uc)->fpregs.fpregs[reg - UNW_PPC32_F0];
-
- else
- {
-@@ -76,7 +76,7 @@ uc_addr (ucontext_t *uc, int reg)
- default:
- return NULL;
- }
-- addr = &uc->uc_mcontext.uc_regs->gregs[gregs_idx];
-+ addr = &UC_REGS(*uc)->gregs[gregs_idx];
- }
- return addr;
- }
---- a/src/ppc32/ucontext_i.h
-+++ b/src/ppc32/ucontext_i.h
-@@ -42,87 +42,93 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
- //#define MQ_IDX 36
- #define LINK_IDX 36
-
-+#ifdef __GLIBC__
-+#define UC_REGS(uctx) ((uctx).uc_mcontext.uc_regs)
-+#else
-+#define UC_REGS(uctx) ((uctx).uc_regs)
-+#endif
-+
- /* These are dummy structures used only for obtaining the offsets of the
- various structure members. */
- static ucontext_t dmy_ctxt UNUSED;
-
--#define UC_MCONTEXT_GREGS_R0 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[0] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R1 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[1] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R2 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[2] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[3] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R4 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[4] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R5 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[5] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R6 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[6] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R7 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[7] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R8 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[8] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R9 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[9] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R10 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[10] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R11 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[11] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R12 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[12] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R13 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[13] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R14 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[14] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R15 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[15] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R16 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[16] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R17 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[17] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R18 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[18] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R19 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[19] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R20 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[20] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R21 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[21] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R22 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[22] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R23 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[23] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R24 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[24] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R25 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[25] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R26 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[26] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R27 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[27] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R28 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[28] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R29 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[29] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R30 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[30] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R31 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[31] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R0 ((void *)&UC_REGS(dmy_ctxt)->gregs[0] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R1 ((void *)&UC_REGS(dmy_ctxt)->gregs[1] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R2 ((void *)&UC_REGS(dmy_ctxt)->gregs[2] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R3 ((void *)&UC_REGS(dmy_ctxt)->gregs[3] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R4 ((void *)&UC_REGS(dmy_ctxt)->gregs[4] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R5 ((void *)&UC_REGS(dmy_ctxt)->gregs[5] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R6 ((void *)&UC_REGS(dmy_ctxt)->gregs[6] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R7 ((void *)&UC_REGS(dmy_ctxt)->gregs[7] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R8 ((void *)&UC_REGS(dmy_ctxt)->gregs[8] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R9 ((void *)&UC_REGS(dmy_ctxt)->gregs[9] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R10 ((void *)&UC_REGS(dmy_ctxt)->gregs[10] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R11 ((void *)&UC_REGS(dmy_ctxt)->gregs[11] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R12 ((void *)&UC_REGS(dmy_ctxt)->gregs[12] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R13 ((void *)&UC_REGS(dmy_ctxt)->gregs[13] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R14 ((void *)&UC_REGS(dmy_ctxt)->gregs[14] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R15 ((void *)&UC_REGS(dmy_ctxt)->gregs[15] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R16 ((void *)&UC_REGS(dmy_ctxt)->gregs[16] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R17 ((void *)&UC_REGS(dmy_ctxt)->gregs[17] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R18 ((void *)&UC_REGS(dmy_ctxt)->gregs[18] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R19 ((void *)&UC_REGS(dmy_ctxt)->gregs[19] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R20 ((void *)&UC_REGS(dmy_ctxt)->gregs[20] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R21 ((void *)&UC_REGS(dmy_ctxt)->gregs[21] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R22 ((void *)&UC_REGS(dmy_ctxt)->gregs[22] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R23 ((void *)&UC_REGS(dmy_ctxt)->gregs[23] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R24 ((void *)&UC_REGS(dmy_ctxt)->gregs[24] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R25 ((void *)&UC_REGS(dmy_ctxt)->gregs[25] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R26 ((void *)&UC_REGS(dmy_ctxt)->gregs[26] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R27 ((void *)&UC_REGS(dmy_ctxt)->gregs[27] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R28 ((void *)&UC_REGS(dmy_ctxt)->gregs[28] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R29 ((void *)&UC_REGS(dmy_ctxt)->gregs[29] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R30 ((void *)&UC_REGS(dmy_ctxt)->gregs[30] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R31 ((void *)&UC_REGS(dmy_ctxt)->gregs[31] - (void *)&dmy_ctxt)
-
--#define UC_MCONTEXT_GREGS_MSR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[MSR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_ORIG_GPR3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[ORIG_GPR3_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_CTR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[CTR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_LINK ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[LINK_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_XER ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[XER_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_CCR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[CCR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_SOFTE ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[SOFTE_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_TRAP ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[TRAP_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_DAR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[DAR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_DSISR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[DSISR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_RESULT ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[RESULT_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_MSR ((void *)&UC_REGS(dmy_ctxt)->gregs[MSR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_ORIG_GPR3 ((void *)&UC_REGS(dmy_ctxt)->gregs[ORIG_GPR3_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_CTR ((void *)&UC_REGS(dmy_ctxt)->gregs[CTR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_LINK ((void *)&UC_REGS(dmy_ctxt)->gregs[LINK_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_XER ((void *)&UC_REGS(dmy_ctxt)->gregs[XER_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_CCR ((void *)&UC_REGS(dmy_ctxt)->gregs[CCR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_SOFTE ((void *)&UC_REGS(dmy_ctxt)->gregs[SOFTE_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_TRAP ((void *)&UC_REGS(dmy_ctxt)->gregs[TRAP_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_DAR ((void *)&UC_REGS(dmy_ctxt)->gregs[DAR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_DSISR ((void *)&UC_REGS(dmy_ctxt)->gregs[DSISR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_RESULT ((void *)&UC_REGS(dmy_ctxt)->gregs[RESULT_IDX] - (void *)&dmy_ctxt)
-
--#define UC_MCONTEXT_FREGS_R0 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[0] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R1 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[1] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R2 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[2] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[3] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R4 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[4] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R5 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[5] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R6 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[6] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R7 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[7] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R8 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[8] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R9 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[9] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R10 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[10] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R11 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[11] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R12 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[12] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R13 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[13] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R14 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[14] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R15 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[15] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R16 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[16] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R17 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[17] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R18 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[18] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R19 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[19] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R20 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[20] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R21 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[21] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R22 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[22] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R23 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[23] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R24 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[24] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R25 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[25] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R26 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[26] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R27 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[27] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R28 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[28] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R29 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[29] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R30 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[30] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R31 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[31] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_FPSCR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[32] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R0 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[0] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R1 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[1] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R2 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[2] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R3 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[3] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R4 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[4] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R5 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[5] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R6 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[6] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R7 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[7] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R8 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[8] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R9 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[9] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R10 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[10] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R11 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[11] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R12 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[12] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R13 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[13] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R14 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[14] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R15 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[15] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R16 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[16] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R17 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[17] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R18 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[18] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R19 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[19] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R20 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[20] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R21 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[21] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R22 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[22] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R23 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[23] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R24 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[24] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R25 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[25] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R26 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[26] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R27 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[27] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R28 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[28] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R29 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[29] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R30 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[30] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R31 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[31] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_FPSCR ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[32] - (void *)&dmy_ctxt)
-
- #endif
diff --git a/srcpkgs/libunwind/template b/srcpkgs/libunwind/template
index d4819ce54acd0..ab09553a44075 100644
--- a/srcpkgs/libunwind/template
+++ b/srcpkgs/libunwind/template
@@ -1,7 +1,7 @@
# Template file for 'libunwind'
pkgname=libunwind
-version=1.5.0
-revision=3
+version=1.7.2
+revision=1
build_style=gnu-configure
hostmakedepends="libtool automake"
makedepends="liblzma-devel"
@@ -9,8 +9,8 @@ short_desc="Library to determine the call-chain of a program"
maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT"
homepage="https://www.nongnu.org/libunwind/"
-distfiles="${NONGNU_SITE}/${pkgname}/${pkgname}-${version/rc/-rc}.tar.gz"
-checksum=90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017
+distfiles="https://github.com/libunwind/libunwind/releases/download/v${version}/libunwind-${version}.tar.gz"
+checksum=a18a6a24307443a8ace7a8acc2ce79fbbe6826cd0edf98d6326d0225d6a5d6e6
CFLAGS="-fcommon"
@@ -30,10 +30,6 @@ case "$XBPS_TARGET_MACHINE" in
esac
pre_configure() {
- vsed -i '/SUBDIRS/s/tests//' Makefile.am
- # libunwind explicitly sets lib64 for ppc64 by default
- vsed -i '/libdir/s/lib64/lib/' configure.ac
-
# unw_getcontext is just getcontext on ppc*, separate lib for musl
# it needs to be here because it's used directly in a macro in a
# public header, so things using libunwind need linkage against it
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PR PATCH] [Updated] pagesize fixes for compat with rpi5-kernel
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-48194@inbox.vuxu.org>
2024-01-13 9:31 ` [PR PATCH] [Updated] pagesize fixes for compat with rpi5-kernel classabbyamp
@ 2024-01-13 9:35 ` classabbyamp
2024-01-13 9:38 ` classabbyamp
` (5 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: classabbyamp @ 2024-01-13 9:35 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 612 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages rpi5-fixes
https://github.com/void-linux/void-packages/pull/48194
pagesize fixes for compat with rpi5-kernel
various changes based on https://github.com/AsahiLinux/docs/wiki/Broken-Software#broken-packages
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
A patch file from https://github.com/void-linux/void-packages/pull/48194.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-rpi5-fixes-48194.patch --]
[-- Type: text/x-diff, Size: 22138 bytes --]
From 268ce76b04b1335d370409018e748766d8067d6e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 03:54:31 -0500
Subject: [PATCH 1/5] jemalloc: support larger pagesizes
---
srcpkgs/jemalloc/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/jemalloc/template b/srcpkgs/jemalloc/template
index eb7efd5dfd75d..2ce569289f9f5 100644
--- a/srcpkgs/jemalloc/template
+++ b/srcpkgs/jemalloc/template
@@ -1,9 +1,9 @@
# Template file for 'jemalloc'
pkgname=jemalloc
version=5.2.1
-revision=1
+revision=2
build_style=gnu-configure
-configure_args="je_cv_static_page_shift=12"
+configure_args="--with-lg-page=16"
short_desc="General-purpose scalable concurrent malloc(3) implementation"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-2-Clause"
From 5b5c7469032bca38e9f2ee7c0b4b98e517936481 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 03:55:06 -0500
Subject: [PATCH 2/5] common/build-helper/rust.sh: support larger pagesizes
intentionally not forcing the usage of system jemalloc because it builds
with an unprefixed malloc and thus jemalloc's malloc can unintentionally
be used for linked C libraries
---
common/build-helper/rust.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/common/build-helper/rust.sh b/common/build-helper/rust.sh
index 460aad6a12e12..22bfd980ba9e3 100644
--- a/common/build-helper/rust.sh
+++ b/common/build-helper/rust.sh
@@ -67,3 +67,6 @@ export RUSTONIG_SYSTEM_LIBONIG=1
# libsqlite3-sys
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
+
+# jemalloc-sys
+export JEMALLOC_SYS_WITH_LG_PAGE=16
From 8dad64acf182efb8cee01d3051d0edbab997fab2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 03:57:11 -0500
Subject: [PATCH 3/5] fd: rebuild to fix jemalloc on larger pagesizes
---
srcpkgs/fd/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/fd/template b/srcpkgs/fd/template
index 2bbe7b5dc114c..4630938b1645b 100644
--- a/srcpkgs/fd/template
+++ b/srcpkgs/fd/template
@@ -1,7 +1,7 @@
# Template file for 'fd'
pkgname=fd
version=9.0.0
-revision=1
+revision=2
build_style=cargo
build_helper=qemu
short_desc="Simple, fast and user-friendly alternative to find"
From 43ecf52781f28a2759970fcf9ca1f0747feca013 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 04:30:35 -0500
Subject: [PATCH 4/5] libunwind: update to 1.7.2.
fixes pagesize issues for e.g. rpi5-kernel
---
srcpkgs/libunwind/patches/ppc32-musl.patch | 198 ---------------------
srcpkgs/libunwind/template | 12 +-
2 files changed, 4 insertions(+), 206 deletions(-)
delete mode 100644 srcpkgs/libunwind/patches/ppc32-musl.patch
diff --git a/srcpkgs/libunwind/patches/ppc32-musl.patch b/srcpkgs/libunwind/patches/ppc32-musl.patch
deleted file mode 100644
index dc4e894a6b9da..0000000000000
--- a/srcpkgs/libunwind/patches/ppc32-musl.patch
+++ /dev/null
@@ -1,198 +0,0 @@
---- a/src/ppc32/Ginit.c
-+++ b/src/ppc32/Ginit.c
-@@ -48,12 +48,12 @@ uc_addr (ucontext_t *uc, int reg)
- void *addr;
-
- if ((unsigned) (reg - UNW_PPC32_R0) < 32)
-- addr = &uc->uc_mcontext.uc_regs->gregs[reg - UNW_PPC32_R0];
-+ addr = &UC_REGS(*uc)->gregs[reg - UNW_PPC32_R0];
-
- else
- if ( ((unsigned) (reg - UNW_PPC32_F0) < 32) &&
- ((unsigned) (reg - UNW_PPC32_F0) >= 0) )
-- addr = &uc->uc_mcontext.uc_regs->fpregs.fpregs[reg - UNW_PPC32_F0];
-+ addr = &UC_REGS(*uc)->fpregs.fpregs[reg - UNW_PPC32_F0];
-
- else
- {
-@@ -76,7 +76,7 @@ uc_addr (ucontext_t *uc, int reg)
- default:
- return NULL;
- }
-- addr = &uc->uc_mcontext.uc_regs->gregs[gregs_idx];
-+ addr = &UC_REGS(*uc)->gregs[gregs_idx];
- }
- return addr;
- }
---- a/src/ppc32/ucontext_i.h
-+++ b/src/ppc32/ucontext_i.h
-@@ -42,87 +42,93 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
- //#define MQ_IDX 36
- #define LINK_IDX 36
-
-+#ifdef __GLIBC__
-+#define UC_REGS(uctx) ((uctx).uc_mcontext.uc_regs)
-+#else
-+#define UC_REGS(uctx) ((uctx).uc_regs)
-+#endif
-+
- /* These are dummy structures used only for obtaining the offsets of the
- various structure members. */
- static ucontext_t dmy_ctxt UNUSED;
-
--#define UC_MCONTEXT_GREGS_R0 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[0] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R1 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[1] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R2 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[2] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[3] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R4 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[4] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R5 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[5] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R6 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[6] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R7 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[7] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R8 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[8] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R9 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[9] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R10 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[10] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R11 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[11] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R12 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[12] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R13 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[13] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R14 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[14] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R15 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[15] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R16 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[16] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R17 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[17] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R18 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[18] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R19 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[19] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R20 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[20] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R21 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[21] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R22 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[22] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R23 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[23] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R24 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[24] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R25 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[25] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R26 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[26] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R27 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[27] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R28 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[28] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R29 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[29] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R30 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[30] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R31 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[31] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R0 ((void *)&UC_REGS(dmy_ctxt)->gregs[0] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R1 ((void *)&UC_REGS(dmy_ctxt)->gregs[1] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R2 ((void *)&UC_REGS(dmy_ctxt)->gregs[2] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R3 ((void *)&UC_REGS(dmy_ctxt)->gregs[3] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R4 ((void *)&UC_REGS(dmy_ctxt)->gregs[4] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R5 ((void *)&UC_REGS(dmy_ctxt)->gregs[5] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R6 ((void *)&UC_REGS(dmy_ctxt)->gregs[6] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R7 ((void *)&UC_REGS(dmy_ctxt)->gregs[7] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R8 ((void *)&UC_REGS(dmy_ctxt)->gregs[8] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R9 ((void *)&UC_REGS(dmy_ctxt)->gregs[9] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R10 ((void *)&UC_REGS(dmy_ctxt)->gregs[10] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R11 ((void *)&UC_REGS(dmy_ctxt)->gregs[11] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R12 ((void *)&UC_REGS(dmy_ctxt)->gregs[12] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R13 ((void *)&UC_REGS(dmy_ctxt)->gregs[13] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R14 ((void *)&UC_REGS(dmy_ctxt)->gregs[14] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R15 ((void *)&UC_REGS(dmy_ctxt)->gregs[15] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R16 ((void *)&UC_REGS(dmy_ctxt)->gregs[16] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R17 ((void *)&UC_REGS(dmy_ctxt)->gregs[17] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R18 ((void *)&UC_REGS(dmy_ctxt)->gregs[18] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R19 ((void *)&UC_REGS(dmy_ctxt)->gregs[19] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R20 ((void *)&UC_REGS(dmy_ctxt)->gregs[20] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R21 ((void *)&UC_REGS(dmy_ctxt)->gregs[21] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R22 ((void *)&UC_REGS(dmy_ctxt)->gregs[22] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R23 ((void *)&UC_REGS(dmy_ctxt)->gregs[23] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R24 ((void *)&UC_REGS(dmy_ctxt)->gregs[24] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R25 ((void *)&UC_REGS(dmy_ctxt)->gregs[25] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R26 ((void *)&UC_REGS(dmy_ctxt)->gregs[26] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R27 ((void *)&UC_REGS(dmy_ctxt)->gregs[27] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R28 ((void *)&UC_REGS(dmy_ctxt)->gregs[28] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R29 ((void *)&UC_REGS(dmy_ctxt)->gregs[29] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R30 ((void *)&UC_REGS(dmy_ctxt)->gregs[30] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R31 ((void *)&UC_REGS(dmy_ctxt)->gregs[31] - (void *)&dmy_ctxt)
-
--#define UC_MCONTEXT_GREGS_MSR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[MSR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_ORIG_GPR3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[ORIG_GPR3_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_CTR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[CTR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_LINK ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[LINK_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_XER ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[XER_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_CCR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[CCR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_SOFTE ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[SOFTE_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_TRAP ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[TRAP_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_DAR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[DAR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_DSISR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[DSISR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_RESULT ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[RESULT_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_MSR ((void *)&UC_REGS(dmy_ctxt)->gregs[MSR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_ORIG_GPR3 ((void *)&UC_REGS(dmy_ctxt)->gregs[ORIG_GPR3_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_CTR ((void *)&UC_REGS(dmy_ctxt)->gregs[CTR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_LINK ((void *)&UC_REGS(dmy_ctxt)->gregs[LINK_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_XER ((void *)&UC_REGS(dmy_ctxt)->gregs[XER_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_CCR ((void *)&UC_REGS(dmy_ctxt)->gregs[CCR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_SOFTE ((void *)&UC_REGS(dmy_ctxt)->gregs[SOFTE_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_TRAP ((void *)&UC_REGS(dmy_ctxt)->gregs[TRAP_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_DAR ((void *)&UC_REGS(dmy_ctxt)->gregs[DAR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_DSISR ((void *)&UC_REGS(dmy_ctxt)->gregs[DSISR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_RESULT ((void *)&UC_REGS(dmy_ctxt)->gregs[RESULT_IDX] - (void *)&dmy_ctxt)
-
--#define UC_MCONTEXT_FREGS_R0 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[0] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R1 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[1] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R2 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[2] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[3] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R4 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[4] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R5 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[5] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R6 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[6] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R7 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[7] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R8 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[8] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R9 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[9] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R10 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[10] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R11 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[11] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R12 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[12] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R13 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[13] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R14 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[14] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R15 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[15] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R16 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[16] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R17 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[17] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R18 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[18] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R19 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[19] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R20 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[20] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R21 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[21] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R22 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[22] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R23 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[23] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R24 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[24] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R25 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[25] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R26 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[26] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R27 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[27] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R28 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[28] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R29 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[29] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R30 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[30] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R31 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[31] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_FPSCR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[32] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R0 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[0] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R1 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[1] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R2 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[2] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R3 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[3] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R4 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[4] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R5 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[5] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R6 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[6] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R7 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[7] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R8 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[8] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R9 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[9] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R10 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[10] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R11 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[11] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R12 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[12] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R13 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[13] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R14 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[14] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R15 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[15] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R16 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[16] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R17 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[17] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R18 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[18] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R19 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[19] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R20 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[20] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R21 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[21] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R22 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[22] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R23 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[23] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R24 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[24] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R25 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[25] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R26 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[26] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R27 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[27] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R28 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[28] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R29 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[29] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R30 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[30] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R31 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[31] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_FPSCR ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[32] - (void *)&dmy_ctxt)
-
- #endif
diff --git a/srcpkgs/libunwind/template b/srcpkgs/libunwind/template
index d4819ce54acd0..ab09553a44075 100644
--- a/srcpkgs/libunwind/template
+++ b/srcpkgs/libunwind/template
@@ -1,7 +1,7 @@
# Template file for 'libunwind'
pkgname=libunwind
-version=1.5.0
-revision=3
+version=1.7.2
+revision=1
build_style=gnu-configure
hostmakedepends="libtool automake"
makedepends="liblzma-devel"
@@ -9,8 +9,8 @@ short_desc="Library to determine the call-chain of a program"
maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT"
homepage="https://www.nongnu.org/libunwind/"
-distfiles="${NONGNU_SITE}/${pkgname}/${pkgname}-${version/rc/-rc}.tar.gz"
-checksum=90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017
+distfiles="https://github.com/libunwind/libunwind/releases/download/v${version}/libunwind-${version}.tar.gz"
+checksum=a18a6a24307443a8ace7a8acc2ce79fbbe6826cd0edf98d6326d0225d6a5d6e6
CFLAGS="-fcommon"
@@ -30,10 +30,6 @@ case "$XBPS_TARGET_MACHINE" in
esac
pre_configure() {
- vsed -i '/SUBDIRS/s/tests//' Makefile.am
- # libunwind explicitly sets lib64 for ppc64 by default
- vsed -i '/libdir/s/lib64/lib/' configure.ac
-
# unw_getcontext is just getcontext on ppc*, separate lib for musl
# it needs to be here because it's used directly in a macro in a
# public header, so things using libunwind need linkage against it
From 3720636281c594c2cbf521ced2da53abb449922e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 04:34:04 -0500
Subject: [PATCH 5/5] rust: support larger pagesizes with jemalloc
---
srcpkgs/rust/template | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template
index 42ff348004186..d33e713857ad3 100644
--- a/srcpkgs/rust/template
+++ b/srcpkgs/rust/template
@@ -9,7 +9,7 @@
#
pkgname=rust
version=1.75.0
-revision=1
+revision=2
hostmakedepends="curl pkg-config python3 tar cargo-bootstrap"
makedepends="libffi-devel ncurses-devel libxml2-devel zlib-devel llvm15"
depends="rust-std gcc"
@@ -153,6 +153,7 @@ do_configure() {
# of the cross host.
do_build() {
export RUST_BACKTRACE=1
+ export JEMALLOC_SYS_WITH_LG_PAGE=16
export CARGO_HOME="$wrksrc/.cargo"
export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
# prevent sysroot from leaking in
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: pagesize fixes for compat with rpi5-kernel
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-48194@inbox.vuxu.org>
2024-01-13 9:31 ` [PR PATCH] [Updated] pagesize fixes for compat with rpi5-kernel classabbyamp
2024-01-13 9:35 ` classabbyamp
@ 2024-01-13 9:38 ` classabbyamp
2024-01-13 9:48 ` [PR PATCH] [Updated] " classabbyamp
` (4 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: classabbyamp @ 2024-01-13 9:38 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 296 bytes --]
New comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/48194#issuecomment-1890396079
Comment:
at _minimum_, TODO:
- [ ] qt5-webengine
- [ ] qt6-webengine (pdf)
- [ ] redis?
- [ ] other rust jemalloc consumers (get them as they are found)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PR PATCH] [Updated] pagesize fixes for compat with rpi5-kernel
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-48194@inbox.vuxu.org>
` (2 preceding siblings ...)
2024-01-13 9:38 ` classabbyamp
@ 2024-01-13 9:48 ` classabbyamp
2024-01-13 9:55 ` 0x5c
` (3 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: classabbyamp @ 2024-01-13 9:48 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 612 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages rpi5-fixes
https://github.com/void-linux/void-packages/pull/48194
pagesize fixes for compat with rpi5-kernel
various changes based on https://github.com/AsahiLinux/docs/wiki/Broken-Software#broken-packages
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
A patch file from https://github.com/void-linux/void-packages/pull/48194.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-rpi5-fixes-48194.patch --]
[-- Type: text/x-diff, Size: 22524 bytes --]
From 82ecb64d2a4d858908dff95bd2280f482d7bb542 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 03:54:31 -0500
Subject: [PATCH 1/5] jemalloc: support larger pagesizes
---
srcpkgs/jemalloc/template | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/jemalloc/template b/srcpkgs/jemalloc/template
index eb7efd5dfd75d..66c857db0e7d9 100644
--- a/srcpkgs/jemalloc/template
+++ b/srcpkgs/jemalloc/template
@@ -1,14 +1,14 @@
# Template file for 'jemalloc'
pkgname=jemalloc
version=5.2.1
-revision=1
+revision=2
build_style=gnu-configure
-configure_args="je_cv_static_page_shift=12"
+configure_args="--with-lg-page=16"
short_desc="General-purpose scalable concurrent malloc(3) implementation"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-2-Clause"
homepage="http://jemalloc.net/"
-#changelog="https://raw.githubusercontent.com/jemalloc/jemalloc/master/ChangeLog"
+changelog="https://raw.githubusercontent.com/jemalloc/jemalloc/master/ChangeLog"
distfiles="https://github.com/jemalloc/jemalloc/releases/download/${version}/jemalloc-${version}.tar.bz2"
checksum=34330e5ce276099e2e8950d9335db5a875689a4c6a56751ef3b1d8c537f887f6
From 9c512cbb568913516898eb00102b893bf95c3a30 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 03:55:06 -0500
Subject: [PATCH 2/5] common/build-helper/rust.sh: support larger pagesizes
intentionally not forcing the usage of system jemalloc because it builds
with an unprefixed malloc and thus jemalloc's malloc can unintentionally
be used for linked C libraries
---
common/build-helper/rust.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/common/build-helper/rust.sh b/common/build-helper/rust.sh
index 460aad6a12e12..22bfd980ba9e3 100644
--- a/common/build-helper/rust.sh
+++ b/common/build-helper/rust.sh
@@ -67,3 +67,6 @@ export RUSTONIG_SYSTEM_LIBONIG=1
# libsqlite3-sys
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
+
+# jemalloc-sys
+export JEMALLOC_SYS_WITH_LG_PAGE=16
From be3c29d99b7def05123e4f79d2ae22bdc095e3a7 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 03:57:11 -0500
Subject: [PATCH 3/5] fd: rebuild to fix jemalloc on larger pagesizes
---
srcpkgs/fd/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/fd/template b/srcpkgs/fd/template
index 2bbe7b5dc114c..4630938b1645b 100644
--- a/srcpkgs/fd/template
+++ b/srcpkgs/fd/template
@@ -1,7 +1,7 @@
# Template file for 'fd'
pkgname=fd
version=9.0.0
-revision=1
+revision=2
build_style=cargo
build_helper=qemu
short_desc="Simple, fast and user-friendly alternative to find"
From 899b36104c889333ee2c1bd2ea40c2922497bbde Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 04:30:35 -0500
Subject: [PATCH 4/5] libunwind: update to 1.7.2.
fixes pagesize issues for e.g. rpi5-kernel
---
srcpkgs/libunwind/patches/ppc32-musl.patch | 198 ---------------------
srcpkgs/libunwind/template | 12 +-
2 files changed, 4 insertions(+), 206 deletions(-)
delete mode 100644 srcpkgs/libunwind/patches/ppc32-musl.patch
diff --git a/srcpkgs/libunwind/patches/ppc32-musl.patch b/srcpkgs/libunwind/patches/ppc32-musl.patch
deleted file mode 100644
index dc4e894a6b9da..0000000000000
--- a/srcpkgs/libunwind/patches/ppc32-musl.patch
+++ /dev/null
@@ -1,198 +0,0 @@
---- a/src/ppc32/Ginit.c
-+++ b/src/ppc32/Ginit.c
-@@ -48,12 +48,12 @@ uc_addr (ucontext_t *uc, int reg)
- void *addr;
-
- if ((unsigned) (reg - UNW_PPC32_R0) < 32)
-- addr = &uc->uc_mcontext.uc_regs->gregs[reg - UNW_PPC32_R0];
-+ addr = &UC_REGS(*uc)->gregs[reg - UNW_PPC32_R0];
-
- else
- if ( ((unsigned) (reg - UNW_PPC32_F0) < 32) &&
- ((unsigned) (reg - UNW_PPC32_F0) >= 0) )
-- addr = &uc->uc_mcontext.uc_regs->fpregs.fpregs[reg - UNW_PPC32_F0];
-+ addr = &UC_REGS(*uc)->fpregs.fpregs[reg - UNW_PPC32_F0];
-
- else
- {
-@@ -76,7 +76,7 @@ uc_addr (ucontext_t *uc, int reg)
- default:
- return NULL;
- }
-- addr = &uc->uc_mcontext.uc_regs->gregs[gregs_idx];
-+ addr = &UC_REGS(*uc)->gregs[gregs_idx];
- }
- return addr;
- }
---- a/src/ppc32/ucontext_i.h
-+++ b/src/ppc32/ucontext_i.h
-@@ -42,87 +42,93 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
- //#define MQ_IDX 36
- #define LINK_IDX 36
-
-+#ifdef __GLIBC__
-+#define UC_REGS(uctx) ((uctx).uc_mcontext.uc_regs)
-+#else
-+#define UC_REGS(uctx) ((uctx).uc_regs)
-+#endif
-+
- /* These are dummy structures used only for obtaining the offsets of the
- various structure members. */
- static ucontext_t dmy_ctxt UNUSED;
-
--#define UC_MCONTEXT_GREGS_R0 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[0] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R1 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[1] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R2 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[2] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[3] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R4 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[4] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R5 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[5] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R6 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[6] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R7 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[7] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R8 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[8] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R9 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[9] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R10 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[10] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R11 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[11] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R12 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[12] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R13 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[13] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R14 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[14] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R15 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[15] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R16 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[16] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R17 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[17] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R18 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[18] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R19 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[19] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R20 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[20] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R21 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[21] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R22 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[22] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R23 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[23] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R24 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[24] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R25 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[25] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R26 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[26] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R27 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[27] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R28 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[28] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R29 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[29] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R30 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[30] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R31 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[31] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R0 ((void *)&UC_REGS(dmy_ctxt)->gregs[0] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R1 ((void *)&UC_REGS(dmy_ctxt)->gregs[1] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R2 ((void *)&UC_REGS(dmy_ctxt)->gregs[2] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R3 ((void *)&UC_REGS(dmy_ctxt)->gregs[3] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R4 ((void *)&UC_REGS(dmy_ctxt)->gregs[4] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R5 ((void *)&UC_REGS(dmy_ctxt)->gregs[5] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R6 ((void *)&UC_REGS(dmy_ctxt)->gregs[6] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R7 ((void *)&UC_REGS(dmy_ctxt)->gregs[7] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R8 ((void *)&UC_REGS(dmy_ctxt)->gregs[8] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R9 ((void *)&UC_REGS(dmy_ctxt)->gregs[9] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R10 ((void *)&UC_REGS(dmy_ctxt)->gregs[10] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R11 ((void *)&UC_REGS(dmy_ctxt)->gregs[11] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R12 ((void *)&UC_REGS(dmy_ctxt)->gregs[12] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R13 ((void *)&UC_REGS(dmy_ctxt)->gregs[13] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R14 ((void *)&UC_REGS(dmy_ctxt)->gregs[14] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R15 ((void *)&UC_REGS(dmy_ctxt)->gregs[15] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R16 ((void *)&UC_REGS(dmy_ctxt)->gregs[16] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R17 ((void *)&UC_REGS(dmy_ctxt)->gregs[17] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R18 ((void *)&UC_REGS(dmy_ctxt)->gregs[18] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R19 ((void *)&UC_REGS(dmy_ctxt)->gregs[19] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R20 ((void *)&UC_REGS(dmy_ctxt)->gregs[20] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R21 ((void *)&UC_REGS(dmy_ctxt)->gregs[21] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R22 ((void *)&UC_REGS(dmy_ctxt)->gregs[22] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R23 ((void *)&UC_REGS(dmy_ctxt)->gregs[23] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R24 ((void *)&UC_REGS(dmy_ctxt)->gregs[24] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R25 ((void *)&UC_REGS(dmy_ctxt)->gregs[25] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R26 ((void *)&UC_REGS(dmy_ctxt)->gregs[26] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R27 ((void *)&UC_REGS(dmy_ctxt)->gregs[27] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R28 ((void *)&UC_REGS(dmy_ctxt)->gregs[28] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R29 ((void *)&UC_REGS(dmy_ctxt)->gregs[29] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R30 ((void *)&UC_REGS(dmy_ctxt)->gregs[30] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R31 ((void *)&UC_REGS(dmy_ctxt)->gregs[31] - (void *)&dmy_ctxt)
-
--#define UC_MCONTEXT_GREGS_MSR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[MSR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_ORIG_GPR3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[ORIG_GPR3_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_CTR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[CTR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_LINK ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[LINK_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_XER ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[XER_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_CCR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[CCR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_SOFTE ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[SOFTE_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_TRAP ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[TRAP_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_DAR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[DAR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_DSISR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[DSISR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_RESULT ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[RESULT_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_MSR ((void *)&UC_REGS(dmy_ctxt)->gregs[MSR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_ORIG_GPR3 ((void *)&UC_REGS(dmy_ctxt)->gregs[ORIG_GPR3_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_CTR ((void *)&UC_REGS(dmy_ctxt)->gregs[CTR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_LINK ((void *)&UC_REGS(dmy_ctxt)->gregs[LINK_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_XER ((void *)&UC_REGS(dmy_ctxt)->gregs[XER_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_CCR ((void *)&UC_REGS(dmy_ctxt)->gregs[CCR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_SOFTE ((void *)&UC_REGS(dmy_ctxt)->gregs[SOFTE_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_TRAP ((void *)&UC_REGS(dmy_ctxt)->gregs[TRAP_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_DAR ((void *)&UC_REGS(dmy_ctxt)->gregs[DAR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_DSISR ((void *)&UC_REGS(dmy_ctxt)->gregs[DSISR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_RESULT ((void *)&UC_REGS(dmy_ctxt)->gregs[RESULT_IDX] - (void *)&dmy_ctxt)
-
--#define UC_MCONTEXT_FREGS_R0 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[0] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R1 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[1] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R2 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[2] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[3] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R4 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[4] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R5 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[5] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R6 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[6] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R7 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[7] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R8 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[8] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R9 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[9] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R10 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[10] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R11 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[11] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R12 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[12] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R13 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[13] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R14 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[14] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R15 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[15] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R16 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[16] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R17 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[17] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R18 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[18] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R19 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[19] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R20 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[20] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R21 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[21] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R22 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[22] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R23 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[23] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R24 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[24] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R25 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[25] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R26 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[26] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R27 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[27] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R28 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[28] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R29 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[29] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R30 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[30] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R31 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[31] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_FPSCR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[32] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R0 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[0] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R1 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[1] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R2 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[2] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R3 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[3] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R4 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[4] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R5 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[5] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R6 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[6] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R7 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[7] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R8 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[8] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R9 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[9] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R10 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[10] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R11 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[11] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R12 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[12] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R13 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[13] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R14 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[14] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R15 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[15] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R16 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[16] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R17 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[17] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R18 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[18] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R19 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[19] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R20 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[20] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R21 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[21] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R22 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[22] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R23 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[23] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R24 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[24] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R25 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[25] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R26 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[26] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R27 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[27] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R28 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[28] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R29 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[29] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R30 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[30] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R31 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[31] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_FPSCR ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[32] - (void *)&dmy_ctxt)
-
- #endif
diff --git a/srcpkgs/libunwind/template b/srcpkgs/libunwind/template
index d4819ce54acd0..ab09553a44075 100644
--- a/srcpkgs/libunwind/template
+++ b/srcpkgs/libunwind/template
@@ -1,7 +1,7 @@
# Template file for 'libunwind'
pkgname=libunwind
-version=1.5.0
-revision=3
+version=1.7.2
+revision=1
build_style=gnu-configure
hostmakedepends="libtool automake"
makedepends="liblzma-devel"
@@ -9,8 +9,8 @@ short_desc="Library to determine the call-chain of a program"
maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT"
homepage="https://www.nongnu.org/libunwind/"
-distfiles="${NONGNU_SITE}/${pkgname}/${pkgname}-${version/rc/-rc}.tar.gz"
-checksum=90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017
+distfiles="https://github.com/libunwind/libunwind/releases/download/v${version}/libunwind-${version}.tar.gz"
+checksum=a18a6a24307443a8ace7a8acc2ce79fbbe6826cd0edf98d6326d0225d6a5d6e6
CFLAGS="-fcommon"
@@ -30,10 +30,6 @@ case "$XBPS_TARGET_MACHINE" in
esac
pre_configure() {
- vsed -i '/SUBDIRS/s/tests//' Makefile.am
- # libunwind explicitly sets lib64 for ppc64 by default
- vsed -i '/libdir/s/lib64/lib/' configure.ac
-
# unw_getcontext is just getcontext on ppc*, separate lib for musl
# it needs to be here because it's used directly in a macro in a
# public header, so things using libunwind need linkage against it
From 633a811d6c872375922f0985a268fcb52da956f9 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 04:34:04 -0500
Subject: [PATCH 5/5] rust: support larger pagesizes with jemalloc
---
srcpkgs/rust/template | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template
index 42ff348004186..d33e713857ad3 100644
--- a/srcpkgs/rust/template
+++ b/srcpkgs/rust/template
@@ -9,7 +9,7 @@
#
pkgname=rust
version=1.75.0
-revision=1
+revision=2
hostmakedepends="curl pkg-config python3 tar cargo-bootstrap"
makedepends="libffi-devel ncurses-devel libxml2-devel zlib-devel llvm15"
depends="rust-std gcc"
@@ -153,6 +153,7 @@ do_configure() {
# of the cross host.
do_build() {
export RUST_BACKTRACE=1
+ export JEMALLOC_SYS_WITH_LG_PAGE=16
export CARGO_HOME="$wrksrc/.cargo"
export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
# prevent sysroot from leaking in
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: pagesize fixes for compat with rpi5-kernel
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-48194@inbox.vuxu.org>
` (3 preceding siblings ...)
2024-01-13 9:48 ` [PR PATCH] [Updated] " classabbyamp
@ 2024-01-13 9:55 ` 0x5c
2024-01-13 9:57 ` classabbyamp
` (2 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: 0x5c @ 2024-01-13 9:55 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 270 bytes --]
New comment by 0x5c on void-packages repository
https://github.com/void-linux/void-packages/pull/48194#issuecomment-1890399399
Comment:
> [ ] redis?
Redis is just the jemalloc error on start; installing the fixed jemalloc without bumping redis allows it to start
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: pagesize fixes for compat with rpi5-kernel
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-48194@inbox.vuxu.org>
` (4 preceding siblings ...)
2024-01-13 9:55 ` 0x5c
@ 2024-01-13 9:57 ` classabbyamp
2024-01-17 20:26 ` [PR PATCH] [Updated] " classabbyamp
2024-01-18 3:11 ` [PR PATCH] [Merged]: " classabbyamp
7 siblings, 0 replies; 8+ messages in thread
From: classabbyamp @ 2024-01-13 9:57 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 296 bytes --]
New comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/48194#issuecomment-1890396079
Comment:
at _minimum_, TODO:
- [ ] qt5-webengine
- [ ] qt6-webengine (pdf)
- [x] redis?
- [ ] other rust jemalloc consumers (get them as they are found)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PR PATCH] [Updated] pagesize fixes for compat with rpi5-kernel
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-48194@inbox.vuxu.org>
` (5 preceding siblings ...)
2024-01-13 9:57 ` classabbyamp
@ 2024-01-17 20:26 ` classabbyamp
2024-01-18 3:11 ` [PR PATCH] [Merged]: " classabbyamp
7 siblings, 0 replies; 8+ messages in thread
From: classabbyamp @ 2024-01-17 20:26 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 612 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages rpi5-fixes
https://github.com/void-linux/void-packages/pull/48194
pagesize fixes for compat with rpi5-kernel
various changes based on https://github.com/AsahiLinux/docs/wiki/Broken-Software#broken-packages
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
A patch file from https://github.com/void-linux/void-packages/pull/48194.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-rpi5-fixes-48194.patch --]
[-- Type: text/x-diff, Size: 23617 bytes --]
From e102c2228f7c76f9914dee60ce8878df2c63f9ba Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 03:54:31 -0500
Subject: [PATCH 1/6] jemalloc: support larger pagesizes
---
srcpkgs/jemalloc/template | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/jemalloc/template b/srcpkgs/jemalloc/template
index eb7efd5dfd75d..66c857db0e7d9 100644
--- a/srcpkgs/jemalloc/template
+++ b/srcpkgs/jemalloc/template
@@ -1,14 +1,14 @@
# Template file for 'jemalloc'
pkgname=jemalloc
version=5.2.1
-revision=1
+revision=2
build_style=gnu-configure
-configure_args="je_cv_static_page_shift=12"
+configure_args="--with-lg-page=16"
short_desc="General-purpose scalable concurrent malloc(3) implementation"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-2-Clause"
homepage="http://jemalloc.net/"
-#changelog="https://raw.githubusercontent.com/jemalloc/jemalloc/master/ChangeLog"
+changelog="https://raw.githubusercontent.com/jemalloc/jemalloc/master/ChangeLog"
distfiles="https://github.com/jemalloc/jemalloc/releases/download/${version}/jemalloc-${version}.tar.bz2"
checksum=34330e5ce276099e2e8950d9335db5a875689a4c6a56751ef3b1d8c537f887f6
From 60abd25b2ddd02b5ebf84d5cec13fa3fcbb7851c Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 03:55:06 -0500
Subject: [PATCH 2/6] common/build-helper/rust.sh: support larger pagesizes
intentionally not forcing the usage of system jemalloc because it builds
with an unprefixed malloc and thus jemalloc's malloc can unintentionally
be used for linked C libraries
---
common/build-helper/rust.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/common/build-helper/rust.sh b/common/build-helper/rust.sh
index 460aad6a12e12..22bfd980ba9e3 100644
--- a/common/build-helper/rust.sh
+++ b/common/build-helper/rust.sh
@@ -67,3 +67,6 @@ export RUSTONIG_SYSTEM_LIBONIG=1
# libsqlite3-sys
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
+
+# jemalloc-sys
+export JEMALLOC_SYS_WITH_LG_PAGE=16
From 8b1271dc6250617c6c7f047cb0bbe7ab0cbd406b Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 03:57:11 -0500
Subject: [PATCH 3/6] fd: rebuild to fix jemalloc on larger pagesizes
---
srcpkgs/fd/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/fd/template b/srcpkgs/fd/template
index 2bbe7b5dc114c..4630938b1645b 100644
--- a/srcpkgs/fd/template
+++ b/srcpkgs/fd/template
@@ -1,7 +1,7 @@
# Template file for 'fd'
pkgname=fd
version=9.0.0
-revision=1
+revision=2
build_style=cargo
build_helper=qemu
short_desc="Simple, fast and user-friendly alternative to find"
From 112f61f4d4017956721ac30b386e64bc125471de Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 04:30:35 -0500
Subject: [PATCH 4/6] libunwind: update to 1.7.2.
fixes pagesize issues for e.g. rpi5-kernel
---
srcpkgs/libunwind/patches/ppc32-musl.patch | 198 ---------------------
srcpkgs/libunwind/template | 12 +-
2 files changed, 4 insertions(+), 206 deletions(-)
delete mode 100644 srcpkgs/libunwind/patches/ppc32-musl.patch
diff --git a/srcpkgs/libunwind/patches/ppc32-musl.patch b/srcpkgs/libunwind/patches/ppc32-musl.patch
deleted file mode 100644
index dc4e894a6b9da..0000000000000
--- a/srcpkgs/libunwind/patches/ppc32-musl.patch
+++ /dev/null
@@ -1,198 +0,0 @@
---- a/src/ppc32/Ginit.c
-+++ b/src/ppc32/Ginit.c
-@@ -48,12 +48,12 @@ uc_addr (ucontext_t *uc, int reg)
- void *addr;
-
- if ((unsigned) (reg - UNW_PPC32_R0) < 32)
-- addr = &uc->uc_mcontext.uc_regs->gregs[reg - UNW_PPC32_R0];
-+ addr = &UC_REGS(*uc)->gregs[reg - UNW_PPC32_R0];
-
- else
- if ( ((unsigned) (reg - UNW_PPC32_F0) < 32) &&
- ((unsigned) (reg - UNW_PPC32_F0) >= 0) )
-- addr = &uc->uc_mcontext.uc_regs->fpregs.fpregs[reg - UNW_PPC32_F0];
-+ addr = &UC_REGS(*uc)->fpregs.fpregs[reg - UNW_PPC32_F0];
-
- else
- {
-@@ -76,7 +76,7 @@ uc_addr (ucontext_t *uc, int reg)
- default:
- return NULL;
- }
-- addr = &uc->uc_mcontext.uc_regs->gregs[gregs_idx];
-+ addr = &UC_REGS(*uc)->gregs[gregs_idx];
- }
- return addr;
- }
---- a/src/ppc32/ucontext_i.h
-+++ b/src/ppc32/ucontext_i.h
-@@ -42,87 +42,93 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
- //#define MQ_IDX 36
- #define LINK_IDX 36
-
-+#ifdef __GLIBC__
-+#define UC_REGS(uctx) ((uctx).uc_mcontext.uc_regs)
-+#else
-+#define UC_REGS(uctx) ((uctx).uc_regs)
-+#endif
-+
- /* These are dummy structures used only for obtaining the offsets of the
- various structure members. */
- static ucontext_t dmy_ctxt UNUSED;
-
--#define UC_MCONTEXT_GREGS_R0 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[0] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R1 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[1] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R2 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[2] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[3] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R4 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[4] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R5 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[5] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R6 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[6] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R7 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[7] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R8 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[8] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R9 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[9] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R10 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[10] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R11 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[11] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R12 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[12] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R13 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[13] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R14 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[14] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R15 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[15] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R16 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[16] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R17 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[17] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R18 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[18] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R19 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[19] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R20 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[20] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R21 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[21] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R22 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[22] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R23 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[23] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R24 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[24] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R25 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[25] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R26 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[26] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R27 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[27] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R28 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[28] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R29 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[29] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R30 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[30] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R31 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[31] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R0 ((void *)&UC_REGS(dmy_ctxt)->gregs[0] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R1 ((void *)&UC_REGS(dmy_ctxt)->gregs[1] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R2 ((void *)&UC_REGS(dmy_ctxt)->gregs[2] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R3 ((void *)&UC_REGS(dmy_ctxt)->gregs[3] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R4 ((void *)&UC_REGS(dmy_ctxt)->gregs[4] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R5 ((void *)&UC_REGS(dmy_ctxt)->gregs[5] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R6 ((void *)&UC_REGS(dmy_ctxt)->gregs[6] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R7 ((void *)&UC_REGS(dmy_ctxt)->gregs[7] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R8 ((void *)&UC_REGS(dmy_ctxt)->gregs[8] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R9 ((void *)&UC_REGS(dmy_ctxt)->gregs[9] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R10 ((void *)&UC_REGS(dmy_ctxt)->gregs[10] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R11 ((void *)&UC_REGS(dmy_ctxt)->gregs[11] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R12 ((void *)&UC_REGS(dmy_ctxt)->gregs[12] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R13 ((void *)&UC_REGS(dmy_ctxt)->gregs[13] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R14 ((void *)&UC_REGS(dmy_ctxt)->gregs[14] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R15 ((void *)&UC_REGS(dmy_ctxt)->gregs[15] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R16 ((void *)&UC_REGS(dmy_ctxt)->gregs[16] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R17 ((void *)&UC_REGS(dmy_ctxt)->gregs[17] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R18 ((void *)&UC_REGS(dmy_ctxt)->gregs[18] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R19 ((void *)&UC_REGS(dmy_ctxt)->gregs[19] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R20 ((void *)&UC_REGS(dmy_ctxt)->gregs[20] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R21 ((void *)&UC_REGS(dmy_ctxt)->gregs[21] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R22 ((void *)&UC_REGS(dmy_ctxt)->gregs[22] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R23 ((void *)&UC_REGS(dmy_ctxt)->gregs[23] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R24 ((void *)&UC_REGS(dmy_ctxt)->gregs[24] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R25 ((void *)&UC_REGS(dmy_ctxt)->gregs[25] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R26 ((void *)&UC_REGS(dmy_ctxt)->gregs[26] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R27 ((void *)&UC_REGS(dmy_ctxt)->gregs[27] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R28 ((void *)&UC_REGS(dmy_ctxt)->gregs[28] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R29 ((void *)&UC_REGS(dmy_ctxt)->gregs[29] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R30 ((void *)&UC_REGS(dmy_ctxt)->gregs[30] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R31 ((void *)&UC_REGS(dmy_ctxt)->gregs[31] - (void *)&dmy_ctxt)
-
--#define UC_MCONTEXT_GREGS_MSR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[MSR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_ORIG_GPR3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[ORIG_GPR3_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_CTR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[CTR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_LINK ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[LINK_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_XER ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[XER_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_CCR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[CCR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_SOFTE ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[SOFTE_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_TRAP ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[TRAP_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_DAR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[DAR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_DSISR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[DSISR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_RESULT ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[RESULT_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_MSR ((void *)&UC_REGS(dmy_ctxt)->gregs[MSR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_ORIG_GPR3 ((void *)&UC_REGS(dmy_ctxt)->gregs[ORIG_GPR3_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_CTR ((void *)&UC_REGS(dmy_ctxt)->gregs[CTR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_LINK ((void *)&UC_REGS(dmy_ctxt)->gregs[LINK_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_XER ((void *)&UC_REGS(dmy_ctxt)->gregs[XER_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_CCR ((void *)&UC_REGS(dmy_ctxt)->gregs[CCR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_SOFTE ((void *)&UC_REGS(dmy_ctxt)->gregs[SOFTE_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_TRAP ((void *)&UC_REGS(dmy_ctxt)->gregs[TRAP_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_DAR ((void *)&UC_REGS(dmy_ctxt)->gregs[DAR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_DSISR ((void *)&UC_REGS(dmy_ctxt)->gregs[DSISR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_RESULT ((void *)&UC_REGS(dmy_ctxt)->gregs[RESULT_IDX] - (void *)&dmy_ctxt)
-
--#define UC_MCONTEXT_FREGS_R0 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[0] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R1 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[1] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R2 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[2] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[3] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R4 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[4] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R5 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[5] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R6 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[6] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R7 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[7] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R8 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[8] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R9 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[9] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R10 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[10] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R11 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[11] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R12 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[12] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R13 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[13] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R14 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[14] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R15 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[15] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R16 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[16] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R17 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[17] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R18 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[18] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R19 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[19] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R20 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[20] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R21 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[21] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R22 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[22] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R23 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[23] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R24 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[24] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R25 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[25] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R26 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[26] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R27 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[27] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R28 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[28] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R29 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[29] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R30 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[30] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R31 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[31] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_FPSCR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[32] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R0 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[0] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R1 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[1] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R2 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[2] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R3 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[3] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R4 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[4] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R5 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[5] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R6 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[6] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R7 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[7] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R8 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[8] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R9 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[9] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R10 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[10] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R11 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[11] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R12 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[12] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R13 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[13] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R14 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[14] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R15 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[15] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R16 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[16] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R17 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[17] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R18 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[18] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R19 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[19] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R20 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[20] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R21 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[21] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R22 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[22] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R23 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[23] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R24 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[24] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R25 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[25] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R26 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[26] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R27 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[27] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R28 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[28] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R29 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[29] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R30 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[30] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R31 ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[31] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_FPSCR ((void *)&UC_REGS(dmy_ctxt)->fpregs.fpregs[32] - (void *)&dmy_ctxt)
-
- #endif
diff --git a/srcpkgs/libunwind/template b/srcpkgs/libunwind/template
index d4819ce54acd0..ab09553a44075 100644
--- a/srcpkgs/libunwind/template
+++ b/srcpkgs/libunwind/template
@@ -1,7 +1,7 @@
# Template file for 'libunwind'
pkgname=libunwind
-version=1.5.0
-revision=3
+version=1.7.2
+revision=1
build_style=gnu-configure
hostmakedepends="libtool automake"
makedepends="liblzma-devel"
@@ -9,8 +9,8 @@ short_desc="Library to determine the call-chain of a program"
maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT"
homepage="https://www.nongnu.org/libunwind/"
-distfiles="${NONGNU_SITE}/${pkgname}/${pkgname}-${version/rc/-rc}.tar.gz"
-checksum=90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017
+distfiles="https://github.com/libunwind/libunwind/releases/download/v${version}/libunwind-${version}.tar.gz"
+checksum=a18a6a24307443a8ace7a8acc2ce79fbbe6826cd0edf98d6326d0225d6a5d6e6
CFLAGS="-fcommon"
@@ -30,10 +30,6 @@ case "$XBPS_TARGET_MACHINE" in
esac
pre_configure() {
- vsed -i '/SUBDIRS/s/tests//' Makefile.am
- # libunwind explicitly sets lib64 for ppc64 by default
- vsed -i '/libdir/s/lib64/lib/' configure.ac
-
# unw_getcontext is just getcontext on ppc*, separate lib for musl
# it needs to be here because it's used directly in a macro in a
# public header, so things using libunwind need linkage against it
From a036c82376efbfdaf613b889bfc47c6c35c9e3cf Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 13 Jan 2024 04:34:04 -0500
Subject: [PATCH 5/6] rust: support larger pagesizes with jemalloc
---
srcpkgs/rust/template | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template
index 42ff348004186..d33e713857ad3 100644
--- a/srcpkgs/rust/template
+++ b/srcpkgs/rust/template
@@ -9,7 +9,7 @@
#
pkgname=rust
version=1.75.0
-revision=1
+revision=2
hostmakedepends="curl pkg-config python3 tar cargo-bootstrap"
makedepends="libffi-devel ncurses-devel libxml2-devel zlib-devel llvm15"
depends="rust-std gcc"
@@ -153,6 +153,7 @@ do_configure() {
# of the cross host.
do_build() {
export RUST_BACKTRACE=1
+ export JEMALLOC_SYS_WITH_LG_PAGE=16
export CARGO_HOME="$wrksrc/.cargo"
export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
# prevent sysroot from leaking in
From 55d2be342c1ef87075ee6fda7d343bc43de7221a Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Wed, 17 Jan 2024 15:26:00 -0500
Subject: [PATCH 6/6] fixup! libunwind: update to 1.7.2.
---
srcpkgs/libunwind/template | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/srcpkgs/libunwind/template b/srcpkgs/libunwind/template
index ab09553a44075..9eaa45a549714 100644
--- a/srcpkgs/libunwind/template
+++ b/srcpkgs/libunwind/template
@@ -11,6 +11,8 @@ license="MIT"
homepage="https://www.nongnu.org/libunwind/"
distfiles="https://github.com/libunwind/libunwind/releases/download/v${version}/libunwind-${version}.tar.gz"
checksum=a18a6a24307443a8ace7a8acc2ce79fbbe6826cd0edf98d6326d0225d6a5d6e6
+# many test failures
+make_check=no
CFLAGS="-fcommon"
@@ -29,6 +31,10 @@ case "$XBPS_TARGET_MACHINE" in
*) ;;
esac
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+ checkdepends+=" libexecinfo-devel"
+fi
+
pre_configure() {
# unw_getcontext is just getcontext on ppc*, separate lib for musl
# it needs to be here because it's used directly in a macro in a
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PR PATCH] [Merged]: pagesize fixes for compat with rpi5-kernel
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-48194@inbox.vuxu.org>
` (6 preceding siblings ...)
2024-01-17 20:26 ` [PR PATCH] [Updated] " classabbyamp
@ 2024-01-18 3:11 ` classabbyamp
7 siblings, 0 replies; 8+ messages in thread
From: classabbyamp @ 2024-01-18 3:11 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 443 bytes --]
There's a merged pull request on the void-packages repository
pagesize fixes for compat with rpi5-kernel
https://github.com/void-linux/void-packages/pull/48194
Description:
various changes based on https://github.com/AsahiLinux/docs/wiki/Broken-Software#broken-packages
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-01-18 3:11 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-48194@inbox.vuxu.org>
2024-01-13 9:31 ` [PR PATCH] [Updated] pagesize fixes for compat with rpi5-kernel classabbyamp
2024-01-13 9:35 ` classabbyamp
2024-01-13 9:38 ` classabbyamp
2024-01-13 9:48 ` [PR PATCH] [Updated] " classabbyamp
2024-01-13 9:55 ` 0x5c
2024-01-13 9:57 ` classabbyamp
2024-01-17 20:26 ` [PR PATCH] [Updated] " classabbyamp
2024-01-18 3:11 ` [PR PATCH] [Merged]: " classabbyamp
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).