diff --git a/src/tools/opt-dist/src/utils/artifact_size.rs b/src/tools/opt-dist/src/utils/artifact_size.rs index eb1f6bcf21d..757f6d49709 100644 --- a/src/tools/opt-dist/src/utils/artifact_size.rs +++ b/src/tools/opt-dist/src/utils/artifact_size.rs @@ -15,8 +15,21 @@ pub fn print_binary_sizes(env: &Environment) -> anyhow::Result<()> { let root = env.build_artifacts().join("stage2"); + let all_lib_files = get_files_from_dir(&root.join("lib"), None)?; + let mut files = get_files_from_dir(&root.join("bin"), None)?; files.extend(get_files_from_dir(&root.join("lib"), Some(".so"))?); + + // libLLVM.so can be named libLLVM.so., so we try to explicitly add it here if it + // wasn't found by the above call. + if !files.iter().any(|f| f.file_name().unwrap_or_default().starts_with("libLLVM")) { + if let Some(llvm_lib) = + all_lib_files.iter().find(|f| f.file_name().unwrap_or_default().starts_with("libLLVM")) + { + files.push(llvm_lib.clone()); + } + } + files.sort_unstable(); let items: Vec<_> = files