Commit graph

24753 commits

Author SHA1 Message Date
liamwhite
a28a0c47f8 Merge pull request #10990 from comex/ubsan
Fixes and workarounds to make UBSan happier on macOS
2023-07-26 10:33:28 -04:00
liamwhite
a9b733893c Merge pull request #11142 from german77/avoid_crash
yuzu: Avoid reading broken games
2023-07-26 10:33:14 -04:00
Morph
1c91875e6b Merge pull request #11157 from lat9nq/nasm
cmake: Download nasm from our external repo
2023-07-25 13:35:02 -04:00
lat9nq
909d84e4b4 cmake: Download nasm from our external repo
This package download has intermittent failures due to host Internet
issues (presumably), so download it ourselves from our own hosting.
2023-07-25 15:47:44 -04:00
liamwhite
904e8975ea Merge pull request #11095 from liamwhite/memory2
memory: cleanup
2023-07-24 13:47:11 -04:00
liamwhite
297e870ec7 Merge pull request #11135 from liamwhite/getaddrinfo
core: implement GetGaiStringErrorRequest, IContextRegistrar
2023-07-24 13:47:02 -04:00
liamwhite
48571783b5 Merge pull request #11136 from liamwhite/sp3shader
ssa_rewrite_pass: use proper maps
2023-07-24 13:46:53 -04:00
german77
352baa02da yuzu: Avoid reading broken games 2023-07-24 08:59:14 -06:00
Liam
b13ddf2a73 ssa_rewrite_pass: use proper maps 2023-07-23 11:38:01 -04:00
Liam
caf76a5603 core: implement GetGaiStringErrorRequest, IContextRegistrar 2023-07-22 23:29:45 -04:00
Liam
46234254b1 core: reduce TOCTTOU memory access 2023-07-22 11:19:29 -04:00
Liam
7073afff3b memory: minimize dependency on process 2023-07-22 11:19:29 -04:00
liamwhite
a1008f1be7 Merge pull request #11042 from lat9nq/wayland-appimage
ci/linux: Target deploy script from appimage path
2023-07-22 11:17:48 -04:00
liamwhite
de2fb523e3 Merge pull request #11094 from liamwhite/get
kernel: misc cleanup of page table accessors
2023-07-22 11:17:36 -04:00
liamwhite
ddb55725a1 Merge pull request #11098 from GPUCode/texel-buffers
buffer_cache: Increase number of texture buffers
2023-07-22 11:17:27 -04:00
bunnei
62b18a45db Merge pull request #11113 from liamwhite/nsd1
nsd: add GetApplicationServerEnvironmentType
2023-07-21 21:24:36 -07:00
bunnei
c7ebd075ea Merge pull request #11129 from liamwhite/dynamic_cast
general: remove uses of dynamic_cast
2023-07-21 21:22:51 -07:00
Liam
545880f71b core: remove remaining uses of dynamic_cast 2023-07-21 19:37:29 -04:00
Liam
f07dd39222 general: reduce use of dynamic_cast 2023-07-21 19:22:14 -04:00
liamwhite
09bfde9775 Merge pull request #11123 from Morph1984/remove-mem-hungry-opts
ci: Remove GA, Gr optimizations from MSVC
2023-07-21 15:06:07 -04:00
liamwhite
c52c03b718 Merge pull request #11069 from lat9nq/mingw-no-tzdb
common: Use arithmetic instead of string ops to get time zone
2023-07-21 15:05:59 -04:00
liamwhite
1b36e48f14 Merge pull request #11096 from german77/amiibooo
service: nfc: Update Implementation to match with latest RE
2023-07-21 09:21:48 -04:00
Morph
32e7c33a5c ci: Remove GA, Gr optimizations from MSVC
Internal testing has shown these result in higher committed memory usage in some systems.
Also Ob2 is already implied by O2, so that can be removed as well.
2023-07-21 01:30:43 -04:00
liamwhite
871be3a4d2 Merge pull request #11116 from lat9nq/clang-shadowing
general: Silence -Wshadow{,-uncaptured-local} warnings
2023-07-19 17:14:55 -04:00
liamwhite
075740115b Merge pull request #11114 from Kelebek1/warnings
Mark SetIdleTimeDetectionExtension logging as debug
2023-07-19 17:14:45 -04:00
lat9nq
cc6431d884 demangle: Update to llvm/llvm-project@ecbc812e0c 2023-07-18 22:39:26 -04:00
lat9nq
60b1445993 CMake: Require LLVM 17 or later
API changes necessitate an update here.
2023-07-18 22:39:13 -04:00
lat9nq
aa21a2ea3c vk_buffer_cache: Format 2023-07-18 19:56:20 -04:00
lat9nq
30e4e8c2f4 general: Silence -Wshadow{,-uncaptured-local} warnings
These occur in the latest commits in LLVM Clang.
2023-07-18 19:31:35 -04:00
Kelebek1
df8097de60 Debug SetIdleTimeDetectionExtension 2023-07-18 10:16:14 +01:00
Morph
d703c0a10c Merge pull request #11109 from Morph1984/net
network: Fix compilation with ENABLE_WEB_SERVICE=OFF
2023-07-17 23:57:39 -04:00
Liam
0cd5b83aa3 nsd: add GetApplicationServerEnvironmentType 2023-07-17 21:34:23 -04:00
Morph
0263d2fb05 ssl: Link with crypt32 for secure channel backend 2023-07-17 15:46:24 -04:00
Morph
e5e843b73f ssl: Reorder inclusions 2023-07-17 15:46:24 -04:00
Morph
74d0865478 network: Forward declarations 2023-07-17 15:36:03 -04:00
Narr the Reg
2aab79426a service: nfc: Update Implementation to match with latest RE 2023-07-17 11:24:23 -06:00
liamwhite
f2b6eed2ca Merge pull request #10934 from abouvier/cmake-vma
cmake: allow using system VMA library
2023-07-17 10:42:41 -04:00
liamwhite
e03e85ae31 Merge pull request #11102 from v1993/your-mom-is-encrypted
android: fix links to re-dumping guides
2023-07-17 10:42:31 -04:00
liamwhite
b05ad55c4c Merge pull request #10912 from comex/ssl
Implement SSL service
2023-07-16 16:56:47 -04:00
Valeri Ochinski
cd7fc3a3fe android: fix links to re-dumping guides 2023-07-16 20:22:27 +03:00
GPUCode
7e9f75453f buffer_cache: Increase number of texture buffers 2023-07-15 23:09:58 +03:00
comex
85d77f636c Fixes and workarounds to make UBSan happier on macOS
There are still some other issues not addressed here, but it's a start.

