Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package llvm19 for openSUSE:Factory checked 
in at 2024-11-22 23:50:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/llvm19 (Old)
 and      /work/SRC/openSUSE:Factory/.llvm19.new.28523 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "llvm19"

Fri Nov 22 23:50:14 2024 rev:4 rq:1225427 version:19.1.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm19/llvm19.changes    2024-11-18 
19:57:29.263805836 +0100
+++ /work/SRC/openSUSE:Factory/.llvm19.new.28523/llvm19.changes 2024-11-22 
23:50:21.626487460 +0100
@@ -1,0 +2,8 @@
+Tue Nov 19 21:17:27 UTC 2024 - Aaron Puchert <[email protected]>
+
+- Update to version 19.1.4.
+  * This release contains bug-fixes for the LLVM 19.1.0 release.
+    This release is API and ABI compatible with 19.1.0.
+- Rebase llvm-do-not-install-static-libraries.patch.
+
+-------------------------------------------------------------------

Old:
----
  clang-19.1.3.src.tar.xz
  clang-19.1.3.src.tar.xz.sig
  clang-docs-19.1.3.src.tar.xz
  clang-tools-extra-19.1.3.src.tar.xz
  clang-tools-extra-19.1.3.src.tar.xz.sig
  cmake-19.1.3.src.tar.xz
  cmake-19.1.3.src.tar.xz.sig
  compiler-rt-19.1.3.src.tar.xz
  compiler-rt-19.1.3.src.tar.xz.sig
  libcxx-19.1.3.src.tar.xz
  libcxx-19.1.3.src.tar.xz.sig
  libcxxabi-19.1.3.src.tar.xz
  libcxxabi-19.1.3.src.tar.xz.sig
  lld-19.1.3.src.tar.xz
  lld-19.1.3.src.tar.xz.sig
  lldb-19.1.3.src.tar.xz
  lldb-19.1.3.src.tar.xz.sig
  llvm-19.1.3.src.tar.xz
  llvm-19.1.3.src.tar.xz.sig
  llvm-docs-19.1.3.src.tar.xz
  openmp-19.1.3.src.tar.xz
  openmp-19.1.3.src.tar.xz.sig
  polly-19.1.3.src.tar.xz
  polly-19.1.3.src.tar.xz.sig
  runtimes-19.1.3.src.tar.xz
  runtimes-19.1.3.src.tar.xz.sig
  third-party-19.1.3.src.tar.xz
  third-party-19.1.3.src.tar.xz.sig

New:
----
  clang-19.1.4.src.tar.xz
  clang-19.1.4.src.tar.xz.sig
  clang-docs-19.1.4.src.tar.xz
  clang-tools-extra-19.1.4.src.tar.xz
  clang-tools-extra-19.1.4.src.tar.xz.sig
  cmake-19.1.4.src.tar.xz
  cmake-19.1.4.src.tar.xz.sig
  compiler-rt-19.1.4.src.tar.xz
  compiler-rt-19.1.4.src.tar.xz.sig
  libcxx-19.1.4.src.tar.xz
  libcxx-19.1.4.src.tar.xz.sig
  libcxxabi-19.1.4.src.tar.xz
  libcxxabi-19.1.4.src.tar.xz.sig
  lld-19.1.4.src.tar.xz
  lld-19.1.4.src.tar.xz.sig
  lldb-19.1.4.src.tar.xz
  lldb-19.1.4.src.tar.xz.sig
  llvm-19.1.4.src.tar.xz
  llvm-19.1.4.src.tar.xz.sig
  llvm-docs-19.1.4.src.tar.xz
  openmp-19.1.4.src.tar.xz
  openmp-19.1.4.src.tar.xz.sig
  polly-19.1.4.src.tar.xz
  polly-19.1.4.src.tar.xz.sig
  runtimes-19.1.4.src.tar.xz
  runtimes-19.1.4.src.tar.xz.sig
  third-party-19.1.4.src.tar.xz
  third-party-19.1.4.src.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ llvm19.spec ++++++
--- /var/tmp/diff_new_pack.rQcDIV/_old  2024-11-22 23:50:27.822745598 +0100
+++ /var/tmp/diff_new_pack.rQcDIV/_new  2024-11-22 23:50:27.826745765 +0100
@@ -19,7 +19,7 @@
 %global _sonum  19
 %global _minor  %{_sonum}.1
 %global _soname %{_minor}%{?_rc:-rc%_rc}
