Commit graph

22686 commits

Author SHA1 Message Date
Florent Castelli
925297d528 cmake: Simplify setting arch flags on macOS 2017-01-25 06:10:19 +01:00
Florent Castelli
3e28ebc31e cmake: Fix arch detection
Windows arch is set to AMD64, and we don't really want ix86 either
2017-01-25 06:10:19 +01:00
Florent Castelli
c48617008d cmake: Regroup compilation flags together 2017-01-25 06:10:19 +01:00
Florent Castelli
ff4ef08745 cmake: Readd fomit-frame-pointer on macOS
Make it also properly set on Release for multi-configuration generators
2017-01-25 06:10:19 +01:00
Florent Castelli
8f355962ce cmake: Move include higher up in the file 2017-01-25 06:10:19 +01:00
Florent Castelli
ec84c26975 cmake: Remove unused variable 2017-01-25 06:10:18 +01:00
Florent Castelli
b9127cd2e0 cmake: Regroup definitions for 64bit file offsets 2017-01-25 06:10:18 +01:00
Florent Castelli
a2e40a11d7 Fix typo MinSizeRe -> MinSizeRel 2017-01-25 06:10:18 +01:00
Lioncash
3734d6f16c DSPJitRegCache: Make GetReg return by value
Using out-references for this sort of thing is a C++03-ism.
2017-01-24 23:10:34 -05:00
Florent Castelli
08b73b8a77 cmake: Move check_and_add_flag to a separate file
Also make it add flags to both C and C++ when appropriate
2017-01-25 02:34:33 +01:00
degasus
d3aee2de08 JitCache: Split off JIT call from dispatcher.
This avoid flushing the BLR optimization stack on fast_block_cache misses.
2017-01-25 01:51:19 +01:00
JosJuice
8475b03bd8 ConfigManager: Always set a valid m_region
Fixes a regression from f85266d that made WADs
with no detectable region not boot correctly.
The non-WAD code was already handling this correctly.
2017-01-24 16:34:08 +01:00
booto
3ba388138d Set up IOS RAM information area with real values. 2017-01-24 09:48:21 -05:00
Markus Wick
eed64bb0fe Merge pull request #4744 from ligfx/cleanup-osx-cmake
CMake: Cleanup macOS-related logic
2017-01-24 14:36:10 +01:00
Markus Wick
63f56ccd02 Merge pull request #4741 from Orphis/cmake_cleanup
CMake cleanup
2017-01-24 14:35:05 +01:00
Michael Maltese
c85127c973 CMake: move CMAKE_MACOSX_RPATH with rest of macOS logic 2017-01-24 01:27:42 -08:00
Michael Maltese
b65b87c8b4 CMake: don't need to force Clang on macOS
It's already the default!
2017-01-24 01:27:42 -08:00
Michael Maltese
7ebb1b4d3d CMake: find_package(Threads) on macOS too 2017-01-24 01:27:41 -08:00
Michael Maltese
4cbd07b81f CMake: remove unneeded macOS frameworks 2017-01-24 01:27:41 -08:00
Michael Maltese
0ab3b1a3ff CMake: use CMAKE_OSX_DEPLOYMENT_TARGET 2017-01-24 01:27:41 -08:00
Michael Maltese
951eb9a801 CMake: use CMAKE_OSX_ARCHITECTURES 2017-01-23 23:44:38 -08:00
Matthew Parlane
221be63cb4 Merge pull request #4734 from leoetlino/info-ios-version
DolphinWX: Show the required IOS version in info panel
2017-01-24 18:47:14 +13:00
Florent Castelli
803ea7b143 cmake: Fix curl build for Windows 2017-01-24 05:48:08 +01:00
Florent Castelli
a917d247ed DolphinWX: Remove HAVE_WX preprocessor define
I think we don't have to double check it when building the WX target.
2017-01-24 05:48:08 +01:00
Lioncash
ed627a8cff DSPAssembler: Replace malloced output buffer with std::vector
Same thing, less manual memory management.
2017-01-23 22:03:40 -05:00
Florent Castelli
0baf1c78c0 vs: Move defines out of Common.h to the build system 2017-01-24 03:55:46 +01:00
Florent Castelli
a7bf9271b5 Fix missing includes 2017-01-24 03:31:51 +01:00
Florent Castelli
c649bf104b cmake: Prevent HAVE_OPENAL and HAVE_PORTAUDIO to be redefined 2017-01-24 03:22:03 +01:00
Florent Castelli
cac53603c5 DolphinWX: Put wx related headers before including anything else
Including Windows.h before them creates compilation errors.
2017-01-24 03:22:03 +01:00
Florent Castelli
7fe8395c33 cmake: Move listctrl in wxWidgts to platform specific generic 2017-01-24 03:22:03 +01:00
Florent Castelli
fa04c1479e cmake: Remove PCH support
Compilers are very picky and don't use PCH when they have been compiled
with different flags. I even got some ICE in MSVC, so removing them for now.

