boringssl/crypto/err/bn.errordata
Adam Langley 29b186736c Precompute sorted array for error strings.
Previously, error strings were kept in arrays for each subdirectory and
err.c would iterate over them all and insert them at init time to a hash
table.

This means that, even if you have a shared library and lots of processes
using that, each process has ~30KB of private memory from building that
hash table.

This this change, all the error strings are built into a sorted list and
are thus static data. This means that processes can share the error
information and it actually saves binary space because of all the
pointer overhead in the old scheme. Also it saves the time taken
building the hash table at startup.

This removes support for externally-supplied error string data.

Change-Id: Ifca04f335c673a048e1a3e76ff2b69c7264635be
2015-02-09 17:35:31 -08:00

43 lines
1.3 KiB
Plaintext

BN,function,110,BN_CTX_get
BN,function,120,BN_CTX_new
BN,function,117,BN_CTX_start
BN,function,112,BN_bn2dec
BN,function,100,BN_bn2hex
BN,function,113,BN_div
BN,function,114,BN_div_recp
BN,function,102,BN_exp
BN,function,122,BN_generate_dsa_nonce
BN,function,123,BN_generate_prime_ex
BN,function,109,BN_mod_exp2_mont
BN,function,108,BN_mod_exp_mont
BN,function,115,BN_mod_exp_mont_consttime
BN,function,116,BN_mod_exp_mont_word
BN,function,111,BN_mod_inverse
BN,function,121,BN_mod_inverse_no_branch
BN,function,119,BN_mod_lshift_quick
BN,function,104,BN_mod_sqrt
BN,function,101,BN_new
BN,function,105,BN_rand
BN,function,106,BN_rand_range
BN,function,124,BN_sqrt
BN,function,118,BN_usub
BN,function,107,bn_wexpand
BN,function,103,mod_exp_recp
BN,reason,112,ARG2_LT_ARG3
BN,reason,109,BAD_RECIPROCAL
BN,reason,113,BIGNUM_TOO_LONG
BN,reason,115,BITS_TOO_SMALL
BN,reason,107,CALLED_WITH_EVEN_MODULUS
BN,reason,106,DIV_BY_ZERO
BN,reason,108,EXPAND_ON_STATIC_BIGNUM_DATA
BN,reason,102,INPUT_NOT_REDUCED
BN,reason,111,INVALID_RANGE
BN,reason,116,NEGATIVE_NUMBER
BN,reason,100,NOT_A_SQUARE
BN,reason,105,NOT_INITIALIZED
BN,reason,104,NO_INVERSE
BN,reason,114,PRIVATE_KEY_TOO_LARGE
BN,reason,110,P_IS_NOT_PRIME
BN,reason,101,TOO_MANY_ITERATIONS
BN,reason,103,TOO_MANY_TEMPORARY_VARIABLES