Skip to content

fix(windows): register and qualify GLib and Cairo TLS callbacks - #56

Merged
zoeyrose merged 7 commits into
mainfrom
build/llvm-windows-glib-tls
Oct 11, 2026
Merged

zoeyrose merged 7 commits into
mainfrom
build/llvm-windows-glib-tls

Conversation

@zoeyrose

@zoeyrose zoeyrose commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Summary

Restore GLib and Cairo TLS callback registration in the LLVM-MinGW Windows SDK. The current DLLs retain their callback functions but omit the PE TLS directory, so Windows cannot call their attach/detach handlers.

Implementation / behavior

Require the CRT _tls_used definition when linking these two libraries. Preserve the dependency features, optimization settings and exported interfaces. Inspect the resulting PE callback tables and bind native probes to the exact DLL and executable hashes.

GLib qualification observes its private process-attach flag before invoking APIs and checks the configured GThread/GPrivate destructor path and explicit unload. Cairo qualification observes initialized mutexes before APIs, exercises surface/font use and checks unload/reload. Both probes run in the full candidate SDK native gate before publication.

A separate scoped Windows workflow builds repaired, original and relinked control DLLs using the immutable older LLVM SDK. Changes limited to this workflow also select full Windows SDK/native validation; a behavioral selector regression covers that path and a negative control. Cairo's three lanes use the same verified repaired GLib dependency so the Cairo checks remain isolated. This diagnostic workflow cannot publish images or promote aliases and does not replace full SDK qualification.

Validation

At exact head 8e02715, all 122 producer tooling tests pass. Compile checks, actionlint, ShellCheck and cumulative whitespace checks pass. Independent integrated source, CI interface/permissions and selector-fix reviews are clear. Codex code and security reviews are clear at this exact head; the earlier selector finding is fixed, covered by a behavioral regression and resolved.

The fenced sequential diagnostic build passes in 68 seconds within the 300-second workflow deadline. Both source-built pairs preserve their interfaces, every Cairo lane contains identical verified repaired GLib bytes, and the original SDK receipts remain unchanged.

Current-head focused native Windows run 38140297680 passes all six cases: both repaired candidates succeed without stderr, and all four controls produce expected unsuppressed diagnostics without timeouts. Independent artifact review verifies all 95 sealed files, source/recipe/tool bindings, actual PE callback/private-state records and native result/PID correspondence. Run head 8e02715 and synthetic checkout 7eba496 are recorded separately; both have the exact reviewed tree bc38ca2fa313a16c9f391fe66b83a3682ce46637. The earlier native run is retained as separate accepted evidence.

Complete SDK validation passes at this head, including LLVM, Linux, Classic, portable and both Windows image builds. Its native Windows gate passes both hash-bound library probes, all eight declared Classic checks, public CA/TLS verification and Opus decoding. Independent artifact review verifies the actual 148-file input bundle, 30 DLLs, 71 notices, current producer sources and native job results. Both repaired libraries produce the required attach/destructor/unload evidence without stderr. All required checks pass.

Limitations / follow-up

The diagnostic uses an older SDK for its compiler and unchanged dependencies; complete current-source SDK validation is accepted separately. Released Windows image pins in Classic and the workspace follow after accepted publication. This PR does not resolve the independently observed intermittent Classic client-close timeout or physical GPU/human golden-image acceptance.

Copy link
Copy Markdown
Member Author

@codex review

Please review exact head f65b231, especially targeted CRT TLS retention, PE callback/private-state binding, sealed native probes, Cairo's repaired transitive GLib isolation, six mandatory native control lanes and full SDK publication gates. All 121 tooling tests and lint/compile/whitespace checks pass; independent integrated source and CI reviews are clear. The actual sequential diagnostic build passes in 68 seconds. Actual Windows control execution and current-source full SDK acceptance are pending; this draft will not merge until all required checks and reviews are clear.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-11T16:26:15.276962Z 8e02715 Draft marked ready
🔒 Security Review ✅ Completed 2026-10-11T16:26:58.084396Z 8e02715 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review · Automatically triggered

Security review completed. No security issues were found in this pull request.

Reviewed commit: f65b231447

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f65b231447

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/windows-glib-qualification.yml

Copy link
Copy Markdown
Member Author

@codex review

Please review corrected exact head 8e02715. Your P2 change-selector finding is fixed with a behavioral regression and independently cleared. All 122 integrated tooling tests pass; lint/compile/whitespace checks pass. Earlier exact-tree focused native Windows evidence is independently accepted for all six cases; current-head focused and full SDK checks are rerunning. No merge until reviews and required current-head checks are clear.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Another round soon, please!

Reviewed commit: 8e02715102

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review · Automatically triggered

Security review completed. No security issues were found in this pull request.

Reviewed commit: 8e02715102

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@zoeyrose
zoeyrose marked this pull request as ready for review October 11, 2026 16:21

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8e02715102

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread windows/glib-tls-probe.c
@zoeyrose
zoeyrose merged commit 4af1305 into main Oct 11, 2026
27 of 29 checks passed
@zoeyrose
zoeyrose deleted the build/llvm-windows-glib-tls branch October 11, 2026 16:30
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.18.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant