Commit Graph
1961 Commits
Author SHA1 Message Date
Dean a2a41001c6 Merge pull request #11850 from ionut27001/fix/wf-reallocalign-zero-size-realign
fix(libc): return an aligned empty block from reallocalign to 0 bytes
2026-11-03 01:27:17 +13:00
Dean 02ae9eef83 Merge pull request #11843 from heditrigui/feat/libc-timelocal
feat(libc): implement timelocal
2026-11-03 01:27:06 +13:00
Dean 71d6f92a9d Merge pull request #11773 from edubox/feat/libc-numpunct-wide
feat(libc): export std::numpunct<wchar_t> id and _Getcat
2026-11-03 01:26:41 +13:00
Dean 9b01f0bba2 Merge pull request #11735 from verusferro/feat/libc-getptimes
feat(libc): export _Getptimes with the console's C-locale time names
2026-11-03 01:26:31 +13:00
Dean 57cfda019b Merge pull request #11214 from orezraey/fix/libc-wide-lp-measured-ps5
fix(libc): print %lp in the wide formatter as measured on a PS5
2026-11-02 23:27:08 +13:00
Dean 0f0452e319 Merge pull request #11077 from JJenkx/fix/libc-frexp-floating-environment
fix(libc): preserve frexp decomposition and exception behavior
2026-11-02 23:26:47 +13:00
Dean ce49d532f3 Merge pull request #10989 from edubox/feat/libc-sce-v2-filesystem
feat(libc): export the versioned std::__sce_v2 filesystem primitives
2026-11-02 23:26:31 +13:00
Dean 5c3e446c0b Merge pull request #10317 from JJenkx/windows/libc-log2-fdlibm
fix(libc): compute log2 with fdlibm's algorithm, as titles' libc.prx does
2026-11-02 23:25:45 +13:00
Dean ed08af6a2f Merge pull request #10953 from AZLisme/feat/batch2-libc-legacy-signals
fix(libSceLibcInternal): export sigvec through shared runtime
2026-11-02 23:25:28 +13:00
Dean fc3a5af62c Merge pull request #10755 from Ragbie/fix/windows-fclose-descriptor-state
fix(libc): drop the kernel state of a descriptor that fclose or freopen closes
2026-11-02 23:24:14 +13:00
Dean 16bc34bfc8 Merge pull request #10620 from Retr0G28/fix/freopen-random-device
fix(libc): reopen a stream onto /dev/random or /dev/urandom with freopen
2026-11-02 23:23:29 +13:00
Dean 87524eb88e Merge pull request #10615 from edubox/feat/libc-cnd-at-thread-exit
feat(libc): register conditions for broadcast at thread exit
2026-11-02 23:23:18 +13:00
Dean 7556a1a7e3 Merge pull request #10548 from akkadbakkad89/feat/libc-fundamental-typeinfo
feat(libc): declare fundamental typeinfo records and their vtable
2026-11-02 23:23:07 +13:00
Dean 50fdbc6519 Merge pull request #10411 from MarcZX10/feat/libc-rtti-public-source
feat(libc): find public RTTI source subobjects
2026-11-02 23:22:50 +13:00
Dean 978a8ffb32 Merge pull request #10324 from MarrasFederico/feat/libc-fwide
feat(libc): track stream orientation and implement fwide
2026-11-02 23:22:33 +13:00
Dean 67a7602c33 Merge pull request #10247 from JJenkx/windows/libc-log10-msun
fix(libc): compute log10 with fdlibm's algorithm, as titles' libc.prx does
2026-11-02 21:00:20 +13:00
Dean 2aee0b06f6 Merge pull request #10229 from JJenkx/windows/libc-atan-atan2-msun
fix(libc): compute atan and atan2 with FreeBSD msun's algorithm, as titles' libc.prx does
2026-11-02 21:00:13 +13:00
Dean 3f138bfb8c Merge pull request #10100 from xXPBSXx/fix/app-archive-lock-order
fix(libc): open the app0 archive without holding its mutex across path resolution
2026-11-02 21:00:07 +13:00
Dean 30f2122781 Merge pull request #9953 from JJenkx/windows/wprintf-narrow-utf8
fix(libc): decode a wide printf %s as titles' libc.prx does, failing on invalid UTF-8
2026-11-02 20:59:39 +13:00
Dean c84005ee40 Merge pull request #9688 from JJenkx/windows/libc-qsort-console
fix(libc): sort like the console's qsort and qsort_s
2026-11-02 20:58:08 +13:00
Dean bf6df519a3 Merge pull request #9661 from Gruzzberry/fix/rename-onto-directory-link
fix(libc): rename onto or from a Windows directory symbolic link like a link
2026-11-02 20:58:03 +13:00
Dean 78ae9eb66b Merge pull request #6321 from mariuszkreft/wip/gta-v-4634-registry-scan
perf(libc): start the guest allocation overlap queries at the range that touches the address
2026-11-02 20:55:36 +13:00
Dean 848c2ad1e2 Merge pull request #6085 from notaxeltv/feat/libc-dsign-ppsa34015
feat(libc): export _FDsign/_Dsign like MSVC CRT (PPSA34015)
2026-11-02 20:55:24 +13:00
Dean a20477ae0b Merge pull request #4449 from Mouad-Scriptz-0/fix/dmabuf-import-coherence
feat(libSceAgcDriver): import scattered direct memory as a dma-buf run list and probe its coherence
2026-11-02 20:55:19 +13:00
Dean 25aeb9fa48 Merge pull request #12586 from voidlakhan/feat/libc-timingsafe-bcmp
feat(libc): implement timingsafe_bcmp
2026-11-02 20:54:59 +13:00
Dean 307dd57e50 Merge pull request #10729 from dwk001/fix/libc-wstoul-invalid-base
fix(libc): reject an invalid _WStoul base like Dinkumware instead of …
2026-11-02 20:54:37 +13:00
Dean 6d0fc32dea Merge pull request #8397 from hypermoist/feat/libc-dinkumware-float-bits
feat(libc): add Dinkumware float bit helpers from firmware
2026-11-02 13:43:07 +13:00
Dean c50acd1fc4 Merge pull request #10895 from StoneDC/fix/wcsftime-partial-output
fix(libc): preserve partial wcsftime output on overflow
2026-11-02 10:56:58 +13:00
Dean 06cf0fba8e Merge pull request #11213 from AlexFigas/fix/libc-exception-what-strings
fix(libc): return the bad_alloc and bad_function_call what() strings of the libc.prx titles ship
2026-11-02 10:19:00 +13:00
akkadbakkad89andDevin 366e000c50 refactor(libc): constant-initialize fundamental typeinfo records and drop _ZTIz
Point each record's vptr at the exported vtable's destroy slot via a
relocation instead of a runtime FundamentalVtable() call, matching the
constant void* vtable pattern in StandardExceptions.cpp. Remove _ZTIz:
ellipsis is not a type so no compiler emits a _ZTIz reference, and its
NID is the only one absent from the aerolib table.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-11-02 01:31:32 +05:30
Dean Galvin c5c96c0d77 Merge commit '74ca823ad87b3948fea79db8669efc46ff944394' into HEAD
# Conflicts:
#	core/libs/tests/GuestMemory.cpp
2026-11-02 03:09:30 +13:00
Dean Galvin 88b99b28b6 Merge commit 'f1a7b02028ae50adaf6c5aaaef892a51841b25bf' into HEAD
# Conflicts:
#	core/libs/prx/libSceAgcDriver/CMakeLists.txt
2026-11-02 02:38:58 +13:00
Eduardo Ruiz 014001a2d0 fix(libc): keep numpunct<wchar_t> grouping narrow 2026-11-01 13:02:23 +01:00
edubox 071cb1f704 feat(libc): export std::numpunct<wchar_t> id and _Getcat 2026-11-01 13:02:23 +01:00
Dean b2620e56d1 Merge pull request #11733 from verusferro/feat/libc-wide-string-to-number
feat(libc): convert wide strings with _WStoull, _WStoll, _WStod, _WStof and _WStold as the console's libc does
2026-11-02 00:33:30 +13:00
Eduardo Ruiz 497e4a960e fix(libc): return guest errors for invalid versioned stat paths 2026-11-01 11:51:49 +01:00
Eduardo Ruiz 9e4e43d7b2 fix(libc): stat app0.zar entries in the versioned filesystem 2026-11-01 11:51:49 +01:00
edubox 82779f5cc8 fix(libc): stat long versioned filesystem paths on Windows 2026-11-01 11:51:49 +01:00
Eduardo Ruiz 2c5b571e68 fix(libc): return TypeNone for non-not-found stat errors 2026-11-01 11:51:49 +01:00
Eduardo Ruiz 6ea864bf5e fix(libc): stat the versioned filesystem paths without libkernel
_Stat now resolves the guest path and reads the type and permissions
through the host filesystem, so libc.prx no longer imports
stat_nid_postfix from libkernel.prx. That import broke every host target
that links only libc.prx (agc_shader_replay, agc_shader_replay_requests,
host_libstdcxx_exception and the libc test executables) with an undefined
reference to stat_nid_postfix.

