Disable unaligned access test on ppc and aarch64

The memoy read operations on these architectures are inlined

e.g. ldur on aarch64
This commit is contained in:
mio 2022-08-14 15:42:37 +02:00
parent 419d710c4a
commit bdb141aeef
No known key found for this signature in database
GPG Key ID: DFF27E34A47CB873
2 changed files with 7 additions and 0 deletions

View File

@ -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 \"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") 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() endif()
if (UNICORN_TARGET_ARCH STREQUAL "aarch64" OR UNICORN_TARGET_ARCH STREQUAL "ppc")
target_compile_definitions(${TEST_FILE} PRIVATE TARGET_READ_INLINED)
endif()
endforeach() endforeach()
endif() endif()

View File

@ -1126,6 +1126,7 @@ static void test_x86_invalid_vex_l(void)
OK(uc_close(uc)); OK(uc_close(uc));
} }
#ifndef TARGET_READ_INLINED
struct writelog_t { struct writelog_t {
uint32_t addr, size; uint32_t addr, size;
}; };
@ -1188,6 +1189,7 @@ static void test_x86_unaligned_access(void)
OK(uc_close(uc)); OK(uc_close(uc));
} }
#endif
static bool test_x86_lazy_mapping_mem_callback(uc_engine *uc, uc_mem_type type, 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) 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_correct_address_in_long_jump_hook}, test_x86_correct_address_in_long_jump_hook},
{"test_x86_invalid_vex_l", test_x86_invalid_vex_l}, {"test_x86_invalid_vex_l", test_x86_invalid_vex_l},
#ifndef TARGET_READ_INLINED
{"test_x86_unaligned_access", test_x86_unaligned_access}, {"test_x86_unaligned_access", test_x86_unaligned_access},
#endif
{"test_x86_lazy_mapping", test_x86_lazy_mapping}, {"test_x86_lazy_mapping", test_x86_lazy_mapping},
{NULL, NULL}}; {NULL, NULL}};