aboutsummaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
authorDavid Benjamin <davidben@google.com>2023-02-13 18:33:02 -0500
committerBoringssl LUCI CQ <boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-07-11 19:05:08 +0000
commit417069f8b2fd6dd4f8c2f5f69de7c038a2397050 (patch)
treea756b9a6d276c71b0b978fc9911cef88d7a934de /tool
parent8267582590020ca2877592084f3a56b2f6e3209b (diff)
downloadboringssl-417069f8b2fd6dd4f8c2f5f69de7c038a2397050.zip
boringssl-417069f8b2fd6dd4f8c2f5f69de7c038a2397050.tar.gz
boringssl-417069f8b2fd6dd4f8c2f5f69de7c038a2397050.tar.bz2
Make built-in curves static.
This replaces our dynamically creating singleton EC_GROUPs from curve data with static EC_GROUP instances. They're just shy of being fully static because delocate still forces us go to through CRYPTO_once to initialize structures with pointers. (Though, without delocate, the loader would need similar initialization via a runtime relocation.) This means we can now have functions like EC_group_p256(), analogous to EVP_sha256(). These are infallible functions that return const EC_GROUP pointers. Although there is an initial 2KiB hit to binary size (now we precompute a few more Montgomery values), I'm hoping it'll eventually help binaries that only use a few of the curves to drop the others. Also it removes some locks used to initialize the static curve objects, as well as removing an annoying error condition. Bug: 20 Change-Id: Id051c5439f2b2fe2b09bf10964d656503ee27d9e Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/60931 Commit-Queue: David Benjamin <davidben@google.com> Reviewed-by: Adam Langley <agl@google.com>
Diffstat (limited to 'tool')
0 files changed, 0 insertions, 0 deletions