Fix GCC 13+ build error: blake2.h alignment constraints#144
Uh oh!
There was an error while loading. Please reload this page.
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