Skip to content

Conversation

@achamayou
Copy link
Member

We no longer need to use the C ABI here.

@achamayou achamayou requested a review from a team as a code owner January 6, 2026 17:12
Copilot AI review requested due to automatic review settings January 6, 2026 17:12
Copy link
Contributor

Copilot AI left a comment

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 removes the C ABI requirement for enclave entry points by transitioning from extern "C" linkage to C++ namespace-scoped functions. The entry points enclave_create_node and enclave_run are now properly scoped within the ccf namespace, allowing for C++ linkage throughout the codebase.

  • Entry point functions moved from extern "C" to namespace ccf in both declaration and implementation
  • Linker flags for undefined symbols removed (no longer needed with C++ linkage)
  • Library link order corrected to ensure proper symbol resolution

Reviewed changes

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

File Description
src/enclave/main.cpp Changed entry point implementations from extern "C" to namespace ccf
src/enclave/entry_points.h Changed entry point declarations from extern "C" to namespace ccf
cmake/ccf_app.cmake Removed --undefined linker flags for entry points and corrected library link order

@achamayou achamayou enabled auto-merge (squash) January 6, 2026 18:30
@achamayou achamayou merged commit 9576b7b into main Jan 7, 2026
17 checks passed
@achamayou achamayou deleted the no_extern_c branch January 7, 2026 09:43
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.

3 participants