Trying again as the original seems to have disappeared... On Thu, 8 Apr 2021, John D. Baker wrote:
> Date: Thu, 8 Apr 2021 02:36:07 -0500 (CDT) > From: John D. Baker <[email protected]> > To: RVP <[email protected]> > Cc: Martin Husemann <[email protected]>, John Nemeth <[email protected]>, > [email protected] > Subject: Re: mail/sendmail not relaying on netbsd-9/sparc, > problem with OpenSSL update? > > On Thu, 8 Apr 2021, RVP wrote: > > > As a workaround, until the offending opcode is found, try > > `#undef GHASH_ASM_SPARC' on line 692 in > > src/crypto/external/bsd/openssl/dist/crypto/modes/gcm128.c to force > > use of the C functions. > > A diff of "gcm128c" between -current and netbsd-9 before the pullup > shows: > > [...] > -# if defined(__arch64__) > -# define GHASH_ASM_SPARC > -# define GCM_FUNCREF_4BIT > +# define GHASH_ASM_SPARC > +# define GCM_FUNCREF_4BIT > extern unsigned int OPENSSL_sparcv9cap_P[]; > void gcm_init_vis3(u128 Htable[16], const u64 Xi[2]); > void gcm_gmult_vis3(u64 Xi[2], const u128 Htable[16]); > void gcm_ghash_vis3(u64 Xi[2], const u128 Htable[16], const u8 *inp, > size_t len); > -# endif > [...] > > That is, before the pull-up of OpenSSL 1.1.1k, the "GHASH_ASM_SPARC" > macro was conditionally defined iff "__arch64__" was also defined-- > likely an internal compiler definition. > > With -current and netbsd-9 after the pull up, that conditionalization > has been removed. The supplied assembly code (wrapped in a perl > script) implies by filename that it is for sparcv9 and up CPUs. > > Alas I don't know sparc assembly, so I will have to defer to others > whether it can be rendered harmless for sparcv8 and prior CPUs. > > Or just reinstate the above conditionalization. > > -- |/"\ John D. Baker, KN5UKS NetBSD Darwin/MacOS X |\ / jdbaker[snail]consolidated[flyspeck]net OpenBSD FreeBSD | X No HTML/proprietary data in email. BSD just sits there and works! |/ \ GPGkeyID: D703 4A7E 479F 63F8 D3F4 BD99 9572 8F23 E4AD 1645
