Compare commits
1 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
|
|
9899f704a0 |
64
compiler-rt-remove-termio-interceptors.patch
Normal file
64
compiler-rt-remove-termio-interceptors.patch
Normal 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;
|
||||
50
llvm-fix-gcc15-build.patch
Normal file
50
llvm-fix-gcc15-build.patch
Normal 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>
|
||||
@@ -1,3 +1,25 @@
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
|
||||
24
llvm17.spec
24
llvm17.spec
@@ -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
|
||||
@@ -426,6 +428,10 @@ Patch28: libcxx-use-shlex-quote.patch
|
||||
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
|
||||
@@ -859,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
|
||||
@@ -881,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
|
||||
@@ -934,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}
|
||||
@@ -1064,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}
|
||||
@@ -1139,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
47
reproducible.patch
Normal 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
|
||||
Reference in New Issue
Block a user