On Sat, 27 Feb 2021 13:05:09 +0100 Daniel Kiper <dki...@net-space.pl> wrote:
> On Thu, Feb 18, 2021 at 08:47:13PM -0600, Glenn Washburn wrote: > > For some reason PRIuGRUB_UINT64_T is not expanding to llu, but to > > lu, which causes the format string check to fail. Use literal and > > force cast until this is debugged. > > I think the problem is that currently BF64_DECODE() uses "1ULL". I > think it should look like this > > #define BF64_DECODE(x, low, len) P2PHASE((x) >> (low), > ((grub_uint64_t) 1) << (len)) > > instead of > > #define BF64_DECODE(x, low, len) P2PHASE((x) >> (low), 1ULL << > (len)) > > Same or similar for other macros there. > > I would prefer if you fix macros in include/grub/zfs/spa.h first and > then do proper fix here. Yep, completely agree, just hadn't figured out a proper solution. And not being familiar with the code and not doing the zfs functional tests (GitLab CI shared runners do not have zfs kernel support), I'm hesitant to make such intrusive changes. However, your suggestion is the better way to do it and I've confirmed that it work on i386 and x86_64. I'll update the patch in the next patch series. Glenn _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel