aboutsummaryrefslogtreecommitdiffstats
path: root/testing/elfutils/fix-aarch64_fregs.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2017-02-13 17:05:57 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2017-02-14 18:50:06 +0000
commit69a9add8425a3ac8a4ce5294354a543c63d35e39 (patch)
tree1cb92f6d6bf1e7d89587d0a66e85fbc74be41372 /testing/elfutils/fix-aarch64_fregs.patch
parent7fac29dc3dc6a41096bf5f204c541b70f967291e (diff)
downloadaports-69a9add8425a3ac8a4ce5294354a543c63d35e39.tar.bz2
aports-69a9add8425a3ac8a4ce5294354a543c63d35e39.tar.xz
testing/elfutils: new aport
A collection of utilities and DSOs to handle ELF files and DWARF data http://elfutils.org/
Diffstat (limited to 'testing/elfutils/fix-aarch64_fregs.patch')
-rw-r--r--testing/elfutils/fix-aarch64_fregs.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/testing/elfutils/fix-aarch64_fregs.patch b/testing/elfutils/fix-aarch64_fregs.patch
new file mode 100644
index 0000000000..bafa8012cf
--- /dev/null
+++ b/testing/elfutils/fix-aarch64_fregs.patch
@@ -0,0 +1,22 @@
+It looks like fregs.vregs[] is an array of double?
+Casting to Dwarf_Word instead of & 0xFFFFFFF should do.
+
+--- a/backends/aarch64_initreg.c 2015-11-27 14:36:29.000000000 +0100
++++ b/backends/aarch64_initreg.c 2016-08-09 03:47:25.428560159 +0200
+@@ -33,7 +33,6 @@
+ #include "system.h"
+ #include <assert.h>
+ #ifdef __aarch64__
+-# include <linux/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 @@
+
+ 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;