From f906d031fa5c0f2192ee946d5dc3ead689e8e58c Mon Sep 17 00:00:00 2001 From: Peter Tissen Date: Sun, 27 Apr 2014 18:37:21 +0200 Subject: [PATCH] remove more offsetof calls on linux and add asmjit linkage --- rpcs3/CMakeLists.txt | 2 +- rpcs3/Emu/Cell/SPURecompiler.h | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/rpcs3/CMakeLists.txt b/rpcs3/CMakeLists.txt index 540b287c6e..9652b744c3 100644 --- a/rpcs3/CMakeLists.txt +++ b/rpcs3/CMakeLists.txt @@ -79,5 +79,5 @@ RPCS3_SRC add_executable(rpcs3 ${RPCS3_SRC}) -target_link_libraries(rpcs3 ${wxWidgets_LIBRARIES} ${OPENAL_LIBRARY} ${GLEW_LIBRARY} ${OPENGL_LIBRARIES} libavformat.a libavcodec.a libavutil.a libswresample.a libswscale.a ${ZLIB_LIBRARIES}) +target_link_libraries(rpcs3 "${CMAKE_CURRENT_BINARY_DIR}/asmjit/asmjit.a" ${wxWidgets_LIBRARIES} ${OPENAL_LIBRARY} ${GLEW_LIBRARY} ${OPENGL_LIBRARIES} libavformat.a libavcodec.a libavutil.a libswresample.a libswscale.a ${ZLIB_LIBRARIES}) diff --git a/rpcs3/Emu/Cell/SPURecompiler.h b/rpcs3/Emu/Cell/SPURecompiler.h index 16c8f0cfdd..ca402b4ee6 100644 --- a/rpcs3/Emu/Cell/SPURecompiler.h +++ b/rpcs3/Emu/Cell/SPURecompiler.h @@ -109,16 +109,20 @@ public: #define cpu_dword(x) dword_ptr(*cpu_var, (sizeof((*(SPUThread*)nullptr).x) == 4) ? offsetof(SPUThread, x) : throw "sizeof("#x") != 4") #define cpu_word(x) word_ptr(*cpu_var, (sizeof((*(SPUThread*)nullptr).x) == 2) ? offsetof(SPUThread, x) : throw "sizeof("#x") != 2") #define cpu_byte(x) byte_ptr(*cpu_var, (sizeof((*(SPUThread*)nullptr).x) == 1) ? offsetof(SPUThread, x) : throw "sizeof("#x") != 1") + +#define g_imm_xmm(x) oword_ptr(*g_imm_var, offsetof(g_imm_table_struct, x)) +#define g_imm2_xmm(x, y) oword_ptr(*g_imm_var, y, 0, offsetof(g_imm_table_struct, x)) #else #define cpu_xmm(x) oword_ptr(*cpu_var, &(((SPUThread*)0)->x) ) #define cpu_qword(x) qword_ptr(*cpu_var, &(((SPUThread*)0)->x) ) #define cpu_dword(x) dword_ptr(*cpu_var, &(((SPUThread*)0)->x) ) #define cpu_word(x) word_ptr(*cpu_var, &(((SPUThread*)0)->x) ) #define cpu_byte(x) byte_ptr(*cpu_var, &(((SPUThread*)0)->x) ) + +#define g_imm_xmm(x) oword_ptr(*g_imm_var, &(((g_imm_table_struct*)0)->x)) +#define g_imm2_xmm(x, y) oword_ptr(*g_imm_var, y, 0, &(((g_imm_table_struct*)0)->x)) #endif -#define g_imm_xmm(x) oword_ptr(*g_imm_var, offsetof(g_imm_table_struct, x)) -#define g_imm2_xmm(x, y) oword_ptr(*g_imm_var, y, 0, offsetof(g_imm_table_struct, x)) #define LOG_OPCODE(...) //ConLog.Write("Compiled "__FUNCTION__"(): "__VA_ARGS__)