Fixes to build under arm32 ( raspberry pi on 32bit debian). (#261)

This commit is contained in:
Josep Maria Antolín Segura
2024-06-22 03:20:49 +02:00
committed by GitHub
parent 49525fcd5c
commit e1fba7a7b4
3 changed files with 22 additions and 12 deletions

View File

@@ -15,8 +15,13 @@ if(${PCEM_CPU_TYPE} STREQUAL "i386")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2")
endif()
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fomit-frame-pointer -mstackrealign -fno-strict-aliasing")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fomit-frame-pointer -mstackrealign -fno-strict-aliasing")
if(${PCEM_CPU_TYPE} MATCHES "arm.*")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fomit-frame-pointer -fno-strict-aliasing")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fomit-frame-pointer -fno-strict-aliasing")
else()
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fomit-frame-pointer -mstackrealign -fno-strict-aliasing")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fomit-frame-pointer -mstackrealign -fno-strict-aliasing")
endif()
if (UNIX)
add_definitions(-D_FILE_OFFSET_BITS=64)

View File

@@ -1,9 +1,15 @@
set(archdetect_c_code "
#if defined(__arm__) || defined(__TARGET_ARCH_ARM)
#if defined(__ARM_ARCH_7__) \\
#if defined(__ARM_ARCH_8__) \\
|| defined(__ARM_ARCH_8A__) \\
|| (defined(__ARM_ARCH) && __ARM_ARCH >= 8) \\
|| (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM-0 >= 8)
#error cmake_ARCH armv8
#elif defined(__ARM_ARCH_7__) \\
|| defined(__ARM_ARCH_7A__) \\
|| defined(__ARM_ARCH_7R__) \\
|| defined(__ARM_ARCH_7M__) \\
|| (defined(__ARM_ARCH) && __ARM_ARCH >= 7) \\
|| (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM-0 >= 7)
#error cmake_ARCH armv7
#elif defined(__ARM_ARCH_6__) \\
@@ -13,6 +19,7 @@ set(archdetect_c_code "
|| defined(__ARM_ARCH_6K__) \\
|| defined(__ARM_ARCH_6ZK__) \\
|| defined(__ARM_ARCH_6M__) \\
|| (defined(__ARM_ARCH) && __ARM_ARCH >= 6) \\
|| (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM-0 >= 6)
#error cmake_ARCH armv6
#elif defined(__ARM_ARCH_5TEJ__) \\

View File

@@ -106,14 +106,6 @@ if(${PCEM_CPU_TYPE} STREQUAL "i386")
)
endif()
if(${PCEM_CPU_TYPE} STREQUAL "arm")
set(PCEM_SRC ${PCEM_SRC}
codegen/arm32/codegen_backend_arm.c
codegen/arm32/codegen_backend_arm_ops.c
codegen/arm32/codegen_backend_arm_uops.c
)
endif()
if(${PCEM_CPU_TYPE} STREQUAL "arm64")
set(PCEM_SRC ${PCEM_SRC}
codegen/arm64/codegen_backend_arm64.c
@@ -121,4 +113,10 @@ if(${PCEM_CPU_TYPE} STREQUAL "arm64")
codegen/arm64/codegen_backend_arm64_ops.c
codegen/arm64/codegen_backend_arm64_uops.c
)
endif()
elseif(${PCEM_CPU_TYPE} MATCHES "armv.*")
set(PCEM_SRC ${PCEM_SRC}
codegen/arm32/codegen_backend_arm.c
codegen/arm32/codegen_backend_arm_ops.c
codegen/arm32/codegen_backend_arm_uops.c
)
endif()