Commit Graph
695 Commits
Author SHA1 Message Date
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 95175b5acf Merge pull request #11298 from Gruzzberry/fix/dangling-link-prefix-enoent
fix(libkernel): fail with ENOENT for a path below a dangling Windows symbolic link
2026-11-02 23:27:36 +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 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 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 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 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 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 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 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à 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 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
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
Nicolas GonzalezandClaude Opus 5.5 6b16f90d5a feat(libc): trap guest reads of write-watched pages on macOS
GuestWriteWatchTrapReads takes all access to the pages of a range until
the resolver set with GuestWriteWatchSetReadTrapResolver has run for it.
A fault on a trapped page waits while the resolver runs on the watch's
own thread; host writes and GuestWriteWatchProtect run it first on the
calling thread. Collections keep trapped pages inaccessible, and
registering or unregistering memory drops its traps.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 07:33:02 +01:00
Dean 803889adab Merge pull request #8937 from UnhealthyKraken/feat/libc-fesetenv
feat(libc): implement fesetenv
2026-11-01 19:16:41 +13:00
Dean Galvin 7b52262718 Merge main into feat/libc-fwide 2026-11-01 18:45:39 +13:00
GruzzberryandClaude Sonnet 5.5 bfef134a9a fix(libkernel): fail with ENOENT for a path below a dangling Windows symbolic link
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-31 10:16:00 +00:00
Zain 6b358fe4b4 fix(libc): use guest long width for radix64 exports 2026-10-30 22:24:05 -05:00
Zain 02bcf26141 feat(libc): implement a64l, l64a, and l64a_r radix-64 integer conversions 2026-10-30 21:54:02 -05:00
Mouad-Scriptz-0andClaude Fable 5.1 99110dd451 Merge origin/main into port-4449
Conflicts: GuestArena.hpp/.cpp keep both sides' exports; GuestBufferMemory.cpp keeps this PR's run-list createBackingImport and resolves importStaysWatched's shared-backing check through the run resolver (sharedBacked), replacing main's BackingFile/sharedBacking; the debt file keeps this PR's sparse-import entry and main's presentation entry.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-30 23:31:33 +00:00
Hedi Trigui b0b59023f1 feat(libc): implement timelocal 2026-10-30 16:29:40 +01:00
Adrià 280bbad426 Merge pull request #12659 from JJenkx/codex/libc-scaled-nan-subject-20261028
fix(libc): parse scaled NaN subjects without numeric conversion
2026-10-30 13:45:37 +01:00
Adrià 8304ccaedb Merge pull request #11341 from SteelCrab/review/emscripten-libraries
build(libs): support Emscripten memory64 compilation
2026-10-30 12:49:20 +01:00
Federico Marras a12f8fc4d3 feat(libc): track stream orientation and implement fwide 2026-10-30 09:32:46 +01:00
lakhantheboss 126495863f feat(libc): implement timingsafe_bcmp 2026-10-30 13:20:24 +05:30
Adrià 0362b1521c Merge pull request #12861 from heditrigui/feat/libc-recallocarray
feat(libc): implement recallocarray
2026-10-30 06:36:10 +01:00
Adrià 0a2cda921d Merge pull request #12933 from heditrigui/feat/libc-dprintf
feat(libc): implement dprintf and vdprintf
2026-10-30 06:33:00 +01:00
Adrià 84368bddb2 Merge pull request #12160 from AlexFigas/feat/libc-pmr-resources
feat(libc): provide the pmr new-delete, null and default memory resources
2026-10-30 06:30:55 +01:00
Adrià 902c6ebfe9 Merge pull request #12111 from wanderingbug/cursor/upstream-macos-unwind-e22f
fix(libc): walk the Mach-O compact unwind index
2026-10-30 05:52:53 +01:00
Adrià b48afc66fb Merge pull request #12845 from heditrigui/feat/libc-qsort-r
feat(libc): implement qsort_r
2026-10-30 05:52:07 +01:00
Adrià 84e114e4eb Merge pull request #12715 from MarcZX10/feat/log-to-file
feat(libc): copy the runtime log into a file with ANYPS5_LOG_FILE
2026-10-30 05:51:34 +01:00
JJenkx 58fddd82c6 fix: integrate current main into PR #12659 2026-10-29 23:20:02 -04:00
pista d64e85164b build(libs): let the system libraries compile with Emscripten
Emscripten targets wasm64 without x86 assembly, Linux-only headers or the
x87 long double. These changes add __EMSCRIPTEN__ paths beside the host
ones; native builds compile the same code as before.

- libc: long doubles in guest varargs and scanf go through
  GuestLongDouble, a plain copy where long double is the x87 format;
  APS5_EXPORT emits no assembler alias; the guest arena is one aligned
  allocation that zeroes pages when they are committed again; getifaddrs
  keeps its link-level entries on Linux; /proc lookups and the host
  stderr duplicate are left out.
- libkernel: file-backed mmap, EVFILT_VNODE watches, getcontext and
  setcontext throw; getdents replaces the raw getdents64 syscall;
  getdtablesize takes the resource limit alone.
- VideoOut leaves SDL, the display window and the HDR probe out,
  Sysmodule asks libkernel for unwind information and Net includes
  sys/time.h.
2026-10-30 10:50:57 +09:00
Adrià 5e216d6aed Merge pull request #10927 from edubox/feat/libc-throw-bad-array-new-length
feat(libc): implement std::_Throw(const std::bad_array_new_length&)
2026-10-30 00:18:44 +01:00
Adrià 034e5a015a Merge pull request #11450 from edubox/feat/libc-sce-v2-locinfo
feat(libc): export std::__sce_v2::_Locinfo
2026-10-29 23:37:12 +01:00
Adrià 5c331df35d Merge pull request #12227 from klosixgaming-arch/perf/evict-skip-unwritten-pages
perf(libc): skip never-written pages when evicting a resident direct-memory run
2026-10-29 23:01:14 +01:00
Adrià d9f6887afb Merge pull request #12127 from iamthehimansh/split/macos-precise-sleep
fix(libc): absorb macOS nanosleep lateness in PreciseSleep
2026-10-29 22:18:39 +01:00
Adrià 33be5c14bb Merge pull request #11986 from juanpimg/feat/test-guest-sysmodule-spaces
fix(tests): parse maps pathname past whitespace in guest_sysmodule
2026-10-29 21:43:34 +01:00
Hedi Trigui 3dfc973fb8 fix(libc): address review feedback on vdprintf guest write path, short writes, ABI and test coverage 2026-10-29 17:30:21 +01:00
Hedi Trigui e999a37edd feat(libc): implement recallocarray 2026-10-29 17:01:12 +01:00