From c3cc59102cef5f3b87aa162c1c0bf9078f674202 Mon Sep 17 00:00:00 2001 From: Aditya Nugraha Date: Fri, 10 Jul 2026 21:56:03 +0700 Subject: [PATCH] libucontext: bump to 1.5.1 & glibc support Changelog: Changes from 1.5 to 1.5.1 ------------------------- * Rename public register definitions on x86 and x86_64 to avoid clashing with glibc definitions when built in freestanding mode. Patch contributed by Daan De Meyer. Changes from 1.4 to 1.5 ----------------------- * Workaround various header compatibility issues in glibc and bionic. * Allow ppc64 target to be built in freestanding mode. Changes from 1.3.3 to 1.4 ------------------------- * Add hard-float support to most architectures where relevant. Some patches contributed by Richard Campbell. Changes from 1.3.2 to 1.3.3 --------------------------- * Use `bl` instruction instead of explicit GOT lookup for `exit` in 64-bit PowerPC assembly. * Fix installation path for standalone libucontext headers. Patch contributed by Marian Buschsieweke. * Fix missing includes for freestanding builds. Patch contributed by David Leeds. Makefile: Disabled documents. Added glibc supports, and remove hardcoded musl dependency. Put test_libucontext_posix only available in musl runtime. Build system: x86/64 Build-tested: x86/64-glibc Build-tested: x86/64-musl Run-tested: x86/64-glibc Signed-off-by: Aditya Nugraha --- libs/libucontext/Makefile | 21 +++++++++++++++---- .../patches/001-fix-ppc-build.patch | 19 +++++++++++++++++ 2 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 libs/libucontext/patches/001-fix-ppc-build.patch diff --git a/libs/libucontext/Makefile b/libs/libucontext/Makefile index 3515eabe85..40c3f543d5 100644 --- a/libs/libucontext/Makefile +++ b/libs/libucontext/Makefile @@ -1,13 +1,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libucontext -PKG_VERSION:=1.3.2 +PKG_VERSION:=1.5.1 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/kaniini/libucontext +PKG_SOURCE_URL:=https://github.com/kaniini/libucontext.git PKG_SOURCE_VERSION:=$(PKG_NAME)-$(PKG_VERSION) -PKG_MIRROR_HASH:=eef55c05aca03c6d62672838638f49daa95ab8f9bf87126df32cedfe150e333c +PKG_MIRROR_HASH:=6c5f756f32418d8db52b715e1837e46ea2d94926ba93e74d202e2cf891eda1f0 PKG_MAINTAINER:=Volker Christian PKG_LICENSE:=ISC @@ -23,7 +23,6 @@ define Package/libucontext CATEGORY:=Libraries TITLE:=libucontext is a library which provides the ucontext.h C API URL:=https://github.com/kaniini/libucontext - DEPENDS:=@USE_MUSL endef define Package/libucontext-tests @@ -39,6 +38,18 @@ define Package/libucontext/description libraries/applications which need the SYS-V ucontext API. endef +MESON_ARGS += \ + -Ddocs=false + +ifneq ($(CONFIG_USE_MUSL),) +MESON_ARGS += \ + -Dfreestanding=false +else ifneq ($(CONFIG_USE_GLIBC),) +MESON_ARGS += \ + -Dfreestanding=true \ + -Dexport_unprefixed=false +endif + define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib/pkgconfig $(CP) $(PKG_INSTALL_DIR)/usr/include/libucontext $(1)/usr/include/ @@ -53,7 +64,9 @@ endef define Package/libucontext-tests/install $(INSTALL_DIR) $(1)/usr/bin +ifneq ($(CONFIG_USE_MUSL),) $(INSTALL_BIN) $(MESON_BUILD_DIR)/test_libucontext_posix $(1)/usr/bin/ +endif $(INSTALL_BIN) $(MESON_BUILD_DIR)/test_libucontext $(1)/usr/bin/ endef diff --git a/libs/libucontext/patches/001-fix-ppc-build.patch b/libs/libucontext/patches/001-fix-ppc-build.patch new file mode 100644 index 0000000000..d0517bf79b --- /dev/null +++ b/libs/libucontext/patches/001-fix-ppc-build.patch @@ -0,0 +1,19 @@ +From: Aditya Nugraha +Date: Wed Jul 10 22:49:00 2026 +0700 +Subject: [PATCH] Fixed ppc compilation + + Fixed ppc compilation for KERNEL_UAPI_UCONTEXT_SIZE is not found. + + Signed-off-by: Aditya Nugraha + +--- a/arch/ppc/defs.h ++++ b/arch/ppc/defs.h +@@ -1,7 +1,7 @@ + #ifndef __ARCH_PPC_DEFS_H + #define __ARCH_PPC_DEFS_H + +-#define KERNEL_UAPI_CONTEXT_SIZE (1184) ++#define KERNEL_UAPI_UCONTEXT_SIZE (1184) + + #define REG_R0 (0) + #define REG_R1 (1)