15 Commits
Author SHA1 Message Date
Dean ba8990161b Merge pull request #12077 from JJenkx/windows/kernel-sys-link-cleanup
test(libkernel): remove test symbolic links with guest unlink on Windows
2026-10-28 22:46:24 +13:00
Dean c9968cf069 Merge pull request #11997 from SHOnnay/fix/guest-file-timestamps-link-cleanup
test(libkernel): fix guest_file_timestamps hang on leftover symlink
2026-10-28 22:37:29 +13:00
JJenkxandClaude Opus 5.5 95e7e78e0e test(libkernel): unlink the timestamp test's symbolic link before cleanup
With symbolic links allowed on Windows, guest_file_timestamps hung until
the CTest timeout: its link.txt is dangling (the relative target resolves
beside the link), MinGW's std::filesystem::remove_all reads links through
stat, sees it as absent and spins on a directory it cannot empty. The
test now removes the link with unlink_nid_postfix first.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 15:24:53 -04:00
SAKIBUL HUDA ONNAY ac159447ea test(libkernel): remove the symlink fixture so cleanup does not hang on Windows 2026-10-27 22:04:46 +06:00
al3w0f205 260454d8b9 test(libkernel): cover invalid usec and bad descriptor validation in futimes 2026-10-26 20:11:55 -05:00
Dean 0bad0fc46a Merge pull request #11218 from Gruzzberry/fix/lutimes-enotdir
fix(libkernel): lutimes reports ENOTDIR for a path through a file
2026-10-27 11:03:44 +13:00
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
GruzzberryandClaude Sonnet 5.5 4dc65b0c6f fix(libkernel): lutimes reports ENOTDIR for a path through a file
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 21:34:25 +00: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