Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: mail/sendmail not relaying on netbsd-9/sparc, problem with OpenSSL update?

> >> and one more
> >>
> >>   __sigaction_sigtramp(SIGILL...)
> >>
> >> Then, at the end:
> >>
> >>   PSIG  SIGILL SIG_DFL: code=ILL_ILLOPC, addr=0xedccbdf0, trap=2)
> Program was terminated due to an illegal opcode being detected in
> the gcm_ghash_4bit() assembly function:

yes.  John, can you, from gdb, print the value of
OPENSSL_sparcv9cap_P[0] and OPENSSL_sparcv9cap_P[1].  if 1<<6 is set
in the first, then the vis3 path will be taken in gcm_ghash_4bit().

it seems that these caps are setup wrongly.  you could try to
instrument OPENSSL_cpuid_setup() in 
crypto/external/bsd/openssl/dist/crypto/sparcv9cap.c to print the
various settigs.  it seems that SPARCV9_VIS3 is set.  note that
there are two places it can be set, but the first one is only for
_SVR4 so not used here.

nothing here seems changed with the update.  these values should
all be zero for real sparc 32 bit hardware (they're the sparcv9
caps after all :)

> 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.

good idea.


Home | Main Index | Thread Index | Old Index