Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJo Shields <directhex@apebox.org>2021-11-02 00:12:10 +0300
committerGitHub <noreply@github.com>2021-11-02 00:12:10 +0300
commit2ddf61758314ebf120fc6126ec09ae964a5b53b9 (patch)
treeee83d4d7bba078fbb304dccecb28f8aa29416d81
parentb96c2251492ccb4563ba174e24dd3e8da4b043e6 (diff)
Strip debuginfo on Mac/Linux, create it on Windows (#137)
* Align LLVM_EXTERNALIZE_DEBUGINFO behaviours on Linux w/ Darwin * Ensure LLVM_EXTERNALIZE_DEBUGINFO goes to bin/ not foo/bar/ * Strip Linux/Mac binaries during install * Externalize debug info on Mac/Linux * Use .dwarf on Mac and .dbg on Linux, mirroring runtime repo norms * Add LLVM_EXTERNALIZE_DEBUGINFO_FLATTEN, which can do flat dSYM * Use flat debug symbol format on Mac * Add LLVM_EXTERNALIZE_DEBUGINFO_INSTALL, for installing debug symbols * Ensure debug symbols are installed to InstallRoot * Install debug symbols in .symbols.nupkg * Use arch-specific objcopy/strip on Linux. Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
-rw-r--r--azure-pipelines.yml6
-rw-r--r--llvm.proj13
-rw-r--r--llvm/cmake/modules/AddLLVM.cmake76
-rw-r--r--llvm/cmake/modules/TableGen.cmake6
-rw-r--r--nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.Linux.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props3
-rw-r--r--nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.OSX.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props3
-rw-r--r--nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.Windows_NT.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props3
-rw-r--r--nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.Linux.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props3
-rw-r--r--nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.OSX.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props3
-rw-r--r--nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.Windows_NT.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props3
10 files changed, 104 insertions, 15 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 60ada7276fdf..892ad5d03ced 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -35,7 +35,7 @@ stages:
vmImageName: ubuntu-20.04
assetManifestOS: linux
assetManifestPlatform: x64
- imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-bfcd90a-20200121150017
+ imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-20210714125435-9b5bbc2
rootfs:
archflag: --arch x64
LLVMTableGenArg:
@@ -43,7 +43,7 @@ stages:
vmImageName: ubuntu-20.04
assetManifestOS: linux
assetManifestPlatform: arm64
- imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-cfdd435-20200121150126
+ imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-20210719121212-8a8d3be
rootfs: /crossrootfs/arm64
archflag: --arch arm64
LLVMTableGenArg: /p:LLVMTableGenPath=$(Build.SourcesDirectory)/artifacts/obj/BuildRoot-x64/bin/llvm-tblgen
@@ -51,7 +51,7 @@ stages:
vmImageName: ubuntu-20.04
assetManifestOS: linux
assetManifestPlatform: arm
- imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-09ec757-20200320131433
+ imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-20210719121212-8a8d3be
rootfs: /crossrootfs/arm
archflag: --arch arm
LLVMTableGenArg: /p:LLVMTableGenPath=$(Build.SourcesDirectory)/artifacts/obj/BuildRoot-x64/bin/llvm-tblgen
diff --git a/llvm.proj b/llvm.proj
index 751b95085393..19be4705b0f7 100644
--- a/llvm.proj
+++ b/llvm.proj
@@ -27,7 +27,7 @@
<_BuildSubset Condition="'$(BuildLLVMTableGenOnly)' == 'true'">llvm-tblgen</_BuildSubset>
<_BuildCommand Condition="'$(CMakeGenerator)' == 'Unix Makefiles'">$(_SetupEnvironment) make $(_BuildSubset) -j$([System.Environment]::ProcessorCount)</_BuildCommand>
<_BuildCommand Condition="'$(CMakeGenerator)' == 'Ninja'">$(_SetupEnvironment) ninja $(_BuildSubset)</_BuildCommand>
- <_CMakeInstallCommand>$(_SetupEnvironment) cmake -DCMAKE_INSTALL_PREFIX=$(_LLVMInstallDir) -P cmake_install.cmake</_CMakeInstallCommand>
+ <_CMakeInstallCommand>$(_SetupEnvironment) cmake -DCMAKE_INSTALL_DO_STRIP=1 -DCMAKE_INSTALL_PREFIX=$(_LLVMInstallDir) -P cmake_install.cmake</_CMakeInstallCommand>
</PropertyGroup>
<!---DLLVM_TABLEGEN=C:\Users\Alexander\Desktop\llvm-project\build-x64\bin\llvm-tblgen.exe-->
@@ -38,12 +38,16 @@
<_LLVMBuildArgs Condition="'$(TargetArchitecture)' == 'arm64' and '$(BuildOS)' == 'Windows_NT'" Include="-DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-windows-msvc" />
<_LLVMBuildArgs Condition="'$(TargetArchitecture)' == 'arm' and '$(BuildOS)' == 'Windows_NT'" Include="-DLLVM_DEFAULT_TARGET_TRIPLE=arm-windows-msvc" />
<_LLVMBuildArgs Condition="'$(TargetArchitecture)' == 'arm64' and '$(BuildOS)' == 'Linux'" Include="-DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-linux-gnu" />
+ <_LLVMBuildArgs Condition="'$(TargetArchitecture)' == 'arm64' and '$(BuildOS)' == 'Linux'" Include="-DCMAKE_OBJCOPY=/usr/bin/aarch64-linux-gnu-objcopy" />
+ <_LLVMBuildArgs Condition="'$(TargetArchitecture)' == 'arm64' and '$(BuildOS)' == 'Linux'" Include="-DCMAKE_STRIP=/usr/bin/aarch64-linux-gnu-strip" />
<_LLVMBuildArgs Condition="'$(TargetArchitecture)' == 'arm' and '$(BuildOS)' == 'Linux'" Include="-DLLVM_DEFAULT_TARGET_TRIPLE=arm-linux-gnueabihf" />
+ <_LLVMBuildArgs Condition="'$(TargetArchitecture)' == 'arm' and '$(BuildOS)' == 'Linux'" Include="-DCMAKE_OBJCOPY=/usr/bin/arm-linux-gnueabihf-objcopy" />
+ <_LLVMBuildArgs Condition="'$(TargetArchitecture)' == 'arm' and '$(BuildOS)' == 'Linux'" Include="-DCMAKE_STRIP=/usr/bin/arm-linux-gnueabihf-strip" />
<_LLVMBuildArgs Condition="'$(TargetArchitecture)' == 'arm64' and '$(BuildOS)' == 'OSX'" Include="-DLLVM_DEFAULT_TARGET_TRIPLE=arm64-apple-darwin" />
<_LLVMBuildArgs Condition="'$(TargetArchitecture)' == 'arm64' and '$(BuildOS)' == 'OSX'" Include="-DCMAKE_OSX_ARCHITECTURES=arm64"/>
<_LLVMBuildArgs Condition="'$(TargetArchitecture)' == 'arm' or '$(TargetArchitecture)' == 'arm64'" Include="-DCMAKE_CROSSCOMPILING:BOOL=ON" />
<_LLVMBuildArgs Condition="'$(LLVMTableGenPath)' != ''" Include='-DLLVM_TABLEGEN="$(LLVMTableGenPath)"' />
- <_LLVMBuildArgs Include="-DCMAKE_BUILD_TYPE=Release" />
+ <_LLVMBuildArgs Include="-DCMAKE_BUILD_TYPE=$(Configuration)" />
<_LLVMBuildArgs Include="-DLLVM_BUILD_LLVM_C_DYLIB:BOOL=OFF" />
<_LLVMBuildArgs Include="-DLLVM_ENABLE_DIA_SDK:BOOL=OFF" />
<_LLVMBuildArgs Include="-DLLVM_INCLUDE_TESTS:BOOL=OFF" />
@@ -54,6 +58,11 @@
<_LLVMBuildArgs Include='-DLLVM_TOOLS_TO_BUILD="opt%3Bllc%3Bllvm-config%3Bllvm-dis%3Bllvm-mc%3Bllvm-as"' />
<_LLVMBuildArgs Include='-DLLVM_ENABLE_LIBXML2:BOOL=OFF' />
<_LLVMBuildArgs Include='-DLLVM_ENABLE_TERMINFO:BOOL=OFF' />
+ <_LLVMBuildArgs Include='-DLLVM_EXTERNALIZE_DEBUGINFO:BOOL=ON' />
+ <_LLVMBuildArgs Include='-DLLVM_EXTERNALIZE_DEBUGINFO_INSTALL:BOOL=ON' />
+ <_LLVMBuildArgs Include='-DLLVM_ENABLE_PDB:BOOL=ON' />
+ <_LLVMBuildArgs Condition="'$(BuildOS)' == 'Linux'" Include='-DLLVM_EXTERNALIZE_DEBUGINFO_EXTENSION=dbg' />
+ <_LLVMBuildArgs Condition="'$(BuildOS)' == 'OSX'" Include='-DLLVM_EXTERNALIZE_DEBUGINFO_EXTENSION=dwarf -DLLVM_EXTERNALIZE_DEBUGINFO_FLATTEN:BOOL=ON' />
<_LLVMBuildArgs Condition="'$(BuildOS)' == 'Windows_NT'" Include='-DLLVM_USE_CRT_DEBUG=MT' />
<_LLVMBuildArgs Condition="'$(BuildOS)' == 'Windows_NT'" Include='-DLLVM_USE_CRT_RELEASE=MT' />
</ItemGroup>
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index d7c3764c5c14..cb056d6f3dcc 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -787,11 +787,15 @@ endmacro(add_llvm_library name)
macro(add_llvm_executable name)
cmake_parse_arguments(ARG
- "DISABLE_LLVM_LINK_LLVM_DYLIB;IGNORE_EXTERNALIZE_DEBUGINFO;NO_INSTALL_RPATH;SUPPORT_PLUGINS"
+ "DISABLE_LLVM_LINK_LLVM_DYLIB;IGNORE_EXTERNALIZE_DEBUGINFO;NO_INSTALL_RPATH;SUPPORT_PLUGINS;DEBUGINFO_INSTALL"
"ENTITLEMENTS;BUNDLE_PATH"
"DEPENDS"
${ARGN})
+ if(ARG_DEBUGINFO_INSTALL)
+ set(DEBUGINFO_INSTALL "DEBUGINFO_INSTALL")
+ endif()
+
llvm_process_sources( ALL_FILES ${ARG_UNPARSED_ARGUMENTS} )
list(APPEND LLVM_COMMON_DEPENDS ${ARG_DEPENDS})
@@ -870,7 +874,7 @@ macro(add_llvm_executable name)
endif( LLVM_COMMON_DEPENDS )
if(NOT ARG_IGNORE_EXTERNALIZE_DEBUGINFO)
- llvm_externalize_debuginfo(${name})
+ llvm_externalize_debuginfo(${name} ${DEBUGINFO_INSTALL})
endif()
if (LLVM_PTHREAD_LIB)
# libpthreads overrides some standard library symbols, so main
@@ -1165,7 +1169,12 @@ macro(add_llvm_tool name)
if( NOT LLVM_BUILD_TOOLS )
set(EXCLUDE_FROM_ALL ON)
endif()
- add_llvm_executable(${name} ${ARGN})
+
+ if ( (${name} IN_LIST LLVM_TOOLCHAIN_TOOLS OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS )
+ set(DEBUGINFO_INSTALL "DEBUGINFO_INSTALL")
+ endif()
+
+ add_llvm_executable(${name} ${DEBUGINFO_INSTALL} ${ARGN})
if ( ${name} IN_LIST LLVM_TOOLCHAIN_TOOLS OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
if( LLVM_BUILD_TOOLS )
@@ -1224,7 +1233,11 @@ macro(add_llvm_utility name)
set(EXCLUDE_FROM_ALL ON)
endif()
- add_llvm_executable(${name} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN})
+ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS)
+ set(DEBUGINFO_INSTALL "DEBUGINFO_INSTALL")
+ endif()
+
+ add_llvm_executable(${name} DISABLE_LLVM_LINK_LLVM_DYLIB ${DEBUGINFO_INSTALL} ${ARGN})
set_target_properties(${name} PROPERTIES FOLDER "Utils")
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS)
@@ -1966,6 +1979,8 @@ function(llvm_externalize_debuginfo name)
return()
endif()
+ cmake_parse_arguments(ARG "DEBUGINFO_INSTALL" "" "" ${ARGN})
+
if(NOT LLVM_EXTERNALIZE_DEBUGINFO_SKIP_STRIP)
if(APPLE)
if(NOT CMAKE_STRIP)
@@ -1980,6 +1995,8 @@ function(llvm_externalize_debuginfo name)
if(APPLE)
if(LLVM_EXTERNALIZE_DEBUGINFO_EXTENSION)
set(file_ext ${LLVM_EXTERNALIZE_DEBUGINFO_EXTENSION})
+ elseif(LLVM_EXTERNALIZE_DEBUGINFO_FLATTEN)
+ set(file_ext dwarf)
else()
set(file_ext dSYM)
endif()
@@ -1987,9 +2004,16 @@ function(llvm_externalize_debuginfo name)
set(output_name "$<TARGET_FILE_NAME:${name}>.${file_ext}")
if(LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR)
- set(output_path "-o=${LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR}/${output_name}")
+ set(output_path "${LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR}/${output_name}")
else()
- set(output_path "-o=${output_name}")
+ set(output_path "${output_name}")
+ endif()
+ set(output_flag "-o=${output_path}")
+
+ if(LLVM_EXTERNALIZE_DEBUGINFO_FLATTEN)
+ set(flatten_debuginfo "--flat")
+ else()
+ set(flatten_debuginfo "")
endif()
if(CMAKE_CXX_FLAGS MATCHES "-flto"
@@ -2003,15 +2027,49 @@ function(llvm_externalize_debuginfo name)
set(CMAKE_DSYMUTIL xcrun dsymutil)
endif()
add_custom_command(TARGET ${name} POST_BUILD
- COMMAND ${CMAKE_DSYMUTIL} ${output_path} $<TARGET_FILE:${name}>
+ WORKING_DIRECTORY ${LLVM_RUNTIME_OUTPUT_INTDIR}
+ COMMAND ${CMAKE_DSYMUTIL} ${flatten_debuginfo} ${output_flag} $<TARGET_FILE:${name}>
${strip_command}
)
+ if(LLVM_EXTERNALIZE_DEBUGINFO_INSTALL AND ARG_DEBUGINFO_INSTALL)
+ get_filename_component(debuginfo_absolute_path ${output_path} REALPATH BASE_DIR $<TARGET_FILE_DIR:${name}>)
+ install(FILES ${debuginfo_absolute_path} DESTINATION bin OPTIONAL COMPONENT ${name})
+ endif()
+ elseif(WIN32)
+ if(LLVM_EXTERNALIZE_DEBUGINFO_INSTALL AND ARG_DEBUGINFO_INSTALL)
+ install(FILES $<TARGET_PDB_FILE:${name}> DESTINATION bin OPTIONAL COMPONENT ${name})
+ endif()
else()
+ if(LLVM_EXTERNALIZE_DEBUGINFO_EXTENSION)
+ set(file_ext ${LLVM_EXTERNALIZE_DEBUGINFO_EXTENSION})
+ else()
+ set(file_ext debug)
+ endif()
+
+ set(output_name "$<TARGET_FILE_NAME:${name}>.${file_ext}")
+
+ if(LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR)
+ set(output_path "${LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR}/${output_name}")
+ # If an output dir is specified, it must be manually mkdir'd on Linux,
+ # as that directory needs to exist before we can pipe to a file in it.
+ add_custom_command(TARGET ${name} POST_BUILD
+ WORKING_DIRECTORY ${LLVM_RUNTIME_OUTPUT_INTDIR}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR}
+ )
+ else()
+ set(output_path "${output_name}")
+ endif()
+
add_custom_command(TARGET ${name} POST_BUILD
- COMMAND ${CMAKE_OBJCOPY} --only-keep-debug $<TARGET_FILE:${name}> $<TARGET_FILE:${name}>.debug
+ WORKING_DIRECTORY ${LLVM_RUNTIME_OUTPUT_INTDIR}
+ COMMAND ${CMAKE_OBJCOPY} --only-keep-debug $<TARGET_FILE:${name}> ${output_path}
${strip_command} -R .gnu_debuglink
- COMMAND ${CMAKE_OBJCOPY} --add-gnu-debuglink=$<TARGET_FILE:${name}>.debug $<TARGET_FILE:${name}>
+ COMMAND ${CMAKE_OBJCOPY} --add-gnu-debuglink=${output_path} $<TARGET_FILE:${name}>
)
+ if(LLVM_EXTERNALIZE_DEBUGINFO_INSTALL AND ARG_DEBUGINFO_INSTALL)
+ get_filename_component(debuginfo_absolute_path ${output_path} REALPATH BASE_DIR $<TARGET_FILE_DIR:${name}>)
+ install(FILES ${debuginfo_absolute_path} DESTINATION bin OPTIONAL COMPONENT ${name})
+ endif()
endif()
endfunction()
diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake
index 73c1e96d3d9a..c38f81f64019 100644
--- a/llvm/cmake/modules/TableGen.cmake
+++ b/llvm/cmake/modules/TableGen.cmake
@@ -145,7 +145,11 @@ macro(add_tablegen target project)
set(LLVM_ENABLE_OBJLIB ON)
endif()
- add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN})
+ if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR) AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS)
+ set(DEBUGINFO_INSTALL "DEBUGINFO_INSTALL")
+ endif()
+
+ add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${DEBUGINFO_INSTALL} ${ARGN})
set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS})
set(${project}_TABLEGEN "${target}" CACHE
diff --git a/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.Linux.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props b/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.Linux.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props
index 96d70b84a2cb..be5009cc14eb 100644
--- a/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.Linux.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props
+++ b/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.Linux.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props
@@ -2,8 +2,11 @@
<Project>
<ItemGroup>
<File Include="$(_LLVMInstallDir)\bin\llvm-config" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llvm-config.dbg" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\bin\llvm-dis" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llvm-dis.dbg" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\bin\llvm-tblgen" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llvm-tblgen.dbg" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\lib\**" Exclude="libLTO*" TargetPath="tools\$(PackageTargetRuntime)\lib\%(RecursiveDir)%(Filename)%(Extension)" />
<File Include="$(_LLVMInstallDir)\include\**" Exclude="libLTO*" TargetPath="tools\$(PackageTargetRuntime)\include\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
diff --git a/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.OSX.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props b/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.OSX.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props
index 96d70b84a2cb..298e8a1ffd92 100644
--- a/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.OSX.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props
+++ b/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.OSX.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props
@@ -2,8 +2,11 @@
<Project>
<ItemGroup>
<File Include="$(_LLVMInstallDir)\bin\llvm-config" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llvm-config.dwarf" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\bin\llvm-dis" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llvm-dis.dwarf" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\bin\llvm-tblgen" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llvm-tblgen.dwarf" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\lib\**" Exclude="libLTO*" TargetPath="tools\$(PackageTargetRuntime)\lib\%(RecursiveDir)%(Filename)%(Extension)" />
<File Include="$(_LLVMInstallDir)\include\**" Exclude="libLTO*" TargetPath="tools\$(PackageTargetRuntime)\include\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
diff --git a/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.Windows_NT.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props b/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.Windows_NT.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props
index 35cc9dda7515..467d1327746a 100644
--- a/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.Windows_NT.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props
+++ b/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Sdk/runtime.Windows_NT.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk.props
@@ -2,8 +2,11 @@
<Project>
<ItemGroup>
<File Include="$(_LLVMInstallDir)\bin\llvm-config.exe" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llvm-config.pdb" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\bin\llvm-dis.exe" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llvm-dis.pdb" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\bin\llvm-tblgen.exe" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llvm-tblgen.pdb" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\lib\**" Exclude="libLTO*" TargetPath="tools\$(PackageTargetRuntime)\lib\%(RecursiveDir)%(Filename)%(Extension)" />
<File Include="$(_LLVMInstallDir)\include\**" Exclude="libLTO*" TargetPath="tools\$(PackageTargetRuntime)\include\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
diff --git a/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.Linux.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props b/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.Linux.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props
index 19a6ea56aba5..380e3ad2abc7 100644
--- a/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.Linux.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props
+++ b/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.Linux.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props
@@ -2,7 +2,10 @@
<Project>
<ItemGroup>
<File Include="$(_LLVMInstallDir)\bin\llc" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llc.dbg" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\bin\llvm-as" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llvm-as.dbg" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\bin\opt" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\opt.dbg" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
</ItemGroup>
</Project>
diff --git a/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.OSX.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props b/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.OSX.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props
index 19a6ea56aba5..c2c6b0392785 100644
--- a/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.OSX.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props
+++ b/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.OSX.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props
@@ -2,7 +2,10 @@
<Project>
<ItemGroup>
<File Include="$(_LLVMInstallDir)\bin\llc" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llc.dwarf" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\bin\llvm-as" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llvm-as.dwarf" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\bin\opt" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\opt.dwarf" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
</ItemGroup>
</Project>
diff --git a/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.Windows_NT.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props b/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.Windows_NT.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props
index f4c3e0a29566..cf9091a3ed97 100644
--- a/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.Windows_NT.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props
+++ b/nuget/Microsoft.NETCore.Runtime.Mono.LLVM.Tools/runtime.Windows_NT.Microsoft.NETCore.Runtime.Mono.LLVM.Tools.props
@@ -2,7 +2,10 @@
<Project>
<ItemGroup>
<File Include="$(_LLVMInstallDir)\bin\llc.exe" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llc.pdb" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\bin\llvm-as.exe" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\llvm-as.pdb" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
<File Include="$(_LLVMInstallDir)\bin\opt.exe" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
+ <File Include="$(_LLVMInstallDir)\bin\opt.pdb" TargetPath="tools\$(PackageTargetRuntime)\bin\" />
</ItemGroup>
</Project>