20240617-fix-wc_Sha256-overalignment #7652
Merged
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.
wolfssl/wolfcrypt/sha256.h
: in definition ofstruct wc_Sha256
, conditionalize alignment optimization ofdigest
andbuffer
slots ondefined(WC_64BIT_CPU)
, to avoid overalignment warnings on 32 bit targets. this also fixes overalignment ofstruct Hmac
.see https://www.wolfssl.com/forums/topic2125-armcc-byte-alignment-cannot-be-greater-than-8-bytes-warning.html
ARMCC
reportsWith this patch, the alignment of
struct Hmac
drops from 16 to 8 on 32 bit targets.tested with
wolfssl-multi-test.sh ... sanitizer-all-intelasm-c-fallback-fuzzer cross-aarch64-all-armasm-unittest-sanitizer cross-aarch64-all-noasm-unittest-sanitizer cross-armv7a-all-armasm-testsuite-sanitizer super-quick-check