diff --git a/Core/Debugger/SymbolMap.cpp b/Core/Debugger/SymbolMap.cpp index 97bb798e26..bb4a29c34f 100644 --- a/Core/Debugger/SymbolMap.cpp +++ b/Core/Debugger/SymbolMap.cpp @@ -37,6 +37,8 @@ #include "Core/MemMap.h" #include "Core/Debugger/SymbolMap.h" +#include "ext/armips/Core/Assembler.h" + SymbolMap *g_symbolMap; void SymbolMap::SortSymbols() { diff --git a/Core/Debugger/SymbolMap.h b/Core/Debugger/SymbolMap.h index 94641ee477..f40e38e7b2 100644 --- a/Core/Debugger/SymbolMap.h +++ b/Core/Debugger/SymbolMap.h @@ -26,8 +26,6 @@ #include "Common/CommonTypes.h" -#include "ext/armips/Core/Assembler.h" - enum SymbolType { ST_NONE = 0, ST_FUNCTION = 1, @@ -59,6 +57,8 @@ enum DataType { DATATYPE_NONE, DATATYPE_BYTE, DATATYPE_HALFWORD, DATATYPE_WORD, DATATYPE_ASCII }; +struct LabelDefinition; + #ifdef _WIN32 struct HWND__; typedef struct HWND__ *HWND; diff --git a/Core/MIPS/MIPSAsm.cpp b/Core/MIPS/MIPSAsm.cpp index cb0e52f3ea..ae7982ef8a 100644 --- a/Core/MIPS/MIPSAsm.cpp +++ b/Core/MIPS/MIPSAsm.cpp @@ -1,18 +1,23 @@ #ifdef _WIN32 #include "stdafx.h" #endif -#include "MIPSAsm.h" #include #include -#include "util/text/utf8.h" -#include "Core/MemMapHelpers.h" -#include "Core/MIPS/JitCommon/NativeJit.h" -#include "Core/Debugger/SymbolMap.h" +#include + +#include "Common/CommonTypes.h" #if defined(_WIN32) || defined(ANDROID) +// This has to be before basictypes to avoid a define conflict. #include "ext/armips/Core/Assembler.h" #endif +#include "util/text/utf8.h" +#include "Core/Debugger/SymbolMap.h" +#include "Core/MemMapHelpers.h" +#include "Core/MIPS/JitCommon/NativeJit.h" +#include "Core/MIPS/MIPSAsm.h" + namespace MIPSAsm { static std::wstring errorText; diff --git a/android/jni/Android.mk b/android/jni/Android.mk index 1dab6bfbed..a4cdbbaa34 100644 --- a/android/jni/Android.mk +++ b/android/jni/Android.mk @@ -401,22 +401,19 @@ ifeq ($(UNITTEST),1) LIBARMIPS_FILES := \ $(SRC)/ext/armips/Archs/ARM/Arm.cpp \ $(SRC)/ext/armips/Archs/ARM/ArmOpcodes.cpp \ + $(SRC)/ext/armips/Archs/ARM/ArmParser.cpp \ $(SRC)/ext/armips/Archs/ARM/ArmRelocator.cpp \ $(SRC)/ext/armips/Archs/ARM/CArmInstruction.cpp \ $(SRC)/ext/armips/Archs/ARM/CThumbInstruction.cpp \ $(SRC)/ext/armips/Archs/ARM/Pool.cpp \ $(SRC)/ext/armips/Archs/ARM/ThumbOpcodes.cpp \ $(SRC)/ext/armips/Archs/MIPS/CMipsInstruction.cpp \ - $(SRC)/ext/armips/Archs/MIPS/CMipsMacro.cpp \ $(SRC)/ext/armips/Archs/MIPS/Mips.cpp \ $(SRC)/ext/armips/Archs/MIPS/MipsElfFile.cpp \ $(SRC)/ext/armips/Archs/MIPS/MipsMacros.cpp \ $(SRC)/ext/armips/Archs/MIPS/MipsOpcodes.cpp \ - $(SRC)/ext/armips/Archs/MIPS/MipsPSP.cpp \ + $(SRC)/ext/armips/Archs/MIPS/MipsParser.cpp \ $(SRC)/ext/armips/Archs/MIPS/PsxRelocator.cpp \ - $(SRC)/ext/armips/Archs/Z80/CZ80Instruction.cpp \ - $(SRC)/ext/armips/Archs/Z80/z80.cpp \ - $(SRC)/ext/armips/Archs/Z80/z80Opcodes.cpp \ $(SRC)/ext/armips/Archs/Architecture.cpp \ $(SRC)/ext/armips/Commands/CAssemblerCommand.cpp \ $(SRC)/ext/armips/Commands/CAssemblerLabel.cpp \ @@ -424,31 +421,41 @@ ifeq ($(UNITTEST),1) $(SRC)/ext/armips/Commands/CDirectiveConditional.cpp \ $(SRC)/ext/armips/Commands/CDirectiveData.cpp \ $(SRC)/ext/armips/Commands/CDirectiveFile.cpp \ - $(SRC)/ext/armips/Commands/CDirectiveFill.cpp \ $(SRC)/ext/armips/Commands/CDirectiveMessage.cpp \ + $(SRC)/ext/armips/Commands/CommandSequence.cpp \ $(SRC)/ext/armips/Core/ELF/ElfFile.cpp \ $(SRC)/ext/armips/Core/ELF/ElfRelocator.cpp \ $(SRC)/ext/armips/Core/Assembler.cpp \ - $(SRC)/ext/armips/Core/CMacro.cpp \ $(SRC)/ext/armips/Core/Common.cpp \ - $(SRC)/ext/armips/Core/Directives.cpp \ + $(SRC)/ext/armips/Core/Expression.cpp \ $(SRC)/ext/armips/Core/FileManager.cpp \ - $(SRC)/ext/armips/Core/MathParser.cpp \ $(SRC)/ext/armips/Core/Misc.cpp \ $(SRC)/ext/armips/Core/SymbolData.cpp \ $(SRC)/ext/armips/Core/SymbolTable.cpp \ + $(SRC)/ext/armips/Parser/DirectivesParser.cpp \ + $(SRC)/ext/armips/Parser/ExpressionParser.cpp \ + $(SRC)/ext/armips/Parser/Parser.cpp \ + $(SRC)/ext/armips/Parser/Tokenizer.cpp \ $(SRC)/ext/armips/Util/ByteArray.cpp \ - $(SRC)/ext/armips/Util/CommonClasses.cpp \ $(SRC)/ext/armips/Util/CRC.cpp \ $(SRC)/ext/armips/Util/EncodingTable.cpp \ $(SRC)/ext/armips/Util/FileClasses.cpp \ - $(SRC)/ext/armips/Util/StringFormat.cpp \ $(SRC)/ext/armips/Util/Util.cpp ifeq ($(findstring arm64-v8a,$(TARGET_ARCH_ABI)),arm64-v8a) TESTARMEMITTER_FILE = $(SRC)/unittest/TestArm64Emitter.cpp - else + else ifeq ($(findstring armeabi-v7a,$(TARGET_ARCH_ABI)),armeabi-v7a) TESTARMEMITTER_FILE = $(SRC)/unittest/TestArmEmitter.cpp + else + TESTARMEMITTER_FILE = \ + $(SRC)/Common/ArmEmitter.cpp \ + $(SRC)/Common/Arm64Emitter.cpp \ + $(SRC)/Core/MIPS/ARM/ArmRegCacheFPU.cpp \ + $(SRC)/Core/Util/DisArm64.cpp \ + $(SRC)/ext/disarm.cpp \ + $(SRC)/unittest/TestArmEmitter.cpp \ + $(SRC)/unittest/TestArm64Emitter.cpp \ + $(SRC)/unittest/TestX64Emitter.cpp endif LOCAL_MODULE := ppsspp_unittest diff --git a/ext/armips b/ext/armips index a0b878fced..a192a20ac8 160000 --- a/ext/armips +++ b/ext/armips @@ -1 +1 @@ -Subproject commit a0b878fced466b71b9b78b6187038c826dec0684 +Subproject commit a192a20ac87111f8de62d6c0e678b0e052e5ed63 diff --git a/ext/libarmips.vcxproj b/ext/libarmips.vcxproj index 4be715a234..7d7c37703a 100644 --- a/ext/libarmips.vcxproj +++ b/ext/libarmips.vcxproj @@ -229,41 +229,40 @@ + - - + - - - - + - - + - + + + + Create Create @@ -273,60 +272,56 @@ Create - - + - - + - - - - + - - + - + + + + + - - diff --git a/ext/libarmips.vcxproj.filters b/ext/libarmips.vcxproj.filters index bd55d60b96..decde16f2e 100644 --- a/ext/libarmips.vcxproj.filters +++ b/ext/libarmips.vcxproj.filters @@ -10,9 +10,6 @@ {b14a90ab-ec40-4a91-b169-81f6e36916a8} - - {8749652c-eae9-42f5-ad72-86197d31657e} - {876c84a8-beac-42b9-8372-a1c7bdca6e50} @@ -25,6 +22,15 @@ {b5ae6780-190b-480d-a356-20b3c69e6a7d} + + {f5bcf5e1-9ad8-4f34-ab14-6c04ef80f1c1} + + + {cca034bb-30ca-48d3-9283-e9def7f9b1bb} + + + {d1037c70-bb54-46fc-8b0c-a47c4ea4a252} + @@ -54,9 +60,6 @@ Archs\MIPS - - Archs\MIPS - Archs\MIPS @@ -69,21 +72,9 @@ Archs\MIPS - - Archs\MIPS - Archs\MIPS - - Archs\Z80 - - - Archs\Z80 - - - Archs\Z80 - Commands @@ -102,9 +93,6 @@ Commands - - Commands - Commands @@ -123,18 +111,9 @@ Core - - Core - Core - - Core - - - Core - Core\ELF @@ -144,9 +123,6 @@ Util - - Util - Util @@ -156,13 +132,34 @@ Util - - Util - Util + + Core + + + Commands + + + Parser + + + Parser + + + Parser + + + Parser + + + Archs\ARM + + + Archs\MIPS + @@ -192,9 +189,6 @@ Archs\MIPS - - Archs\MIPS - Archs\MIPS @@ -207,21 +201,9 @@ Archs\MIPS - - Archs\MIPS - Archs\MIPS - - Archs\Z80 - - - Archs\Z80 - - - Archs\Z80 - Commands @@ -240,30 +222,18 @@ Commands - - Commands - Commands Core - - Core - Core - - Core - Core - - Core - Core @@ -285,9 +255,6 @@ Util - - Util - Util @@ -297,12 +264,36 @@ Util - - Util - Util + + Core + + + ext\tinyformat + + + Commands + + + Parser + + + Parser + + + Parser + + + Parser + + + Archs\ARM + + + Archs\MIPS + - + \ No newline at end of file diff --git a/headless/Compare.cpp b/headless/Compare.cpp index 446546df81..ad9e32231d 100644 --- a/headless/Compare.cpp +++ b/headless/Compare.cpp @@ -30,6 +30,7 @@ #include #include #include +#include bool teamCityMode = false; std::string teamCityName = "";