llvm18/clang-shlib-symbol-versioning.patch
Aaron Puchert ef8f01691b Accepting request 1225866 from home:dirkmueller:Factory
- add libcxx-use-shlex-quote.patch to fix build with python 3.13

- Use correct LLVM_HOST_TRIPLE for riscv64
- Rebase llvm-do-not-install-static-libraries.patch.
- Add upstream patch to export compiler-rt FuzzedDataProvider header,
  * compiler-rt-move-fdp.patch
- Drop llvm5-devel-static. llvm5-devel contains shared library with
- Package libLLVMFuzzer
- Use gcc6 on SLE12
- Package license & credits
  * See
- Enable BPF for all arches bsc#1026191
- libc++ must depend on libc++abi
- Disable libcxx/lldb/openmp for SLE fate#319582
- Update rpmlintrc to whitelist libLTO.so
- Re-enable glibc-2.23 patch for Tumbleweed
- Add glibc-2.23-libcxx.patch to fix test failures with glibc 2.23
-  Remove FFI support because its fragile
- Enable OpenMP for x86, x86_64, ppc64 and ppc64le
- Enable all targets on x86, x86_64
- fix build on s390x (one typo in ifarch and one change in filelist)
- Add llvm-fix-parsearmarch.patch to fix parsing armv{6,7}hl archs.
- Rename llvm-remove-werror-date-time.patch to
- Require llvm-clang not just clang
- Add libcxxabi-exceptions.patch to fix libcxxabi exception handling
- Remove asan-disable-hugemalloctest.patch and
- build compiler-rt on ppc64 (don't delete it)
- complete ifarchs for s390
- Remove non-existing doc subpackage
- Update to r196371 from release_34 branch

OBS-URL: https://build.opensuse.org/request/show/1225866
OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=35
2024-12-03 23:47:11 +00:00

27 lines
1.2 KiB
Diff

diff --git a/clang/tools/clang-shlib/CMakeLists.txt b/clang/tools/clang-shlib/CMakeLists.txt
index 298d3a9d18fe..830f2b138ffa 100644
--- a/clang/tools/clang-shlib/CMakeLists.txt
+++ b/clang/tools/clang-shlib/CMakeLists.txt
@@ -48,6 +48,14 @@ add_clang_library(clang-cpp
${_OBJECTS}
LINK_LIBS
${_DEPS})
+
+configure_file(simple_version_script.map.in simple_version_script.map)
+
+if (NOT LLVM_LINKER_IS_SOLARISLD AND NOT MINGW)
+ # Solaris ld does not accept global: *; so there is no way to version *all* global symbols
+ target_link_options(clang-cpp PRIVATE LINKER:--version-script,${CMAKE_CURRENT_BINARY_DIR}/simple_version_script.map)
+endif()
+
# Optimize function calls for default visibility definitions to avoid PLT and
# reduce dynamic relocations.
if (NOT APPLE AND NOT MINGW AND NOT LLVM_LINKER_IS_SOLARISLD_ILLUMOS)
diff --git a/clang/tools/clang-shlib/simple_version_script.map.in b/clang/tools/clang-shlib/simple_version_script.map.in
new file mode 100644
index 000000000000..cb2306d1f596
--- /dev/null
+++ b/clang/tools/clang-shlib/simple_version_script.map.in
@@ -0,0 +1 @@
+@LLVM_SHLIB_SYMBOL_VERSION@ { global: *; };