GNU bug report logs -
#35650
[PATCH] Improving HP-UX support
Previous Next
Full log
Message #14 received at 35650 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 5/10/19 4:49 AM, Pádraig Brady wrote:
> this file comes from blake2 upstream source on github,
> so you might want to broach the change there.
I'll cc: this email to contact <at> blake2.net to let them know about the
problem (if you're just catching up you can see the thread at
<https://bugs.gnu.org/35650>).
We shouldn't simply push this problem upstream to the BLAKE2
maintainers, as the BLAKE2 code is now in coreutils and if it breaks a
build then it's our responsibility to fix it. So for now I installed the
attached patch into coreutils, which I hope works around the BLAKE2
code's problem.
The underlying problem is that the reference code's definition of the
BLAKE2_PACKED macro assumes that the compiler is compatible with either
GCC or with Microsoft's C compiler, and HP-UX aCC is neither. As far as
I can see, for blake2.h on typical current platforms, there is no need
to use __attribute__ ((oacked)) or the Microsoft equivalent because the
data structure is already packed well enough, so the attached patch
simply skips the attribute unless we know that it will work.
I also noticed that the BLAKE2 code is not portable code according to
either POSIX or to the C standard, since it assumes types like uint64_t
that both standards say are optional. If that's OK with the BLAKE2
maintainers then the attached patch should suffice, as it should be
"good enough" for most common platforms. If you want the code to be
portable, you'll need to arrange for it to pack and unpack by hand, at
least on platforms that don't support a packed attribute and/or don't
support types like uint64_t.
[0001-b2sum-port-to-HP-UX-C.txt (text/plain, attachment)]
This bug report was last modified 6 years and 92 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.