Repository navigation
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.
|
BunnyFl
left a comment
There was a problem hiding this comment.
The PS5 module implements these four functions, so RESOLVER_ENOSUPPORT for every input is behaviour the console doesn't have.
Firmware 13.42's libSceNet.sprx (sha256 3d30fe383092f56a7ffb9d6fc9573f534348c74f26ed6b5e6c1ae26c5679a77d), read from disassembly only, not measured on a console:
0x3c10 sceNetResolverConnectCreate (V5q6gvEJpw4)
3c1e: cmpl [0x440a0], 0 ; je 3c7c ; 3c7c: *errno = 200 ; return 0x804101c8 (not initialised)
3c69: call 0xd010(name, ?, connection, flags) under the library lock
3c8e: on a negative result, errno = low byte of an 0x8041_01xx code, else 205
0xd010 (create body)
d010: flags != 0 || connection == NULL -> 0x80410116 (EINVAL)
d039..d0ab: clears 0x1f0 bytes of *connection
d0bc: call 0x74c0(name, 0x1c, ...) ; stores the result at connection+0x1c4
d0dc: call 0x74c0(name, 2, ...) ; stores the result at connection+0x1c0
d0fd: call 0x9fb0(name, 0x1000, 0) ...
0x3eb0 sceNetResolverConnectDestroy (QFPjG6rqeZg)
same init check (0x804101c8, errno 200), then call 0xd780(connection) under the lock
sceNetResolverConnect (0x3cf0) and sceNetResolverConnectAbort (0x3de0) have the same size and prologue shape. I didn't trace their bodies.
- Before
sceNetInitand aftersceNetTerm, the console returns0x804101C8with errno 200, not0x804101E3. The test pinsENOSUPPORTin both states. - After init, Create rejects non-zero
flagsor a null connection with0x80410116, and otherwise fills the caller's 0x1f0-byte block and opens resources. So "writes nothing for every input" and the0x80000000/1flag cases don't match either. - The shadPS4 position is a PS4 stub, not evidence for the PS5 module. Since the module does real work here, the repo rule is to keep throwing
NotImplemented_nid_no_patchuntil it's implemented, rather than inventing an unsupported result. The debt entry could record the facts above instead: the init check, the flags/null check, and the 0x1f0-byte block.
The other new debt entries for the remaining pending exports don't conflict with this. I haven't checked their individual claims against the module.
|
Hi xecedemon, Thanks for working through the libSceNet backlog; the new debt entries are a real help. One point blocks this one, reviewed at 638cf21:
Could you keep the four exports on Small one while you're there: the shadPS4 links use |
|
Windows result for head Host: Windows 11 26300, Intel i7-12700K, WinLibs GCC 15.2.0 (x86_64-ucrt-posix-seh, r6), Release,
AI-assisted: yes (Claude Code), the runs and the numbers above are from this machine. |
…cord the module facts
638cf21 to
90d0372
Compare
|
Agreed on all three points, and thanks for tracing the bodies — the reading is decisive. The module clearly does real work here (the init check, the flags/null rejection with |
|
Windows result for head Host: Windows 11 26300, Intel i7-12700K, WinLibs GCC 15.2.0 (x86_64-ucrt-posix-seh, r6), Release,
AI-assisted: yes (Claude Code), the runs and the numbers above are from this machine. |
What
Reverts
sceNetResolverConnectCreate,sceNetResolverConnect,sceNetResolverConnectAbortandsceNetResolverConnectDestroytoNotImplemented_nid_no_patchstubs. Firmware 13.42'slibSceNet.sprximplements the family (beforesceNetInitit returns0x804101C8with errno 200; Create under the library lock rejects non-zeroflagsor a null connection with0x80410116and otherwise fills the caller's0x1f0-byte block, name lookups at +0x1c4/+0x1c0; Destroy shares the init check; Connect and Abort match in size and prologue, bodies untraced), so per the repo rule the exports keep throwing until that behaviour is implemented rather than inventing an unsupported result. shadPS4'sRESOLVER_ENOSUPPORTis a PS4 stub, not evidence for the PS5 module.core/libs/tests/GuestNetResolverConnect.cppbecomes a pin test asserting each of the four reports not implemented, beforesceNetInitand after it, and the resolver-connect debt entry indocs/dev/debt/libSceNet.mdrecords the disassembly facts.Tested
Linux;
cmake --build build --target libSceNet guest_net_resolver_connect_tests;ctest --test-dir build -R netgreen (43/43, including the rewrittenguest_net_resolver_connectpin test);python3 tools/check_conventions.py --base origin/mainpasses. Not tested on a console.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