Types, permission bits and guest errno keep matching stat_nid_postfix,
which guest_sce_v2_filesystem still cross-checks.
2026-11-01 11:51:49 +01:00
Eduardo Ruiz c20d797450 feat(libc): export the versioned std::__sce_v2 filesystem primitives 2026-11-01 11:51:49 +01:00
AZLisme e7725d7111 feat(libc): implement shared legacy sigvec support 2026-11-01 17:21:10 +08:00
Adrià 26fa1212b8 Merge pull request #13819 from Ninot1Quyi/fix/libc-nearbyint-inexact
fix(libc): match nearbyint inexact flags to guest libc
2026-11-01 09:56:57 +01:00
Adrià 5c9837bfe7 Merge pull request #13442 from Gonic0/feat/libc-write-watch-read-trap
feat(libc): trap guest reads of write-watched pages on macOS
2026-11-01 09:13:34 +01:00
Dean Galvin c08fe413f8 Merge main into feat/libc-timingsafe-bcmp
# Conflicts:
#	docs/dev/debt/libc.md
2026-11-01 21:13:14 +13:00
Dean Galvin 21556548c4 Merge main into fix/libc-wstoul-invalid-base
# Conflicts:
#	docs/dev/debt/libc.md
2026-11-01 21:09:31 +13:00
Dean Galvin abbd3bd22a fix(libc): take _FDsign/_Dsign arguments by value
The console's libc passes the value in xmm0: _Dsign (va 0x546f0)
stores xmm0 with vmovsd and returns the top 16-bit word & 0x8000;
_FDsign (va 0x546a0) does the same with vmovss. Take float/double by
value, drop the null-pointer checks, and declare both in libc Api.hpp.
The test calls the canonical declarations by value and covers +/-0,
+/-1, +/-inf and -NaN.
2026-11-01 21:01:35 +13:00
Dean Galvin a008328d28 Merge main into feat/libc-dsign-ppsa34015
# Conflicts:
#	core/libs/prx/libc/CMakeLists.txt
2026-11-01 21:00:31 +13:00
Adrià 53fbe59956 Merge pull request #13732 from SnekPolylepis/feat/libc-radix64-conversions
feat(libc): implement a64l, l64a, and l64a_r radix-64 integer conversions
2026-11-01 08:30:07 +01:00
Qu Yi 4a65ddf97c chore(libc): synchronize nearbyint fix with main
Preserve the nearbyint implementation and regression coverage while incorporating current main. The write-watch registration prerequisite is now part of main.

Validation: freshly compiled production MathExact.cpp regression passes; ASan/UBSan passes with detect_leaks=0. The same fixture compiles against main Math.cpp and fails at the FE_INEXACT assertion (exit 134). Conventions, whitespace and 235 script registrations pass. Full product build and full CTest were not rerun for this synchronization.
2026-11-01 14:56:40 +08:00