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

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Forstall <brucefo@microsoft.com>2022-10-01 02:37:04 +0300
committerGitHub <noreply@github.com>2022-10-01 02:37:04 +0300
commitecf111211ea4b7626deac65173f3cd7fe40e794c (patch)
treeb687fe09a04ccbd7fc9645c035545abda33dee5d /src
parentfbc22320322b6be09d22b89a0e7fb56f3542758b (diff)
SuperPMI collections: exclude more files/directories (#76384)
* SuperPMI collections: exclude more files/directories Exclude a few more native code files and the 'runtimes' directory that contains uninteresting files, including native code files, to reduce the number of PMI exceptions during collections. * Use python 'list' constructor to avoid modifying global lists
Diffstat (limited to 'src')
-rw-r--r--src/coreclr/scripts/superpmi_collect_setup.py40
1 files changed, 26 insertions, 14 deletions
diff --git a/src/coreclr/scripts/superpmi_collect_setup.py b/src/coreclr/scripts/superpmi_collect_setup.py
index a848f9ea190..41f84ab76e9 100644
--- a/src/coreclr/scripts/superpmi_collect_setup.py
+++ b/src/coreclr/scripts/superpmi_collect_setup.py
@@ -62,6 +62,10 @@ is_windows = platform.system() == "Windows"
legal_collection_types = [ "crossgen2", "pmi", "run" ]
+directories_to_ignore = [
+ "runtimes", # This appears to be the result of a nuget package that includes a bunch of native code
+]
+
native_binaries_to_ignore = [
"api-ms-win-core-console-l1-1-0.dll",
"api-ms-win-core-datetime-l1-1-0.dll",
@@ -106,6 +110,12 @@ native_binaries_to_ignore = [
"clretwrc.dll",
"clrgc.dll",
"clrjit.dll",
+ "clrjit_universal_arm_arm.dll",
+ "clrjit_universal_arm_arm64.dll",
+ "clrjit_universal_arm_x64.dll",
+ "clrjit_universal_arm_x86.dll",
+ "clrjit_universal_arm64_arm64.dll",
+ "clrjit_universal_arm64_x64.dll",
"clrjit_unix_arm_arm.dll",
"clrjit_unix_arm_arm64.dll",
"clrjit_unix_arm_x64.dll",
@@ -132,12 +142,6 @@ native_binaries_to_ignore = [
"clrjit_win_x86_arm64.dll",
"clrjit_win_x86_x64.dll",
"clrjit_win_x86_x86.dll",
- "clrjit_universal_arm_arm.dll",
- "clrjit_universal_arm_arm64.dll",
- "clrjit_universal_arm_x64.dll",
- "clrjit_universal_arm_x86.dll",
- "clrjit_universal_arm64_arm64.dll",
- "clrjit_universal_arm64_x64.dll",
"coreclr.dll",
"CoreConsole.exe",
"coredistools.dll",
@@ -147,6 +151,8 @@ native_binaries_to_ignore = [
"crossgen.exe",
"crossgen2.exe",
"dbgshim.dll",
+ "e_sqlite3.dll",
+ "FileCheck.exe",
"ilasm.exe",
"ildasm.exe",
"jitinterface_arm.dll",
@@ -155,6 +161,7 @@ native_binaries_to_ignore = [
"jitinterface_x86.dll",
"KernelTraceControl.dll",
"KernelTraceControl.Win61.dll",
+ "llvm-mca.exe",
"mcs.exe",
"Microsoft.DiaSymReader.Native.amd64.dll",
"Microsoft.DiaSymReader.Native.x86.dll",
@@ -164,20 +171,21 @@ native_binaries_to_ignore = [
"msdia140.dll",
"msquic.dll",
"msvcp140.dll",
- "vcruntime140.dll",
- "vcruntime140_1.dll",
+ "NativeLibrary.dll",
"R2RDump.exe",
"R2RTest.exe",
- "FileCheck.exe",
+ "sni.dll",
"SuperFileCheck.exe",
- "llvm-mca.exe",
- "superpmi.exe",
"superpmi-shim-collector.dll",
"superpmi-shim-counter.dll",
"superpmi-shim-simple.dll",
+ "superpmi.exe",
"System.CommandLine.resources.dll", # Managed, but uninteresting
"System.IO.Compression.Native.dll",
"ucrtbase.dll",
+ "UnloadableAssembly.dll",
+ "vcruntime140.dll",
+ "vcruntime140_1.dll",
"xunit.console.exe",
]
@@ -559,8 +567,12 @@ def main(main_args):
# copy_directory(dotnet_src_directory, dotnet_dst_directory, verbose_output=False)
input_artifacts = os.path.join(workitem_payload_directory, "collectAssembliesDirectory", coreclr_args.collection_name)
- exclude_directory = ['Core_Root'] if coreclr_args.collection_name == "coreclr_tests" else []
- exclude_files = native_binaries_to_ignore
+
+ exclude_directories = list(directories_to_ignore)
+ if coreclr_args.collection_name == "coreclr_tests":
+ exclude_directories += ['Core_Root']
+
+ exclude_files = list(native_binaries_to_ignore)
if coreclr_args.collection_type == "crossgen2":
print('Adding exclusions for crossgen2')
# Currently, trying to crossgen2 R2RTest\Microsoft.Build.dll causes a pop-up failure, so exclude it.
@@ -572,7 +584,7 @@ def main(main_args):
exclude_files += [item for item in os.listdir(core_root_dir)
if os.path.isfile(os.path.join(core_root_dir, item)) and (item.endswith(".dll") or item.endswith(".exe"))]
- partition_files(coreclr_args.input_directory, input_artifacts, coreclr_args.max_size, exclude_directory,
+ partition_files(coreclr_args.input_directory, input_artifacts, coreclr_args.max_size, exclude_directories,
exclude_files)
# Set variables