Skip to content

feat(libSceLibcInternal): declare 150 PS5 3.20 exports - #9665

Closed
xdCloudy wants to merge 5 commits into
boykopovar:mainfrom
xdCloudy:feat/libcinternal-pending-150-round6
Closed

xdCloudy wants to merge 5 commits into
boykopovar:mainfrom
xdCloudy:feat/libcinternal-pending-150-round6

Conversation

@xdCloudy

@xdCloudy xdCloudy commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

What

Adds 150 confirmed PS5 3.20 libSceLibcInternal export declarations. The symbol/NID pairs match the local import-stub inventory and public PS5 3.20 export inventory. Every declaration uses the repository's parameterless unknown-signature convention and calls NotImplemented_nid_no_patch; these are for import resolution only and make no ABI claims. The technical-debt file records every export and NID.

Tested

  • Rebased on upstream main at f26434afa36e58778a9ff4b948aea52dff19eb0c.
  • After the literal-NID fix, all 150 source/debt pairs match tools/nid_names.py exactly.
  • python -I tools/check_conventions.py --base upstream/main --head HEAD — passed locally.
  • git diff --check upstream/main...HEAD — passed locally.
  • The latest overlap bot could not compare shared CMake/debt paths with conflicting feat(libkernel): implement execv, execvp and execve process replacement #9669 and refactor(libSceLibcInternal): serve siginterrupt from libSceLibcInternal #10749. Their source changes are in process/signal implementation files, while this PR adds InventoryExports6.cpp; maintainers may still need to reconcile the shared CMake/debt sections.
  • Windows MinGW compiled and linked the target on an earlier head, before this rebase and NID correction. The WSL reconfigure stalled in a linker probe. No current Windows or WSL build pass is claimed.
  • Hosted platform/product build jobs are skipped for drafts; no full CI pass is claimed.

Checklist

@MarcZX10

MarcZX10 commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

I checked the exact head: the source contains 150 unique export aliases, and every debt entry maps to one of those names with the NID recomputed by tools/nid_names.py. Exact-head whitespace and conventions checks pass. The hosted conventions, eligibility, report and labels checks pass; product build jobs are skipped for this draft. The MinGW/Ubuntu compile results in the description are therefore author-reported rather than hosted CI results. The documented CMake/debt overlap with #5021 and #6044 remains explicitly unresolved pending rebase, and #9511’s debt-file section needs a combined rebase as you noted.

I’ve noticed that asking you to hold this PR based on #5239 was unnecessary. It’s fine to keep submitting PRs; maintainers will handle them in due course. Please disregard my earlier request to hold it.

@xdCloudy

Copy link
Copy Markdown
Contributor Author

Thanks for the exact-head audit. The shared CMake/debt comparisons with #5021 and #6044, and the combined debt-file ordering with #9511, remain unresolved on this branch. I am leaving this draft and will not present the earlier overlap/build checks as current; a current-main rebase and fresh exact NID/overlap/conventions/target-build checks are still required before review can proceed. I also saw the later clarification withdrawing the queue hold, so I am not treating #5239 as a blocker.

@xdCloudy
xdCloudy force-pushed the feat/libcinternal-pending-150-round6 branch 6 times, most recently from ccb5b0d to 38826a0 Compare October 22, 2026 18:42
@xdCloudy

Copy link
Copy Markdown
Contributor Author

Fresh NID/overlap audit against main at d6e7ab4 and 1,277 open PRs found no duplicate export names or library/NID collisions for this batch. The checker still cannot merge-compare shared libc CMake/debt files against #5021, #6044, #9133 and #9669 because those PR branches conflict with main. I compared the scope: this PR registers InventoryExports6.cpp and documents pending imports; #9133/#9669 modify process-spawn/exec behavior and tests, while #6044 reorganizes test registration. The changes are distinct, though the shared CMake/debt edits will need to be preserved together during integration.

@MarcZX10

Copy link
Copy Markdown
Contributor

I’ve noticed that asking you to hold this PR was unnecessary. It’s fine to keep submitting PRs; maintainers will handle them in due course.

@xdCloudy
xdCloudy force-pushed the feat/libcinternal-pending-150-round6 branch from 38826a0 to fd10721 Compare October 23, 2026 03:46
@xdCloudy
xdCloudy marked this pull request as ready for review October 23, 2026 03:53
@xdCloudy
xdCloudy marked this pull request as draft October 23, 2026 04:14
@xdCloudy
xdCloudy force-pushed the feat/libcinternal-pending-150-round6 branch from fd10721 to a0ec465 Compare October 23, 2026 05:26

@MarcZX10 MarcZX10 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.

