Repository navigation
test(libc): exercise division returns through patched PRX - #12782
Merged
Merged
Conversation
|
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.
|
12 tasks done
Contributor
|
Windows run of this head
AI-assisted: yes (Claude Code) |
Merged
12 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds typed dynamic calls to div/ldiv/lldiv/imaxdiv through both the real unpatched libc PRX and its NID-patched output, checking quotient/remainder fields and caller guards. The standalone test target explicitly depends on the existing patched-libc output rule.
Implementation basis and limits: canonical APS5_VABI declarations and independent Python toward-zero quotient/remainder golden pairs (148 calls per module). No extra export declarations or guessed field offsets are introduced. Zero divisors and MIN/-1 overflow are excluded. NID lookup uses the project helper, so this does not independently certify that algorithm or PS5 caller ABI/layout; it verifies the built library/declaration boundary.
Integration review: the exact topic head was checked with the repository overlap tool against main
14b3441f3d543b0e3a60d5f0fcf51e49fa14b305. The tool reported shared CMake registration files in older PRs that already conflict with main: #5021, #7275, #8650, #9019, #9156, #9293, #9297, #9302, #9383, #9571. Their scoped file diffs were reviewed separately. 7 file comparisons could be projected onto the audit base and then combined with this topic without a new file conflict. 3 peer file changes already conflict with main and are not described as automatically mergeable; their registration changes were inspected directly. These peers do not provide this feature or test matrix. This uses a separate test/registration block and has no functional landing-order dependency. If a shared registration file changes before landing, this branch will need its affected merge and test checks refreshed. All 20 topic commits also merged independently into current validation main4c7d275bef89d309313d16bc2bc05d37a1b50be2; their combined integration2a0489dd307a9c98b9b353ea7282b65809db07ddwas built and tested. Depends on: none; no other candidate branch is required to build or exercise this change.Tested
guest_division_prx_abi passed with actual dynamic loading and NID-patched libc on Linux and Windows, no skips. Windows standalone-target validation exposed and resolved the need to generate patched libc explicitly; success was rechecked through real function results rather than symbol presence alone.
Topic head:
4022b2f1cda81b3a3b77cb1dfdb452e297d2f4dd, based onf88c86bf6cdd2c74bcdb31e45ba877d4993e62e5. Local platforms: Ubuntu/WSL GCC 15.2, CMake 4.2.3, Python 3.14.4; Windows MinGW GCC 15.2, CMake 4.3.1, Python 3.14.3. Applicable conventions, whitespace, script registration and current-main three-way merge checks passed. Linux full-product builds and subsequent focused library rebuilds were performed; Windows used the full configuration and the affected library/test targets. The combined 11 system-library CTests passed on both platforms. No game or PS5 measurement is claimed; macOS and hosted full-build CI are not reported as passed.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)