[clang][cmake] Fix support for dynamic libraries in CLANG_BOLT

Simpler detection of dynamic library operands as the readelf one seems
to be unreliable (works on my setup, not on buildbots).

This is a follow-up to #127020
diff --git a/clang/utils/perf-training/perf-helper.py b/clang/utils/perf-training/perf-helper.py
index 7a049e7..80c6356 100644
--- a/clang/utils/perf-training/perf-helper.py
+++ b/clang/utils/perf-training/perf-helper.py
@@ -628,15 +628,14 @@
                 sys.stdout.write(line)
             process.check_returncode()
 
-            output = subprocess.check_output(
-                [opts.readelf, "--file-header", input], universal_newlines=True
-            )
-            if re.search(r"Type:\s*((Shared)|(DYN))", output):
-                # force using the instrumented version
+            # Shared library must be preloaded to be covered.
+            if ".so" in input:
                 preloads.append(instrumented_output)
 
         if preloads:
-            print("Patching execution environment for dynamic library")
+            print(
+                f"Patching execution environment for dynamic libraries: {' '.join(preloads)}"
+            )
             environ["LD_PRELOAD"] = os.pathsep.join(preloads)
 
     args = [