diff --git a/CMakeLists.txt b/CMakeLists.txt index 9574be94..62504489 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1412,6 +1412,9 @@ if(UNICORN_BUILD_TESTS) file(APPEND ${CMAKE_BINARY_DIR}/adb.sh "adb shell \"chmod +x /data/local/tmp/build/${TEST_FILE}\"\n") file(APPEND ${CMAKE_BINARY_DIR}/adb.sh "adb shell \'LD_LIBRARY_PATH=/data/local/tmp/build:$LD_LIBRARY_PATH /data/local/tmp/build/${TEST_FILE}\' || exit -1\n") endif() + if (UNICORN_TARGET_ARCH STREQUAL "aarch64" OR UNICORN_TARGET_ARCH STREQUAL "ppc") + target_compile_definitions(${TEST_FILE} PRIVATE TARGET_READ_INLINED) + endif() endforeach() endif() diff --git a/tests/unit/test_x86.c b/tests/unit/test_x86.c index 75fe1a8f..ba37e638 100644 --- a/tests/unit/test_x86.c +++ b/tests/unit/test_x86.c @@ -1126,6 +1126,7 @@ static void test_x86_invalid_vex_l(void) OK(uc_close(uc)); } +#ifndef TARGET_READ_INLINED struct writelog_t { uint32_t addr, size; }; @@ -1188,6 +1189,7 @@ static void test_x86_unaligned_access(void) OK(uc_close(uc)); } +#endif static bool test_x86_lazy_mapping_mem_callback(uc_engine *uc, uc_mem_type type, uint64_t address, int size, int64_t value, void *user_data) @@ -1259,6 +1261,8 @@ TEST_LIST = { {"test_x86_correct_address_in_long_jump_hook", test_x86_correct_address_in_long_jump_hook}, {"test_x86_invalid_vex_l", test_x86_invalid_vex_l}, +#ifndef TARGET_READ_INLINED {"test_x86_unaligned_access", test_x86_unaligned_access}, +#endif {"test_x86_lazy_mapping", test_x86_lazy_mapping}, {NULL, NULL}};