s2n-bignum: Add prefix header to _s2n_bignum_internal.h #2510
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license.
AWS-LC's prefix build works by providing a 'prefix header' which prefixes global symbols through a series of
#define ...
directives. This header needs to be included ahead of the source files it applies to.#include
d throughxxx-xlate.pl
.--include
directive in the CMakeLists.txt. Similarly, the cc_builder in aws-lc-rs is patched to use such--include
clause when building s2n-bignum files.This commit simplifies and improves the transparency of prefix handling for s2n-bignum files (case 3): Instead of using an
--include
directive in the build files, it explicitly adds the prefix header in the header _s2n_bignum_internal.h. This header is included by all s2n-bignum assembly. This is functionally equivalent to the previous --include directive, but avoids having to patch CMakeLists.txt or cc_builder.The cc_builder patch can be removed from aws-lc-rs when convenient -- this commit renders the
--include
directive redundant, but not harmful.