diff options
author | Rahul Kumar <rahku@microsoft.com> | 2015-11-23 17:11:42 -0800 |
---|---|---|
committer | jashook <jashoo@microsoft.com> | 2015-12-15 10:15:40 -0800 |
commit | ab8261b9853b50b3714ba80717e9164dfb765c74 (patch) | |
tree | 099768489a0b812101d7cc2ac4253c11b9909ec4 /src/vm | |
parent | b171cfd0c7179c39e8959d42aa3505ccfea1e834 (diff) | |
download | coreclr-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.txt | 16 | ||||
-rw-r--r-- | src/vm/crossgen/CMakeLists.txt | 7 | ||||
-rw-r--r-- | src/vm/interpreter.cpp | 2 | ||||
-rw-r--r-- | src/vm/wks/CMakeLists.txt | 12 |
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}) |