Created attachment 214416 [details] patch Upstream PR: https://bugzilla.mozilla.org/show_bug.cgi?id=1635625 I can confirm that tests pass: ../../coreconf/arch.mk:150: CPU_ARCH is not x86_64, disabling -mavx2 ../../coreconf/Werror.mk:92: Unable to find gcc 4.8 or greater, disabling -Werror ../../coreconf/arch.mk:150: CPU_ARCH is not x86_64, disabling -mavx2 ../../coreconf/Werror.mk:92: Unable to find gcc 4.8 or greater, disabling -Werror ../../coreconf/arch.mk:150: CPU_ARCH is not x86_64, disabling -mavx2 ../../coreconf/Werror.mk:92: Unable to find gcc 4.8 or greater, disabling -Werror ../../coreconf/arch.mk:150: CPU_ARCH is not x86_64, disabling -mavx2 ../../coreconf/Werror.mk:92: Unable to find gcc 4.8 or greater, disabling -Werror testdir is /usr/ports/security/nss/work/nss-3.52/tests_results/security ******************************************** Platform: FreeBSD12.1_OPT.OBJ Results: talos.5 ******************************************** init.sh init: Testing PATH .:/usr/ports/security/nss/work/nss-3.52/dist/FreeBSD12.1_OPT.OBJ/bin:/usr/ports/security/nss/work/nss-3.52/dist/FreeBSD12.1_OPT.OBJ/lib:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/root/bin against LIB /usr/ports/security/nss/work/nss-3.52/dist/FreeBSD12.1_OPT.OBJ/lib: Running test cycle: STANDARD ---------------------- List of tests that will be executed: gtests Running tests for gtests TIMESTAMP gtests BEGIN: Tue May 12 16:19:14 CEST 2020 /usr/ports/security/nss/work/nss-3.52/nss/tests/gtests gtests: cryptohi_gtest gtests.sh: cryptohi_gtest =============================== /usr/ports/security/nss/work/nss-3.52/dist/FreeBSD12.1_OPT.OBJ/bin/certutil -N -d /usr/ports/security/nss/work/nss-3.52/tests_results/security/talos.5/gtests/cryptohi_gtest --empty-password /usr/ports/security/nss/work/nss-3.52/dist/FreeBSD12.1_OPT.OBJ/bin/certutil -S -z ../tests_noise -d /usr/ports/security/nss/work/nss-3.52/tests_results/security/talos.5/gtests/cryptohi_gtest -n dummy -s CN=dummy -t ,, -x -m 1 -w -2 -v 120 -k ec -q nistp256 -Z SHA256 -1 -2 Generating key. This may take a few moments... 0 - Digital Signature 1 - Non-repudiation 2 - Key encipherment 3 - Data encipherment 4 - Key agreement 5 - Cert signing key 6 - CRL signing key Other to finish > 0 - Digital Signature 1 - Non-repudiation 2 - Key encipherment 3 - Data encipherment 4 - Key agreement 5 - Cert signing key 6 - CRL signing key Other to finish > Is this a critical extension [y/N]? Is this a CA certificate [y/N]? Enter the path length constraint, enter to skip [<0 for unlimited path]: > Is this a critical extension [y/N]? gtests.sh: #1: create certificate: dummy p256 sign - PASSED /usr/ports/security/nss/work/nss-3.52/tests_results/security/talos.5/gtests/cryptohi_gtest /usr/ports/security/nss/work/nss-3.52/tests_results/security/talos.5/gtests executing cryptohi_gtest Note: Google Test filter = *Hash* [==========] Running 48 tests from 2 test cases. [----------] Global test environment set-up. [----------] 36 tests from SignParamsTestCases/SignParamsTest [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/0 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/0 (120 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/1 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/1 (149 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/2 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/2 (125 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/3 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/3 (228 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/4 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/4 (276 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/5 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/5 (164 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/6 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/6 (127 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/7 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/7 (112 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/8 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/8 (199 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/9 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/9 (98 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/10 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/10 (253 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/11 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/11 (131 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/12 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/12 (278 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/13 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/13 (139 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/14 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/14 (206 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/15 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/15 (197 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/16 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/16 (159 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/17 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/17 (99 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/18 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/18 (159 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/19 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/19 (87 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/20 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/20 (114 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/21 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/21 (100 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/22 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/22 (200 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/23 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/23 (307 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/24 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/24 (158 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/25 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/25 (159 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/26 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/26 (111 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/27 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/27 (118 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/28 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/28 (153 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/29 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/29 (187 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/30 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/30 (111 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/31 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/31 (122 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/32 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/32 (124 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/33 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/33 (179 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/34 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/34 (201 ms) [ RUN ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/35 [ OK ] SignParamsTestCases/SignParamsTest.CreateRsaPssWithInvalidHashAlg/35 (164 ms) [----------] 36 tests from SignParamsTestCases/SignParamsTest (6176 ms total) [----------] 12 tests from SignParamsSourceTestCases/SignParamsSourceTest [ RUN ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithInvalidHashAlg/0 [ OK ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithInvalidHashAlg/0 (364 ms) [ RUN ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithInvalidHashAlg/1 [ OK ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithInvalidHashAlg/1 (136 ms) [ RUN ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithInvalidHashAlg/2 [ OK ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithInvalidHashAlg/2 (131 ms) [ RUN ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithInvalidHashAlg/3 [ OK ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithInvalidHashAlg/3 (268 ms) [ RUN ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithInvalidHashAlg/4 [ OK ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithInvalidHashAlg/4 (182 ms) [ RUN ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithInvalidHashAlg/5 [ OK ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithInvalidHashAlg/5 (172 ms) [ RUN ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithHashMismatch/0 [ OK ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithHashMismatch/0 (240 ms) [ RUN ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithHashMismatch/1 [ OK ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithHashMismatch/1 (93 ms) [ RUN ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithHashMismatch/2 [ OK ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithHashMismatch/2 (116 ms) [ RUN ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithHashMismatch/3 [ OK ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithHashMismatch/3 (154 ms) [ RUN ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithHashMismatch/4 [ OK ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithHashMismatch/4 (100 ms) [ RUN ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithHashMismatch/5 [ OK ] SignParamsSourceTestCases/SignParamsSourceTest.CreateRsaPssWithHashMismatch/5 (198 ms) [----------] 12 tests from SignParamsSourceTestCases/SignParamsSourceTest (2350 ms total) [----------] Global test environment tear-down [==========] 48 tests from 2 test cases ran. (8528 ms total) [ PASSED ] 48 tests. gtests.sh: #2: cryptohi_gtest run successfully - PASSED test output dir: /usr/ports/security/nss/work/nss-3.52/tests_results/security/talos.5/gtests/cryptohi_gtest/report.xml executing sed to parse the xml report processing the parsed report gtests.sh: #3: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/0 (0, 0)' - PASSED gtests.sh: #4: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/1 (0, 4)' - PASSED gtests.sh: #5: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/2 (0, 309)' - PASSED gtests.sh: #6: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/3 (0, 191)' - PASSED gtests.sh: #7: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/4 (0, 192)' - PASSED gtests.sh: #8: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/5 (0, 193)' - PASSED gtests.sh: #9: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/6 (4, 0)' - PASSED gtests.sh: #10: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/7 (4, 4)' - PASSED gtests.sh: #11: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/8 (4, 309)' - PASSED gtests.sh: #12: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/9 (4, 191)' - PASSED gtests.sh: #13: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/10 (4, 192)' - PASSED gtests.sh: #14: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/11 (4, 193)' - PASSED gtests.sh: #15: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/12 (309, 0)' - PASSED gtests.sh: #16: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/13 (309, 4)' - PASSED gtests.sh: #17: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/14 (309, 309)' - PASSED gtests.sh: #18: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/15 (309, 191)' - PASSED gtests.sh: #19: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/16 (309, 192)' - PASSED gtests.sh: #20: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/17 (309, 193)' - PASSED gtests.sh: #21: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/18 (191, 0)' - PASSED gtests.sh: #22: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/19 (191, 4)' - PASSED gtests.sh: #23: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/20 (191, 309)' - PASSED gtests.sh: #24: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/21 (191, 191)' - PASSED gtests.sh: #25: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/22 (191, 192)' - PASSED gtests.sh: #26: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/23 (191, 193)' - PASSED gtests.sh: #27: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/24 (192, 0)' - PASSED gtests.sh: #28: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/25 (192, 4)' - PASSED gtests.sh: #29: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/26 (192, 309)' - PASSED gtests.sh: #30: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/27 (192, 191)' - PASSED gtests.sh: #31: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/28 (192, 192)' - PASSED gtests.sh: #32: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/29 (192, 193)' - PASSED gtests.sh: #33: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/30 (193, 0)' - PASSED gtests.sh: #34: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/31 (193, 4)' - PASSED gtests.sh: #35: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/32 (193, 309)' - PASSED gtests.sh: #36: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/33 (193, 191)' - PASSED gtests.sh: #37: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/34 (193, 192)' - PASSED gtests.sh: #38: 'SignParamsTestCases/SignParamsTest: CreateRsaPssWithInvalidHashAlg/35 (193, 193)' - PASSED gtests.sh: #39: 'SignParamsSourceTestCases/SignParamsSourceTest: CreateRsaPssWithInvalidHashAlg/0 0' - PASSED gtests.sh: #40: 'SignParamsSourceTestCases/SignParamsSourceTest: CreateRsaPssWithInvalidHashAlg/1 4' - PASSED gtests.sh: #41: 'SignParamsSourceTestCases/SignParamsSourceTest: CreateRsaPssWithInvalidHashAlg/2 309' - PASSED gtests.sh: #42: 'SignParamsSourceTestCases/SignParamsSourceTest: CreateRsaPssWithInvalidHashAlg/3 191' - PASSED gtests.sh: #43: 'SignParamsSourceTestCases/SignParamsSourceTest: CreateRsaPssWithInvalidHashAlg/4 192' - PASSED gtests.sh: #44: 'SignParamsSourceTestCases/SignParamsSourceTest: CreateRsaPssWithInvalidHashAlg/5 193' - PASSED gtests.sh: #45: 'SignParamsSourceTestCases/SignParamsSourceTest: CreateRsaPssWithHashMismatch/0 0' - PASSED gtests.sh: #46: 'SignParamsSourceTestCases/SignParamsSourceTest: CreateRsaPssWithHashMismatch/1 4' - PASSED gtests.sh: #47: 'SignParamsSourceTestCases/SignParamsSourceTest: CreateRsaPssWithHashMismatch/2 309' - PASSED gtests.sh: #48: 'SignParamsSourceTestCases/SignParamsSourceTest: CreateRsaPssWithHashMismatch/3 191' - PASSED gtests.sh: #49: 'SignParamsSourceTestCases/SignParamsSourceTest: CreateRsaPssWithHashMismatch/4 192' - PASSED gtests.sh: #50: 'SignParamsSourceTestCases/SignParamsSourceTest: CreateRsaPssWithHashMismatch/5 193' - PASSED /usr/ports/security/nss/work/nss-3.52/tests_results/security/talos.5/gtests TIMESTAMP gtests END: Tue May 12 16:19:29 CEST 2020 SUMMARY: ======== NSS variables: -------------- HOST=talos DOMSUF=anongoth.pl BUILD_OPT=1 USE_64= NSS_CYCLES="standard" NSS_TESTS="gtests" NSS_SSL_TESTS="crl iopr policy normal_normal" NSS_SSL_RUN="cov auth stapling signed_cert_timestamps scheme" NSS_AIA_PATH= NSS_AIA_HTTP= NSS_AIA_OCSP= IOPR_HOSTADDR_LIST= PKITS_DATA= NSS_DISABLE_HW_AES= NSS_DISABLE_PCLMUL= NSS_DISABLE_AVX= NSS_DISABLE_ARM_NEON= NSS_DISABLE_SSSE3= Tests summary: -------------- Passed: 50 Failed: 0 Failed with core: 0 ASan failures: 0 Unknown status: 0 Please MFH that.
Comment on attachment 214416 [details] patch > -.abiversion 2 > +.abiversion 1 Can't you omit .abiversion to let the assembler use whatever is default on the target architecture?
Created attachment 214418 [details] v2 This indeed works as well and would actually be upstreamable. Another issue is that sha512-p8.s is also compiled on 32-bit ppc and breaks there: sha512-p8.s: Assembler messages: sha512-p8.s:9: Error: unknown pseudo-op: `.localentry' But that will require another fix.
Created attachment 214420 [details] 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.
Comment on attachment 214420 [details] v3 Looks OK. > VSX_DESC= Use VSX (POWER8 and newer) Maybe reword from SSE_DESC e.g., VSX_DESC= Use VSX optimized routines (POWER8 or newer)
A commit references this bug: Author: pkubaj Date: Fri May 15 18:30:22 UTC 2020 New revision: 535312 URL: https://svnweb.freebsd.org/changeset/ports/535312 Log: security/nss: fix build on powerpc and powerpc64 with gcc PR: 246419 Approved by: jbeich (maintainer) MFH: 2020Q2 (fix build blanket) Changes: head/security/nss/Makefile head/security/nss/files/powerpc-lib_freebl_scripts_gen.sh head/security/nss/files/powerpc64elfv1-lib_freebl_scripts_gen.sh head/security/nss/files/powerpc64elfv2-lib_freebl_scripts_gen.sh
A commit references this bug: Author: pkubaj Date: Fri May 15 18:31:17 UTC 2020 New revision: 535313 URL: https://svnweb.freebsd.org/changeset/ports/535313 Log: MFH: r535312 security/nss: fix build on powerpc and powerpc64 with gcc PR: 246419 Approved by: jbeich (maintainer) Approved by: portmgr (fix build blanket) Changes: _U branches/2020Q2/ branches/2020Q2/security/nss/Makefile branches/2020Q2/security/nss/files/powerpc-lib_freebl_scripts_gen.sh branches/2020Q2/security/nss/files/powerpc64elfv1-lib_freebl_scripts_gen.sh branches/2020Q2/security/nss/files/powerpc64elfv2-lib_freebl_scripts_gen.sh