Do not strip native/unmanaged symbols from binaries This is a hack. It rips out the calls to strip directly. The correct/upstreamable fix is to add a configure/build option to keep symbols for some builds, such as those needed by upstream. diff --git a/eng/native/functions.cmake b/eng/native/functions.cmake index 8b73581ed14..7697908425e 100644 --- a/eng/native/functions.cmake +++ b/eng/native/functions.cmake @@ -282,7 +282,7 @@ function(target_precompile_header) endif(MSVC) endfunction() -function(strip_symbols targetName outputFilename) +function(strip_symbols_renamed targetName outputFilename) if (CLR_CMAKE_HOST_UNIX) set(strip_source_file $) @@ -336,8 +336,8 @@ function(strip_symbols targetName outputFilename) endfunction() function(install_with_stripped_symbols targetName kind destination) - strip_symbols(${targetName} symbol_file) - install_symbols(${symbol_file} ${destination}) + # strip_symbols_renamed(${targetName} symbol_file) + # install_symbols(${symbol_file} ${destination}) if ("${kind}" STREQUAL "TARGETS") set(install_source ${targetName}) elseif("${kind}" STREQUAL "PROGRAMS") @@ -375,13 +375,13 @@ function(install_clr) foreach(targetName ${INSTALL_CLR_TARGETS}) list(FIND CLR_CROSS_COMPONENTS_LIST ${targetName} INDEX) if (NOT DEFINED CLR_CROSS_COMPONENTS_LIST OR NOT ${INDEX} EQUAL -1) - strip_symbols(${targetName} symbol_file) + # strip_symbols_renamed(${targetName} symbol_file) foreach(destination ${destinations}) # We don't need to install the export libraries for our DLLs # since they won't be directly linked against. install(PROGRAMS $ DESTINATION ${destination}) - install_symbols(${symbol_file} ${destination}) + # install_symbols(${symbol_file} ${destination}) if(CLR_CMAKE_PGO_INSTRUMENT) if(WIN32)