Modules are the solution.
2017-01-24 03:22:03 +01:00
Matthew Parlane
f70a1a27fa Merge pull request #4726 from ligfx/addingwindowsheaders
Fix building without PCH on Windows
2017-01-24 13:47:36 +13:00
Michael Maltese
0bc40cacda No longer need to //clang-format off for Windows headers 2017-01-23 16:23:37 -08:00
Matthew Parlane
00c993143f Merge pull request #4738 from EmptyChaos/pe-stackcheck-fix
PatchEngine: Fix potential crashing during stack probe
2017-01-24 11:27:44 +13:00
Matthew Parlane
98c4ceb3d1 Merge pull request #4737 from lioncash/bpmem
BPMemory: Minor changes
2017-01-24 11:00:25 +13:00
Lioncash
7a58a82a37 BPMemory: Add const specifier to member functions where applicable 2017-01-23 16:07:03 -05:00
Lioncash
1f596a23af BPMemory: Eliminate union type punning
This is undefined behavior in C++.
2017-01-23 16:05:32 -05:00
EmptyChaos
49873b1287 MMU/PatchEngine: Fix potential crash during stack probe
TryReadInstruction doesn't validate the address it resolves, that
can result in Memory::GetPointer failing and returning nullptr
which then leads to a nullptr dereference and a crash.

Created PowerPC::HostIsInstructionRAMAddress which works the same
way as PowerPC::HostIsRAMAddress for the IBAT.
2017-01-24 08:05:11 +11:00
Matthew Parlane
bd2881ff86 Merge pull request #4736 from leoetlino/oob
DiscIO: Fix out-of-bounds access in NANDContentDataBuffer
2017-01-24 10:02:09 +13:00
Léo Lam
3d21280ab4 DiscIO: Fix out-of-bounds access in NANDContentDataBuffer
Accessing buffer[start + size] triggers an error (and a crash) in debug
builds. Using std::copy_n fixes this.
2017-01-23 21:49:26 +01:00
Matthew Parlane
86b758d7ca Merge pull request #4733 from leoetlino/expose-wad-tmd
VolumeWad: Implement GetTMD()
2017-01-24 09:20:14 +13:00
Matthew Parlane
8d0ce8ea47 Merge pull request #4716 from degasus/jitcache
JitCache: Use a container for overlapping blocks.
2017-01-24 09:18:42 +13:00
Léo Lam
b892d78872 VolumeWad: Implement GetTMD()
This allows getting useful info like the required IOS version for WADs
(for showing it in the UI, for example).
2017-01-23 20:59:02 +01:00
Léo Lam
ceb1797977 DolphinWX: Show the required IOS version in info panel
This is useful to know which IOS version is required by a title without
having to look at the TMD manually.

The IOS version row will only appear if there is a TMD, of course.
2017-01-23 20:42:36 +01:00
Léo Lam
1cb87a9e43 DolphinWX: Simplify item creation in InfoPanel 2017-01-23 20:42:36 +01:00
degasus
7f6b8e3555 JitCache: Extract ErasePhysicalRange as function. 2017-01-23 20:33:44 +01:00
degasus
70caf447b9 JitCache: Get physical addresses from PPCAnalyst.
So we support all kind of degenerated blocks now, not just range+length based ones.
2017-01-23 20:33:44 +01:00
degasus
3529af61c4 JitAnalyzer: Remove jit block cache workaround. 2017-01-23 20:33:44 +01:00
degasus
f3ed993747 JitCache: Use a map with macro blocks for the occupied memory regions.
This also allow fast invalidation, without any restritions on the blocks itself.
So we can now implement inlining.
2017-01-23 20:33:44 +01:00
degasus
dc0fbc15f0 JitCache: Drop block_map.
It is only used for invalidation, and in a bad way. Just scan over all elements,
as it is still in O(n), this shouldn't matter much.
2017-01-23 20:33:44 +01:00