GNU bug report logs - #35650
[PATCH] Improving HP-UX support

Previous Next

Package: coreutils;

Reported by: "Osipov, Michael" <michael.osipov <at> siemens.com>

Date: Thu, 9 May 2019 14:34:02 UTC

Severity: normal

Tags: patch

Full log


Message #14 received at 35650 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Pádraig Brady <P <at> draigBrady.com>
Cc: contact <at> blake2.net, "Osipov, Michael" <michael.osipov <at> siemens.com>,
 35650 <at> debbugs.gnu.org
Subject: Re: bug#35650: [PATCH] Improving HP-UX support
Date: Sat, 11 May 2019 16:45:00 -0500
[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.