Author: serge-sans-paille Date: 2025-03-03T18:05:18+01:00 New Revision: f3d4d1154799b32512b0fed52c9938f76b9264b5
URL: https://github.com/llvm/llvm-project/commit/f3d4d1154799b32512b0fed52c9938f76b9264b5 DIFF: https://github.com/llvm/llvm-project/commit/f3d4d1154799b32512b0fed52c9938f76b9264b5.diff LOG: [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 Added: Modified: clang/utils/perf-training/perf-helper.py Removed: ################################################################################ diff --git a/clang/utils/perf-training/perf-helper.py b/clang/utils/perf-training/perf-helper.py index 7a049e71d9826..80c6356d0497c 100644 --- a/clang/utils/perf-training/perf-helper.py +++ b/clang/utils/perf-training/perf-helper.py @@ -628,15 +628,14 @@ def bolt_optimize(args): 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 = [ _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits