details will follow
so the patch committed in #722110 actually breaks compilation on ppc64le it will also break musl big-endian target which is ELFv2 ABI (but that's fine for now as we don't actively support it yet) upstream defines this #if defined(USE_PPC_CRYPTO) sha512_block_p8(&H[0], &W[0], 1); #else /* USE_PPC_CRYPTO */ in lib/freebl/sha512.c and sha512_block_p8 is in sha512-p8.s but 2 separate checks are used. so if USE_PPC_CRYPTO is defined but sha512-p8.s is not included we get build failure as in the log. idk why it's not included manually running abi check returns expected result > cc -dM -E - < /dev/null | grep _CALL_ELF | awk '{ print $3 }' > 2
Created attachment 647106 [details] nss build log
ok, getting closer added this to makefile $(error VAR is $(PPC_ABI)) > Makefile:271: *** VAR is #define _CALL_ELF 2. Stop. so the awk in the pipe does not work. and the reason is that local patch committed to our repo is a bit incorrect. it references args with single $ characters > PPC_ABI := $(shell $(CC) -dM -E - < /dev/null | grep _CALL_ELF | awk '{ print $3 }') but since it's in a makefile, it should be > PPC_ABI := $(shell $(CC) -dM -E - < /dev/null | awk '$$2 == "_CALL_ELF" {print $$3}') like upstream updated version v3 https://bug1642174.bmoattachments.org/attachment.cgi?id=9156182
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c5607e394bfaf88ebba5792ff2354e26c5707ee commit 5c5607e394bfaf88ebba5792ff2354e26c5707ee Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2020-06-29 20:59:31 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2020-06-29 21:02:18 +0000 dev-libs/nss: update ppc abi patch Bug: https://bugs.gentoo.org/722110 Closes: https://bugs.gentoo.org/730172 Package-Manager: Portage-2.3.103, Repoman-2.3.23 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> dev-libs/nss/files/nss-3.53-fix-building-on-ppc.patch | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)