CVSROOT: /cvs Module name: src Changes by: js...@cvs.openbsd.org 2023/01/28 09:33:34
Modified files: lib/libcrypto/bn: bn_div.c bn_local.h bn_word.c lib/libcrypto/bn/arch/amd64: bn_arch.h lib/libcrypto/bn/arch/i386: bn_arch.h Log message: Provide bn_div_rem_words() and make use of it. Provide a function that divides a double word (h:l) by d, returning the quotient q and the remainder r, such that q * d + r is equal to the numerator. Call this from the three places that currently implement this themselves. This is implemented with some slight indirection, which allows for per architecture implementations, replacing the define/macro tangle, which messes with variables that are not passed to it. Also remove a duplicate of bn_div_words() for the BN_ULLONG && BN_DIV2W case - this is already handled. ok tb@