Skip to content

feat(libSceLibcInternal): implement fminf required for PPSA99902 startup - #4592

Merged
adriadam10 merged 1 commit into
boykopovar:mainfrom
leorossi2005:feat/libkernel_libSceLibcInternal_missing_ppsa99902
Oct 13, 2026
Merged

adriadam10 merged 1 commit into
boykopovar:mainfrom
leorossi2005:feat/libkernel_libSceLibcInternal_missing_ppsa99902

Conversation

@leorossi2005

@leorossi2005 leorossi2005 commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

What

  • Implement fminf in libSceLibcInternal (resolving NID uVRcM2yFdP4).

Together with pathconf (#3611) and sceKernelGetSocSensorTemperature (#4588), this resolves all missing ELF imports blocking Sonic Unleashed Recompiled (PPSA99902) from loading and reaching guest entry.

Tested

Windows 11 (x86_64), Sonic Unleashed Recompiled (PPSA99902):
Resolves startup relinker failures:

FAIL: unresolved ELF import zzKyvoELf4I from libkernel.prx
FAIL: unresolved ELF import uVRcM2yFdP4 from libSceLibcInternal.prx
FAIL: unresolved ELF import oc98+zOImus from libkernel_sys.prx

Checklist

@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Progress report (584cc4c → 02d1dbb)

📈 System libraries: 87.87% (+0.01%, +1 implemented functions)

✅ 1 implemented
Library Name
libSceLibcInternal fminf_nid_postfix

@github-actions github-actions Bot added libkernel docs prx needs rebase Conflicts with main, rebase needed labels Oct 12, 2026

@adriadam10 adriadam10 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for tracing the imports for PPSA99902. This PR currently bundles three things, two of which are already open elsewhere:

  • pathconf (libkernel_sys/Export.cpp, GuestKernelSys.cpp, the TechnicalDebt line) is the same implementation as #3611 / #4503 (#4503 is mergeable). The body says "Depends on: #4503", so drop it from this branch instead of carrying a copy; it will conflict with whichever lands first.
  • sceKernelGetSocSensorTemperature (libkernel/Unimplemented.cpp:18 and its TechnicalDebt line) overlaps #4588, which implements it with tests. Drop it here and list #4588 under Depends on if you need it.
  • fminf (libSceLibcInternal/Export.cpp:145) is not in any other open PR and std::fmin matches the libc semantics. Keep this one, but add a test pinning edge rows (one NaN operand returns the other, both NaN, -0.0 vs +0.0, ±inf), registered in ctest.

The branch also conflicts with main; please rebase after removing the two duplicates so the PR is one topic (fminf).

@leorossi2005
leorossi2005 force-pushed the feat/libkernel_libSceLibcInternal_missing_ppsa99902 branch from f0a6436 to 02d1dbb Compare October 12, 2026 21:27
@leorossi2005 leorossi2005 changed the title feat(libkernel, libSceLibcInternal): export missing symbols required for PPSA99902 startup feat(libSceLibcInternal): implement fminf required for PPSA99902 startup Oct 12, 2026
@leorossi2005

leorossi2005 commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor Author

@adriadam10 Thank for the suggestions, I've dropped pathconf and sceKernelGetSocSensorTemperature from this PR, and added tests for fminf as requested.

I've also done a rebase to remove conflicts with main

@github-actions github-actions Bot added build and removed needs rebase Conflicts with main, rebase needed labels Oct 12, 2026

@adriadam10 adriadam10 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Checked fminf (NID uVRcM2yFdP4) against aerolib and prosper, built and ran guest_fminf (passes; without the export the test fails to link). Thanks for dropping pathconf and the SoC sensor; merging.

@adriadam10
adriadam10 merged commit 8da50fd into boykopovar:main Oct 13, 2026
11 checks passed
@leorossi2005
leorossi2005 deleted the feat/libkernel_libSceLibcInternal_missing_ppsa99902 branch October 14, 2026 14:32
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