diff options
author | Jo Shields <directhex@apebox.org> | 2021-11-02 00:12:10 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-02 00:12:10 +0300 |
commit | 2ddf61758314ebf120fc6126ec09ae964a5b53b9 (patch) | |
tree | ee83d4d7bba078fbb304dccecb28f8aa29416d81 | |
parent | b96c2251492ccb4563ba174e24dd3e8da4b043e6 (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>
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> |