-%global _patch_level 3
+%global _patch_level 4
 %global _relver %{_minor}.%{_patch_level}
 %global _version %_relver%{?_rc:-rc%_rc}
 %global _itsme19 1

++++++ clang-19.1.3.src.tar.xz -> clang-19.1.4.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm19/clang-19.1.3.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm19.new.28523/clang-19.1.4.src.tar.xz differ: 
char 15, line 1

++++++ clang-docs-19.1.3.src.tar.xz -> clang-docs-19.1.4.src.tar.xz ++++++
++++ 3005 lines of diff (skipped)

++++++ clang-tools-extra-19.1.3.src.tar.xz -> 
clang-tools-extra-19.1.4.src.tar.xz ++++++

++++++ cmake-19.1.3.src.tar.xz -> cmake-19.1.4.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cmake-19.1.3.src/Modules/LLVMVersion.cmake 
new/cmake-19.1.4.src/Modules/LLVMVersion.cmake
--- old/cmake-19.1.3.src/Modules/LLVMVersion.cmake      2024-10-29 
11:09:39.000000000 +0100
+++ new/cmake-19.1.4.src/Modules/LLVMVersion.cmake      2024-11-19 
09:08:07.000000000 +0100
@@ -7,7 +7,7 @@
   set(LLVM_VERSION_MINOR 1)
 endif()
 if(NOT DEFINED LLVM_VERSION_PATCH)
-  set(LLVM_VERSION_PATCH 3)
+  set(LLVM_VERSION_PATCH 4)
 endif()
 if(NOT DEFINED LLVM_VERSION_SUFFIX)
   set(LLVM_VERSION_SUFFIX)

++++++ compiler-rt-19.1.3.src.tar.xz -> compiler-rt-19.1.4.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compiler-rt-19.1.3.src/CMakeLists.txt 
new/compiler-rt-19.1.4.src/CMakeLists.txt
--- old/compiler-rt-19.1.3.src/CMakeLists.txt   2024-10-29 11:09:39.000000000 
+0100
+++ new/compiler-rt-19.1.4.src/CMakeLists.txt   2024-11-19 09:08:07.000000000 
+0100
@@ -39,6 +39,22 @@
 include(CMakeDependentOption)
 include(GetDarwinLinkerVersion)
 
+include(CheckCXXCompilerFlag)
+
+# Check if we can compile with --no-default-config, or if that omits a config
+# file that is essential for the toolchain to work properly.
+#
+# Using CMAKE_REQUIRED_FLAGS to make sure the flag is used both for compilation
+# and for linking.
+#
+# Doing this test early on, to see if the flag works on the toolchain
+# out of the box. Later on, we end up adding -nostdlib and similar flags
+# to all test compiles, which easily can give false positives on this test.
+set(OLD_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
+set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} --no-default-config")
+check_cxx_compiler_flag("" COMPILER_RT_HAS_NO_DEFAULT_CONFIG_FLAG)
+set(CMAKE_REQUIRED_FLAGS "${OLD_CMAKE_REQUIRED_FLAGS}")
+
 option(COMPILER_RT_BUILD_BUILTINS "Build builtins" ON)
 mark_as_advanced(COMPILER_RT_BUILD_BUILTINS)
 option(COMPILER_RT_DISABLE_AARCH64_FMV "Disable AArch64 Function Multi 
Versioning support" OFF)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compiler-rt-19.1.3.src/lib/builtins/int_math.h 
new/compiler-rt-19.1.4.src/lib/builtins/int_math.h
--- old/compiler-rt-19.1.3.src/lib/builtins/int_math.h  2024-10-29 
11:09:39.000000000 +0100
+++ new/compiler-rt-19.1.4.src/lib/builtins/int_math.h  2024-11-19 
09:08:07.000000000 +0100
@@ -65,9 +65,12 @@
 #define crt_copysign(x, y) __builtin_copysign((x), (y))
 #define crt_copysignf(x, y) __builtin_copysignf((x), (y))
 #define crt_copysignl(x, y) __builtin_copysignl((x), (y))
-#if __has_builtin(__builtin_copysignf128)
+// We define __has_builtin to always return 0 for GCC versions below 10,
+// but __builtin_copysignf128 is available since version 7.
+#if __has_builtin(__builtin_copysignf128) ||                                   
\
+    (defined(__GNUC__) && __GNUC__ >= 7)
 #define crt_copysignf128(x, y) __builtin_copysignf128((x), (y))
-#elif __has_builtin(__builtin_copysignq) || (defined(__GNUC__) && __GNUC__ >= 
7)
+#elif __has_builtin(__builtin_copysignq)
 #define crt_copysignf128(x, y) __builtin_copysignq((x), (y))
 #endif
 #endif
