- Add llvm-suse-implicit-gnu.patch to recognize <arch>-suse-linux
as implicitly GNU. Without this we would get library calls for fused-multiply-add even if it's available in hardware. - Add openmp-drop-rpath.patch: backport revert of adding RUNPATH to openmp executables. (boo#1206837) OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm15?expand=0&rev=22
This commit is contained in:
parent
ace2a39c9e
commit
0b5e480781
14
llvm-suse-implicit-gnu.patch
Normal file
14
llvm-suse-implicit-gnu.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
diff --git a/llvm/include/llvm/ADT/Triple.h b/llvm/include/llvm/ADT/Triple.h
|
||||||
|
index ba4584d..eec01eb 100644
|
||||||
|
--- a/llvm/include/llvm/ADT/Triple.h
|
||||||
|
+++ b/llvm/include/llvm/ADT/Triple.h
|
||||||
|
@@ -555,7 +555,8 @@ public:
|
||||||
|
EnvironmentType Env = getEnvironment();
|
||||||
|
return Env == Triple::GNU || Env == Triple::GNUABIN32 ||
|
||||||
|
Env == Triple::GNUABI64 || Env == Triple::GNUEABI ||
|
||||||
|
- Env == Triple::GNUEABIHF || Env == Triple::GNUX32;
|
||||||
|
+ Env == Triple::GNUEABIHF || Env == Triple::GNUX32 ||
|
||||||
|
+ (Env == Triple::UnknownEnvironment && getVendor() == Triple::SUSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool isOSContiki() const {
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Mar 11 14:09:34 UTC 2023 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||||
|
|
||||||
|
- Add llvm-suse-implicit-gnu.patch to recognize <arch>-suse-linux
|
||||||
|
as implicitly GNU. Without this we would get library calls for
|
||||||
|
fused-multiply-add even if it's available in hardware.
|
||||||
|
- Add openmp-drop-rpath.patch: backport revert of adding RUNPATH
|
||||||
|
to openmp executables. (boo#1206837)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Mar 9 17:17:40 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
Thu Mar 9 17:17:40 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
@ -369,6 +369,10 @@ Patch14: llvm-do-not-install-static-libraries.patch
|
|||||||
Patch15: libcxx-test-library-path.patch
|
Patch15: libcxx-test-library-path.patch
|
||||||
# PATCH-FIX-UPSTREAM (?): Work around gh#llvm/llvm-project#28804 by hinting with __builtin_assume.
|
# PATCH-FIX-UPSTREAM (?): Work around gh#llvm/llvm-project#28804 by hinting with __builtin_assume.
|
||||||
Patch16: llvm-workaround-superfluous-branches.patch
|
Patch16: llvm-workaround-superfluous-branches.patch
|
||||||
|
# PATCH-FIX-UPSTREAM: Recognize <arch>-suse-linux as implicitly GNU. Discussion at https://reviews.llvm.org/D110900.
|
||||||
|
Patch17: llvm-suse-implicit-gnu.patch
|
||||||
|
# PATCH-FIX-UPSTREAM: Don't implicitly add RUNPATHs to openmp executable. (boo#1206837)
|
||||||
|
Patch18: openmp-drop-rpath.patch
|
||||||
Patch20: llvm_build_tablegen_component_as_shared_library.patch
|
Patch20: llvm_build_tablegen_component_as_shared_library.patch
|
||||||
Patch21: tests-use-python3.patch
|
Patch21: tests-use-python3.patch
|
||||||
Patch22: llvm-better-detect-64bit-atomics-support.patch
|
Patch22: llvm-better-detect-64bit-atomics-support.patch
|
||||||
@ -810,6 +814,7 @@ This package contains the development files for Polly.
|
|||||||
%patch13 -p1
|
%patch13 -p1
|
||||||
%patch14 -p1
|
%patch14 -p1
|
||||||
%patch16 -p2
|
%patch16 -p2
|
||||||
|
%patch17 -p2
|
||||||
%patch20 -p1
|
%patch20 -p1
|
||||||
%patch21 -p1
|
%patch21 -p1
|
||||||
%patch22 -p1
|
%patch22 -p1
|
||||||
@ -825,6 +830,7 @@ pushd clang-%{_version}.src
|
|||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
%patch9 -p2
|
%patch9 -p2
|
||||||
|
%patch18 -p2
|
||||||
%patch36 -p2
|
%patch36 -p2
|
||||||
|
|
||||||
# We hardcode openSUSE
|
# We hardcode openSUSE
|
||||||
|
100
openmp-drop-rpath.patch
Normal file
100
openmp-drop-rpath.patch
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
Backport of upstream commit 555b572e3f407ac48b5f30fc06760cc4d0549977
|
||||||
|
From: Fangrui Song <i@maskray.me>
|
||||||
|
Date: Wed, 8 Mar 2023 10:18:40 -0800
|
||||||
|
Subject: [PATCH] Revert D118493 "Set rpath on openmp executables"
|
||||||
|
|
||||||
|
This reverts commit 9b9d08111b618d74574ba03e5cc3d752ecc56f55.
|
||||||
|
(Accepted by Jon https://reviews.llvm.org/D118493#4178250)
|
||||||
|
|
||||||
|
libc++, libc++abi, libunwind, and compiler-rt don't add the extra DT_RUNPATH,
|
||||||
|
it's strange for OpenMP to diverge.
|
||||||
|
Some build systems want to handle DT_RUNPATH themselves (e.g.
|
||||||
|
CMAKE_INSTALL_RPATH). Some distributions (e.g. Fedora) have policies against
|
||||||
|
DT_RUNPATH and the default DT_RUNPATH for OpenMP is causing trouble.
|
||||||
|
|
||||||
|
For users who don't want to specify rpath by themselves,
|
||||||
|
https://clang.llvm.org/docs/UsersManual.html#configuration-files
|
||||||
|
can be used to specify the default rpath, e.g.
|
||||||
|
specify -frtlib-add-rpath or -Wl,-rpath in bin/clang.cfg
|
||||||
|
---
|
||||||
|
clang/include/clang/Driver/Options.td | 6 ------
|
||||||
|
clang/lib/Driver/ToolChains/CommonArgs.cpp | 19 -------------------
|
||||||
|
clang/lib/Driver/ToolChains/CommonArgs.h | 3 ---
|
||||||
|
clang/test/OpenMP/Inputs/libomp.a | 1 -
|
||||||
|
4 files changed, 29 deletions(-)
|
||||||
|
delete mode 100644 clang/test/OpenMP/Inputs/libomp.a
|
||||||
|
|
||||||
|
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
|
||||||
|
index 3cab37b..b8bc969 100644
|
||||||
|
--- a/clang/include/clang/Driver/Options.td
|
||||||
|
+++ b/clang/include/clang/Driver/Options.td
|
||||||
|
@@ -4112,11 +4112,6 @@ def frtlib_add_rpath: Flag<["-"], "frtlib-add-rpath">, Flags<[NoArgumentUnused]>
|
||||||
|
HelpText<"Add -rpath with architecture-specific resource directory to the linker flags">;
|
||||||
|
def fno_rtlib_add_rpath: Flag<["-"], "fno-rtlib-add-rpath">, Flags<[NoArgumentUnused]>,
|
||||||
|
HelpText<"Do not add -rpath with architecture-specific resource directory to the linker flags">;
|
||||||
|
-defm openmp_implicit_rpath: BoolFOption<"openmp-implicit-rpath",
|
||||||
|
- LangOpts<"OpenMP">,
|
||||||
|
- DefaultTrue,
|
||||||
|
- PosFlag<SetTrue, [], "Set rpath on OpenMP executables">,
|
||||||
|
- NegFlag<SetFalse>>;
|
||||||
|
def r : Flag<["-"], "r">, Flags<[LinkerInput,NoArgumentUnused]>,
|
||||||
|
Group<Link_Group>;
|
||||||
|
def save_temps_EQ : Joined<["-", "--"], "save-temps=">, Flags<[CC1Option, FlangOption, NoXarchOption]>,
|
||||||
|
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
|
||||||
|
index 443725f..19ac699 100644
|
||||||
|
--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
|
||||||
|
+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
|
||||||
|
@@ -646,22 +646,6 @@ void tools::addLTOOptions(const ToolChain &ToolChain, const ArgList &Args,
|
||||||
|
/*IsLTO=*/true);
|
||||||
|
}
|
||||||
|
|
||||||
|
-void tools::addOpenMPRuntimeSpecificRPath(const ToolChain &TC,
|
||||||
|
- const ArgList &Args,
|
||||||
|
- ArgStringList &CmdArgs) {
|
||||||
|
-
|
||||||
|
- if (Args.hasFlag(options::OPT_fopenmp_implicit_rpath,
|
||||||
|
- options::OPT_fno_openmp_implicit_rpath, true)) {
|
||||||
|
- // Default to clang lib / lib64 folder, i.e. the same location as device
|
||||||
|
- // runtime
|
||||||
|
- SmallString<256> DefaultLibPath =
|
||||||
|
- llvm::sys::path::parent_path(TC.getDriver().Dir);
|
||||||
|
- llvm::sys::path::append(DefaultLibPath, Twine("lib") + CLANG_LIBDIR_SUFFIX);
|
||||||
|
- CmdArgs.push_back("-rpath");
|
||||||
|
- CmdArgs.push_back(Args.MakeArgString(DefaultLibPath));
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
void tools::addOpenMPRuntimeLibraryPath(const ToolChain &TC,
|
||||||
|
const ArgList &Args,
|
||||||
|
ArgStringList &CmdArgs) {
|
||||||
|
@@ -733,9 +717,6 @@ bool tools::addOpenMPRuntime(ArgStringList &CmdArgs, const ToolChain &TC,
|
||||||
|
CmdArgs.push_back("-lomptarget.devicertl");
|
||||||
|
|
||||||
|
addArchSpecificRPath(TC, Args, CmdArgs);
|
||||||
|
-
|
||||||
|
- if (RTKind == Driver::OMPRT_OMP)
|
||||||
|
- addOpenMPRuntimeSpecificRPath(TC, Args, CmdArgs);
|
||||||
|
addOpenMPRuntimeLibraryPath(TC, Args, CmdArgs);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.h b/clang/lib/Driver/ToolChains/CommonArgs.h
|
||||||
|
index d44d9214c08b..e64e9524601d 100644
|
||||||
|
--- a/clang/lib/Driver/ToolChains/CommonArgs.h
|
||||||
|
+++ b/clang/lib/Driver/ToolChains/CommonArgs.h
|
||||||
|
@@ -117,9 +117,6 @@ void AddAssemblerKPIC(const ToolChain &ToolChain,
|
||||||
|
const llvm::opt::ArgList &Args,
|
||||||
|
llvm::opt::ArgStringList &CmdArgs);
|
||||||
|
|
||||||
|
-void addOpenMPRuntimeSpecificRPath(const ToolChain &TC,
|
||||||
|
- const llvm::opt::ArgList &Args,
|
||||||
|
- llvm::opt::ArgStringList &CmdArgs);
|
||||||
|
void addArchSpecificRPath(const ToolChain &TC, const llvm::opt::ArgList &Args,
|
||||||
|
llvm::opt::ArgStringList &CmdArgs);
|
||||||
|
void addOpenMPRuntimeLibraryPath(const ToolChain &TC,
|
||||||
|
diff --git a/clang/test/OpenMP/Inputs/libomp.a b/clang/test/OpenMP/Inputs/libomp.a
|
||||||
|
deleted file mode 100644
|
||||||
|
index 8b277f0dd5dc..000000000000
|
||||||
|
--- a/clang/test/OpenMP/Inputs/libomp.a
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1 +0,0 @@
|
||||||
|
-!<arch>
|
Loading…
Reference in New Issue
Block a user