Skip to content

fix(elfpatch): keep shared payload closures independent of SubOS scopes - #47

Merged
Sunrisepeak merged 2 commits into
mainfrom
fix/elfpatch-payload-closure-641
Oct 8, 2026
Merged

Sunrisepeak merged 2 commits into
mainfrom
fix/elfpatch-payload-closure-641

Conversation

@Sunrisepeak

@Sunrisepeak Sunrisepeak commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Shared package payloads are reused by multiple SubOS scopes, but elfpatch.closure_lib_paths() appended the installing scope’s lib directory to their RPATH. This froze one scope into shared binaries and caused PR #641’s exact root-closure validation to reject Luban core libraries.

Return only the package’s own library directories and its resolved runtime dependencies. Keep dependency overrides and build-dependency exclusion intact.

Validation: the new regression fails on the previous implementation for both scopes, showing the injected scope path. After the fix, all four local test programs pass; all 97 executor cases pass. Joint static xlings validation creates a fresh Luban core and runs GCC to compile and execute a C program successfully. The dependency fix is proposed separately for review; PR #641 will not be merged or released without the maintainer’s review.

Refs: openxlings/xlings#641

Candidate version: 0.0.62. After the version bump, all four local test programs pass again (97 executor cases). A local Linux clang22/libcxx22 release package builds successfully; SHA256 d87c2bd7891ad76dc85b9c631c52fe85d0663371b5f130d201cb47fe00362ccc. The existing index distributes one source archive across Linux, macOS and Windows; formal source-tag publication, mirroring and three-platform index updates remain pending. The precompiled Linux archive is supplemental build evidence. No merge or release has been performed.

Candidate head CI: https://github.com/openxlings/libxpkg/actions/runs/37804601384 passed. The new Elfpatch_ClosureRemainsPayloadDirectAcrossScopes regression actually ran and passed. This existing workflow excludes ExecutorTest.ApplyElfpatchAuto_*; 89 executor cases ran in CI, while all 97 ran locally.

Prepare the package version for review. Publication remains pending approval and platform release assets.
@Sunrisepeak
Sunrisepeak merged commit 912720f into main Oct 8, 2026
1 check passed
@Sunrisepeak
Sunrisepeak deleted the fix/elfpatch-payload-closure-641 branch October 8, 2026 23:26
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.

1 participant