@@ -80,9 +83,11 @@
 #define crt_fabs(x) __builtin_fabs((x))
 #define crt_fabsf(x) __builtin_fabsf((x))
 #define crt_fabsl(x) __builtin_fabsl((x))
-#if __has_builtin(__builtin_fabsf128)
+// We define __has_builtin to always return 0 for GCC versions below 10,
+// but __builtin_fabsf128 is available since version 7.
+#if __has_builtin(__builtin_fabsf128) || (defined(__GNUC__) && __GNUC__ >= 7)
 #define crt_fabsf128(x) __builtin_fabsf128((x))
-#elif __has_builtin(__builtin_fabsq) || (defined(__GNUC__) && __GNUC__ >= 7)
+#elif __has_builtin(__builtin_fabsq)
 #define crt_fabsf128(x) __builtin_fabsq((x))
 #endif
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/compiler-rt-19.1.3.src/lib/fuzzer/FuzzerUtilWindows.cpp 
new/compiler-rt-19.1.4.src/lib/fuzzer/FuzzerUtilWindows.cpp
--- old/compiler-rt-19.1.3.src/lib/fuzzer/FuzzerUtilWindows.cpp 2024-10-29 
11:09:39.000000000 +0100
+++ new/compiler-rt-19.1.4.src/lib/fuzzer/FuzzerUtilWindows.cpp 2024-11-19 
09:08:07.000000000 +0100
@@ -239,10 +239,11 @@
 }
 
 void SetThreadName(std::thread &thread, const std::string &name) {
-#if defined(_LIBCPP_HAS_THREAD_API_PTHREAD) ||                                 
\
-    defined(_GLIBCXX_GCC_GTHR_POSIX_H)
-  (void)pthread_setname_np(thread.native_handle(), name.c_str());
-#else
+#ifndef __MINGW32__
+  // Not setting the thread name in MinGW environments. MinGW C++ standard
+  // libraries can either use native Windows threads or pthreads, so we
+  // don't know with certainty what kind of thread handle we're getting
+  // from thread.native_handle() here.
   typedef HRESULT(WINAPI * proc)(HANDLE, PCWSTR);
   HMODULE kbase = GetModuleHandleA("KernelBase.dll");
   proc ThreadNameProc =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/compiler-rt-19.1.3.src/lib/sanitizer_common/sanitizer_linux.cpp 
new/compiler-rt-19.1.4.src/lib/sanitizer_common/sanitizer_linux.cpp
--- old/compiler-rt-19.1.3.src/lib/sanitizer_common/sanitizer_linux.cpp 
2024-10-29 11:09:39.000000000 +0100
+++ new/compiler-rt-19.1.4.src/lib/sanitizer_common/sanitizer_linux.cpp 
2024-11-19 09:08:07.000000000 +0100
@@ -160,33 +160,56 @@
   CHECK_EQ(0, internal_sigprocmask(SIG_SETMASK, set, oldset));
 }
 