I reviewed the exact head's export/debt consistency: InventoryExports6.cpp has 150 unique NIDs and 150 unique aliases; all 150 bodies call NotImplemented_nid_no_patch, and each NID is represented in the debt file. The declarations make no ABI claims, consistent with the stated import-resolution scope. Exact-head git diff --check and tools/check_conventions.py --base upstream/main --head upstream/pr-9665 pass. Hosted eligibility, conventions, intake, labels and report pass; product builds are skipped by policy. No implementation tests are applicable to these throwing declarations, and I have not run a full library build.

One integration blocker remains: against current upstream main 16319642a4c84e861188b75583ce853dfbe0a101, tools/check_main_sync.py --base upstream/main --head upstream/pr-9665 reports 4 commits ahead / 10 behind (merge base 9d6adeb55), with a clean merge. Please merge current main and rerun the NID/inventory, overlap and conventions checks on the resulting head. Preserve the overlapping CMake/debt contributions from #9511, #5021, #6044, #9133 and #9669, and update the dependency/order checklist if the integration order changes. This is a current-main integration request, not a queue-volume objection.

@xdCloudy
xdCloudy force-pushed the feat/libcinternal-pending-150-round6 branch 2 times, most recently from 9cd4078 to a456288 Compare October 23, 2026 05:43
@xdCloudy

Copy link
Copy Markdown
Contributor Author

On the current PR head, local conventions and diff checks pass, and check_main_sync.py reports 4 ahead / 0 behind current upstream/main (0db47b2) with a clean merge. The Windows and WSL libSceLibcInternal targets are up to date. The prior sync request referenced a different base SHA; the current base-sync check is clear. I am keeping this in draft until the shared CMake/debt ordering with #9511, #5021, #6044 and #9133 is reconciled; #9669 is later-opened and needs to preserve these declarations when its overlapping files are combined.

@xdCloudy
xdCloudy force-pushed the feat/libcinternal-pending-150-round6 branch 2 times, most recently from b1a58f7 to e65dc36 Compare October 23, 2026 07:13
@xdCloudy
xdCloudy marked this pull request as ready for review October 23, 2026 07:25
@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.

Pull request Conflicting files (lines on main) Same exports Same new files
PR 10392 docs/dev/debt/libSceLibcInternal.md L19-20
PR 10749 docs/dev/debt/libSceLibcInternal.md L10

Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.

Pull request Shared files not compared
PR 9669 core/libs/prx/libSceLibcInternal/CMakeLists.txt
docs/dev/debt/libSceLibcInternal.md

@xdCloudy
xdCloudy force-pushed the feat/libcinternal-pending-150-round6 branch from e65dc36 to d3c6cbd Compare October 24, 2026 23:33
@xdCloudy

Copy link
Copy Markdown
Contributor Author

I applied the same literal-NID correction to this batch and rebased it on current upstream main. All 150 source/debt pairs match tools/nid_names.py. One entry shares a NID with the known _ZSt17iostream_categoryv ABI symbol; I renamed the local stub helper to avoid describing that evidenced symbol as unknown while keeping the inventory alias and NID unchanged. I am not claiming the built raw/patched-provider and import-resolution audit is complete yet.

@xdCloudy

Copy link
Copy Markdown
Contributor Author

Relevant warning: the bot could not compare the shared CMake/debt paths against conflicting PRs #9669 and #10749. Those PRs change process/signal implementations in other source files; this PR adds the libc internal inventory declarations in InventoryExports6.cpp. I have not treated the skipped documentation/CMake comparison as proof of a clean full overlap audit; I am recording it for maintainers.

@xdCloudy

Copy link
Copy Markdown
Contributor Author

This is rebased on current upstream main at f26434a. I corrected the literal NID issue across all 150 exports and audited all source/debt pairs against tools/nid_names.py (150/150). Current hosted conventions pass; product/platform builds are skipped. The full built raw/patched-provider import-resolution audit requested by Dean remains outstanding, and the bot cannot compare shared CMake/debt paths with conflicted #9669/#10749, so I am not claiming complete integration validation.

@xdCloudy xdCloudy closed this Oct 25, 2026
@xdCloudy

Copy link
Copy Markdown
Contributor Author

I’ve closed my PRs because, based on my personal experience, I’ve decided I will no longer contribute to or update them. This decision is about my experience with the public community and is not directed at the maintainers or active reviewers, whose time and work I appreciate. Thank you for reviewing and discussing my contributions. I wish the project and its maintainers well.

1 similar comment
@xdCloudy

Copy link
Copy Markdown
Contributor Author

I’ve closed my PRs because, based on my personal experience, I’ve decided I will no longer contribute to or update them. This decision is about my experience with the public community and is not directed at the maintainers or active reviewers, whose time and work I appreciate. Thank you for reviewing and discussing my contributions. I wish the project and its maintainers well.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants