Skip to content

fix(ci): update LLGo to v1.0.7 #54

Closed

Description

@MeteorsLiu

The CI workflow currently builds LLGo from 6fc2ef150f95d8b9331433f325fcb1b6ee5ad4e4, a development commit from 2026-08-28 between v1.0.0 and v1.0.1. Update the CI toolchain to the released LLGo v1.0.7.

Failure motivating the update

PR #45 fails in the Ubuntu native-binding test job:

TestNativeLibcLayouts/native_types/X__ComparFnT/size
Go layout = 16, C headers = 8

X__ComparFnT is a C comparison-function pointer alias marked // llgo:type C. The old compiler's size calculation unwraps the alias without checking its C calling convention, then adds an extra pointer as though it were a Go closure. All 214 new C function symbol-link checks pass; the failing assertion detects the callback alias size mismatch. The macOS job passes.

The verified v1.0.7 tag resolves to 53acb9a7ceb5658ad79f2cf1e03d0cc17fecfee6 and contains the C callback alias fixes; the fix commit is an ancestor of the release.

Requested update

  • Change the LLGo checkout ref in .github/workflows/go.yml to v1.0.7, separately from the generated libc binding changes.
  • Check the source-build recipe against the release: v1.0.7 declares Go 1.27.0 and github.com/xgo-dev/llvm v0.10.1, while the current workflow forcibly overrides the LLVM Go binding to v0.9.8.
  • Run the existing Ubuntu and macOS LLGo jobs with the updated toolchain and rerun PR feat(c): add libc bindings with native ABI coverage #45, keeping the native callback size assertion intact.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions