Skip to content

feat(libSceIcu): declare 112 PS5 3.20 exports - #11760

Merged
oneandonlydean merged 4 commits into
boykopovar:mainfrom
oneandonlydean:salvage/icu-9444
Oct 27, 2026
Merged

oneandonlydean merged 4 commits into
boykopovar:mainfrom
oneandonlydean:salvage/icu-9444

Conversation

@oneandonlydean

@oneandonlydean oneandonlydean commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

What

Declares 112 PS5 3.20 libSceIcu exports as throwing import-resolution stubs. The original declared 150; 38 are dropped in our last two commits: 2 because main now defines them and 36 because open PRs #10962, #10963, #10964, #10965, #10966, #10967, #11115, #11118, #11122, #11132 and #11136 implement them in libSceIcu.

Based on #9444 by @xdCloudy (closed by the author on 25 Oct).

Kept 112 exports, dropped 38 that main or an open PR already has. Every NID was recomputed with tools/nid_names.py from main. Each declaration throws through NotImplemented_nid_no_patch; signatures and behavior are unknown and no ABI is claimed. The libSceIcu technical debt file lists each export.

Tested

  • Linux, Release build of head f407d1bd2b on main 951e5963a4: full ninja and ninja libs build rc 0.
  • ctest -R '^public_headers|^guest_icu': rc 0, guest_icu_version (links this library) passed, and 65 of 65 public_headers tests (with public_headers_compile_*) passed.
  • python3 tools/check_conventions.py --base origin/main --head HEAD reports no errors.
  • No game was run: every export is a throwing stub.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source (not applicable)
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Fixes: none
  • Unblocks: none
  • GPUs tested: n/a
  • AI-assisted: yes

@oneandonlydean oneandonlydean self-assigned this Oct 27, 2026
@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Progress report (b87d3d8 → f407d1b)

📉 System libraries: 49.05% (-0.41%, +112 declared functions)

