2 Commits

Author SHA256 Message Date
Bernhard M. Wiedemann
9899f704a0 Sync from devel:tools:compiler/llvm17 (boo#1199076)
to fix reproducible builds
https://bugzilla.opensuse.org/show_bug.cgi?id=1199076
2025-11-17 13:56:01 +01:00
5a50593269 Sync changes to SLFO-1.2 branch 2025-08-20 09:47:48 +02:00
8 changed files with 478 additions and 100 deletions

View File

@@ -0,0 +1,64 @@
From 59978b21ad9c65276ee8e14f26759691b8a65763 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar@redhat.com>
Date: Mon, 28 Apr 2025 13:45:11 -0700
Subject: [PATCH] [sanitizer_common] Remove interceptors for deprecated struct
termio (#137403)
This struct will be removed from glibc-2.42 and has been deprecated for
a very long time.
Fixes #137321
---
.../sanitizer_common_interceptors_ioctl.inc | 8 --------
.../sanitizer_common/sanitizer_platform_limits_posix.cpp | 3 ---
.../sanitizer_common/sanitizer_platform_limits_posix.h | 1 -
3 files changed, 12 deletions(-)
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
index f88f914b1d149..bc8f02826c614 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
@@ -342,17 +342,9 @@ static void ioctl_table_fill() {
_(SOUND_PCM_WRITE_CHANNELS, WRITE, sizeof(int));
_(SOUND_PCM_WRITE_FILTER, WRITE, sizeof(int));
_(TCFLSH, NONE, 0);
-#if SANITIZER_GLIBC
- _(TCGETA, WRITE, struct_termio_sz);
-#endif
_(TCGETS, WRITE, struct_termios_sz);
_(TCSBRK, NONE, 0);
_(TCSBRKP, NONE, 0);
-#if SANITIZER_GLIBC
- _(TCSETA, READ, struct_termio_sz);
- _(TCSETAF, READ, struct_termio_sz);
- _(TCSETAW, READ, struct_termio_sz);
-#endif
_(TCSETS, READ, struct_termios_sz);
_(TCSETSF, READ, struct_termios_sz);
_(TCSETSW, READ, struct_termios_sz);
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
index b4d87ab6228e5..7a89bf1c74985 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
@@ -494,9 +494,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
unsigned struct_input_id_sz = sizeof(struct input_id);
unsigned struct_mtpos_sz = sizeof(struct mtpos);
unsigned struct_rtentry_sz = sizeof(struct rtentry);
-#if SANITIZER_GLIBC || SANITIZER_ANDROID
- unsigned struct_termio_sz = sizeof(struct termio);
-#endif
unsigned struct_vt_consize_sz = sizeof(struct vt_consize);
unsigned struct_vt_sizes_sz = sizeof(struct vt_sizes);
unsigned struct_vt_stat_sz = sizeof(struct vt_stat);
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
index 348bb4f27aec3..fdc52aa56c493 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -1063,7 +1063,6 @@ extern unsigned struct_hd_geometry_sz;
extern unsigned struct_input_absinfo_sz;
extern unsigned struct_input_id_sz;
extern unsigned struct_mtpos_sz;
-extern unsigned struct_termio_sz;
extern unsigned struct_vt_consize_sz;
extern unsigned struct_vt_sizes_sz;
extern unsigned struct_vt_stat_sz;

View File

@@ -0,0 +1,24 @@
From 017396310bb6515786eb9d9cf9fb0256de08d65b Mon Sep 17 00:00:00 2001
From: "Stephan T. Lavavej" <stl@nuwen.net>
Date: Tue, 28 Nov 2023 16:33:11 -0800
Subject: [PATCH] Remove unused Python imports.
diff --git a/libcxx/utils/libcxx/test/format.py b/libcxx/utils/libcxx/test/format.py
index 52c6f9cd8f2ef22..5eb17d417489c62 100644
--- a/libcxx-17.0.6.src/utils/libcxx/test/format.py
+++ b/libcxx-17.0.6.src/utils/libcxx/test/format.py
@@ -6,14 +6,10 @@
#
# ===----------------------------------------------------------------------===##
-import contextlib
-import io
import lit
import lit.formats
import os
-import pipes
import re
-import shutil
def _getTempPaths(test):

View File

@@ -0,0 +1,49 @@
From d3ce1078186389ce39505f06c2a0100dce9187a5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Mon, 27 May 2024 19:26:56 +0200
Subject: [PATCH] [libcxx] [test] Use `shlex.quote()` to fix Python 3.13
compatibility (#93376)
Replace the use of `pipes.quote()` with `shlex.quote()` to fix
compatibility with Python 3.13. The former was always an undocumented
alias to the latter, and the `pipes` module was removed completely in
Python 3.13.
Fixes #93375
---
libcxx/test/libcxx/lit.local.cfg | 5 +++--
libcxx/utils/libcxx/test/dsl.py | 4 ++--
2 files changed, 5 insertions(+), 4 deletions(-)
--- a/libcxx-17.0.6.src/test/libcxx/lit.local.cfg 2023-11-28 09:52:28.000000000 +0100
+++ b/libcxx-17.0.6.src/test/libcxx/lit.local.cfg 2024-11-22 18:18:57.997180624 +0100
@@ -1,4 +1,5 @@
# The tests in this directory need to run Python
-import pipes, sys
+import shlex
+import sys
-config.substitutions.append(("%{python}", pipes.quote(sys.executable)))
+config.substitutions.append(("%{python}", shlex.quote(sys.executable)))
--- a/libcxx-17.0.6.src/utils/libcxx/test/dsl.py 2023-11-28 09:52:28.000000000 +0100
+++ b/libcxx-17.0.6.src/utils/libcxx/test/dsl.py 2024-11-22 18:19:20.450801619 +0100
@@ -8,9 +8,9 @@
import os
import pickle
-import pipes
import platform
import re
+import shlex
import shutil
import subprocess
import tempfile
@@ -281,7 +281,7 @@
}
#endif
"""
- return programSucceeds(config, program, args=[pipes.quote(l) for l in locales])
+ return programSucceeds(config, program, args=[shlex.quote(l) for l in locales])
@_memoizeExpensiveOperation(lambda c, flags="": (c.substitutions, c.environment, flags))

View File

@@ -0,0 +1,87 @@
Index: lldb-17.0.6.src/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
===================================================================
--- a/lldb-17.0.6.src/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
+++ b/lldb-17.0.6.src/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
@@ -71,10 +71,12 @@ Expected<std::string> python::As<std::st
}
static bool python_is_finalizing() {
-#if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION < 7
- return _Py_Finalizing != nullptr;
-#else
+#if PY_VERSION_HEX >= 0x030d0000
+ return Py_IsFinalizing();
+#elif PY_VERSION_HEX >= 0x03070000
return _Py_IsFinalizing();
+#else
+ return _Py_Finalizing != nullptr;
#endif
}
@@ -794,7 +796,7 @@ bool PythonCallable::Check(PyObject *py_
return PyCallable_Check(py_obj);
}
-#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 3
+#if PY_VERSION_HEX >= 0x03030000
static const char get_arg_info_script[] = R"(
from inspect import signature, Parameter, ismethod
from collections import namedtuple
@@ -823,7 +825,7 @@ Expected<PythonCallable::ArgInfo> Python
if (!IsValid())
return nullDeref();
-#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 3
+#if PY_VERSION_HEX >= 0x03030000
// no need to synchronize access to this global, we already have the GIL
static PythonScript get_arg_info(get_arg_info_script);
Index: lldb-17.0.6.src/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
===================================================================
--- a/lldb-17.0.6.src/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+++ b/lldb-17.0.6.src/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
@@ -71,8 +71,7 @@ extern "C" PyObject *PyInit__lldb(void);
#define LLDB_USE_PYTHON_SET_INTERRUPT 0
#else
// PyErr_SetInterrupt was introduced in 3.2.
-#define LLDB_USE_PYTHON_SET_INTERRUPT \
- (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 2) || (PY_MAJOR_VERSION > 3)
+#define LLDB_USE_PYTHON_SET_INTERRUPT PY_VERSION_HEX >= 0x03020000
#endif
static ScriptInterpreterPythonImpl *GetPythonInterpreter(Debugger &debugger) {
@@ -171,24 +170,33 @@ private:
// would always return `true` and `PyGILState_Ensure/Release` flow would be
// executed instead of unlocking GIL with `PyEval_SaveThread`. When
// an another thread calls `PyGILState_Ensure` it would get stuck in deadlock.
-#if (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7) || (PY_MAJOR_VERSION > 3)
+#if PY_VERSION_HEX >= 0x03070000
// The only case we should go further and acquire the GIL: it is unlocked.
if (PyGILState_Check())
return;
#endif
+// `PyEval_ThreadsInitialized` was deprecated in Python 3.9 and removed in
+// Python 3.13. It has been returning `true` always since Python 3.7.
+#if PY_VERSION_HEX < 0x03090000
if (PyEval_ThreadsInitialized()) {
+#endif
Log *log = GetLog(LLDBLog::Script);
m_was_already_initialized = true;
m_gil_state = PyGILState_Ensure();
LLDB_LOGV(log, "Ensured PyGILState. Previous state = {0}locked\n",
m_gil_state == PyGILState_UNLOCKED ? "un" : "");
+
+// `PyEval_InitThreads` was deprecated in Python 3.9 and removed in
+// Python 3.13.
+#if PY_VERSION_HEX < 0x03090000
return;
}
// InitThreads acquires the GIL if it hasn't been called before.
PyEval_InitThreads();
+#endif
}
PyGILState_STATE m_gil_state = PyGILState_UNLOCKED;

View File

@@ -0,0 +1,50 @@
--- a/llvm/include/llvm/ADT/SmallVector.h
+++ b/llvm/include/llvm/ADT/SmallVector.h
@@ -19,6 +19,7 @@
#include <algorithm>
#include <cassert>
#include <cstddef>
+#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <functional>
--- a/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
@@ -13,6 +13,7 @@
#ifndef LLVM_LIB_TARGET_X86_MCTARGETDESC_X86MCTARGETDESC_H
#define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86MCTARGETDESC_H
+#include <cstdint>
#include <memory>
#include <string>
--- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h
+++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h
@@ -15,6 +15,7 @@
#ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUMCTARGETDESC_H
#define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUMCTARGETDESC_H
+#include <cstdint>
#include <memory>
namespace llvm {
--- a/llvm/third-party-17.0.6.src/unittest/googletest/src/gtest-death-test.cc
+++ b/llvm/third-party-17.0.6.src/unittest/googletest/src/gtest-death-test.cc
@@ -32,6 +32,7 @@
#include "gtest/gtest-death-test.h"
+#include <cstdint>
#include <utility>
#include "gtest/internal/gtest-port.h"
--- a/llvm/compiler-rt-17.0.6.src/lib/orc/error.h
+++ b/llvm/compiler-rt-17.0.6.src/lib/orc/error.h
@@ -14,6 +14,7 @@
#include "stl_extras.h"
#include <cassert>
+#include <cstdint>
#include <memory>
#include <string>
#include <type_traits>

View File

@@ -1,3 +1,37 @@
-------------------------------------------------------------------
Tue Aug 5 21:57:03 UTC 2025 - Aaron Puchert <aaronpuchert@alice-dsl.net>
- Add compiler-rt-remove-termio-interceptors.patch to fix build
with glibc 2.42. (boo#1247576)
-------------------------------------------------------------------
Thu Jul 24 19:27:38 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.de>
- Disable ASLR during build to make libomp.so reproducible (boo#1199076)
-------------------------------------------------------------------
Fri Jul 11 10:34:04 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
- Add reproducible.patch to make libomp.so reproducible (boo#1199076)
- Replace usage of %jobs for reproducible builds (boo#1237231)
-------------------------------------------------------------------
Sat Jun 21 21:26:21 UTC 2025 - Aaron Puchert <aaronpuchert@alice-dsl.net>
- Add llvm-fix-gcc15-build.patch to fix build with GCC 15.
-------------------------------------------------------------------
Thu Feb 13 06:04:45 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Add patches, to actually fix the build with Python 3.13:
* lldb-support-python-3.13.patch
* libcxx-remove-unused-imports.patch
-------------------------------------------------------------------
Fri Nov 22 17:12:00 UTC 2024 - Dirk Müller <dmueller@suse.com>
- add libcxx-use-shlex-quote.patch to fix build with python 3.13
-------------------------------------------------------------------
Sat Nov 16 22:38:02 UTC 2024 - Aaron Puchert <aaronpuchert@alice-dsl.net>
@@ -337,7 +371,7 @@ Wed Sep 21 21:21:19 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
-------------------------------------------------------------------
Mon Sep 12 07:29:54 UTC 2022 - Andreas Schwab <schwab@suse.de>
- Use correct LLVM_HOST_TRIPLE for riscv64
- Use correct LLVM_HOST_TRIPLE for riscv64
-------------------------------------------------------------------
Tue Sep 6 20:23:14 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
@@ -424,7 +458,7 @@ Mon Jul 4 21:29:11 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
- Update to version 14.0.6.
* This release contains bug-fixes for the LLVM 14.0.0 release.
This release is API and ABI compatible with 14.0.0.
- Rebase llvm-do-not-install-static-libraries.patch.
- Rebase llvm-do-not-install-static-libraries.patch.
-------------------------------------------------------------------
Thu Jun 16 16:44:07 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
@@ -970,9 +1004,9 @@ Sat Jan 11 20:14:12 UTC 2020 - Andreas Schwab <schwab@suse.de>
-------------------------------------------------------------------
Fri Jan 8 15:30:21 UTC 2020 - Jaime Caamaño Ruiz <jcaamano@suse.com>
- Add upstream patch to export compiler-rt FuzzedDataProvider header,
- Add upstream patch to export compiler-rt FuzzedDataProvider header,
required by Envoy 1.12.2:
* compiler-rt-move-fdp.patch
* compiler-rt-move-fdp.patch
-------------------------------------------------------------------
Mon Jan 6 19:31:23 UTC 2020 - Andreas Schwab <schwab@suse.de>
@@ -1587,7 +1621,7 @@ Fri Oct 13 09:09:15 UTC 2017 - msrb@suse.com
-------------------------------------------------------------------
Tue Oct 10 12:14:31 UTC 2017 - msrb@suse.com
- Drop llvm5-devel-static. llvm5-devel contains shared library with
- Drop llvm5-devel-static. llvm5-devel contains shared library with
the same content.
-------------------------------------------------------------------
@@ -1672,7 +1706,7 @@ Fri Jun 2 12:42:08 UTC 2017 - idonmez@suse.com
-------------------------------------------------------------------
Tue May 9 08:29:31 UTC 2017 - idonmez@suse.com
- Package libLLVMFuzzer
- Package libLLVMFuzzer
-------------------------------------------------------------------
Wed Apr 19 15:08:25 UTC 2017 - dmueller@suse.com
@@ -1689,18 +1723,18 @@ Wed Apr 5 12:09:39 UTC 2017 - afaerber@suse.de
-------------------------------------------------------------------
Tue Apr 4 09:14:41 UTC 2017 - idonmez@suse.com
- Use gcc6 on SLE12
- Use gcc6 on SLE12
-------------------------------------------------------------------
Thu Mar 30 11:33:27 UTC 2017 - idonmez@suse.com
- Package license & credits
- Package license & credits
-------------------------------------------------------------------
Mon Mar 27 07:58:36 UTC 2017 - idonmez@suse.com
- Update to version 4.0.0
* See
* See
+ http://releases.llvm.org/4.0.0/docs/ReleaseNotes.html and
+ http://releases.llvm.org/4.0.0/tools/clang/docs/ReleaseNotes.html
+ http://releases.llvm.org/4.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html
@@ -1716,12 +1750,12 @@ Mon Mar 27 07:58:36 UTC 2017 - idonmez@suse.com
-------------------------------------------------------------------
Fri Feb 24 13:26:11 UTC 2017 - idonmez@suse.com
- Enable BPF for all arches bsc#1026191
- Enable BPF for all arches bsc#1026191
-------------------------------------------------------------------
Wed Jan 25 12:06:36 UTC 2017 - idonmez@suse.com
- libc++ must depend on libc++abi
- libc++ must depend on libc++abi
-------------------------------------------------------------------
Wed Jan 25 10:13:44 UTC 2017 - idonmez@suse.com
@@ -1904,17 +1938,17 @@ Wed May 18 13:22:17 UTC 2016 - ronisbr@gmail.com
-------------------------------------------------------------------
Wed May 18 11:14:38 UTC 2016 - idonmez@suse.com
- Disable libcxx/lldb/openmp for SLE fate#319582
- Disable libcxx/lldb/openmp for SLE fate#319582
-------------------------------------------------------------------
Mon Apr 25 07:25:22 UTC 2016 - idonmez@suse.com
- Update rpmlintrc to whitelist libLTO.so
- Update rpmlintrc to whitelist libLTO.so
-------------------------------------------------------------------
Mon Apr 11 08:45:56 UTC 2016 - idonmez@suse.com
- Re-enable glibc-2.23 patch for Tumbleweed
- Re-enable glibc-2.23 patch for Tumbleweed
-------------------------------------------------------------------
Sun Apr 10 19:18:41 UTC 2016 - dmueller@suse.com
@@ -1955,22 +1989,22 @@ Tue Mar 8 18:52:11 UTC 2016 - idonmez@suse.com
-------------------------------------------------------------------
Wed Mar 2 09:08:12 UTC 2016 - idonmez@suse.com
- Add glibc-2.23-libcxx.patch to fix test failures with glibc 2.23
- Add glibc-2.23-libcxx.patch to fix test failures with glibc 2.23
-------------------------------------------------------------------
Sat Oct 3 17:00:28 UTC 2015 - mimi.vx@gmail.com
- Remove FFI support because its fragile
- Remove FFI support because its fragile
-------------------------------------------------------------------
Sun Sep 27 12:03:57 UTC 2015 - idonmez@suse.com
- Enable OpenMP for x86, x86_64, ppc64 and ppc64le
- Enable OpenMP for x86, x86_64, ppc64 and ppc64le
-------------------------------------------------------------------
Mon Sep 14 13:10:49 UTC 2015 - idonmez@suse.com
- Enable all targets on x86, x86_64
- Enable all targets on x86, x86_64
-------------------------------------------------------------------
Wed Sep 2 08:14:39 UTC 2015 - idonmez@suse.com
@@ -1984,7 +2018,7 @@ Wed Sep 2 08:14:39 UTC 2015 - idonmez@suse.com
-------------------------------------------------------------------
Tue May 26 11:54:49 CEST 2015 - ro@suse.de
- fix build on s390x (one typo in ifarch and one change in filelist)
- fix build on s390x (one typo in ifarch and one change in filelist)
-------------------------------------------------------------------
Mon May 25 13:59:37 UTC 2015 - idonmez@suse.com
@@ -1995,7 +2029,7 @@ Mon May 25 13:59:37 UTC 2015 - idonmez@suse.com
-------------------------------------------------------------------
Fri Apr 24 12:19:33 UTC 2015 - idonmez@suse.com
- Add llvm-fix-parsearmarch.patch to fix parsing armv{6,7}hl archs.
- Add llvm-fix-parsearmarch.patch to fix parsing armv{6,7}hl archs.
-------------------------------------------------------------------
Mon Mar 2 10:12:32 UTC 2015 - idonmez@suse.com
@@ -2037,7 +2071,7 @@ Tue Oct 21 08:39:22 UTC 2014 - dmueller@suse.com
-------------------------------------------------------------------
Mon Sep 29 09:40:52 UTC 2014 - idonmez@suse.com
- Rename llvm-remove-werror-date-time.patch to
- Rename llvm-remove-werror-date-time.patch to
llvm-remove-clang-only-flags.patch and remove more clang only
flags.
@@ -2049,7 +2083,7 @@ Fri Sep 26 08:54:08 UTC 2014 - idonmez@suse.com
-------------------------------------------------------------------
Thu Sep 25 10:16:50 UTC 2014 - idonmez@suse.com
- Require llvm-clang not just clang
- Require llvm-clang not just clang
-------------------------------------------------------------------
Wed Sep 17 11:01:31 UTC 2014 - idonmez@suse.com
@@ -2080,9 +2114,9 @@ Thu Sep 4 12:26:10 UTC 2014 - idonmez@suse.com
* Major update, see http://llvm.org/releases/3.5.0/docs/ReleaseNotes.html
- Use upstream pristine tarballs
- Add libc++/libc++abi support clang (only on x86_64)
- Add libcxxabi-exceptions.patch to fix libcxxabi exception handling
- Add libcxxabi-exceptions.patch to fix libcxxabi exception handling
- Add libcxx-libdir.patch to fix libdir on 64bit arches
- Remove asan-disable-hugemalloctest.patch and
- Remove asan-disable-hugemalloctest.patch and
cmake-patchversion.patch, fixed upstream.
-------------------------------------------------------------------
@@ -2117,7 +2151,7 @@ Sat Jun 21 13:40:52 UTC 2014 - arnaud@versini.eu
-------------------------------------------------------------------
Tue May 13 10:44:33 UTC 2014 - peter.trommler@ohm-hochschule.de
- build compiler-rt on ppc64 (don't delete it)
- build compiler-rt on ppc64 (don't delete it)
-------------------------------------------------------------------
Thu Apr 3 11:58:28 UTC 2014 - idonmez@suse.com
@@ -2128,12 +2162,12 @@ Thu Apr 3 11:58:28 UTC 2014 - idonmez@suse.com
-------------------------------------------------------------------
Sat Feb 22 18:18:57 CET 2014 - ro@suse.de
- complete ifarchs for s390
- complete ifarchs for s390
-------------------------------------------------------------------
Fri Jan 24 13:15:48 UTC 2014 - idonmez@suse.com
- Remove non-existing doc subpackage
- Remove non-existing doc subpackage
-------------------------------------------------------------------
Fri Jan 24 09:23:08 UTC 2014 - idonmez@suse.com
@@ -2213,7 +2247,7 @@ Wed Dec 4 13:33:55 UTC 2013 - idonmez@suse.com
-------------------------------------------------------------------
Wed Dec 4 10:07:59 UTC 2013 - idonmez@suse.com
- Update to r196371 from release_34 branch
- Update to r196371 from release_34 branch
-------------------------------------------------------------------
Wed Dec 4 03:27:29 UTC 2013 - termim@gmail.com
@@ -2252,7 +2286,7 @@ Thu Oct 17 10:23:32 UTC 2013 - schwab@suse.de
-------------------------------------------------------------------
Wed Oct 9 11:16:08 UTC 2013 - dmueller@suse.com
- use %arm, not arm in arch conditions
- use %arm, not arm in arch conditions
- add arm-remove-xfails.diff: remove XFAILs in testsuite
that pass and thereby make check fail
@@ -2276,7 +2310,7 @@ Wed Aug 28 11:07:16 UTC 2013 - schwab@suse.de
-------------------------------------------------------------------
Wed Aug 28 11:02:06 UTC 2013 - idonmez@suse.com
- Add s390x support
- Add s390x support
-------------------------------------------------------------------
Wed Aug 28 10:57:32 UTC 2013 - idonmez@suse.com
@@ -2297,24 +2331,24 @@ Thu Aug 22 10:59:28 UTC 2013 - idonmez@suse.com
-------------------------------------------------------------------
Wed Aug 21 11:04:35 UTC 2013 - idonmez@suse.com
- Only enable PowerPC on ppc64
- Only enable PowerPC on ppc64
-------------------------------------------------------------------
Mon Aug 12 16:43:26 UTC 2013 - idonmez@suse.com
- Disable shared libs on PowerPC
- Disable shared libs on PowerPC
- Disable ARCMT, it only makes sense for iOS/OSX
-------------------------------------------------------------------
Tue Aug 6 05:51:46 UTC 2013 - idonmez@suse.com
- Fix build
- Fix build
-------------------------------------------------------------------
Wed Jul 17 12:54:40 UTC 2013 - idonmez@suse.com
- Disable building unit-tests, should fix undefined reference
problem on ARM & PowerPC
problem on ARM & PowerPC
-------------------------------------------------------------------
Tue Jul 16 08:35:00 UTC 2013 - coolo@suse.com
@@ -2379,7 +2413,7 @@ Tue May 14 11:23:07 UTC 2013 - idonmez@suse.com
-------------------------------------------------------------------
Thu May 9 09:05:41 UTC 2013 - idonmez@suse.com
- Add unreachable-code.patch to fix unreachable code warnings on SLE
- Add unreachable-code.patch to fix unreachable code warnings on SLE
-------------------------------------------------------------------
Wed May 8 08:56:28 UTC 2013 - idonmez@suse.com
@@ -2407,7 +2441,7 @@ Wed Jan 16 18:38:01 UTC 2013 - llunak@suse.com
-------------------------------------------------------------------
Fri Jan 11 11:56:09 UTC 2013 - idonmez@suse.com
- Add pre-generated doc files, remove sphinx dependency
- Add pre-generated doc files, remove sphinx dependency
-------------------------------------------------------------------
Tue Jan 8 15:16:56 UTC 2013 - llunak@suse.com
@@ -2484,7 +2518,7 @@ Fri Nov 30 07:27:46 UTC 2012 - idonmez@suse.com
-------------------------------------------------------------------
Tue Nov 20 08:59:09 UTC 2012 - idonmez@suse.com
- Stop excluding ppc64 architecture
- Stop excluding ppc64 architecture
-------------------------------------------------------------------
Tue Nov 20 08:25:54 UTC 2012 - idonmez@suse.com
@@ -2573,12 +2607,12 @@ Mon Jun 18 20:26:51 UTC 2012 - llunak@suse.com
-------------------------------------------------------------------
Tue May 15 09:01:26 UTC 2012 - idonmez@suse.com
- Update to final 3.1 release
- Update to final 3.1 release
-------------------------------------------------------------------
Thu May 10 11:40:06 UTC 2012 - idonmez@suse.com
- Depend on python-base so we don't pull whole Mesa
- Depend on python-base so we don't pull whole Mesa
-------------------------------------------------------------------
Tue May 8 08:21:42 UTC 2012 - llunak@suse.com
@@ -2620,74 +2654,74 @@ Thu Apr 26 10:55:02 UTC 2012 - idonmez@suse.com
-------------------------------------------------------------------
Wed Apr 25 09:40:32 UTC 2012 - idonmez@suse.com
- More fixes to llvm-config
- More fixes to llvm-config
-------------------------------------------------------------------
Tue Apr 24 10:12:32 UTC 2012 - idonmez@suse.com
- Fix llvm-config --libs output
- Fix llvm-config --libs output
-------------------------------------------------------------------
Sun Apr 22 19:24:24 UTC 2012 - idonmez@suse.com
- Update to svn revision 155320 from 3.1 branch
* AVX fixes
* AVX fixes
-------------------------------------------------------------------
Tue Apr 17 07:48:50 UTC 2012 - idonmez@suse.com
- Update to svn revision 154914 from 3.1 branch
- Update to svn revision 154914 from 3.1 branch
Major new features:
* AddressSanitizer, a fast memory error detector.
* MachineInstr Bundles, Support to model instruction
* MachineInstr Bundles, Support to model instruction
bundling / packing.
* ARM Integrated Assembler, A full featured assembler
* ARM Integrated Assembler, A full featured assembler
and direct-to-object support for ARM.
* Basic Block Placement Probability driven basic block placement.
LLVM IR and Core Improvements
* IR support for half float
* IR support for vectors of pointers, including vector GEPs.
* Module flags have been introduced.
* Loads can now have range metadata attached to them to
describe the possible values being loaded.
* Inline cost heuristics have been completely overhauled
and now closely model constant propagation through call sites,
disregard trivially dead code costs, and
* Loads can now have range metadata attached to them to
describe the possible values being loaded.
* Inline cost heuristics have been completely overhauled
and now closely model constant propagation through call sites,
disregard trivially dead code costs, and
can model C++ STL iterator patterns.
Optimizer Improvements
* The loop unroll pass now is able to unroll loops with
run-time trip counts. This feature is turned off by default,
* The loop unroll pass now is able to unroll loops with
run-time trip counts. This feature is turned off by default,
and is enabled with the -unroll-runtime flag.
* A new basic-block autovectorization pass is available.
Pass -vectorize to run this pass along with some associated
post-vectorization cleanup passes.
* A new basic-block autovectorization pass is available.
Pass -vectorize to run this pass along with some associated
post-vectorization cleanup passes.
X86-32 and X86-64 Target Improvements
* Bug fixes and improved support for AVX1
* Support for AVX2 (still incomplete at this point)
ARM Target Improvements
* The constant island pass now supports basic block and
* The constant island pass now supports basic block and
constant pool entry alignments greater than 4 bytes.
Clang Changes
* New: -Wdangling-else, -Wstrncat-size
* Improved: -Wformat, -Wempty-body, -Wliteral-conversion
* Clang 3.1 adds support for anonymous structs and anonymous unions,
added in the latest ISO C standard. Use -std=c11 or -std=gnu11
to enable support for the new language standard.
The new C11 features are backwards-compatible and are available
* Clang 3.1 adds support for anonymous structs and anonymous unions,
added in the latest ISO C standard. Use -std=c11 or -std=gnu11
to enable support for the new language standard.
The new C11 features are backwards-compatible and are available
as an extension in all language modes.
* All warning and language selection flags which previously accepted
* All warning and language selection flags which previously accepted
c1x have been updated to accept c11. The old c1x forms have been removed.
* Generalized constant expressions
* Lambda expressions
@@ -2696,22 +2730,22 @@ Tue Apr 17 07:48:50 UTC 2012 - idonmez@suse.com
* User-defined literals
* Forward-declared enumerations
* Atomics (both libc++'s and libstdc++4.7's <atomic> are supported)
-------------------------------------------------------------------
Tue Mar 20 12:40:27 UTC 2012 - idonmez@suse.com
- Target i586-linux for 32bit builds
- Target i586-linux for 32bit builds
-------------------------------------------------------------------
Tue Dec 27 21:33:48 UTC 2011 - idonmez@suse.com
- Add upstream fix for llvm PR11642
- Add upstream fix for llvm PR11642
-------------------------------------------------------------------
Sun Dec 25 15:29:46 UTC 2011 - idonmez@suse.com
- Don't run gcc for ada files, just fail instead.
- Don't run gcc for ada files, just fail instead.
-------------------------------------------------------------------
Thu Dec 22 15:33:24 UTC 2011 - idonmez@suse.com
@@ -2722,12 +2756,12 @@ Thu Dec 22 15:33:24 UTC 2011 - idonmez@suse.com
-------------------------------------------------------------------
Mon Dec 5 13:19:22 UTC 2011 - idoenmez@suse.de
- Switch to 3-stage bootstrap
- Switch to 3-stage bootstrap
-------------------------------------------------------------------
Fri Dec 2 12:22:07 UTC 2011 - idoenmez@suse.de
- Build first stage compiler with -O0 to workaround gcc 4.5 bug
- Build first stage compiler with -O0 to workaround gcc 4.5 bug
-------------------------------------------------------------------
Thu Dec 1 18:04:15 UTC 2011 - idoenmez@suse.de
@@ -2749,7 +2783,7 @@ Wed Nov 16 14:28:17 UTC 2011 - idonmez@suse.com
-------------------------------------------------------------------
Thu Nov 10 14:54:50 UTC 2011 - idonmez@suse.com
- Disable ARM support, VM goes out of memory while compiling it
- Disable ARM support, VM goes out of memory while compiling it
-------------------------------------------------------------------
Thu Nov 10 10:33:01 UTC 2011 - idonmez@suse.com
@@ -2766,12 +2800,12 @@ Mon Nov 7 15:05:52 UTC 2011 - idonmez@suse.com
-------------------------------------------------------------------
Mon Nov 7 09:17:40 UTC 2011 - idonmez@suse.com
- Fix LLVMgold.so path for x86-64
- Fix LLVMgold.so path for x86-64
-------------------------------------------------------------------
Sun Nov 6 22:03:12 UTC 2011 - idonmez@suse.com
- Enable ld gold support
- Enable ld gold support
-------------------------------------------------------------------
Tue Nov 1 11:31:57 UTC 2011 - idonmez@suse.com
@@ -2782,12 +2816,12 @@ Tue Nov 1 11:31:57 UTC 2011 - idonmez@suse.com
-------------------------------------------------------------------
Fri Oct 28 20:54:16 UTC 2011 - idonmez@suse.com
- Add llvm-pr9614-part{1,2}.patch to fix LLVM PR9614
- Add llvm-pr9614-part{1,2}.patch to fix LLVM PR9614
-------------------------------------------------------------------
Fri Oct 28 08:23:03 UTC 2011 - idonmez@suse.com
- Fixup dependencies so that llvm-clang doesn't depend
- Fixup dependencies so that llvm-clang doesn't depend
on llvm-clang-devel
-------------------------------------------------------------------
@@ -2805,12 +2839,12 @@ Fri Oct 21 06:57:07 UTC 2011 - idonmez@suse.com
-------------------------------------------------------------------
Thu Oct 20 17:56:08 UTC 2011 - idonmez@suse.com
- Enable ARM code generation
- Enable ARM code generation
-------------------------------------------------------------------
Wed Oct 19 15:47:10 UTC 2011 - idonmez@suse.com
- Fix libdir on x86_64
- Fix libdir on x86_64
-------------------------------------------------------------------
Tue Oct 18 10:42:09 UTC 2011 - idonmez@suse.com
@@ -2820,12 +2854,12 @@ Tue Oct 18 10:42:09 UTC 2011 - idonmez@suse.com
* -Wc++98-compat warnings for the lexer
* Add flags for the remaining shift related warnings
(-Wshift-count-negative, -Wshift-count-overflow).
* Only warn in -Wliteral-conversion if the conversion
* Only warn in -Wliteral-conversion if the conversion
loses information
* Added clang_getCompletionAnnotation and
clang_getCompletionNumAnnotations to retrieve annotations
* Added clang_getCompletionAnnotation and
clang_getCompletionNumAnnotations to retrieve annotations
from completion string.
* Add support for -std=gnu90 and -std=c++03, for compatibility
* Add support for -std=gnu90 and -std=c++03, for compatibility
with modern gcc.
- Switch to tar.bz2 and remove xz dependency
@@ -2867,7 +2901,7 @@ Fri Aug 12 09:22:18 UTC 2011 - idonmez@novell.com
-------------------------------------------------------------------
Wed Aug 3 11:18:31 UTC 2011 - idonmez@novell.com
- Update to r136773
- Update to r136773
* Many AVX fixes
* Support for C++0x unicode string and character literals
@@ -2881,19 +2915,19 @@ Tue Jul 19 14:03:21 UTC 2011 - vljn@ovi.com
Mon Jul 11 08:33:59 UTC 2011 - idonmez@novell.com
- Update to r134888
* Type system rewrite
* Type system rewrite
-------------------------------------------------------------------
Sat Jul 9 09:27:17 UTC 2011 - idonmez@novell.com
- Update to r134813
* Mainly gcc compatibility fixes
* Mainly gcc compatibility fixes
-------------------------------------------------------------------
Fri Jul 8 11:31:27 UTC 2011 - idonmez@novell.com
- Update to r134698
* Up to 80x speed improvements with -Wuninitialized
* Up to 80x speed improvements with -Wuninitialized
-------------------------------------------------------------------
Thu Jul 7 11:37:40 UTC 2011 - idonmez@novell.com
@@ -2902,7 +2936,7 @@ Thu Jul 7 11:37:40 UTC 2011 - idonmez@novell.com
- Disable assertions because they are not thread safe
- Update to r134611
* Many C++ fixes and speedups
* Updates for AVX instruction support
* Updates for AVX instruction support
* gcc 4.6.1 support
-------------------------------------------------------------------
@@ -2913,19 +2947,19 @@ Sat Jul 2 19:31:38 UTC 2011 - idonmez@novell.com
-------------------------------------------------------------------
Sun Jun 5 14:39:53 UTC 2011 - idonmez@novell.com
- Update to r132667
- Update to r132667
-------------------------------------------------------------------
Sun May 29 16:34:46 UTC 2011 - idonmez@novell.com
- Update to use cmake buildsystem
- Remove unmaintained ocaml support
- Remove unmaintained ocaml support
-------------------------------------------------------------------
Thu May 26 11:01:57 UTC 2011 - idonmez@novell.com
- Drop ocaml support because its unmaintained
- Update to latest svn revision 132050
- Update to latest svn revision 132050
+ Start of the upcoming 3.0 version
+ Support for gcc 4.6 c++ headers
+ Better support for C++0x
@@ -2933,7 +2967,7 @@ Thu May 26 11:01:57 UTC 2011 - idonmez@novell.com
-------------------------------------------------------------------
Fri Apr 29 12:07:59 UTC 2011 - idoenmez@novell.com
- Fix ocaml dependency
- Fix ocaml dependency
-------------------------------------------------------------------
Thu Apr 7 08:22:48 UTC 2011 - idoenmez@novell.com
@@ -2958,7 +2992,7 @@ Mon Mar 7 20:09:51 CET 2011 - jslaby@suse.de
Wed Dec 22 11:41:15 UTC 2010 - dmacvicar@suse.de
- Do not require specific ffi version but gather the
appropiate one from the distro
appropiate one from the distro
-------------------------------------------------------------------
Fri Dec 10 04:57:21 UTC 2010 - reddwarf@opensuse.org
@@ -2968,7 +3002,7 @@ Fri Dec 10 04:57:21 UTC 2010 - reddwarf@opensuse.org
-------------------------------------------------------------------
Mon Nov 29 10:31:49 UTC 2010 - ismail@namtrac.org
- Fix C include paths
- Fix C include paths
-------------------------------------------------------------------
Fri Nov 26 12:48:54 UTC 2010 - ismail@namtrac.org
@@ -2976,7 +3010,7 @@ Fri Nov 26 12:48:54 UTC 2010 - ismail@namtrac.org
- Fix header path for openSUSE 11.4
- Enabled PIC for x86 for loadable module support
- Enable package tests for llvm and clang
- Disable package timestamps to silence an rpmlint warning
- Disable package timestamps to silence an rpmlint warning
-------------------------------------------------------------------
Wed Jun 2 00:00:00 UTC 2010 - anschneider@exsuse.de

View File

@@ -1,7 +1,7 @@
#
# spec file for package llvm17
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -110,7 +110,7 @@
# Set max_<type>_jobs so that every job of the given type has at least the
# given amount of memory.
%define set_jobs() \
max_%{1}_jobs="%{?jobs:%{jobs}}" \
max_%{1}_jobs="$(echo %{?_smp_mflags} | cut -c 3-)" \
if test -n "$max_%{1}_jobs" -a "$max_%{1}_jobs" -gt 1 ; then \
max_jobs="$(($avail_mem / %2))" \
test "$max_%{1}_jobs" -gt "$max_jobs" && max_%{1}_jobs="$max_jobs" && echo "Warning: Reducing number of %{1} jobs to $max_jobs because of memory limits" \
@@ -410,6 +410,8 @@ Patch16: llvm-workaround-superfluous-branches.patch
Patch17: llvm-suse-implicit-gnu.patch
# PATCH-FIX-OPENSUSE: No need to run {amdgpu,nvptx}-arch because we don't have the toolchains installed anyway.
Patch18: openmp-dont-run-gpu-arch.patch
# PATCH-FIX-UPSTREAM: make libomp reproducible (boo#1199076)
Patch19: reproducible.patch
Patch20: llvm_build_tablegen_component_as_shared_library.patch
Patch21: tests-use-python3.patch
Patch24: opt-viewer-Find-style-css-in-usr-share.patch
@@ -420,6 +422,16 @@ Patch25: check-no-llvm-exegesis.patch
Patch26: lld-default-sha1.patch
# PATCH-FIX-UPSTREAM: Use symbol versioning also for libclang-cpp.so.
Patch27: clang-shlib-symbol-versioning.patch
# PATCH-FIX-UPSTREAM: use shlib.quote to fix Python 3.13 compatibility
Patch28: libcxx-use-shlex-quote.patch
# PATCH-FIX-UPSTREAM: Adapt lldb to support Python 3.13
Patch29: lldb-support-python-3.13.patch
# PATCH-FIX-UPSTREAM: Remove unused imports fix Python 3.13 compatibility
Patch30: libcxx-remove-unused-imports.patch
# PATCH-FIX-UPSTREAM: Fix build with GCC 15.
Patch31: llvm-fix-gcc15-build.patch
# PATCH-FIX-UPSTREAM: Remove interceptors for deprecated struct termio
Patch32: compiler-rt-remove-termio-interceptors.patch
BuildRequires: binutils-devel >= 2.21.90
BuildRequires: cmake >= 3.13.4
BuildRequires: fdupes
@@ -853,6 +865,7 @@ This package contains the development files for Polly.
%patch -P 21 -p1
%patch -P 24 -p1
%patch -P 25 -p2
%patch -P 31 -p2
pushd clang-%{_version}.src
%patch -P 2 -p1
@@ -875,6 +888,10 @@ pushd clang-tools-extra-%{_version}.src
%patch -P 10 -p2
popd
pushd compiler-rt-%{_version}.src
%patch -P 32 -p2
popd
pushd openmp-%{_version}.src
%patch -P 18 -p1
popd
@@ -889,6 +906,7 @@ popd
%if %{with lldb}
pushd lldb-%{_version}.src
%patch -P 11 -p1
%patch -P 29 -p2
popd
%endif
@@ -898,6 +916,8 @@ sed -i '/set(LLVM_COMMON_CMAKE_UTILS/ s/CMAKE_CURRENT_SOURCE_DIR/CMAKE_SOURCE_DI
sed -i '\"runtimes/cmake/Modules" s/CMAKE_CURRENT_SOURCE_DIR/CMAKE_SOURCE_DIR/g' libcxx{,abi}-%{_version}.src/CMakeLists.txt
pushd libcxx-%{_version}.src
%patch -P 15 -p2
%patch -P 28 -p2
%patch -P 30 -p2
rm test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
rm test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp
rm test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp
@@ -925,6 +945,7 @@ mv lldb-%{_version}.src tools/lldb
%if %{with openmp}
mv openmp-%{_version}.src projects/openmp
%patch -P 19 -p1
%endif
%if %{with libcxx}
@@ -1055,12 +1076,13 @@ max_link_jobs=1
%if %{with thin_lto} && %{with use_lld}
%global lld_ldflag --ld-path=%{sourcedir}/stage1/bin/ld.lld
%ifarch %{arm} i586 ppc
%if %{jobs} > 8
%global lto_limit_threads -Wl,--thinlto-jobs=8
jobs=$(echo %{?_smp_mflags} | cut -c 3-)
if [ "$jobs" -gt 8 ] ; then
lto_limit_threads=-Wl,--thinlto-jobs=8
fi
%endif
%endif
%endif
%define build_ldflags -Wl,--build-id=sha1 %{?lld_ldflag} %{?lto_limit_threads}
%define build_ldflags -Wl,--build-id=sha1 %{?lld_ldflag} ${lto_limit_threads}
# The build occasionally uses tools linking against previously built
# libraries (mostly libLLVM.so), but we don't want to set RUNPATHs.
export LD_LIBRARY_PATH=%{sourcedir}/build/%{_lib}
@@ -1130,6 +1152,7 @@ MALLOC_CHECK_BACK=$MALLOC_CHECK_
unset MALLOC_CHECK_
%endif
setarch -R \
ninja -v %{?_smp_mflags}
%if %{with thin_lto}

47
reproducible.patch Normal file
View File

@@ -0,0 +1,47 @@
From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
Date: Fri, 11 Jul 2025 08:26:10 +0200
Subject: [PATCH] Drop timestamp in generated source code
Fixes #72206
This helps reproducible builds of libomp.so
probably because LLVM's LTO computed a hash of inputs
to generate its symbol names.
This patch was done while working on reproducible builds for openSUSE.
---
Index: openmp-15.0.7.src/docs/conf.py
===================================================================
--- a/projects/openmp/docs/conf.py
+++ b/projects/openmp/docs/conf.py
@@ -12,7 +12,6 @@
# serve to show the default.
import sys, os
-from datetime import date
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
@@ -42,7 +41,7 @@ master_doc = "index"
# General information about the project.
project = "LLVM/OpenMP"
-copyright = "2013-%d, LLVM/OpenMP" % date.today().year
+copyright = "2013-%d, LLVM/OpenMP" % 2023
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
Index: openmp-15.0.7.src/runtime/tools/message-converter.pl
===================================================================
--- a/projects/openmp/runtime/tools/message-converter.pl
+++ b/projects/openmp/runtime/tools/message-converter.pl
@@ -50,7 +50,7 @@ sub _generate_comment($$$) {
my $bulk =
$open . " Do not edit this file! " . $close . "\n" .
$open . " The file was generated from " . get_file( $data->{ "%meta" }->{ source } ) .
- " by " . $tool . " on " . localtime() . ". " . $close . "\n";
+ " by " . $tool . ". " . $close . "\n";
return $bulk;
}; # sub _generate_comment