From 0a7687b2c1e174b055213db7e535eec03828d3d1 Mon Sep 17 00:00:00 2001 From: Anuj Mittal Date: Mon, 15 Aug 2022 13:08:55 +0800 Subject: Remove support for LLVM 12 We can now build with LLVM 14 and no longer need to keep LLVM 12 patches and compatibility code. Signed-off-by: Anuj Mittal --- ...ng-ParseCommandLineOptions-in-BackendUtil.patch | 52 ---------------------- 1 file changed, 52 deletions(-) delete mode 100644 dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm12-0002-Avoid-calling-ParseCommandLineOptions-in-BackendUtil.patch (limited to 'dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm12-0002-Avoid-calling-ParseCommandLineOptions-in-BackendUtil.patch') diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm12-0002-Avoid-calling-ParseCommandLineOptions-in-BackendUtil.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm12-0002-Avoid-calling-ParseCommandLineOptions-in-BackendUtil.patch deleted file mode 100644 index 497db4f5..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm12-0002-Avoid-calling-ParseCommandLineOptions-in-BackendUtil.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 60854c328d8729b2ef10b9bb4dcbcc282f43c5e7 Mon Sep 17 00:00:00 2001 -From: Raphael Isemann -Date: Thu, 1 Apr 2021 18:41:44 +0200 -Subject: [PATCH] Avoid calling ParseCommandLineOptions in BackendUtil if - possible - -Calling `ParseCommandLineOptions` should only be called from `main` as the -CommandLine setup code isn't thread-safe. As BackendUtil is part of the -generic Clang FrontendAction logic, a process which has several threads executing -Clang FrontendActions will randomly crash in the unsafe setup code. - -This patch avoids calling the function unless either the debug-pass option or -limit-float-precision option is set. Without these two options set the -`ParseCommandLineOptions` call doesn't do anything beside parsing -the command line `clang` which doesn't set any options. - -See also D99652 where LLDB received a workaround for this crash. - -Reviewed By: JDevlieghere - -Differential Revision: https://reviews.llvm.org/D99740 - -Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/60854c328d8729b2ef10b9bb4dcbcc282f43c5e7] -Signed-off-by: Naveen Saini - ---- - clang/lib/CodeGen/BackendUtil.cpp | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp -index 41eafd13d97c..00d92e7beadd 100644 ---- a/clang/lib/CodeGen/BackendUtil.cpp -+++ b/clang/lib/CodeGen/BackendUtil.cpp -@@ -871,7 +871,15 @@ static void setCommandLineOpts(const CodeGenOptions &CodeGenOpts) { - BackendArgs.push_back("-limit-float-precision"); - BackendArgs.push_back(CodeGenOpts.LimitFloatPrecision.c_str()); - } -+ // Check for the default "clang" invocation that won't set any cl::opt values. -+ // Skip trying to parse the command line invocation to avoid the issues -+ // described below. -+ if (BackendArgs.size() == 1) -+ return; - BackendArgs.push_back(nullptr); -+ // FIXME: The command line parser below is not thread-safe and shares a global -+ // state, so this call might crash or overwrite the options of another Clang -+ // instance in the same process. - llvm::cl::ParseCommandLineOptions(BackendArgs.size() - 1, - BackendArgs.data()); - } --- -2.29.2 - -- cgit v1.2.3-54-g00ecf