summaryrefslogtreecommitdiff
path: root/src/vm
diff options
context:
space:
mode:
authorRahul Kumar <rahku@microsoft.com>2015-11-23 17:11:42 -0800
committerjashook <jashoo@microsoft.com>2015-12-15 10:15:40 -0800
commitab8261b9853b50b3714ba80717e9164dfb765c74 (patch)
tree099768489a0b812101d7cc2ac4253c11b9909ec4 /src/vm
parentb171cfd0c7179c39e8959d42aa3505ccfea1e834 (diff)
downloadcoreclr-ab8261b9853b50b3714ba80717e9164dfb765c74.tar.gz
coreclr-ab8261b9853b50b3714ba80717e9164dfb765c74.tar.bz2
coreclr-ab8261b9853b50b3714ba80717e9164dfb765c74.zip
Build arm64 using private toolset
Successfully builds all binaries except sos.dll & x64 binaries
Diffstat (limited to 'src/vm')
-rw-r--r--src/vm/CMakeLists.txt16
-rw-r--r--src/vm/crossgen/CMakeLists.txt7
-rw-r--r--src/vm/interpreter.cpp2
-rw-r--r--src/vm/wks/CMakeLists.txt12
4 files changed, 33 insertions, 4 deletions
diff --git a/src/vm/CMakeLists.txt b/src/vm/CMakeLists.txt
index 9a5d878ef8..9e9dd68a07 100644
--- a/src/vm/CMakeLists.txt
+++ b/src/vm/CMakeLists.txt
@@ -108,7 +108,6 @@ set(VM_SOURCES_DAC_AND_WKS_COMMON
perfmap.cpp
precode.cpp
prestub.cpp
- readytoruninfo.cpp
rejit.cpp
securitydescriptor.cpp
securitydescriptorassembly.cpp
@@ -133,6 +132,12 @@ set(VM_SOURCES_DAC_AND_WKS_COMMON
zapsig.cpp
)
+if(FEATURE_READYTORUN)
+ list(APPEND VM_SOURCES_DAC_AND_WKS_COMMON
+ readytoruninfo.cpp
+ )
+endif(FEATURE_READYTORUN)
+
set(VM_SOURCES_DAC
${VM_SOURCES_DAC_AND_WKS_COMMON}
contexts.cpp
@@ -338,9 +343,16 @@ elseif(CLR_CMAKE_PLATFORM_ARCH_I386)
${ARCH_SOURCES_DIR}/gmsasm.asm
${ARCH_SOURCES_DIR}/jithelp.asm
)
+elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64)
+ set(VM_SOURCES_WKS_ARCH_ASM
+ ${ARCH_SOURCES_DIR}/AsmHelpers.asm
+ ${ARCH_SOURCES_DIR}/CallDescrWorkerARM64.asm
+ ${ARCH_SOURCES_DIR}/CrtHelpers.asm
+ ${ARCH_SOURCES_DIR}/PInvokeStubs.asm
+ )
endif()
-else()
+else(WIN32)
if(CLR_CMAKE_PLATFORM_ARCH_AMD64)
set(VM_SOURCES_WKS_ARCH_ASM
diff --git a/src/vm/crossgen/CMakeLists.txt b/src/vm/crossgen/CMakeLists.txt
index c112698554..5bed67918a 100644
--- a/src/vm/crossgen/CMakeLists.txt
+++ b/src/vm/crossgen/CMakeLists.txt
@@ -65,7 +65,6 @@ set(VM_CROSSGEN_SOURCES
../pendingload.cpp
../precode.cpp
../olevariant.cpp
- ../readytoruninfo.cpp
../security.cpp
../securitypolicy.cpp
../securityattributes.cpp
@@ -98,6 +97,12 @@ set(VM_CROSSGEN_SOURCES
../crossgencompile.cpp
)
+if(FEATURE_READYTORUN)
+ list(APPEND VM_CROSSGEN_SOURCES
+ ../readytoruninfo.cpp
+ )
+endif(FEATURE_READYTORUN)
+
include_directories(BEFORE ..)
include_directories(${CLR_DIR}/src/gc)
diff --git a/src/vm/interpreter.cpp b/src/vm/interpreter.cpp
index 5ee4c7aa3b..c93b377363 100644
--- a/src/vm/interpreter.cpp
+++ b/src/vm/interpreter.cpp
@@ -11817,7 +11817,7 @@ void Interpreter::PrintValue(InterpreterType it, BYTE* valAddr)
{
fprintf(GetLogFile(), " ");
}
- fprintf(GetLogFile(), "0x%p", valAddr[i]);
+ fprintf(GetLogFile(), "0x%02x", valAddr[i]);
}
fprintf(GetLogFile(), "]");
}
diff --git a/src/vm/wks/CMakeLists.txt b/src/vm/wks/CMakeLists.txt
index 1b232b7b19..b0af9a6b34 100644
--- a/src/vm/wks/CMakeLists.txt
+++ b/src/vm/wks/CMakeLists.txt
@@ -4,6 +4,18 @@ if (WIN32)
set_source_files_properties(../mscorlib.cpp PROPERTIES COMPILE_FLAGS "/Y-")
# .c file cannot use cpp precompiled header
set_source_files_properties(../microsoft.comservices_i.c PROPERTIES COMPILE_FLAGS "/Y-")
+
+ # asm files require preprocessing using cl.exe on arm64
+ if(CLR_CMAKE_PLATFORM_ARCH_ARM64)
+ foreach(ASM_FILE ${VM_SOURCES_WKS_ARCH_ASM})
+ get_filename_component(name ${ASM_FILE} NAME_WE)
+ set(ASM_PREPROCESSED_FILE ${CMAKE_CURRENT_BINARY_DIR}/${name}.asm)
+ preprocess_def_file(${ASM_FILE} ${ASM_PREPROCESSED_FILE})
+ set(VM_SOURCES_WKS_ARM64_PREPROCESSED_ASM ${VM_SOURCES_WKS_ARM64_PREPROCESSED_ASM} ${ASM_PREPROCESSED_FILE})
+ endforeach()
+
+ set(VM_SOURCES_WKS_ARCH_ASM ${VM_SOURCES_WKS_ARM64_PREPROCESSED_ASM})
+ endif(CLR_CMAKE_PLATFORM_ARCH_ARM64)
endif (WIN32)
add_library(cee_wks ${VM_SOURCES_WKS} ${VM_SOURCES_WKS_ARCH_ASM})