+#  if SANITIZER_LINUX
+// Deletes the specified signal from newset, if it is not present in oldset
+// Equivalently: newset[signum] = newset[signum] & oldset[signum]
+static void KeepUnblocked(__sanitizer_sigset_t &newset,
+                          __sanitizer_sigset_t &oldset, int signum) {
+  // FIXME: https://github.com/google/sanitizers/issues/1816
+  if (SANITIZER_ANDROID || !internal_sigismember(&oldset, signum))
+    internal_sigdelset(&newset, signum);
+}
+#  endif
+
 // Block asynchronous signals
 void BlockSignals(__sanitizer_sigset_t *oldset) {
-  __sanitizer_sigset_t set;
-  internal_sigfillset(&set);
-#  if SANITIZER_LINUX && !SANITIZER_ANDROID
+  __sanitizer_sigset_t newset;
+  internal_sigfillset(&newset);
+
+#  if SANITIZER_LINUX
+  __sanitizer_sigset_t currentset;
+
+#    if !SANITIZER_ANDROID
+  // FIXME: https://github.com/google/sanitizers/issues/1816
+  SetSigProcMask(NULL, &currentset);
+
   // Glibc uses SIGSETXID signal during setuid call. If this signal is blocked
   // on any thread, setuid call hangs.
   // See test/sanitizer_common/TestCases/Linux/setuid.c.
-  internal_sigdelset(&set, 33);
-#  endif
-#  if SANITIZER_LINUX
+  KeepUnblocked(newset, currentset, 33);
+#    endif  // !SANITIZER_ANDROID
+
   // Seccomp-BPF-sandboxed processes rely on SIGSYS to handle trapped syscalls.
   // If this signal is blocked, such calls cannot be handled and the process 
may
   // hang.
-  internal_sigdelset(&set, 31);
+  KeepUnblocked(newset, currentset, 31);
 
+#    if !SANITIZER_ANDROID
   // Don't block synchronous signals
-  internal_sigdelset(&set, SIGSEGV);
-  internal_sigdelset(&set, SIGBUS);
-  internal_sigdelset(&set, SIGILL);
-  internal_sigdelset(&set, SIGTRAP);
-  internal_sigdelset(&set, SIGABRT);
-  internal_sigdelset(&set, SIGFPE);
-  internal_sigdelset(&set, SIGPIPE);
-#  endif
+  // but also don't unblock signals that the user had deliberately blocked.
+  // FIXME: https://github.com/google/sanitizers/issues/1816
+  KeepUnblocked(newset, currentset, SIGSEGV);
+  KeepUnblocked(newset, currentset, SIGBUS);
+  KeepUnblocked(newset, currentset, SIGILL);
+  KeepUnblocked(newset, currentset, SIGTRAP);
+  KeepUnblocked(newset, currentset, SIGABRT);
+  KeepUnblocked(newset, currentset, SIGFPE);
+  KeepUnblocked(newset, currentset, SIGPIPE);
+#    endif  //! SANITIZER_ANDROID
+
+#  endif  // SANITIZER_LINUX
 
-  SetSigProcMask(&set, oldset);
+  SetSigProcMask(&newset, oldset);
 }
 
 ScopedBlockSignals::ScopedBlockSignals(__sanitizer_sigset_t *copy) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/compiler-rt-19.1.3.src/lib/sanitizer_common/tests/CMakeLists.txt 
new/compiler-rt-19.1.4.src/lib/sanitizer_common/tests/CMakeLists.txt
--- old/compiler-rt-19.1.3.src/lib/sanitizer_common/tests/CMakeLists.txt        
2024-10-29 11:09:39.000000000 +0100
+++ new/compiler-rt-19.1.4.src/lib/sanitizer_common/tests/CMakeLists.txt        
2024-11-19 09:08:07.000000000 +0100
@@ -15,6 +15,7 @@
   sanitizer_array_ref_test.cpp
   sanitizer_atomic_test.cpp
   sanitizer_bitvector_test.cpp
+  sanitizer_block_signals.cpp
   sanitizer_bvgraph_test.cpp
   sanitizer_chained_origin_depot_test.cpp
   sanitizer_common_test.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/compiler-rt-19.1.3.src/lib/sanitizer_common/tests/sanitizer_block_signals.cpp
 
new/compiler-rt-19.1.4.src/lib/sanitizer_common/tests/sanitizer_block_signals.cpp
--- 
old/compiler-rt-19.1.3.src/lib/sanitizer_common/tests/sanitizer_block_signals.cpp
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/compiler-rt-19.1.4.src/lib/sanitizer_common/tests/sanitizer_block_signals.cpp
   2024-11-19 09:08:07.000000000 +0100
