Skip to content

Fix CK struct packing for Windows builds - #209

Open
holtrop-wolfssl wants to merge 3 commits into
wolfSSL:masterfrom
holtrop-wolfssl:issue208
Open

Fix CK struct packing for Windows builds#209
holtrop-wolfssl wants to merge 3 commits into
wolfSSL:masterfrom
holtrop-wolfssl:issue208

Conversation

@holtrop-wolfssl

Copy link
Copy Markdown

Resolves #208.

@holtrop-wolfssl holtrop-wolfssl self-assigned this Aug 3, 2026
Copilot AI review requested due to automatic review settings August 3, 2026 20:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses a Windows ABI mismatch in the exported PKCS#11 struct layouts (notably CK_FUNCTION_LIST) by enforcing 1-byte packing on Windows, preventing misaligned function pointer offsets returned by C_GetFunctionList. It also ensures the generated wolfpkcs11/options.h header is installed when using CMake so consumers can compile against the installed headers.

Changes:

  • Add Windows-only #pragma pack(push, 1) / #pragma pack(pop) around PKCS#11 struct definitions in wolfpkcs11/pkcs11.h (with an opt-out macro).
  • Install the generated options.h via CMake so <wolfpkcs11/options.h> is available to downstream builds.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
wolfpkcs11/pkcs11.h Applies Windows-specific 1-byte struct packing to match expected PKCS#11 ABI for CK_* structs/function lists.
CMakeLists.txt Installs the generated wolfpkcs11/options.h header so installed includes are complete for consumers.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@LinuxJedi

Copy link
Copy Markdown
Member

CI failure fixed in #210

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CK_FUNCTION_LIST has incorrect ABI on Windows

3 participants