[OpenSSL-1.0.2] TNF local patch - OPENSSL_rdtsc() uses non-atomic ops under 32bit PowerPC

Issue #163 resolved
Takehiko NOZAKI repo owner created an issue

Comments (3)

  1. Takehiko NOZAKI reporter

    BUGFIX: Issue #163 - OPENSSL_rdtsc() uses non-atomic ops under 32bit PowerPC.

    dist/crypto/ppccpuid.pl: don't read TBU, OPENSSL_rdtsc's return type is uint32_t and TBU is useless and discarded. lib/libcrypto/arch/powerpc{,64}/ppccpuid.S: regen and drop N local patch.

    TODO: 1.0.2 doesn't support some evbppc's CPU(eg. e500v2) lacks mftb instruction. to support these cpu, rewrite some code using mfspr instruction and time base register=268.

    this change taken from openssl's master branch(modified by me): https://github.com/openssl/openssl/commit/81eae077ce679c1d7d29e19991bf055e4888a2fc https://github.com/openssl/openssl/commit/c8f370485c43729db44b680e41e875ddd7f3108c

    original commit message:

    crpyto/ppccpuid.pl: add FPU probe and fix OPENSSL_rdtsc.

    Reviewed-by: Kurt Roeckx kurt@openssl.org

    PPC: Try out if mftb works before using it

    If this fails try out if mfspr268 works.

    Use OPENSSL_ppccap=0x20 for enabling mftb, OPENSSL_ppccap=0x40 for enabling mfspr268, and OPENSSL_ppccap=0 for enabling neither.

    Fixes #8012

    Reviewed-by: Paul Dale paul.dale@oracle.com (Merged from #8043)

    → <<cset 852e73837e5237086debb5e865b026b99a764ebd>>

  2. Log in to comment