@@ -0,0 +1,76 @@
+//===-- sanitizer_block_signals.cpp 
---------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// This file is a part of sanitizer_common unit tests.
+//
+//===----------------------------------------------------------------------===//
+#include <signal.h>
+#include <stdio.h>
+
+#include "gtest/gtest.h"
+#include "sanitizer_common/sanitizer_linux.h"
+
+namespace __sanitizer {
+
+#if SANITIZER_LINUX && !SANITIZER_ANDROID
+volatile int received_sig = -1;
+
+void signal_handler(int signum) { received_sig = signum; }
+
+TEST(SanitizerCommon, NoBlockSignals) {
+  // No signals blocked
+  signal(SIGUSR1, signal_handler);
+  raise(SIGUSR1);
+  EXPECT_EQ(received_sig, SIGUSR1);
+
+  received_sig = -1;
+  signal(SIGPIPE, signal_handler);
+  raise(SIGPIPE);
+  EXPECT_EQ(received_sig, SIGPIPE);
+}
+
+TEST(SanitizerCommon, BlockSignalsPlain) {
+  // ScopedBlockSignals; SIGUSR1 should be blocked but not SIGPIPE
+  {
+    __sanitizer_sigset_t sigset = {};
+    ScopedBlockSignals block(&sigset);
+
+    received_sig = -1;
+    signal(SIGUSR1, signal_handler);
+    raise(SIGUSR1);
+    EXPECT_EQ(received_sig, -1);
+
+    received_sig = -1;
+    signal(SIGPIPE, signal_handler);
+    raise(SIGPIPE);
+    EXPECT_EQ(received_sig, SIGPIPE);
+  }
+  EXPECT_EQ(received_sig, SIGUSR1);
+}
+
+TEST(SanitizerCommon, BlockSignalsExceptPipe) {
+  // Manually block SIGPIPE; ScopedBlockSignals should not unblock this
+  sigset_t block_sigset;
+  sigemptyset(&block_sigset);
+  sigaddset(&block_sigset, SIGPIPE);
+  sigprocmask(SIG_BLOCK, &block_sigset, NULL);
+  {
+    __sanitizer_sigset_t sigset = {};
+    ScopedBlockSignals block(&sigset);
+
+    received_sig = -1;
+    signal(SIGPIPE, signal_handler);
+    raise(SIGPIPE);
+    EXPECT_EQ(received_sig, -1);
+  }
+  sigprocmask(SIG_UNBLOCK, &block_sigset, NULL);
+  EXPECT_EQ(received_sig, SIGPIPE);
+}
+#endif  // SANITIZER_LINUX && !SANITIZER_ANDROID
+
+}  // namespace __sanitizer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compiler-rt-19.1.3.src/test/CMakeLists.txt 
new/compiler-rt-19.1.4.src/test/CMakeLists.txt
--- old/compiler-rt-19.1.3.src/test/CMakeLists.txt      2024-10-29 
11:09:39.000000000 +0100
+++ new/compiler-rt-19.1.4.src/test/CMakeLists.txt      2024-11-19 
09:08:07.000000000 +0100
@@ -12,6 +12,8 @@
 
 pythonize_bool(COMPILER_RT_HAS_AARCH64_SME)
 
+pythonize_bool(COMPILER_RT_HAS_NO_DEFAULT_CONFIG_FLAG)
+
 configure_compiler_rt_lit_site_cfg(
   ${CMAKE_CURRENT_SOURCE_DIR}/lit.common.configured.in
   ${CMAKE_CURRENT_BINARY_DIR}/lit.common.configured)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compiler-rt-19.1.3.src/test/lit.common.cfg.py 
new/compiler-rt-19.1.4.src/test/lit.common.cfg.py
--- old/compiler-rt-19.1.3.src/test/lit.common.cfg.py   2024-10-29 
11:09:39.000000000 +0100
+++ new/compiler-rt-19.1.4.src/test/lit.common.cfg.py   2024-11-19 
09:08:07.000000000 +0100
@@ -980,7 +980,11 @@
 # default configs for the test runs. In particular, anything hardening
 # related is likely to cause issues with sanitizer tests, because it may
 # preempt something we're looking to trap (e.g. _FORTIFY_SOURCE vs our ASAN).
