Commit Graph
8 Commits
Author SHA1 Message Date
Dean 10126f0c64 Merge pull request #9374 from cadenasynyster/test/windows-symlink-tests
test(libkernel): create the readlink and lutimes test links with CreateSymbolicLinkW on Windows
2026-10-26 13:30:41 +13:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
cadenasynysterandClaude Opus 5.5 d22b6916a9 test(libkernel): create the readlink and lutimes test links with CreateSymbolicLinkW on Windows
MinGW's std::filesystem::create_symlink always fails on Windows, so the readlink checks in guest_kernel_sys and the lutimes checks in guest_file_timestamps skipped their link cases there. They now create the link with CreateSymbolicLinkW and SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE, as SaveDataFileWriteFailure.cpp does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01GtXavMkgCTCdmRpweviHcQ
2026-10-22 21:05:43 +02:00
Danigamer05 3f8f81e175 fix(libkernel): clamp Windows birth time when setting earlier timestamps 2026-10-20 21:42:41 +02:00
xXPBSXxandClaude Sonnet 5.5 dd945495e3 fix(libkernel): check truncate length and utimes times before the path
FreeBSD 11.4 kern_truncate returns EINVAL for a negative length before it
looks up the path, and getutimes rejects an out-of-range tv_usec before
namei in utimes and lutimes. The guest calls checked a NULL or empty path
first, so truncate(NULL, -1) and utimes("", {usec -1}) returned EFAULT or
ENOENT where FreeBSD returns EINVAL.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 03:07:47 +02:00
Get-fix f12d2de271 fix(libkernel): export _readv, _writev, _fcntl, _fstat, __sys_socketex
OpenOrbis programs and modules import these PS4 libkernel names (the
graphics, library and networking samples). The underscore names
forward to readv, writev, fcntl and fstat, as _ioctl already does;
_fcntl passes its argument on as a full 64-bit value, so the record
lock commands keep their whole pointer. __sys_socketex creates a
socket like socket(); its name argument is ignored, as sceNetSocket
does.
2026-10-14 20:52:00 +03:00
jagrat Singh 8d08caa529 feat(libkernel): implement lutimes 2026-10-13 06:29:45 +05:30
ArjenS-LA 705e49d407 fix(libkernel): preserve Windows file timestamp precision 2026-10-10 01:51:56 +02:00