Commit Graph
1589 Commits
Author SHA1 Message Date
Adrià 710cf9c035 Merge pull request #9668 from rooklz/fix/libc-acosf-msun
fix(libc): compute acosf with FreeBSD msun's algorithm, as the console's libc.prx does
2026-10-26 00:14:55 +01:00
Dean b90d009d9f Merge pull request #10665 from JJenkx/fix/libc-acoshf-positive-rounding-20261024
fix(libc): match acoshf positive-range evaluation
2026-10-26 11:14:24 +13:00
Dean 6cc5ec671d Merge pull request #10394 from JJenkx/windows/libc-drand48-upper-bits
fix(libc): return the upper 32 bits of the state from drand48 and erand48 as titles' libc.prx does
2026-10-26 11:05:43 +13:00
Dean 88f99678bf Merge pull request #10648 from edubox/feat/libc-pad-launch-attr
feat(libc): forward pthread attributes in _Pad::_Launch
2026-10-26 10:42:58 +13:00
Adrià 9c6d153dec Merge pull request #10419 from iamthehimansh/split/macos-build
build: compile FileStream, error categories, thread priority and two tests on macOS
2026-10-25 22:35:29 +01:00
Adrià a940685129 Merge pull request #9505 from EagleBearerYS/port/fable-shared-map-views
refactor(libc): map a run of shared guest pages as one view on Windows
2026-10-25 22:33:17 +01:00
Adrià 98101af574 Merge pull request #9619 from rooklz/fix/macos-getifaddrs-netmask
fix(libc): build getifaddrs netmasks from the address family on macOS hosts
2026-10-25 22:20:49 +01:00
Adrià 26ba9b6b71 Merge pull request #9499 from EagleBearerYS/fix/libkernel-signal-handler-mask
fix(libkernel): block a signal while its handler runs and honour SA_RESETHAND
2026-10-25 22:05:12 +01:00
Dean 74a55da254 Merge pull request #10688 from edubox/feat/libc-mtx-timedlock
feat(libc): implement _Mtx_timedlock
2026-10-26 09:21:46 +13:00
Adrià 91a5573911 Merge pull request #9479 from EagleBearerYS/fix/libc-scanf-integer-widths-windows
fix(libc): convert scanf integers as FreeBSD does on Windows
2026-10-25 20:52:26 +01:00
Adrià baabfbc204 Merge pull request #9474 from Gruzzberry/fix/access-symbolic-link
fix(libc): follow a Windows symbolic link in access
2026-10-25 19:14:11 +01:00
Adrià 19fe176ddc Merge pull request #9456 from mazen320/feat/libc-time-get-vtable
feat(libc): export the time_get facet vtable as data
2026-10-25 18:38:52 +01:00
Eduardo Ruiz 1adc418e6e feat(libc): forward pthread attributes in _Pad::_Launch 2026-10-25 18:34:18 +01:00
Dean 4718dedcf8 Merge pull request #10605 from harisibrar1/fix/rtti-ambiguous-private-base
fix(libc): reject a catch or upcast to a base that a private path repeats
2026-10-26 05:59:40 +13:00
Adrià 7b7d445bfb Merge pull request #9439 from milescoviello/feat/trace-calls-file
feat(libc): write the called imports to APS5_TRACE_CALLS_FILE every 10 seconds
2026-10-25 17:42:50 +01:00
Adrià c661d9fae2 Merge pull request #9133 from fogydes/feat/libSceLibcInternal-posix-spawn
feat(libSceLibcInternal): implement posix_spawn process creation and reaping
2026-10-25 17:38:41 +01:00
Adrià 0a77bbf18c Merge pull request #9170 from rooklz/fix/libc-thrd-id
fix(libc): return the calling thread from _Thrd_id as the console's libc.prx does
2026-10-25 17:34:31 +01:00
Dean 5e675163f0 Merge pull request #9916 from JJenkx/windows/printf-decimal-console
fix(libc): round and cap %e, %f and %g as titles' libc.prx does
2026-10-26 04:45:09 +13:00
Himansh Raj fefd2997b7 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-25 21:00:46 +05:30
Dean 15e1e72a21 Merge pull request #10542 from anizayazcodpro-png/feat/libc-iswascii
feat(libc): implement iswascii
2026-10-26 04:19:25 +13:00
Maz 4e657b158e feat(libc): export the time_get facet vtable as data
Console libSceLibcInternal exports o4kt51-uO48 as a 104-byte STT_OBJECT;
titles that resolve the symbol as data need a zeroed 13-slot vtable like the
other facet vtables, not a missing import.
2026-10-25 15:20:04 +01:00
Yunus Shaikh 8be8dc83af Merge main into fix/libkernel-signal-handler-mask
Main's #10706 moves the declarations of exported functions and their types
into the libraries' public headers, and gives WaitForPendingInSet a
KernelTimespec timeout. The merge keeps this branch's DeliverUnblockedPending
and ChangeBlockedMask with main's KernelTimespec. It takes main's side of
the declarations in GuestSignalSets.cpp, whose setjmp and longjmp this
branch had added and libc's Api.hpp now declares. GuestSignalHandlerMask.cpp
includes the libkernel and libc public headers in place of its own
declarations and GuestSignalSet and GuestSigaction types, as the
public_headers audit requires.
2026-10-25 07:05:46 -07:00
Himansh Raj c150109f72 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-25 19:00:47 +05:30
Adrià 1ee8f4bec1 Merge pull request #9181 from Dripl1x/fix/no-resident-write-faults
fix(libc): stop write-protecting resident runs on Windows
2026-10-25 14:26:12 +01:00
fogydes bde7cc210a fix(libkernel): report ECHILD to a Windows waiter another thread reaps first 2026-10-25 13:57:18 +01:00
fogydes 0514307ab8 fix(libkernel): translate waitpid child statuses to the guest numbering 2026-10-25 13:57:18 +01:00
fogydes 723d932f73 feat(libSceLibcInternal): implement posix_spawn process creation and reaping 2026-10-25 13:57:17 +01:00
Himansh Raj 873f79ea9c Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-25 18:00:47 +05:30
JJenkx c05345f529 fix(libc): preserve acoshf log and reciprocal evaluation 2026-10-25 07:52:32 -04:00
Dean cdcbd55134 Merge pull request #10787 from 00xDisaster/feat/libc-dinkumware-divide
feat(libc): implement _Divide, _FDivide, _Recip and _FRecip
2026-10-26 00:36:31 +13:00
Himansh Raj 3a1d61c5d4 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-25 17:00:47 +05:30
Adrià 35d22d88f9 Merge pull request #9618 from xXPBSXx/fix/output-structs-efault
fix(libkernel): fail the stat family with EFAULT when the output struct is not writable guest memory
2026-10-25 11:52:20 +01:00
Eduardo Ruiz 11bc03f8f4 fix(libc): keep the native Windows condition-variable path
std::condition_variable_any regressed guest_libc_cnd_timed_wait on the Windows runner. Keep CRITICAL_SECTION/CONDITION_VARIABLE on Windows and poll TryEnterCriticalSection for _Mtx_timedlock.
2026-10-25 11:51:10 +01:00
Himansh Raj 6809dc7b80 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-25 16:00:54 +05:30
Dean 63a863d3b0 Merge pull request #10314 from JJenkx/windows/libc-log1p-msun
fix(libc): compute log1p with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-25 23:09:45 +13:00
anizayazcodpro-png fb99d0bf8c feat(libc): implement iswascii
Implement iswascii in libc, checking whether a wide character falls within the 7-bit ASCII range (0x00 to 0x7F). Add unit test coverage in GuestRuneLocale.
2026-10-25 15:34:22 +05:30
Adrià 16025845e5 Merge pull request #9423 from AliZedan1A/fix/guest-path-efault
fix(kernel): safely copy guest path arguments
2026-10-25 10:48:00 +01:00
Dean 7271c4500f Merge pull request #10815 from MarcZX10/marc/fix-heap-error-report-closed-stdout
fix(libc): let sceLibcInternalHeapErrorReportForGame skip a closed standard output
2026-10-25 22:39:37 +13:00
Himansh Raj 4050dce204 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-25 14:30:25 +05:30
Dean d6da8da587 Merge pull request #10765 from 00xDisaster/feat/libc-ldinkumware
feat(libc): implement long-double Dinkumware helpers
2026-10-25 21:50:29 +13:00
MarcZX10 6f78759a6e fix(libc): let sceLibcInternalHeapErrorReportForGame skip a closed standard output
The heap error report threw FileStream: closed stream out of the export when the guest had closed its standard output, so a heap-error diagnostic aborted through the exception instead of reporting. The standard output part is now skipped when the stream is closed; the host diagnostic on the host stderr is still written.
2026-10-25 07:55:22 +00:00
Himansh Raj c90796571e Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-25 13:20:30 +05:30
Dean 2742004ed2 Merge pull request #10766 from MarcZX10/marc/fix-wide-closed-stream
fix(libc): fail the wide calls on a closed stream with EBADF
2026-10-25 20:41:53 +13:00
ali zedan 2c5fcf6406 fix(kernel): safely copy guest path arguments 2026-10-25 08:28:09 +01:00
Himansh Raj a01a4354db Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-25 12:31:32 +05:30
JJenkxandClaude Opus 5.5 185098a39d fix(libc): compute log1p with FreeBSD msun's algorithm, as titles' libc.prx does
log1p returned the host's log1p, whose last bit differs from the titles'
copy on Windows on 24,477,433 of 320 million random arguments. The titles'
copy is FreeBSD msun's s_log1p.c, and it sets EDOM at msun's NaN return,
for arguments below -1, -inf and negative NaNs, but not for log1p(-1).
log1p now computes that algorithm and sets EDOM there.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 02:56:59 -04:00
MarcZX10 1cf6734bf9 fix(libc): fail wprintf on a closed standard output with EBADF
printf, puts and vwprintf already return -1 with errno 9 once a failed freopen
closed stdout. wprintf reported EINVAL.
2026-10-25 06:30:05 +00:00
MarcZX10 de8cd096b2 fix(libc): fail fputwc and fputws on a closed stream with EBADF
The write threw inside GetNativeStream, which the wide writers catch and
report as EINVAL. fputc, fputs and vfwprintf fail a closed stream with
errno 9; putwc and putwchar go through fputwc.
2026-10-25 06:30:05 +00:00
MarcZX10 0f9fff2048 fix(libc): fail ungetwc on a closed stream with EBADF
ungetwc on a stream that a failed freopen closed reached GetHandle() and threw
out of the export. ungetc and the other narrow stream calls return failure
with errno 9.
2026-10-25 06:30:05 +00:00
MarcZX10 455f7b093c fix(libc): add the year in asctime_s without signed overflow
asctime_s and sceAmprAsctimeS added 1900 to tm_year in int before the range check, so a tm_year near INT_MAX overflowed: UndefinedBehaviorSanitizer reports signed integer overflow at SonyCrt.hpp:91. The year is now computed in 64 bits; the result stays EINVAL with an empty buffer for any year outside 0 to 9999.
2026-10-25 05:25:22 +00:00