diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2024-11-21 14:05:26 -0600 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2024-11-29 05:22:48 -0600 |
commit | 043f47ac299a4086a486818ac7b35e6bc5d0490b (patch) | |
tree | f31129bfffd65c1cea1f77b46957f553e392dbe9 /system/elfutils/aarch64-regs.patch | |
parent | 43026fcd8adaf1b38a44e4cafcec37460c50af8b (diff) | |
download | packages-043f47ac299a4086a486818ac7b35e6bc5d0490b.tar.gz packages-043f47ac299a4086a486818ac7b35e6bc5d0490b.tar.bz2 packages-043f47ac299a4086a486818ac7b35e6bc5d0490b.tar.xz packages-043f47ac299a4086a486818ac7b35e6bc5d0490b.zip |
system/elfutils: New package
Needed for kernel on x86 platforms.
Includes one patch from experimental/elfutils set.
Diffstat (limited to 'system/elfutils/aarch64-regs.patch')
-rw-r--r-- | system/elfutils/aarch64-regs.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/system/elfutils/aarch64-regs.patch b/system/elfutils/aarch64-regs.patch new file mode 100644 index 000000000..222c0527b --- /dev/null +++ b/system/elfutils/aarch64-regs.patch @@ -0,0 +1,57 @@ +https://www.sourceware.org/bugzilla/show_bug.cgi?id=25832 +https://cgit.openembedded.org/openembedded-core/plain/meta/recipes-devtools/elfutils/files/0006-Fix-build-on-aarch64-musl.patch +https://bugs.gentoo.org/693772 + +Other variants/links: +https://git.alpinelinux.org/aports/tree/main/elfutils/fix-aarch64_fregs.patch +https://github.com/gentoo/musl/blob/6450482b9b4463b57ac249c63b7ed796e9874c40/dev-libs/elfutils/files/0.178/fix-aarch64_fregs.patch + +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Tue, 15 Aug 2017 17:27:30 +0800 +Subject: [PATCH] Fix build on aarch64/musl + +Errors + +invalid operands to binary & (have 'long double' and 'unsigned int') + +error: redefinition + of 'struct iovec' + struct iovec { void *iov_base; size_t iov_len; }; + ^ +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Rebase to 0.170 +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> + +--- a/backends/aarch64_initreg.c ++++ b/backends/aarch64_initreg.c +@@ -33,7 +33,7 @@ + #include "system.h" + #include <assert.h> + #if defined(__aarch64__) && defined(__linux__) +-# include <linux/uio.h> ++# include <sys/uio.h> + # include <sys/user.h> + # include <sys/ptrace.h> + /* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */ +@@ -82,7 +82,7 @@ aarch64_set_initial_registers_tid (pid_t tid __attribute__ ((unused)), + + Dwarf_Word dwarf_fregs[32]; + for (int r = 0; r < 32; r++) +- dwarf_fregs[r] = fregs.vregs[r] & 0xFFFFFFFF; ++ dwarf_fregs[r] = (unsigned int)fregs.vregs[r] & 0xFFFFFFFF; + + if (! setfunc (64, 32, dwarf_fregs, arg)) + return false; +--- a/backends/arm_initreg.c ++++ b/backends/arm_initreg.c +@@ -38,7 +38,7 @@ + #endif + + #ifdef __aarch64__ +-# include <linux/uio.h> ++# include <sys/uio.h> + # include <sys/user.h> + # include <sys/ptrace.h> + /* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */ |