maintainer-approval requested: [Bug 246419] security/nss: fix build on powerpc64 elfv1 : [Attachment 214420] v3

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue May 12 18:23:11 UTC 2020


Piotr Kubaj <pkubaj at FreeBSD.org> has asked freebsd-gecko mailing list
<gecko at FreeBSD.org> for maintainer-approval:
Bug 246419: security/nss: fix build on powerpc64 elfv1
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246419

Attachment 214420: v3
https://bugs.freebsd.org/bugzilla/attachment.cgi?id=214420&action=edit



--- Comment #3 from Piotr Kubaj <pkubaj at FreeBSD.org> ---
Created attachment 214420
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=214420&action=edit
v3

More correct solution.

The previous patch worked, but sha512-p8 wasn't included in the final binary
because USE_PPC_CRYPTO is disabled. sha512-p8 was just built, but not used
earlier. This is why all tests passed.

The problem with it is that the assembly is tailored to little-endian and won't
work on big-endian. However, there is a proper script to generate sha512-p8 for
big-endian, both elfv1 and elfv2. There is also a variant for 32-bit powerpc.
Ideally, this script should run always, but upstream seems to have forgotten
that and just put the generated sha512-p8 to the source. This patch takes care
of running this script.

Also, since USE_PPC_CRYPTO works on big-endian, put an option to enable that.
It will use VSX, which is available on POWER8 and newer. I made it available on
32 bits as well, just in case someone on VSX-capable machine wants to run
32-bit chroot or jail.


More information about the freebsd-gecko mailing list