diff options
Diffstat (limited to 'experimental/elfutils/fix-aarch64_fregs.patch')
-rw-r--r-- | experimental/elfutils/fix-aarch64_fregs.patch | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/experimental/elfutils/fix-aarch64_fregs.patch b/experimental/elfutils/fix-aarch64_fregs.patch new file mode 100644 index 000000000..400741639 --- /dev/null +++ b/experimental/elfutils/fix-aarch64_fregs.patch @@ -0,0 +1,14 @@ +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 +@@ -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; |