+++ Mark Wielaard [2014-07-03 19:36 +0200]: > Hi Wookey (and hi Petr, see below, this is a debian elfutils aarch64 > backend bug report, see for full context http://bugs.debian.org/753552 > but the below is probably all you'll need) >
> aha. that is probably it... How odd none of the backends seem to handle > DW_ATE_boolean hmmm... The difference with the aarch64 backend is that > it explicitly returns -2 (weird type) if it encounters a boolean as > return value. > > I think a boolean is just like other integral types and so the following > is probably the correct fix (but I CCed Petr who wrote the original > backend and probably knows for sure). > > diff --git a/backends/aarch64_retval.c b/backends/aarch64_retval.c > index 0ed7d56..68de307 100644 > --- a/backends/aarch64_retval.c > +++ b/backends/aarch64_retval.c > @@ -357,6 +357,7 @@ aarch64_return_value_location (Dwarf_Die > *functypedie, const Dwarf_Op **locp) > size of the argument is less than or equal to 8 bytes > [...] the argument is copied to the least significant > bits in x[NGRN]. */ > + case DW_ATE_boolean: > case DW_ATE_signed: > case DW_ATE_unsigned: > case DW_ATE_unsigned_char: > > Would you be able to test with that? Yep. Builds and tests pass OK, so I guess that's good. Patch attached. Kurt, I assume you'll upload this reasonably soon? Wookey -- Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM http://wookware.org/
diff -Nru elfutils-0.159/debian/changelog elfutils-0.159/debian/changelog --- elfutils-0.159/debian/changelog 2014-06-24 20:15:39.000000000 +0000 +++ elfutils-0.159/debian/changelog 2014-07-03 18:09:52.000000000 +0000 @@ -1,3 +1,10 @@ +elfutils (0.159-4) UNRELEASED; urgency=medium + + * Fix failing run-native-test on arm64 (from Mark Wielaard) + (Closes: #753552) + + -- Wookey <woo...@debian.org> Thu, 03 Jul 2014 18:02:50 +0000 + elfutils (0.159-3) unstable; urgency=medium * Make it build again on the non linux ports. diff -Nru elfutils-0.159/debian/patches/aarch64-run-native-test-fix.patch elfutils-0.159/debian/patches/aarch64-run-native-test-fix.patch --- elfutils-0.159/debian/patches/aarch64-run-native-test-fix.patch 1970-01-01 00:00:00.000000000 +0000 +++ elfutils-0.159/debian/patches/aarch64-run-native-test-fix.patch 2014-07-03 17:53:04.000000000 +0000 @@ -0,0 +1,12 @@ +Index: elfutils-0.159/backends/aarch64_retval.c +=================================================================== +--- elfutils-0.159.orig/backends/aarch64_retval.c 2014-02-05 00:21:42.000000000 +0000 ++++ elfutils-0.159/backends/aarch64_retval.c 2014-07-03 17:52:54.263101929 +0000 +@@ -357,6 +357,7 @@ + size of the argument is less than or equal to 8 bytes + [...] the argument is copied to the least significant + bits in x[NGRN]. */ ++ case DW_ATE_boolean: + case DW_ATE_signed: + case DW_ATE_unsigned: + case DW_ATE_unsigned_char: diff -Nru elfutils-0.159/debian/patches/series elfutils-0.159/debian/patches/series --- elfutils-0.159/debian/patches/series 2014-06-24 20:14:21.000000000 +0000 +++ elfutils-0.159/debian/patches/series 2014-07-03 17:49:40.000000000 +0000 @@ -12,3 +12,4 @@ arm_unwind_ret_mask.patch non_linux.patch unaligned.patch +aarch64-run-native-test-fix.patch