🆕 112 declared as stubs
Library Name
libSceIcu sceIcuUnknown_0cYEtBUJ5zQ_nid_no_patch
libSceIcu sceIcuUnknown_1GkIKiuqgBg_nid_no_patch
libSceIcu sceIcuUnknown_1SsridDRBYQ_nid_no_patch
libSceIcu sceIcuUnknown_2m4vg20UoXI_nid_no_patch
libSceIcu sceIcuUnknown_2qAOcgRJZ3M_nid_no_patch
libSceIcu sceIcuUnknown_3Z22ZB8mHq8_nid_no_patch
libSceIcu sceIcuUnknown_4FrZfvvYHCI_nid_no_patch
libSceIcu sceIcuUnknown_4Gv3tXZ2WKI_nid_no_patch
libSceIcu sceIcuUnknown_4JJDz6r_ghE_nid_no_patch
libSceIcu sceIcuUnknown_4Kf0Hy8xJrI_nid_no_patch
libSceIcu sceIcuUnknown_58CIUaViW_k_nid_no_patch
libSceIcu sceIcuUnknown_5V2WIPOZcaA_nid_no_patch
libSceIcu sceIcuUnknown_5__ZFSRQ0_k_nid_no_patch
libSceIcu sceIcuUnknown_6_NsFXHpWXc_nid_no_patch
libSceIcu sceIcuUnknown_6y_NITWLmmE_nid_no_patch
libSceIcu sceIcuUnknown_7E_h3yiZjKw_nid_no_patch
libSceIcu sceIcuUnknown_8y7DjDBJ6Nw_nid_no_patch
libSceIcu sceIcuUnknown_9TndABWg5Ds_nid_no_patch
libSceIcu sceIcuUnknown_9duJwhiYGCE_nid_no_patch
libSceIcu sceIcuUnknown_AvrA9K2lvC4_nid_no_patch
libSceIcu sceIcuUnknown_BQtUj7CVrC0_nid_no_patch
libSceIcu sceIcuUnknown_BTFjoSWI5_Y_nid_no_patch
libSceIcu sceIcuUnknown_BZY5mpL0Syk_nid_no_patch
libSceIcu sceIcuUnknown_BhCcIlyHMrk_nid_no_patch
libSceIcu sceIcuUnknown_BsjbIVU27jQ_nid_no_patch
libSceIcu sceIcuUnknown_CfP4Q2Yjm1U_nid_no_patch
libSceIcu sceIcuUnknown_EuFvqF73SwU_nid_no_patch
libSceIcu sceIcuUnknown_FCx2DacLDWs_nid_no_patch
libSceIcu sceIcuUnknown_FHSNfxQFEdA_nid_no_patch
libSceIcu sceIcuUnknown_FNfP9dKTd5Q_nid_no_patch
libSceIcu sceIcuUnknown_F_2mXPmh_7s_nid_no_patch
libSceIcu sceIcuUnknown_H33ge_SDjlI_nid_no_patch
libSceIcu sceIcuUnknown_Hka9gz6FuDs_nid_no_patch
libSceIcu sceIcuUnknown_HneyXNQpPhQ_nid_no_patch
libSceIcu sceIcuUnknown_JGkExZI3fFI_nid_no_patch
libSceIcu sceIcuUnknown_JKRf_2yrIaE_nid_no_patch
libSceIcu sceIcuUnknown_KzcrFzKpYE8_nid_no_patch
libSceIcu sceIcuUnknown_LXxEsOsIa5g_nid_no_patch
libSceIcu sceIcuUnknown_LtBBDJEZXhY_nid_no_patch
libSceIcu sceIcuUnknown_O3zT1gO1ZNM_nid_no_patch
libSceIcu sceIcuUnknown_OAFz3KoG_gA_nid_no_patch
libSceIcu sceIcuUnknown_OJ_13SCOxgI_nid_no_patch
libSceIcu sceIcuUnknown_Q8P3U9F8p_Y_nid_no_patch
libSceIcu sceIcuUnknown_Q8Y0ntVp_GY_nid_no_patch
libSceIcu sceIcuUnknown_QO5iuHMTu2o_nid_no_patch
libSceIcu sceIcuUnknown_RFnKlYsiIb0_nid_no_patch
libSceIcu sceIcuUnknown_RGVOIIycuyA_nid_no_patch
libSceIcu sceIcuUnknown_RIcNJWDYKhM_nid_no_patch
libSceIcu sceIcuUnknown_RlZwfEuRDx8_nid_no_patch
libSceIcu sceIcuUnknown_S0WDjcZLdqI_nid_no_patch
libSceIcu sceIcuUnknown_Sv7TbVAEqeQ_nid_no_patch
libSceIcu sceIcuUnknown_TNZrG2iXikw_nid_no_patch
libSceIcu sceIcuUnknown_TU6Yl8_mT3c_nid_no_patch
libSceIcu sceIcuUnknown_TXEHKpCJ_aE_nid_no_patch
libSceIcu sceIcuUnknown_U089pStD8Bw_nid_no_patch
libSceIcu sceIcuUnknown_UmNS0P0_ovs_nid_no_patch
libSceIcu sceIcuUnknown_VZFw_xSe6Mo_nid_no_patch
libSceIcu sceIcuUnknown_WLoOrEfsob4_nid_no_patch
libSceIcu sceIcuUnknown_WPrktCwd_iw_nid_no_patch
libSceIcu sceIcuUnknown_Wm0y_9IRE8I_nid_no_patch
libSceIcu sceIcuUnknown_X7gbPHVoNEw_nid_no_patch
libSceIcu sceIcuUnknown_XVQ3cf0BdQ0_nid_no_patch
libSceIcu sceIcuUnknown_Z5_W18jAIH4_nid_no_patch
libSceIcu sceIcuUnknown_Z5ljxAg3thw_nid_no_patch
libSceIcu sceIcuUnknown_ZxnyBy8reV4_nid_no_patch
libSceIcu sceIcuUnknown__L1K53Ku3mE_nid_no_patch
libSceIcu sceIcuUnknown__P5TDFU2_fc_nid_no_patch
libSceIcu sceIcuUnknown__aK6d418l4c_nid_no_patch
libSceIcu sceIcuUnknown__kd2qcTMvHE_nid_no_patch
libSceIcu sceIcuUnknown__xsbcqOIJmM_nid_no_patch
libSceIcu sceIcuUnknown_a25spvWYEOA_nid_no_patch
libSceIcu sceIcuUnknown_aF_oEFPzEsY_nid_no_patch
libSceIcu sceIcuUnknown_aXUj3BT58vY_nid_no_patch
libSceIcu sceIcuUnknown_b7p2qTtZPno_nid_no_patch
libSceIcu sceIcuUnknown_bgnHFMqxYag_nid_no_patch
libSceIcu sceIcuUnknown_c6eD2eDESGk_nid_no_patch
libSceIcu sceIcuUnknown_dzbKmf3Ycog_nid_no_patch
libSceIcu sceIcuUnknown_eD76mHY99fM_nid_no_patch
libSceIcu sceIcuUnknown_ekxUEjhuk3Q_nid_no_patch
libSceIcu sceIcuUnknown_h16q7HjVyTE_nid_no_patch
libSceIcu sceIcuUnknown_hI8JVrcGWhc_nid_no_patch
libSceIcu sceIcuUnknown_lNPpoUVElSA_nid_no_patch
libSceIcu sceIcuUnknown_mY5RbYVLzr4_nid_no_patch
libSceIcu sceIcuUnknown_n4o8mgXtF5s_nid_no_patch
libSceIcu sceIcuUnknown_n4yiKNo1yCs_nid_no_patch
libSceIcu sceIcuUnknown_ndOe3Wc7xjA_nid_no_patch
libSceIcu sceIcuUnknown_od0otGJ2Z3A_nid_no_patch
libSceIcu sceIcuUnknown_pCh4kIKMRhY_nid_no_patch
libSceIcu sceIcuUnknown_pgvyZZ_d1ck_nid_no_patch
libSceIcu sceIcuUnknown_q3mX36AQeC4_nid_no_patch
libSceIcu sceIcuUnknown_qGIX2VTcNJo_nid_no_patch
libSceIcu sceIcuUnknown_qXSNbAnlsKg_nid_no_patch
libSceIcu sceIcuUnknown_r6Wuu1Tc438_nid_no_patch
libSceIcu sceIcuUnknown_rbyBjvpNuME_nid_no_patch
libSceIcu sceIcuUnknown_sP5rfVNdvWM_nid_no_patch
libSceIcu sceIcuUnknown_sQ0avkeBLo4_nid_no_patch
libSceIcu sceIcuUnknown_tcSjvPP2_4s_nid_no_patch
libSceIcu sceIcuUnknown_tcf9HUwNaX0_nid_no_patch
libSceIcu sceIcuUnknown_twrAIl4N_EM_nid_no_patch
libSceIcu sceIcuUnknown_u8WyPl4r3Oc_nid_no_patch
... 12 more

Changed libraries (implemented exports)

Library Before After Change
libSceIcu 5/5 (100.00%) 5/117 (4.27%) -95.73 pp

@github-actions

github-actions Bot commented Oct 27, 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 10962 docs/dev/debt/libSceIcu.md L11
PR 10963 docs/dev/debt/libSceIcu.md L11
PR 10964 docs/dev/debt/libSceIcu.md L11
PR 10965 docs/dev/debt/libSceIcu.md L11
PR 10966 docs/dev/debt/libSceIcu.md L11
PR 10967 docs/dev/debt/libSceIcu.md L11

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 11088 docs/dev/debt/libSceIcu.md
PR 11115 docs/dev/debt/libSceIcu.md
PR 11118 docs/dev/debt/libSceIcu.md
PR 11122 docs/dev/debt/libSceIcu.md
PR 11132 docs/dev/debt/libSceIcu.md
PR 11136 docs/dev/debt/libSceIcu.md

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