Dean
3d2b7c0673
Merge pull request #10610 from JJenkx/fix/libc-acoshf-domain-fenv
...
fix(libc): preserve acoshf domain errno and exception flags
2026-10-26 20:14:11 +13:00
Dean
8022d448e6
Merge pull request #10786 from 00xDisaster/feat/libc-dinkumware-math
...
feat(libc): implement _Exp and _FExp
2026-10-26 20:02:47 +13:00
Dean Galvin
7461106f53
Merge branch 'main' into fix/libc-acoshf-domain-fenv
2026-10-26 17:40:43 +13:00
Dean
a401865a1a
Merge pull request #9269 from UnhealthyKraken/test/libc-crt-exit-lifecycle
...
test(libc): cover CRT exit and TLS cleanup lifecycle
2026-10-26 17:38:22 +13:00
JJenkx
ad111b3ce1
fix(libc): preserve acoshf domain errno and exception flags
2026-10-25 22:07:34 -04:00
Dean
732ab06f41
Merge pull request #10354 from JJenkx/windows/libc-nextafter-msun
...
fix(libc): compute nextafter and nextafterf with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-26 14:30:57 +13:00
Adrià
97d33464c5
Merge pull request #9527 from AlxcBTW/pr/libc-annex-k-stream-io
...
feat(libc): add the Annex K stream printf, scanf and freopen_s functions
2026-10-26 01:21:26 +01:00
Adrià
898a7fef4f
Merge pull request #9631 from UnhealthyKraken/feat/libc-fetch-seqcst
...
feat(libc): implement sequential bitwise fetch helpers
2026-10-26 01:11:55 +01:00
Kraken
8df45c965d
Merge remote-tracking branch 'origin/main' into HEAD
...
# Conflicts:
# core/libs/tests/GuestLibcThreads.cpp
2026-10-25 23:41:36 +00:00
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à
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
Disaster
35c38ce8d5
fix(libc): match measured _Exp and _FExp special values
2026-10-25 22:38:39 +03:00
Kraken
d1a277b7d8
feat(libc): implement sequential bitwise fetch helpers
2026-10-25 19:16:20 +01:00
AlxcBTW
3aa53715ce
docs(debt): record the unmeasured Annex K stream function results
2026-10-25 19:04:17 +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
Adrià
ac65cf490e
Merge pull request #9613 from JJenkx/windows/libc-debt-bundled-readings
...
docs(debt): cite the bundled libc.prx for _Mtx_trylock, strdup and strndup
2026-10-25 18:36:43 +01:00
Eduardo Ruiz
1adc418e6e
feat(libc): forward pthread attributes in _Pad::_Launch
2026-10-25 18:34:18 +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 Galvin
e890f802ed
Merge branch 'main' into pr10786
2026-10-26 05:32:41 +13: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
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
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
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
Adrià
ab0d7a52a0
Merge pull request #9395 from Gruzzberry/docs/windows-guest-file-names
...
docs(debt): record the guest file names Windows does not create like FreeBSD
2026-10-25 13:35:15 +01:00
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
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
Adrià
0a3fcd6fc0
Merge pull request #9364 from thuanquang/docs/debt-sweep-libc-misc
...
docs(libc): correct stale rmdir, nanf and bad_optional_access debt statements
2026-10-25 11:45:51 +01:00
Adrià
d9c32b7863
Merge pull request #9360 from thuanquang/docs/debt-sweep-libc-printf-constraint
...
docs(libc): correct the RSIZE_MAX that swprintf_s and vswprintf_s assume
2026-10-25 11:42:33 +01:00
Dean Galvin
80fea7b598
Merge branch 'main' into pr10354
2026-10-25 23:26:47 +13:00
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
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
JJenkx and Claude 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
JJenkx and Claude Opus 5.5
38e535f939
docs(debt): cite the bundled libc.prx for _Mtx_trylock, strdup and strndup
...
Both libc debt entries said the console behaviour was unverified. The
libc.prx that PPSA13934 ships in sce_module/ settles them (read from
disassembly, not measured on a console):
- _Mtx_trylock (0x5cf0) passes its argument to scePthreadMutexTrylock
and returns 0 on success, 3 for SCE_KERNEL_ERROR_EBUSY and 4 for any
other error.
- strdup (0x6b440) calls strlen and strndup (0x6b650) calls strnlen on
the source with no null check, so both fault on a null source, except
strndup(NULL, 0), which returns an empty copy where this libc returns
null with EINVAL.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-24 23:41:14 -04:00
Dean
e7e3e9c198
Merge pull request #9844 from JJenkx/windows/libc-exp2f-msun
...
fix(libc): compute exp2f with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-25 16:36:34 +13:00
Eduardo Ruiz
b3c9d35ae2
feat(libc): implement _Mtx_timedlock
2026-10-25 02:21:31 +01:00
Disaster
72583a0b20
feat(libc): implement _Divide, _FDivide, _Recip and _FRecip
2026-10-25 04:20:44 +03:00
Disaster
878124772c
feat(libc): implement _Exp and _FExp
2026-10-25 04:02:47 +03:00
Rookie
0297073da2
fix(libc): return the calling thread from _Thrd_id as the console's libc.prx does
2026-10-25 01:45:47 +01:00
Disaster
10c2a645a3
feat(libc): implement long-double Dinkumware helpers
...
Implement _LLog, _LDivide and _LRecip for the PS5 libc surface, with guest coverage for base dispatch, division and reciprocal semantics.
2026-10-25 02:41:03 +03:00
orezraey and Claude Opus 5.5
6b1962e978
Merge main into fix/libc-strftime-measured-ps5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-24 20:28:55 -03:00
Dean Galvin
83b63bfbb5
Merge main into windows/libc-exp2f-msun
2026-10-25 12:09:10 +13:00