summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt84
-rw-r--r--src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/debian/Microsoft.NETCore.Runtime.CoreCLR.pkgproj6
-rw-r--r--src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/osx/Microsoft.NETCore.Runtime.CoreCLR.pkgproj6
-rw-r--r--src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/rhel/Microsoft.NETCore.Runtime.CoreCLR.pkgproj6
-rw-r--r--src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/Microsoft.NETCore.Runtime.CoreCLR.pkgproj6
-rw-r--r--src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj6
-rw-r--r--src/ToolBox/SOS/Strike/CMakeLists.txt11
-rw-r--r--src/ToolBox/SOS/lldbplugin/CMakeLists.txt2
-rw-r--r--src/coreclr/hosts/coreconsole/CMakeLists.txt4
-rw-r--r--src/coreclr/hosts/corerun/CMakeLists.txt6
-rw-r--r--src/coreclr/hosts/osxbundlerun/CMakeLists.txt2
-rw-r--r--src/coreclr/hosts/unixcoreconsole/CMakeLists.txt2
-rw-r--r--src/coreclr/hosts/unixcorerun/CMakeLists.txt2
-rw-r--r--src/corefx/System.Globalization.Native/CMakeLists.txt3
-rw-r--r--src/dlls/clretwrc/CMakeLists.txt6
-rw-r--r--src/dlls/dbgshim/CMakeLists.txt5
-rw-r--r--src/dlls/mscordac/CMakeLists.txt5
-rw-r--r--src/dlls/mscordbi/CMakeLists.txt5
-rw-r--r--src/dlls/mscoree/coreclr/CMakeLists.txt8
-rw-r--r--src/ilasm/CMakeLists.txt5
-rw-r--r--src/ildasm/exe/CMakeLists.txt6
-rw-r--r--src/jit/codegencommon.cpp11
-rw-r--r--src/jit/standalone/CMakeLists.txt5
-rw-r--r--src/mscorlib/src/System/Diagnostics/Stacktrace.cs52
-rw-r--r--src/scripts/genXplatLttng.py8
-rw-r--r--src/tools/crossgen/CMakeLists.txt9
-rw-r--r--tests/arm64/Tests.lst182
27 files changed, 171 insertions, 282 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ef0220d9a7..ba328f48be 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -154,6 +154,27 @@ else()
if (AWK STREQUAL "AWK-NOTFOUND")
message(FATAL_ERROR "AWK not found")
endif()
+
+ if (CMAKE_SYSTEM_NAME STREQUAL Darwin)
+
+ # Ensure that dsymutil and strip is present
+ find_program(DSYMUTIL dsymutil)
+ if (DSYMUTIL STREQUAL "DSYMUTIL-NOTFOUND")
+ message(FATAL_ERROR "dsymutil not found")
+ endif()
+ find_program(STRIP strip)
+ if (STRIP STREQUAL "STRIP-NOTFOUND")
+ message(FATAL_ERROR "strip not found")
+ endif()
+
+ else (CMAKE_SYSTEM_NAME STREQUAL Darwin)
+
+ # Ensure that objcopy is present
+ find_program(OBJCOPY objcopy)
+ if (OBJCOPY STREQUAL "OBJCOPY-NOTFOUND")
+ message(FATAL_ERROR "objcopy not found")
+ endif()
+ endif (CMAKE_SYSTEM_NAME STREQUAL Darwin)
endif(WIN32)
# Build a list of compiler definitions by putting -D in front of each define.
@@ -242,6 +263,69 @@ function(add_precompiled_header header cppFile targetSources)
endif(MSVC)
endfunction()
+function(strip_symbols targetName outputFilename)
+ if(CLR_CMAKE_PLATFORM_UNIX)
+ if(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL RELEASE)
+
+ # On the older version of cmake (2.8.12) used on Ubuntu 14.04 the TARGET_FILE
+ # generator expression doesn't work correctly returning the wrong path and on
+ # the newer cmake versions the LOCATION property isn't supported anymore.
+ if(CMAKE_VERSION VERSION_EQUAL 3.0 OR CMAKE_VERSION VERSION_GREATER 3.0)
+ set(strip_source_file $<TARGET_FILE:${targetName}>)
+ else()
+ get_property(strip_source_file TARGET ${targetName} PROPERTY LOCATION)
+ endif()
+
+ if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
+ set(strip_destination_file ${strip_source_file}.dwarf)
+
+ add_custom_command(
+ TARGET ${targetName}
+ POST_BUILD
+ VERBATIM
+ COMMAND ${DSYMUTIL} --flat --minimize ${strip_source_file}
+ COMMAND ${STRIP} -u -r ${strip_source_file}
+ COMMENT Stripping symbols from ${strip_source_file} into file ${strip_destination_file}
+ )
+ else(CMAKE_SYSTEM_NAME STREQUAL Darwin)
+ set(strip_destination_file ${strip_source_file}.dbg)
+
+ add_custom_command(
+ TARGET ${targetName}
+ POST_BUILD
+ VERBATIM
+ COMMAND ${OBJCOPY} --only-keep-debug ${strip_source_file} ${strip_destination_file}
+ COMMAND ${OBJCOPY} --strip-unneeded ${strip_source_file}
+ COMMAND ${OBJCOPY} --add-gnu-debuglink=${strip_destination_file} ${strip_source_file}
+ COMMENT Stripping symbols from ${strip_source_file} into file ${strip_destination_file}
+ )
+ endif(CMAKE_SYSTEM_NAME STREQUAL Darwin)
+
+ set(${outputFilename} ${strip_destination_file} PARENT_SCOPE)
+ endif(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL RELEASE)
+ endif(CLR_CMAKE_PLATFORM_UNIX)
+endfunction()
+
+function(install_clr targetName)
+ strip_symbols(${targetName} strip_destination_file)
+
+ # On the older version of cmake (2.8.12) used on Ubuntu 14.04 the TARGET_FILE
+ # generator expression doesn't work correctly returning the wrong path and on
+ # the newer cmake versions the LOCATION property isn't supported anymore.
+ if(CMAKE_VERSION VERSION_EQUAL 3.0 OR CMAKE_VERSION VERSION_GREATER 3.0)
+ set(install_source_file $<TARGET_FILE:${targetName}>)
+ else()
+ get_property(install_source_file TARGET ${targetName} PROPERTY LOCATION)
+ endif()
+
+ install(PROGRAMS ${install_source_file} DESTINATION .)
+ if(WIN32)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${targetName}.pdb DESTINATION PDB)
+ else()
+ install(FILES ${strip_destination_file} DESTINATION .)
+ endif()
+endfunction()
+
# Includes
if (CMAKE_CONFIGURATION_TYPES) # multi-configuration generator?
diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/debian/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/debian/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
index b628723123..989d370b84 100644
--- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/debian/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
+++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/debian/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
@@ -31,14 +31,14 @@
<TargetPath>runtimes/$(PackageTargetRuntime)/native</TargetPath>
</File>
- <!-- Using lib/dotnet here. There is no TFM for this since it is a runtime itself. -->
+ <!-- Using lib/netstandard1.0 here. There is no TFM for this since it is a runtime itself. -->
<File Include="@(ArchitectureSpecificLibFile)">
- <TargetPath>runtimes/$(PackageTargetRuntime)/lib/dotnet</TargetPath>
+ <TargetPath>runtimes/$(PackageTargetRuntime)/lib/netstandard1.0</TargetPath>
</File>
<!-- No reference: don't permit reference to the implementation from lib -->
<File Include="$(PlaceholderFile)">
- <TargetPath>ref/dotnet</TargetPath>
+ <TargetPath>ref/netstandard1.0</TargetPath>
</File>
<File Include="@(ArchitectureSpecificToolFile)">
diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/osx/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/osx/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
index 895be95978..aac843b538 100644
--- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/osx/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
+++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/osx/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
@@ -29,14 +29,14 @@
<TargetPath>runtimes/$(PackageTargetRuntime)/native</TargetPath>
</File>
- <!-- Using lib/dotnet here. There is no TFM for this since it is a runtime itself. -->
+ <!-- Using lib/netstandard1.0 here. There is no TFM for this since it is a runtime itself. -->
<File Include="@(ArchitectureSpecificLibFile)">
- <TargetPath>runtimes/$(PackageTargetRuntime)/lib/dotnet</TargetPath>
+ <TargetPath>runtimes/$(PackageTargetRuntime)/lib/netstandard1.0</TargetPath>
</File>
<!-- No reference: don't permit reference to the implementation from lib -->
<File Include="$(PlaceholderFile)">
- <TargetPath>ref/dotnet</TargetPath>
+ <TargetPath>ref/netstandard1.0</TargetPath>
</File>
<File Include="@(ArchitectureSpecificToolFile)">
diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/rhel/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/rhel/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
index 5cd175906f..d17f607985 100644
--- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/rhel/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
+++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/rhel/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
@@ -31,14 +31,14 @@
<TargetPath>runtimes/$(PackageTargetRuntime)/native</TargetPath>
</File>
- <!-- Using lib/dotnet here. There is no TFM for this since it is a runtime itself. -->
+ <!-- Using lib/netstandard1.0 here. There is no TFM for this since it is a runtime itself. -->
<File Include="@(ArchitectureSpecificLibFile)">
- <TargetPath>runtimes/$(PackageTargetRuntime)/lib/dotnet</TargetPath>
+ <TargetPath>runtimes/$(PackageTargetRuntime)/lib/netstandard1.0</TargetPath>
</File>
<!-- No reference: don't permit reference to the implementation from lib -->
<File Include="$(PlaceholderFile)">
- <TargetPath>ref/dotnet</TargetPath>
+ <TargetPath>ref/netstandard1.0</TargetPath>
</File>
<File Include="@(ArchitectureSpecificToolFile)">
diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
index de2110ae14..174b823f5f 100644
--- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
+++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
@@ -31,14 +31,14 @@
<TargetPath>runtimes/$(PackageTargetRuntime)/native</TargetPath>
</File>
- <!-- Using lib/dotnet here. There is no TFM for this since it is a runtime itself. -->
+ <!-- Using lib/netstandard1.0 here. There is no TFM for this since it is a runtime itself. -->
<File Include="@(ArchitectureSpecificLibFile)">
- <TargetPath>runtimes/$(PackageTargetRuntime)/lib/dotnet</TargetPath>
+ <TargetPath>runtimes/$(PackageTargetRuntime)/lib/netstandard1.0</TargetPath>
</File>
<!-- No reference: don't permit reference to the implementation from lib -->
<File Include="$(PlaceholderFile)">
- <TargetPath>ref/dotnet</TargetPath>
+ <TargetPath>ref/netstandard1.0</TargetPath>
</File>
<File Include="@(ArchitectureSpecificToolFile)">
diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
index fb2d5bfa7a..4779b7154d 100644
--- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
+++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
@@ -29,9 +29,9 @@
<TargetPath>runtimes/$(PackageTargetRuntime)/native</TargetPath>
</File>
- <!-- Using lib/dotnet here. There is no TFM for this since it is a runtime itself. -->
+ <!-- Using lib/netstandard1.0 here. There is no TFM for this since it is a runtime itself. -->
<File Include="@(ArchitectureSpecificLibFile)">
- <TargetPath>runtimes/$(PackageTargetRuntime)/lib/dotnet</TargetPath>
+ <TargetPath>runtimes/$(PackageTargetRuntime)/lib/netstandard1.0</TargetPath>
</File>
<File Include="@(ArchitectureSpecificToolFile)">
@@ -40,7 +40,7 @@
<!-- No reference: don't permit reference to the implementation from lib -->
<File Include="$(PlaceholderFile)">
- <TargetPath>ref/dotnet</TargetPath>
+ <TargetPath>ref/netstandard1.0</TargetPath>
</File>
</ItemGroup>
diff --git a/src/ToolBox/SOS/Strike/CMakeLists.txt b/src/ToolBox/SOS/Strike/CMakeLists.txt
index f4b157b2c7..77d929d69b 100644
--- a/src/ToolBox/SOS/Strike/CMakeLists.txt
+++ b/src/ToolBox/SOS/Strike/CMakeLists.txt
@@ -146,9 +146,8 @@ add_dependencies(sos mscordaccore)
target_link_libraries(sos ${SOS_LIBRARY})
# add the install targets
-install (TARGETS sos DESTINATION .)
-if(WIN32)
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/sos.pdb DESTINATION PDB)
-else(WIN32)
- install (FILES sosdocsunix.txt DESTINATION .)
-endif(WIN32)
+install_clr(sos)
+
+if(NOT WIN32)
+ install(FILES sosdocsunix.txt DESTINATION .)
+endif(NOT WIN32)
diff --git a/src/ToolBox/SOS/lldbplugin/CMakeLists.txt b/src/ToolBox/SOS/lldbplugin/CMakeLists.txt
index 90fbcbd4e1..438ae33478 100644
--- a/src/ToolBox/SOS/lldbplugin/CMakeLists.txt
+++ b/src/ToolBox/SOS/lldbplugin/CMakeLists.txt
@@ -93,4 +93,4 @@ if (CLR_CMAKE_PLATFORM_UNIX)
endif()
# add the install targets
-install (TARGETS sosplugin DESTINATION .)
+install_clr(sosplugin) \ No newline at end of file
diff --git a/src/coreclr/hosts/coreconsole/CMakeLists.txt b/src/coreclr/hosts/coreconsole/CMakeLists.txt
index 8848ff7d1a..634fdb77d6 100644
--- a/src/coreclr/hosts/coreconsole/CMakeLists.txt
+++ b/src/coreclr/hosts/coreconsole/CMakeLists.txt
@@ -27,8 +27,6 @@ else()
)
# Can't compile on linux yet so only add for windows
- # add the install targets
- install (TARGETS CoreConsole DESTINATION .)
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$ENV{__BuildType}/CoreConsole.pdb DESTINATION PDB)
+ install_clr(CoreConsole)
endif(CLR_CMAKE_PLATFORM_UNIX) \ No newline at end of file
diff --git a/src/coreclr/hosts/corerun/CMakeLists.txt b/src/coreclr/hosts/corerun/CMakeLists.txt
index 3a992ebcf5..7b25c12d6b 100644
--- a/src/coreclr/hosts/corerun/CMakeLists.txt
+++ b/src/coreclr/hosts/corerun/CMakeLists.txt
@@ -32,10 +32,6 @@ else()
)
# Can't compile on linux yet so only add for windows
- # add the install targets
- install (TARGETS CoreRun DESTINATION .)
+ install_clr(CoreRun)
- # We will generate PDB only for the debug configuration
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/CoreRun.pdb DESTINATION PDB)
-
endif(CLR_CMAKE_PLATFORM_UNIX) \ No newline at end of file
diff --git a/src/coreclr/hosts/osxbundlerun/CMakeLists.txt b/src/coreclr/hosts/osxbundlerun/CMakeLists.txt
index 9c8fd7a275..2ccc881dbe 100644
--- a/src/coreclr/hosts/osxbundlerun/CMakeLists.txt
+++ b/src/coreclr/hosts/osxbundlerun/CMakeLists.txt
@@ -21,4 +21,4 @@ add_dependencies(osxbundlerun
coreclr
)
-install (TARGETS osxbundlerun DESTINATION .)
+install_clr(osxbundlerun)
diff --git a/src/coreclr/hosts/unixcoreconsole/CMakeLists.txt b/src/coreclr/hosts/unixcoreconsole/CMakeLists.txt
index f4840edf38..cb18e82776 100644
--- a/src/coreclr/hosts/unixcoreconsole/CMakeLists.txt
+++ b/src/coreclr/hosts/unixcoreconsole/CMakeLists.txt
@@ -30,4 +30,4 @@ add_dependencies(coreconsole
coreclr
)
-install (TARGETS coreconsole DESTINATION .)
+install_clr(coreconsole) \ No newline at end of file
diff --git a/src/coreclr/hosts/unixcorerun/CMakeLists.txt b/src/coreclr/hosts/unixcorerun/CMakeLists.txt
index 4563ba9938..1f0c75995e 100644
--- a/src/coreclr/hosts/unixcorerun/CMakeLists.txt
+++ b/src/coreclr/hosts/unixcorerun/CMakeLists.txt
@@ -30,4 +30,4 @@ add_dependencies(corerun
coreclr
)
-install (TARGETS corerun DESTINATION .)
+install_clr(corerun) \ No newline at end of file
diff --git a/src/corefx/System.Globalization.Native/CMakeLists.txt b/src/corefx/System.Globalization.Native/CMakeLists.txt
index 879dc5bc18..bf279efe6a 100644
--- a/src/corefx/System.Globalization.Native/CMakeLists.txt
+++ b/src/corefx/System.Globalization.Native/CMakeLists.txt
@@ -73,4 +73,5 @@ else()
add_definitions(-DU_DISABLE_RENAMING=1)
endif()
-install (TARGETS System.Globalization.Native DESTINATION .)
+# add the install targets
+install_clr(System.Globalization.Native) \ No newline at end of file
diff --git a/src/dlls/clretwrc/CMakeLists.txt b/src/dlls/clretwrc/CMakeLists.txt
index 36205b5fe1..b1f7a49088 100644
--- a/src/dlls/clretwrc/CMakeLists.txt
+++ b/src/dlls/clretwrc/CMakeLists.txt
@@ -20,8 +20,4 @@ add_library_clr(clretwrc SHARED
)
# add the install targets
-install (TARGETS clretwrc DESTINATION .)
-
-if(WIN32)
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/clretwrc.pdb DESTINATION PDB)
-endif(WIN32)
+install_clr(clretwrc) \ No newline at end of file
diff --git a/src/dlls/dbgshim/CMakeLists.txt b/src/dlls/dbgshim/CMakeLists.txt
index 655cb0a28b..c3ebaf5d06 100644
--- a/src/dlls/dbgshim/CMakeLists.txt
+++ b/src/dlls/dbgshim/CMakeLists.txt
@@ -71,7 +71,4 @@ endif(WIN32)
target_link_libraries(dbgshim ${DBGSHIM_LIBRARIES})
# add the install targets
-install (TARGETS dbgshim DESTINATION .)
-if(WIN32)
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/dbgshim.pdb DESTINATION PDB)
-endif(WIN32)
+install_clr(dbgshim)
diff --git a/src/dlls/mscordac/CMakeLists.txt b/src/dlls/mscordac/CMakeLists.txt
index ea655e77b8..9a28479fed 100644
--- a/src/dlls/mscordac/CMakeLists.txt
+++ b/src/dlls/mscordac/CMakeLists.txt
@@ -106,7 +106,4 @@ endif(WIN32)
target_link_libraries(mscordaccore ${COREDAC_LIBRARIES})
# add the install targets
-install (TARGETS mscordaccore DESTINATION .)
-if(WIN32)
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/mscordaccore.pdb DESTINATION PDB)
-endif(WIN32)
+install_clr(mscordaccore) \ No newline at end of file
diff --git a/src/dlls/mscordbi/CMakeLists.txt b/src/dlls/mscordbi/CMakeLists.txt
index 0c8a685b76..2748bdf4a2 100644
--- a/src/dlls/mscordbi/CMakeLists.txt
+++ b/src/dlls/mscordbi/CMakeLists.txt
@@ -95,7 +95,4 @@ elseif(CLR_CMAKE_PLATFORM_UNIX)
endif(WIN32)
# add the install targets
-install (TARGETS mscordbi DESTINATION .)
-if(WIN32)
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/mscordbi.pdb DESTINATION PDB)
-endif(WIN32)
+install_clr(mscordbi) \ No newline at end of file
diff --git a/src/dlls/mscoree/coreclr/CMakeLists.txt b/src/dlls/mscoree/coreclr/CMakeLists.txt
index 2c57fb630e..78ec166065 100644
--- a/src/dlls/mscoree/coreclr/CMakeLists.txt
+++ b/src/dlls/mscoree/coreclr/CMakeLists.txt
@@ -140,7 +140,8 @@ if(WIN32)
clr_unknown_arch()
endif()
- add_custom_command(TARGET coreclr
+ add_custom_command(
+ TARGET coreclr
POST_BUILD
COMMAND ${CMAKE_CXX_COMPILER} /P /EP /TP ${PREPROCESS_DEFINITIONS} ${INC_DIR} /Fi${CMAKE_CURRENT_BINARY_DIR}/daccess.i ${CLR_DIR}/src/debug/daccess/daccess.cpp
COMMAND ${BuildToolsDir}/dactablegen.exe /dac:${CMAKE_CURRENT_BINARY_DIR}/daccess.i /pdb:${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/coreclr.pdb /dll:$<TARGET_FILE:coreclr> /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin
@@ -160,7 +161,4 @@ else()
endif(WIN32)
# add the install targets
-install (TARGETS coreclr DESTINATION .)
-if(WIN32)
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/coreclr.pdb DESTINATION PDB)
-endif(WIN32)
+install_clr(coreclr) \ No newline at end of file
diff --git a/src/ilasm/CMakeLists.txt b/src/ilasm/CMakeLists.txt
index 4c5a7f63a9..e6828e7a49 100644
--- a/src/ilasm/CMakeLists.txt
+++ b/src/ilasm/CMakeLists.txt
@@ -66,7 +66,6 @@ if(CLR_CMAKE_PLATFORM_UNIX)
dl
)
endif(NOT CMAKE_SYSTEM_NAME STREQUAL FreeBSD AND NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD)
-
else()
target_link_libraries(ilasm
${ILASM_LINK_LIBRARIES}
@@ -76,8 +75,6 @@ else()
oleaut32
shell32
)
-
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/ilasm.pdb DESTINATION PDB)
endif(CLR_CMAKE_PLATFORM_UNIX)
-install (TARGETS ilasm DESTINATION .)
+install_clr(ilasm) \ No newline at end of file
diff --git a/src/ildasm/exe/CMakeLists.txt b/src/ildasm/exe/CMakeLists.txt
index 8a57044ce6..8b468f07a4 100644
--- a/src/ildasm/exe/CMakeLists.txt
+++ b/src/ildasm/exe/CMakeLists.txt
@@ -69,10 +69,6 @@ else()
oleaut32
shell32
)
-
- # We will generate PDB only for the debug configuration
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/ildasm.pdb DESTINATION PDB)
-
endif(CLR_CMAKE_PLATFORM_UNIX)
-install (TARGETS ildasm DESTINATION .)
+install_clr(ildasm) \ No newline at end of file
diff --git a/src/jit/codegencommon.cpp b/src/jit/codegencommon.cpp
index b81d81322e..fbd96eb02b 100644
--- a/src/jit/codegencommon.cpp
+++ b/src/jit/codegencommon.cpp
@@ -3903,9 +3903,15 @@ void CodeGen::genFnPrologCalleeRegArgs(regNumber xtraReg,
{
#if defined(FEATURE_UNIX_AMD64_STRUCT_PASSING)
return type;
-#else // defined(FEATURE_UNIX_AMD64_STRUCT_PASSING)
+#elif defined(_TARGET_ARM_)
+ LclVarDsc varDsc = compiler->lvaTable[varNum];
+ return varDsc.lvIsHfaRegArg ? varDsc.GetHfaType() : varDsc.lvType;
+
+ // TODO-ARM64: Do we need the above to handle HFA structs on ARM64?
+
+#else // !_TARGET_ARM_
return compiler->lvaTable[varNum].lvType;
-#endif // defined(FEATURE_UNIX_AMD64_STRUCT_PASSING)
+#endif // !_TARGET_ARM_
}
} regArgTab [max(MAX_REG_ARG,MAX_FLOAT_REG_ARG)] = { };
@@ -4762,7 +4768,6 @@ void CodeGen::genFnPrologCalleeRegArgs(regNumber xtraReg,
}
/* Finally take care of the remaining arguments that must be enregistered */
-
while (regArgMaskLive)
{
regMaskTP regArgMaskLiveSave = regArgMaskLive;
diff --git a/src/jit/standalone/CMakeLists.txt b/src/jit/standalone/CMakeLists.txt
index ba987b409b..80e9a0e8e9 100644
--- a/src/jit/standalone/CMakeLists.txt
+++ b/src/jit/standalone/CMakeLists.txt
@@ -47,7 +47,4 @@ target_link_libraries(ryujit
)
# add the install targets
-install (TARGETS ryujit DESTINATION .)
-if(WIN32)
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/ryujit.pdb DESTINATION PDB)
-endif(WIN32)
+install_clr(ryujit) \ No newline at end of file
diff --git a/src/mscorlib/src/System/Diagnostics/Stacktrace.cs b/src/mscorlib/src/System/Diagnostics/Stacktrace.cs
index 897efc427b..85ec034eae 100644
--- a/src/mscorlib/src/System/Diagnostics/Stacktrace.cs
+++ b/src/mscorlib/src/System/Diagnostics/Stacktrace.cs
@@ -560,25 +560,41 @@ namespace System.Diagnostics {
sb.Append(']');
}
- // arguments printing
- sb.Append('(');
- ParameterInfo[] pi = mb.GetParameters();
- bool fFirstParam = true;
- for (int j = 0; j < pi.Length; j++)
+ ParameterInfo[] pi = null;
+#if FEATURE_CORECLR
+ try
+ {
+#endif
+ pi = mb.GetParameters();
+#if FEATURE_CORECLR
+ }
+ catch
+ {
+ // The parameter info cannot be loaded, so we don't
+ // append the parameter list.
+ }
+#endif
+ if (pi != null)
{
- if (fFirstParam == false)
- sb.Append(", ");
- else
- fFirstParam = false;
-
- String typeName = "<UnknownType>";
- if (pi[j].ParameterType != null)
- typeName = pi[j].ParameterType.Name;
- sb.Append(typeName);
- sb.Append(' ');
- sb.Append(pi[j].Name);
- }
- sb.Append(')');
+ // arguments printing
+ sb.Append('(');
+ bool fFirstParam = true;
+ for (int j = 0; j < pi.Length; j++)
+ {
+ if (fFirstParam == false)
+ sb.Append(", ");
+ else
+ fFirstParam = false;
+
+ String typeName = "<UnknownType>";
+ if (pi[j].ParameterType != null)
+ typeName = pi[j].ParameterType.Name;
+ sb.Append(typeName);
+ sb.Append(' ');
+ sb.Append(pi[j].Name);
+ }
+ sb.Append(')');
+ }
// source location printing
if (displayFilenames && (sf.GetILOffset() != -1))
diff --git a/src/scripts/genXplatLttng.py b/src/scripts/genXplatLttng.py
index 7befa6136e..d343b122ff 100644
--- a/src/scripts/genXplatLttng.py
+++ b/src/scripts/genXplatLttng.py
@@ -444,7 +444,7 @@ def generateLttngFiles(etwmanifest,eventprovider_directory):
add_subdirectory(tracepointprovider)
# Install the static eventprovider library
- install (TARGETS eventprovider DESTINATION lib)
+ install(TARGETS eventprovider DESTINATION lib)
""")
topCmake.close()
@@ -481,11 +481,11 @@ def generateLttngFiles(etwmanifest,eventprovider_directory):
tracepointprovider_Cmake.write(""" )
target_link_libraries(coreclrtraceptprovider
- -llttng-ust
+ -llttng-ust
)
- #Install the static coreclrtraceptprovider library
- install (TARGETS coreclrtraceptprovider DESTINATION .)
+ # Install the static coreclrtraceptprovider library
+ install_clr(coreclrtraceptprovider)
""")
tracepointprovider_Cmake.close()
diff --git a/src/tools/crossgen/CMakeLists.txt b/src/tools/crossgen/CMakeLists.txt
index 9bbf37334a..d5e956620f 100644
--- a/src/tools/crossgen/CMakeLists.txt
+++ b/src/tools/crossgen/CMakeLists.txt
@@ -64,14 +64,11 @@ else()
if (NOT CLR_CMAKE_PLATFORM_ARCH_ARM64)
target_link_libraries(crossgen ${STATIC_MT_VCRT_LIB})
endif()
-
- # We will generate PDB only for the debug configuration
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/crossgen.pdb DESTINATION PDB)
-
endif(CLR_CMAKE_PLATFORM_UNIX)
-install (TARGETS crossgen DESTINATION .)
-
add_subdirectory(../../zap/crossgen ../../zap/crossgen)
add_subdirectory(../../vm/crossgen ../../vm/crossgen)
add_subdirectory(../../vm/crossgen_mscorlib ../../vm/crossgen_mscorlib)
+
+# add the install targets
+install_clr(crossgen) \ No newline at end of file
diff --git a/tests/arm64/Tests.lst b/tests/arm64/Tests.lst
index 6c8d8a6575..38f3b1b767 100644
--- a/tests/arm64/Tests.lst
+++ b/tests/arm64/Tests.lst
@@ -58435,185 +58435,3 @@ Expected=100
MaxAllowedDurationSeconds=600
Categories=Pri1;RT;EXPECTED_PASS
HostStyle=Any
-[CheckAddInt_1.exe_8447]
-RelativePath=baseservices\threading\interlocked\add\CheckAddInt_1\CheckAddInt_1.exe
-WorkingDir=baseservices\threading\interlocked\add\CheckAddInt_1
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[CheckAddInt_2.exe_8448]
-RelativePath=baseservices\threading\interlocked\add\CheckAddInt_2\CheckAddInt_2.exe
-WorkingDir=baseservices\threading\interlocked\add\CheckAddInt_2
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[CompareExchangeLong_1.exe_8449]
-RelativePath=baseservices\threading\interlocked\compareexchange\CompareExchangeLong_1\CompareExchangeLong_1.exe
-WorkingDir=baseservices\threading\interlocked\compareexchange\CompareExchangeLong_1
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[CompareExchangeLong_2.exe_8450]
-RelativePath=baseservices\threading\interlocked\compareexchange\CompareExchangeLong_2\CompareExchangeLong_2.exe
-WorkingDir=baseservices\threading\interlocked\compareexchange\CompareExchangeLong_2
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[CompareExchangeLong_3.exe_8451]
-RelativePath=baseservices\threading\interlocked\compareexchange\CompareExchangeLong_3\CompareExchangeLong_3.exe
-WorkingDir=baseservices\threading\interlocked\compareexchange\CompareExchangeLong_3
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[CompareExchangeLong_4.exe_8452]
-RelativePath=baseservices\threading\interlocked\compareexchange\CompareExchangeLong_4\CompareExchangeLong_4.exe
-WorkingDir=baseservices\threading\interlocked\compareexchange\CompareExchangeLong_4
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartBool_1.exe_8453]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartBool_1\ThreadStartBool_1.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartBool_1
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartBool_2.exe_8454]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartBool_2\ThreadStartBool_2.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartBool_2
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartDecimal_1.exe_8455]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartDecimal_1\ThreadStartDecimal_1.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartDecimal_1
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartDecimal_2.exe_8456]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartDecimal_2\ThreadStartDecimal_2.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartDecimal_2
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartDecimal_3.exe_8457]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartDecimal_3\ThreadStartDecimal_3.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartDecimal_3
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartDouble_1.exe_8458]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartDouble_1\ThreadStartDouble_1.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartDouble_1
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartDouble_2.exe_8459]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartDouble_2\ThreadStartDouble_2.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartDouble_2
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartDouble_3.exe_8460]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartDouble_3\ThreadStartDouble_3.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartDouble_3
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartObject_1.exe_8461]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartObject_1\ThreadStartObject_1.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartObject_1
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartObject_2.exe_8462]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartObject_2\ThreadStartObject_2.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartObject_2
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartSByte_1.exe_8463]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartSByte_1\ThreadStartSByte_1.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartSByte_1
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartSByte_2.exe_8464]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartSByte_2\ThreadStartSByte_2.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartSByte_2
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartSByte_3.exe_8465]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartSByte_3\ThreadStartSByte_3.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartSByte_3
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartString_1.exe_8466]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartString_1\ThreadStartString_1.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartString_1
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartString_2.exe_8467]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartString_2\ThreadStartString_2.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartString_2
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartString_3.exe_8468]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartString_3\ThreadStartString_3.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartString_3
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartString_4.exe_8469]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartString_4\ThreadStartString_4.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartString_4
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartULong_1.exe_8470]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartULong_1\ThreadStartULong_1.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartULong_1
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartULong_2.exe_8471]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartULong_2\ThreadStartULong_2.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartULong_2
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any
-[ThreadStartULong_3.exe_8472]
-RelativePath=baseservices\threading\paramthreadstart\ThreadStartULong_3\ThreadStartULong_3.exe
-WorkingDir=baseservices\threading\paramthreadstart\ThreadStartULong_3
-Expected=100
-MaxAllowedDurationSeconds=600
-Categories=Pri2;RT;EXPECTED_FAIL;NATIVE_INTEROP
-HostStyle=Any