dolphin-emulator/Source/Core/Common
Jonathan Hamilton 8ae76a6680 Fix arm64 MOVI2R for addresses between 2gb and 4gb offset from PC
The PC offset ADRP() path takes a s32 value, but the input offset was
being tested as abs(ptr) < 0xFFFFFFFF. This caused values between
0x80000000 and 0xFFFFFFFF to incorrectly use this path, despite the
offsets not being representable in an s32.

This caused a crash in the VertexLoader on android 8.1 immediate in wind
waker (and possibly all other apps on android 8.1) as the jit and data
sections happened to be loaded 4gb apart in virtual memory, causing some
pointers to hit this
2017-12-09 13:21:58 -08:00
..
Compat
Config
Crypto
GL
Logging
Align.h
Analytics.cpp
Analytics.h
Arm64Emitter.cpp
Arm64Emitter.h
ArmCommon.h
ArmCPUDetect.cpp
Assert.h
Atomic.h
Atomic_GCC.h
Atomic_Win32.h
BitField.h
BitField.natvis
BitSet.h
BitUtils.h
BlockingLoop.h
CDUtils.cpp
CDUtils.h
ChunkFile.h
CMakeLists.txt
CodeBlock.h
ColorUtil.cpp
ColorUtil.h
Common.h
Common.vcxproj
Common.vcxproj.filters
CommonFuncs.cpp
CommonFuncs.h
CommonPaths.h
CommonTypes.h
CompatPatches.cpp
CPUDetect.h
DebugInterface.h
ENetUtil.cpp
ENetUtil.h
Event.h
File.cpp
File.h
FileSearch.cpp
FileSearch.h
FileUtil.cpp
FileUtil.h
FixedSizeQueue.h
Flag.h
FPURoundMode.h
GekkoDisassembler.cpp
GekkoDisassembler.h
GenericCPUDetect.cpp
GenericFPURoundMode.cpp
Hash.cpp
Hash.h
HttpRequest.cpp
HttpRequest.h
IniFile.cpp
IniFile.h
Intrinsics.h
JitRegister.cpp
JitRegister.h
Lazy.h
LdrWatcher.cpp
LdrWatcher.h
LinearDiskCache.h
make_scmrev.h.js
MathUtil.cpp
MathUtil.h
MD5.cpp
MD5.h
MemArena.cpp
MemArena.h
MemoryUtil.cpp
MemoryUtil.h
MsgHandler.cpp
MsgHandler.h
NandPaths.cpp
NandPaths.h
Network.cpp
Network.h
PcapFile.cpp
PcapFile.h
PerformanceCounter.cpp
PerformanceCounter.h
Profiler.cpp
Profiler.h
scmrev.h.in
SCMRevGen.vcxproj
ScopeGuard.h
SDCardUtil.cpp
SDCardUtil.h
Semaphore.h
SettingsHandler.cpp
SettingsHandler.h
SPSCQueue.h
StringUtil.cpp
StringUtil.h
Swap.h
SymbolDB.cpp
SymbolDB.h
SysConf.cpp
SysConf.h
Thread.cpp
Thread.h
Timer.cpp
Timer.h
TraversalClient.cpp
TraversalClient.h
TraversalProto.h
TraversalServer.cpp
UPnP.cpp
UPnP.h
Version.cpp
Version.h
WorkQueueThread.h
x64ABI.cpp
x64ABI.h
x64CPUDetect.cpp
x64Emitter.cpp
x64Emitter.h
x64FPURoundMode.cpp
x64Reg.h