Dean
3a1c60898a
Merge pull request #11156 from orezraey/fix/libc-fdopen-measured-ps5
...
fix(libc): check the fdopen mode before the descriptor and skip the access check as measured on a PS5
2026-10-27 05:43:39 +13:00
Dean
4971b380b3
Merge pull request #11127 from orezraey/fix/libc-strerror-r-texts-measured-ps5
...
fix(libc): give strerror_r, perror and strerror_s the strerror texts as measured on a PS5
2026-10-27 05:42:18 +13:00
Adrià
c4669c9ca2
Merge pull request #9958 from JJenkx/windows/printf-long-double-hex
...
fix(libc): format %La like titles' libc.prx does
2026-10-26 16:30:58 +01:00
Adrià
b0f1183ca1
Merge pull request #9973 from JJenkx/windows/swscanf-float-errno
...
fix(libc): leave errno alone for out-of-range float and double in swscanf
2026-10-26 16:20:08 +01:00
Adrià
14803835de
Merge pull request #10176 from orezraey/docs/libc-memmem-memccpy-exports
...
docs(libc): record that libSceLibcInternal does not export memmem or memccpy
2026-10-26 16:14:39 +01:00
Dean
bf77a9e9cb
Merge pull request #10742 from 00xDisaster/feat/libc-lcosh
...
feat(libc): implement _LCosh and _LSinh
2026-10-27 02:28:15 +13:00
JJenkx and Claude Opus 5.5
afa58432f3
fix(libc): format %La like titles' libc.prx does
...
A long double %La went to the host, which on Windows (MinGW) prints the
64-bit significand with its integer bit as the leading digit:
0xc.ccccccccccccccdp-7 for 0.1L. The libc.prx that titles ship
normalises it like a double, with a leading 1 and the remaining 63 bits
as 16 hexadecimal digits, 0x1.999999999999999ap-4, and rounds a shorter
precision half up with the carry kept in the leading digit. Share
HexFloat's digit and rounding code between double and long double and
use it for finite long double %a and %A in the narrow and wide families.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-26 08:52:35 -04:00
Adrià
2cce8bc51d
Merge pull request #9927 from JJenkx/windows/wprintf-float-console
...
fix(libc): format wide %a, %e, %f and %g with the narrow console rules
2026-10-26 13:25:22 +01:00
Maz
1f27ca0c49
feat(libc): export the wide num_get facet vtable as data
...
Console libSceLibcInternal exports Y9C9GeKyZ3A as a 136-byte STT_OBJECT;
titles that resolve the wide num_get vtable as data need a zeroed 17-slot
object matching the narrow num_get layout on console.
2026-10-26 11:37:08 +01:00
Adrià
cbf76e7a6e
Merge pull request #9408 from rursache/feat/macos-trace-imports
...
feat(relinker): trace function imports on macOS
2026-10-26 11:27:51 +01:00
Adrià
c8a3b25882
Merge pull request #9464 from mazen320/feat/libc-time-get-w-vtable
...
feat(libc): export the wide time_get facet vtable as data
2026-10-26 11:19:39 +01:00
Dean
c3db979cd3
Merge pull request #10128 from orezraey/fix/libc-gethostname-measured-ps5
...
fix(libc): report the empty host name measured on a PS5
2026-10-26 22:00:35 +13:00
Dean
cbee224804
Merge pull request #10316 from JJenkx/windows/libc-tanh-msun
...
fix(libc): compute tanh with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-26 21:48:43 +13:00
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
42a75519e3
Merge branch 'main' into windows/libc-tanh-msun
2026-10-26 18:37:39 +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 and Claude Opus 5.5
ca1b62a3bd
fix(libc): compute tanh with FreeBSD msun's algorithm, as titles' libc.prx does
...
tanh returned the host's tanh, whose last bit differs from the titles' copy
on Windows. The titles' copy is FreeBSD msun's s_tanh.c over msun's expm1,
and it sets no errno. tanh now computes that algorithm over this file's
Expm1.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-25 22:26:16 -04: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
Dean Galvin
f4d5420b4b
Merge branch 'main' into feat/libc-lcosh
2026-10-26 12:28:05 +13: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
JJenkx and Claude Opus 5.5
171d767382
fix(libc): format wide %a, %e, %f and %g with the narrow console rules
...
The wide printf family still formatted floating-point conversions
through the host, while the libc.prx that titles ship gives swprintf the
same text as snprintf: on 199,948 random formats the copy bundled with
PPSA07923 printed identical narrow and wide output, and this build's
wide output differed from it on 23,893. Use the narrow DecimalFloat and
HexFloat for finite values.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-25 19:06:20 -04: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
JJenkx and Claude Opus 5.5
c228d7a459
docs(libc): record the wide scanner's float errno contract
...
swscanf restores errno around strtof and strtod, as the bundled
libc.prx does, while long double conversions keep host strtold's
errno and the narrow sscanf family keeps the host's ERANGE. Record
both gaps in the existing swscanf debt entry, as review asked.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-25 18:12:05 -04: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
orezraey and Claude Opus 5.5
ff667ba3b7
fix(libc): give strerror_s the strerror texts and return 0 on truncation as measured on a PS5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-25 18:01:11 -03:00
orezraey and Claude Opus 5.5
373027da36
fix(libc): reject strerror_r buffers under 23 bytes and cut longer texts
...
The libc.prx that PPSA31872 ships returns ERANGE for a buffer shorter than
23 bytes and otherwise strncpy's length - 1 bytes and terminates the last
one. This matches the firmware 13.60 log, where error 0 with a 16-byte
buffer returned 34 although "No error" fits.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-25 17:59:49 -03:00
orezraey and Claude Opus 5.5
b4530f1cce
fix(libc): give strerror_r and perror the strerror texts as measured on a PS5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-25 17:59:49 -03: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
Maz
a48a417101
fix(libc): keep char and wide time_get vtables after rebase
2026-10-26 00:02:16 +04:00
Maz
bd6406392f
feat(libc): export the wide time_get facet vtable as data
2026-10-26 00:02:15 +04:00
orezraey and Claude Opus 5.5
3dac7eb76c
fix(libc): check the fdopen mode before the descriptor and skip the access check as measured on a PS5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-25 17:01:01 -03: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
Radu Ursache
66ca5c0442
feat(relinker): trace function imports on macOS
...
Walk each macOS function import before the guest entry and pass it through TraceImport_nid_no_patch, as Linux and Windows already do. An x86-64 libc build records the call and prints it on SIGABRT.
2026-10-25 18:37:23 +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