about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/tools/opt-dist/src/utils/artifact_size.rs13
1 files changed, 13 insertions, 0 deletions
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.<suffix>, 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