Fix GCC 13+ build error: blake2.h alignment constraints #144
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.
Summary
ALIGN(64)from BLAKE2 state structures#pragma pack(pop)to correct positionProblem
GCC 13 and later enforce stricter alignment rules. Building fails with:
The
blake2s_stateandblake2b_statestructs were declared withALIGN(64)but their sizes are not multiples of 64 bytes. When used in arrays inside#pragma pack(push, 1), GCC 13 rejects this.Solution
ALIGN(64)fromblake2s_stateandblake2b_state- not needed for the reference (non-SIMD) implementation#pragma pack(pop)before the parallel state structures that contain arrays of these typesTesting
Fixes #143