elfutils: fix aarch64 build
This commit is contained in:
parent
b155f7a75e
commit
96832c36bb
2 changed files with 26 additions and 1 deletions
25
srcpkgs/elfutils/patches/fix-aarch64_fregs.patch
Normal file
25
srcpkgs/elfutils/patches/fix-aarch64_fregs.patch
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
It looks like fregs.vregs[] is an array of double?
|
||||||
|
Casting to Dwarf_Word instead of & 0xFFFFFFF should do.
|
||||||
|
|
||||||
|
--- backends/aarch64_initreg.c 2015-11-27 14:36:29.000000000 +0100
|
||||||
|
+++ backends/aarch64_initreg.c 2016-08-09 03:47:25.428560159 +0200
|
||||||
|
@@ -33,7 +33,9 @@
|
||||||
|
#include "system.h"
|
||||||
|
#include <assert.h>
|
||||||
|
#ifdef __aarch64__
|
||||||
|
+#if defined(__GLIBC__)
|
||||||
|
# include <linux/uio.h>
|
||||||
|
+#endif
|
||||||
|
# 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 @@
|
||||||
|
|
||||||
|
Dwarf_Word dwarf_fregs[32];
|
||||||
|
for (int r = 0; r < 32; r++)
|
||||||
|
- dwarf_fregs[r] = fregs.vregs[r] & 0xFFFFFFFF;
|
||||||
|
+ dwarf_fregs[r] = (Dwarf_Word)fregs.vregs[r];
|
||||||
|
|
||||||
|
if (! setfunc (64, 32, dwarf_fregs, arg))
|
||||||
|
return false;
|
||||||
|
--- /tmp/musl/builddir/elfutils-0.166/backends/aarch64_initreg.c 2016-08-09 03:49:39.071557467 +0200
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'elfutils'
|
# Template file for 'elfutils'
|
||||||
pkgname=elfutils
|
pkgname=elfutils
|
||||||
version=0.166
|
version=0.166
|
||||||
revision=1
|
revision=2
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
configure_args="--program-prefix=eu-"
|
configure_args="--program-prefix=eu-"
|
||||||
hostmakedepends="automake libtool"
|
hostmakedepends="automake libtool"
|
||||||
|
|
Loading…
Reference in a new issue