-config.environment["CLANG_NO_DEFAULT_CONFIG"] = "1"
+#
+# Only set this if we know we can still build for the target while disabling
+# default configs.
+if config.has_no_default_config_flag:
+    config.environment["CLANG_NO_DEFAULT_CONFIG"] = "1"
 
 if config.has_compiler_rt_libatomic:
   base_lib = os.path.join(config.compiler_rt_libdir, "libclang_rt.atomic%s.so"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compiler-rt-19.1.3.src/test/lit.common.configured.in 
new/compiler-rt-19.1.4.src/test/lit.common.configured.in
--- old/compiler-rt-19.1.3.src/test/lit.common.configured.in    2024-10-29 
11:09:39.000000000 +0100
+++ new/compiler-rt-19.1.4.src/test/lit.common.configured.in    2024-11-19 
09:08:07.000000000 +0100
@@ -53,6 +53,7 @@
 set_default("has_compiler_rt_libatomic", 
@COMPILER_RT_BUILD_STANDALONE_LIBATOMIC_PYBOOL@)
 set_default("aarch64_sme", @COMPILER_RT_HAS_AARCH64_SME_PYBOOL@)
 set_default("darwin_linker_version", "@COMPILER_RT_DARWIN_LINKER_VERSION@")
+set_default("has_no_default_config_flag", 
@COMPILER_RT_HAS_NO_DEFAULT_CONFIG_FLAG_PYBOOL@)
 # True iff the test suite supports ignoring the test compiler's runtime 
library path
 # and using `config.compiler_rt_libdir` instead. This only matters when the 
runtime
 # library paths differ.

++++++ libcxx-19.1.3.src.tar.xz -> libcxx-19.1.4.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcxx-19.1.3.src/cmake/Modules/HandleLibCXXABI.cmake 
new/libcxx-19.1.4.src/cmake/Modules/HandleLibCXXABI.cmake
--- old/libcxx-19.1.3.src/cmake/Modules/HandleLibCXXABI.cmake   2024-10-29 
11:09:39.000000000 +0100
+++ new/libcxx-19.1.4.src/cmake/Modules/HandleLibCXXABI.cmake   2024-11-19 
09:08:07.000000000 +0100
@@ -83,6 +83,10 @@
 
 # Link against a system-provided libstdc++
 if ("${LIBCXX_CXX_ABI}" STREQUAL "libstdc++")
+  if(NOT LIBCXX_CXX_ABI_INCLUDE_PATHS)
+    message(FATAL_ERROR "LIBCXX_CXX_ABI_INCLUDE_PATHS must be set when 
selecting libstdc++ as an ABI library")
+  endif()
+
   add_library(libcxx-abi-headers INTERFACE)
   import_private_headers(libcxx-abi-headers "${LIBCXX_CXX_ABI_INCLUDE_PATHS}"
     
"cxxabi.h;bits/c++config.h;bits/os_defines.h;bits/cpu_defines.h;bits/cxxabi_tweaks.h;bits/cxxabi_forced.h")
@@ -96,6 +100,10 @@
 
 # Link against a system-provided libsupc++
 elseif ("${LIBCXX_CXX_ABI}" STREQUAL "libsupc++")
+  if(NOT LIBCXX_CXX_ABI_INCLUDE_PATHS)
+    message(FATAL_ERROR "LIBCXX_CXX_ABI_INCLUDE_PATHS must be set when 
selecting libsupc++ as an ABI library")
+  endif()
+
   add_library(libcxx-abi-headers INTERFACE)
   import_private_headers(libcxx-abi-headers "${LIBCXX_CXX_ABI_INCLUDE_PATHS}"
     
"cxxabi.h;bits/c++config.h;bits/os_defines.h;bits/cpu_defines.h;bits/cxxabi_tweaks.h;bits/cxxabi_forced.h")
@@ -114,7 +122,18 @@
   target_compile_definitions(libcxx-abi-headers INTERFACE 
"-DLIBCXX_BUILDING_LIBCXXABI")
 
   if (TARGET cxxabi_shared)
-    add_library(libcxx-abi-shared ALIAS cxxabi_shared)
+    add_library(libcxx-abi-shared INTERFACE)
+    target_link_libraries(libcxx-abi-shared INTERFACE cxxabi_shared)
+
+    # When using the in-tree libc++abi as an ABI library, libc++ re-exports the
+    # libc++abi symbols (on platforms where it can) because libc++abi is only 
an
+    # implementation detail of libc++.
+    target_link_libraries(libcxx-abi-shared INTERFACE cxxabi-reexports)
+
+    # Populate the OUTPUT_NAME property of libcxx-abi-shared because that is 
used when
+    # generating a linker script.
+    get_target_property(_output_name cxxabi_shared OUTPUT_NAME)
+    set_target_properties(libcxx-abi-shared PROPERTIES "OUTPUT_NAME" 
"${_output_name}")
   endif()
 
   if (TARGET cxxabi_static)
@@ -131,6 +150,10 @@
 
 # Link against a system-provided libc++abi
 elseif ("${LIBCXX_CXX_ABI}" STREQUAL "system-libcxxabi")
+  if(NOT LIBCXX_CXX_ABI_INCLUDE_PATHS)
+    message(FATAL_ERROR "LIBCXX_CXX_ABI_INCLUDE_PATHS must be set when 
selecting system-libcxxabi as an ABI library")
+  endif()
+
   add_library(libcxx-abi-headers INTERFACE)
   import_private_headers(libcxx-abi-headers "${LIBCXX_CXX_ABI_INCLUDE_PATHS}" 
"cxxabi.h;__cxxabi_config.h")
   target_compile_definitions(libcxx-abi-headers INTERFACE 
"-DLIBCXX_BUILDING_LIBCXXABI")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcxx-19.1.3.src/include/__config 
new/libcxx-19.1.4.src/include/__config
--- old/libcxx-19.1.3.src/include/__config      2024-10-29 11:09:39.000000000 
+0100
+++ new/libcxx-19.1.4.src/include/__config      2024-11-19 09:08:07.000000000 
+0100
@@ -27,7 +27,7 @@
 // _LIBCPP_VERSION represents the version of libc++, which matches the version 
of LLVM.
 // Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 17.0.1 == 17.00.01), 
_LIBCPP_VERSION is
 // defined to XXYYZZ.
-#  define _LIBCPP_VERSION 190103
+#  define _LIBCPP_VERSION 190104
 
 #  define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y
 #  define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcxx-19.1.3.src/src/CMakeLists.txt 
new/libcxx-19.1.4.src/src/CMakeLists.txt
--- old/libcxx-19.1.3.src/src/CMakeLists.txt    2024-10-29 11:09:39.000000000 
+0100
+++ new/libcxx-19.1.4.src/src/CMakeLists.txt    2024-11-19 09:08:07.000000000 
+0100
@@ -229,14 +229,10 @@
     target_link_libraries(cxx_shared PUBLIC libcxx-abi-shared)
   endif()
 
-  # Maybe re-export symbols from libc++abi
-  # In particular, we don't re-export the symbols if libc++abi is merged 
statically
-  # into libc++ because in that case there's no dylib to re-export from.
+  # Maybe force some symbols to be weak, not weak or not exported.
+  # TODO: This shouldn't depend on the platform, and ideally it should be done 
in the sources.
   if (APPLE AND LIBCXX_CXX_ABI MATCHES "libcxxabi$"
             AND NOT LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY)
-    target_link_libraries(cxx_shared PRIVATE cxxabi-reexports)
-
-    # TODO: These exports controls should not be tied to whether we re-export 
libc++abi symbols
     target_link_libraries(cxx_shared PRIVATE
       
"-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++unexp.exp"
       
"-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/notweak.exp"

++++++ libcxxabi-19.1.3.src.tar.xz -> libcxxabi-19.1.4.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcxxabi-19.1.3.src/src/CMakeLists.txt 
new/libcxxabi-19.1.4.src/src/CMakeLists.txt
--- old/libcxxabi-19.1.3.src/src/CMakeLists.txt 2024-10-29 11:09:39.000000000 
+0100
+++ new/libcxxabi-19.1.4.src/src/CMakeLists.txt 2024-11-19 09:08:07.000000000 
+0100
@@ -213,6 +213,8 @@
     list(APPEND LIBCXXABI_INSTALL_TARGETS "cxxabi_shared")
   endif()
 
+  # TODO: Move this to libc++'s HandleLibCXXABI.cmake since this is 
effectively trying to control
+  #       what libc++ re-exports.
   add_library(cxxabi-reexports INTERFACE)
   function(export_symbols file)
     # -exported_symbols_list is only available on Apple platforms

++++++ lld-19.1.3.src.tar.xz -> lld-19.1.4.src.tar.xz ++++++

++++++ lldb-19.1.3.src.tar.xz -> lldb-19.1.4.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm19/lldb-19.1.3.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm19.new.28523/lldb-19.1.4.src.tar.xz differ: 
char 15, line 1

++++++ llvm-19.1.3.src.tar.xz -> llvm-19.1.4.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm19/llvm-19.1.3.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm19.new.28523/llvm-19.1.4.src.tar.xz differ: 
char 15, line 1

++++++ llvm-do-not-install-static-libraries.patch ++++++
--- /var/tmp/diff_new_pack.rQcDIV/_old  2024-11-22 23:50:35.783077228 +0100
+++ /var/tmp/diff_new_pack.rQcDIV/_new  2024-11-22 23:50:35.783077228 +0100
@@ -2,10 +2,10 @@
 want after installation. By not copying them in the first place we reduce the
 disk usage during installation.
 
-Index: clang-19.1.3.src/cmake/modules/AddClang.cmake
+Index: clang-19.1.4.src/cmake/modules/AddClang.cmake
 ===================================================================
---- a/clang-19.1.3.src/cmake/modules/AddClang.cmake
-+++ b/clang-19.1.3.src/cmake/modules/AddClang.cmake
+--- a/clang-19.1.4.src/cmake/modules/AddClang.cmake
++++ b/clang-19.1.4.src/cmake/modules/AddClang.cmake
 @@ -106,12 +106,15 @@ macro(add_clang_library name)
  
        if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
@@ -68,10 +68,10 @@
    endif()
  
    get_subproject_title(subproject_title)
-Index: lld-19.1.3.src/cmake/modules/AddLLD.cmake
+Index: lld-19.1.4.src/cmake/modules/AddLLD.cmake
 ===================================================================
---- a/lld-19.1.3.src/cmake/modules/AddLLD.cmake
-+++ b/lld-19.1.3.src/cmake/modules/AddLLD.cmake
+--- a/lld-19.1.4.src/cmake/modules/AddLLD.cmake
++++ b/lld-19.1.4.src/cmake/modules/AddLLD.cmake
 @@ -17,13 +17,6 @@ macro(add_lld_library name)
  
    if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
@@ -86,10 +86,10 @@
      if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
        add_llvm_install_targets(install-${name}
          DEPENDS ${name}
-Index: polly-19.1.3.src/cmake/polly_macros.cmake
+Index: polly-19.1.4.src/cmake/polly_macros.cmake
 ===================================================================
---- a/polly-19.1.3.src/cmake/polly_macros.cmake
-+++ b/polly-19.1.3.src/cmake/polly_macros.cmake
+--- a/polly-19.1.4.src/cmake/polly_macros.cmake
++++ b/polly-19.1.4.src/cmake/polly_macros.cmake
 @@ -42,15 +42,17 @@ macro(add_polly_library name)
      llvm_config(${name} ${LLVM_LINK_COMPONENTS})
    endif( LLVM_LINK_COMPONENTS )
@@ -116,10 +116,10 @@
  endmacro(add_polly_library)
  
  macro(add_polly_loadable_module name)
-Index: polly-19.1.3.src/lib/CMakeLists.txt
+Index: polly-19.1.4.src/lib/CMakeLists.txt
 ===================================================================
---- a/polly-19.1.3.src/lib/CMakeLists.txt
-+++ b/polly-19.1.3.src/lib/CMakeLists.txt
+--- a/polly-19.1.4.src/lib/CMakeLists.txt
++++ b/polly-19.1.4.src/lib/CMakeLists.txt
 @@ -109,7 +109,7 @@ set_target_properties(PollyCore PROPERTI
  # It depends on all library it needs, such that with
  # LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as

++++++ llvm-docs-19.1.3.src.tar.xz -> llvm-docs-19.1.4.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm19/llvm-docs-19.1.3.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm19.new.28523/llvm-docs-19.1.4.src.tar.xz 
differ: char 15, line 1

++++++ openmp-19.1.3.src.tar.xz -> openmp-19.1.4.src.tar.xz ++++++

++++++ polly-19.1.3.src.tar.xz -> polly-19.1.4.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm19/polly-19.1.3.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm19.new.28523/polly-19.1.4.src.tar.xz differ: 
char 15, line 1

++++++ runtimes-19.1.3.src.tar.xz -> runtimes-19.1.4.src.tar.xz ++++++

++++++ third-party-19.1.3.src.tar.xz -> third-party-19.1.4.src.tar.xz ++++++

Reply via email to