Workarounds for false-positive reports:

- `RasterizerAccelerated`: Put a gigantic array behind a `unique_ptr`,
  because UBSan has a [hardcoded limit](https://stackoverflow.com/questions/64531383/c-runtime-error-using-fsanitize-undefined-object-has-a-possibly-invalid-vp)
  of how big it thinks objects can be, specifically when dealing with
  offset-to-top values used with multiple inheritance.  Hopefully this
  doesn't have a performance impact.

- `QueryCacheBase::QueryCacheBase`: Avoid an operation that UBSan thinks
  is UB even though it at least arguably isn't.  See the link in the
  comment for more information.

Fixes for correct reports:

- `PageTable`, `Memory`: Use `uintptr_t` values instead of pointers to
  avoid UB from pointer overflow (when pointer arithmetic wraps around
  the address space).

- `KScheduler::Reload`: `thread->GetOwnerProcess()` can be `nullptr`;
  avoid calling methods on it in this case.  (The existing code returns
  a garbage reference to a field, which is then passed into
  `LoadWatchpointArray`, and apparently it's never used, so it's
  harmless in practice but still triggers UBSan.)

- `KAutoObject::Close`: This function calls `this->Destroy()`, which
  overwrites the beginning of the object with junk (specifically a free
  list pointer).  Then it calls `this->UnregisterWithKernel()`.  UBSan
  complains about a type mismatch because the vtable has been
  overwritten, and I believe this is indeed UB.  `UnregisterWithKernel`
  also loads `m_kernel` from the 'freed' object, which seems to be
  technically safe (the overwriting doesn't extend as far as that
  field), but seems dubious.  Switch to a `static` method and load
  `m_kernel` in advance.
2023-07-15 12:00:28 -07:00
Liam
b47ce23b31 kernel: reduce page table region checking 2023-07-14 22:33:10 -04:00
Liam
6b6f0b21b9 k_process: PageTable -> GetPageTable 2023-07-14 21:43:15 -04:00
Tobias
16590ff2d0 file_sys/content_archive: Detect compressed NCAs (#11047) 2023-07-12 23:17:18 +02:00
lat9nq
25b800e26c time_zone: Clean up includes 2023-07-12 03:03:03 -04:00
lat9nq
0331d580e2 time_zone: Swap subtraction order 2023-07-12 03:02:45 -04:00
lat9nq
9fde7a84ea time_zone: Account for leap years
Protects against invalid hour offsets during transitions to years
following leap years.
2023-07-12 02:34:02 -04:00
Alexandre Bouvier
dad3ef76a2 cmake: allow using system VMA library 2023-07-12 04:51:45 +02:00
bunnei
9a9da4301b Merge pull request #10985 from liamwhite/handle-translate
k_server_session: translate special header for non-HLE requests
2023-07-11 16:49:24 -07:00