diff options
| author | David Bauer | 2025-12-05 18:50:22 +0000 |
|---|---|---|
| committer | David Bauer | 2025-12-06 00:49:16 +0000 |
| commit | 00c8b5c612d07e36ede1e9ebe2b44ba88fa90000 (patch) | |
| tree | 3bc015a1db03deaff6e0f026469c9c1c54f2862c | |
| parent | 09e7b24ceb5d9310334c4f88327dc6d58052e7fd (diff) | |
| download | openwrt-00c8b5c612d07e36ede1e9ebe2b44ba88fa90000.tar.gz | |
libunwind: fix complie for PPC32
libunwind fails to compile because the include for the WORDSIZE
definition was missing when compiling with musl libc.
This lead to unw_word_t being defined as 64 bit long instead
of the correct 32 bit.
Signed-off-by: David Bauer <mail@david-bauer.net>
| -rw-r--r-- | package/libs/libunwind/Makefile | 2 | ||||
| -rw-r--r-- | package/libs/libunwind/patches/004-ppc-musl.patch | 26 |
2 files changed, 25 insertions, 3 deletions
diff --git a/package/libs/libunwind/Makefile b/package/libs/libunwind/Makefile index f2363116fc..2ed8988acd 100644 --- a/package/libs/libunwind/Makefile +++ b/package/libs/libunwind/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libunwind PKG_VERSION:=1.8.3 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/libunwind/libunwind/releases/download/v$(PKG_VERSION)/ diff --git a/package/libs/libunwind/patches/004-ppc-musl.patch b/package/libs/libunwind/patches/004-ppc-musl.patch index 5ea79e1462..22b803b785 100644 --- a/package/libs/libunwind/patches/004-ppc-musl.patch +++ b/package/libs/libunwind/patches/004-ppc-musl.patch @@ -1,6 +1,17 @@ --- a/include/libunwind-ppc32.h +++ b/include/libunwind-ppc32.h -@@ -81,6 +81,88 @@ typedef int64_t unw_sword_t; +@@ -40,6 +40,10 @@ extern "C" { + #include <stdint.h> + #include <ucontext.h> + ++#ifndef __GLIBC__ ++#include <bits/reg.h> ++#endif ++ + #ifndef UNW_EMPTY_STRUCT + # define UNW_EMPTY_STRUCT uint8_t unused; + #endif +@@ -81,6 +85,88 @@ typedef int64_t unw_sword_t; typedef long double unw_tdep_fpreg_t; @@ -91,7 +102,18 @@ UNW_PPC32_R0, --- a/include/libunwind-ppc64.h +++ b/include/libunwind-ppc64.h -@@ -88,6 +88,88 @@ typedef struct { +@@ -40,6 +40,10 @@ extern "C" { + #include <stdint.h> + #include <ucontext.h> + ++#ifndef __GLIBC__ ++#include <bits/reg.h> ++#endif ++ + #ifndef UNW_EMPTY_STRUCT + # define UNW_EMPTY_STRUCT uint8_t unused; + #endif +@@ -88,6 +92,88 @@ typedef struct { uint64_t halves[2]; } unw_tdep_vreg_t; |