summaryrefslogtreecommitdiff
path: root/src/unwinder/CMakeLists.txt
diff options
context:
space:
mode:
authorBen Pye <ben@curlybracket.co.uk>2015-07-01 15:10:09 +0100
committerBen Pye <ben@curlybracket.co.uk>2015-07-24 16:45:35 +0100
commit9cd8273572260317c6acc126333e5a6e56aaeb06 (patch)
treef125e83a6908151322aa20940b63c64c621c1169 /src/unwinder/CMakeLists.txt
parentacca43b33dcd97d1dc5d92147a3047a3bdfaf1ce (diff)
downloadcoreclr-9cd8273572260317c6acc126333e5a6e56aaeb06.tar.gz
coreclr-9cd8273572260317c6acc126333e5a6e56aaeb06.tar.bz2
coreclr-9cd8273572260317c6acc126333e5a6e56aaeb06.zip
Add ARM target for CoreCLR on Linux.
c_runtime/vprintf/test1 is disabled as casting NULL to va_list is against the C specification. Fix SetFilePointer tests on 32 bit platforms. Define _FILE_OFFSET_BITS=64 so that we have long file support on 32 bit platforms. Implement context capture/restore for ARM. Link libgcc_s before libunwind on ARM so C++ exceptions work. Translate armasm to gas syntax. Specify Thumb, VFPv3, ARMv7 for the ARM target. Add ARM configuration to mscorlib build Implement GetLogicalProcessorCacheSizeFromOS in PAL. Set UNWIND_CONTEXT_IS_UCONTEXT_T from configure check.
Diffstat (limited to 'src/unwinder/CMakeLists.txt')
-rw-r--r--src/unwinder/CMakeLists.txt37
1 files changed, 21 insertions, 16 deletions
diff --git a/src/unwinder/CMakeLists.txt b/src/unwinder/CMakeLists.txt
index 3ff57eabcd..27e613cd3c 100644
--- a/src/unwinder/CMakeLists.txt
+++ b/src/unwinder/CMakeLists.txt
@@ -7,29 +7,34 @@ include_directories(${CLR_DIR}/src/gc)
include_directories(${CLR_DIR}/src/gcdump)
include_directories(${CLR_DIR}/src/debug/daccess)
-if(CLR_CMAKE_PLATFORM_UNIX)
- add_compile_options(-fPIC)
-endif(CLR_CMAKE_PLATFORM_UNIX)
+set(UNWINDER_SOURCES
+ unwinder.cpp
+)
-
-if(IS_64BIT_BUILD EQUAL 1)
+if(CLR_CMAKE_PLATFORM_ARCH_AMD64)
include_directories(amd64)
+
+ list(APPEND UNWINDER_SOURCES
+ amd64/unwinder_amd64.cpp
+ )
+elseif(CLR_CMAKE_PLATFORM_ARCH_ARM)
+ include_directories(arm)
+
+ list(APPEND UNWINDER_SOURCES
+ arm/unwinder_arm.cpp
+ )
+else()
+ message(FATAL_ERROR "Only ARM and AMD64 is supported")
+endif()
+
+convert_to_absolute_path(UNWINDER_SOURCES ${UNWINDER_SOURCES})
if(CLR_CMAKE_PLATFORM_UNIX)
add_compile_options(-fPIC)
endif(CLR_CMAKE_PLATFORM_UNIX)
- set(UNWINDER_SOURCES
- unwinder.cpp
- amd64/unwinder_amd64.cpp
- )
-
- convert_to_absolute_path(UNWINDER_SOURCES ${UNWINDER_SOURCES})
-
- add_subdirectory(dac)
if(CLR_CMAKE_PLATFORM_UNIX)
add_subdirectory(wks)
-endif(CLR_CMAKE_PLATFORM_UNIX)
-
-endif(IS_64BIT_BUILD EQUAL 1)
+endif(CLR_CMAKE_PLATFORM_UNIX)
+add_subdirectory(dac) \ No newline at end of file