summaryrefslogtreecommitdiff
path: root/src/gcinfo
diff options
context:
space:
mode:
authorBruce Forstall <brucefo@microsoft.com>2017-04-25 09:43:38 -0700
committerBruce Forstall <brucefo@microsoft.com>2017-04-25 14:50:24 -0700
commit35bd37d89e53411ef09cd0a509e6ffaaf1ab3b8a (patch)
treec4f99a14630c49453947b2cee1c1b9f1836ee0ee /src/gcinfo
parent0f04654b3beda5624f5e03e03b99a15cbce8aaff (diff)
downloadcoreclr-35bd37d89e53411ef09cd0a509e6ffaaf1ab3b8a.tar.gz
coreclr-35bd37d89e53411ef09cd0a509e6ffaaf1ab3b8a.tar.bz2
coreclr-35bd37d89e53411ef09cd0a509e6ffaaf1ab3b8a.zip
Fix GCInfo library used by ARM/ARM64 protononjit builds
Otherwise, using the normal GCInfo library, the altjits will assert creating GC info. Create new "cross-target" builds of the GCInfo library.
Diffstat (limited to 'src/gcinfo')
-rw-r--r--src/gcinfo/CMakeLists.txt10
-rw-r--r--src/gcinfo/gcinfo_arm/CMakeLists.txt7
-rw-r--r--src/gcinfo/gcinfo_arm64/CMakeLists.txt7
3 files changed, 24 insertions, 0 deletions
diff --git a/src/gcinfo/CMakeLists.txt b/src/gcinfo/CMakeLists.txt
index e4730c69b3..ab7e48dcfd 100644
--- a/src/gcinfo/CMakeLists.txt
+++ b/src/gcinfo/CMakeLists.txt
@@ -23,5 +23,15 @@ endif(CLR_CMAKE_PLATFORM_UNIX)
add_subdirectory(lib)
add_subdirectory(crossgen)
+if (CLR_CMAKE_PLATFORM_ARCH_I386)
+ # On x86, build RyuJIT/ARM32 cross-compiling altjit.
+ add_subdirectory(gcinfo_arm)
+endif ()
+
+if (CLR_CMAKE_PLATFORM_ARCH_AMD64)
+ # On amd64, build RyuJIT/ARM64 cross-compiling altjit.
+ add_subdirectory(gcinfo_arm64)
+endif ()
+
_install (FILES gcinfoencoder.cpp
DESTINATION gcinfo)
diff --git a/src/gcinfo/gcinfo_arm/CMakeLists.txt b/src/gcinfo/gcinfo_arm/CMakeLists.txt
new file mode 100644
index 0000000000..3617c97f3f
--- /dev/null
+++ b/src/gcinfo/gcinfo_arm/CMakeLists.txt
@@ -0,0 +1,7 @@
+remove_definitions(-D_TARGET_X86_=1)
+add_definitions(-D_TARGET_ARM_)
+
+add_library_clr(gcinfo_arm
+ STATIC
+ ${GCINFO_SOURCES}
+)
diff --git a/src/gcinfo/gcinfo_arm64/CMakeLists.txt b/src/gcinfo/gcinfo_arm64/CMakeLists.txt
new file mode 100644
index 0000000000..116ed7c1d6
--- /dev/null
+++ b/src/gcinfo/gcinfo_arm64/CMakeLists.txt
@@ -0,0 +1,7 @@
+remove_definitions(-D_TARGET_AMD64_=1)
+add_definitions(-D_TARGET_ARM64_)
+
+add_library_clr(gcinfo_arm64
+ STATIC
+ ${GCINFO_SOURCES}
+)