forked from pool/llvm14
Accepting request 979618 from devel:tools:compiler
- Update to version 14.0.4. * This release contains bug-fixes for the LLVM 14.0.0 release. This release is API and ABI compatible with 14.0.0. - Don't use gold for linking anymore: on s390x we use ld.bfd with LLVMgold.so, on ppc64 we disable ThinLTO for now. - Using ld.bfd on s390x exposed an issue with the existing llvm_build_tablegen_component_as_shared_library.patch: linking llvm-tblgen with libLLVM.so means we also have to link libraries used for that (like LLVMTableGenGlobalISel) with libLLVM.so. - Rewrite summary and description for llvm-gold to point out that it can also be used with ld.bfd, recommend with binutils. - Prefer RPM macros over shell scripting, so that we can better inspect the build script with substitutions in place. - More memory for stage 1 build jobs due to recent OOMs. - Add %_libclang_sonum RPM macro to llvm-devel, since that might now diverge from %_llvm_sonum. - Rebase llvm-do-not-install-static-libraries.patch. OBS-URL: https://build.opensuse.org/request/show/979618 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm14?expand=0&rev=4
This commit is contained in:
commit
049aa24a98
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:f85c55f192cb35b9d6af1f998b7d5abe90e369f8b16445503ffab1b02e75a6f0
|
|
||||||
size 18536196
|
|
3
clang-14.0.4.src.tar.xz
Normal file
3
clang-14.0.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:922bdc8341491d4f54548c51bafd77c0e737a3146fe33c762bce31a0fd151591
|
||||||
|
size 18537140
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:ab321f9490d589ca9fe740975a5c7e619815ac36177192d1859453066681a071
|
|
||||||
size 1413576
|
|
3
clang-docs-14.0.4.src.tar.xz
Normal file
3
clang-docs-14.0.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6c993f5d31b764f677ea57700965886550577abe000bf8d35ea50daee7994ae3
|
||||||
|
size 1413580
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:f2c85533d586d63784df9d5208e147a35c59a4caed7ff9a0a1f39992a88110a1
|
|
||||||
size 2849308
|
|
3
clang-tools-extra-14.0.4.src.tar.xz
Normal file
3
clang-tools-extra-14.0.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c8bacb565da90bd1eb76ac267a70a4287e238680c48f7bd00f0a890ce0ae8fed
|
||||||
|
size 2849200
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:26568ab40e440d54a0fe05f6055dcbe510eb723977afa39d3b56fc2a81f8d05f
|
|
||||||
size 2327000
|
|
3
compiler-rt-14.0.4.src.tar.xz
Normal file
3
compiler-rt-14.0.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:02cbb6ca3ae3ebfb77245de0866faff886b16c48a806cd2ae32ac6ccbba8285b
|
||||||
|
size 2327868
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:ae5f31fc7c759fe68ceff3bcdaea9f8d439865bb965ac8d21ed5d15c42311796
|
|
||||||
size 3066368
|
|
3
libcxx-14.0.4.src.tar.xz
Normal file
3
libcxx-14.0.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9aad37282b0086b09b6d5489630dc8399577d64674071ae6e4ecf340c7e058be
|
||||||
|
size 3066664
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:21193c6a29248ba5b6dde40beb1f6bdcc7cd13cad66605c764ec100f0fb19fe3
|
|
||||||
size 561780
|
|
3
libcxxabi-14.0.4.src.tar.xz
Normal file
3
libcxxabi-14.0.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:f526943c9b70836364f90d42ca4fa3f90505d02b5d8fa739937cc7b79c0580ac
|
||||||
|
size 561788
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:a91716f59f8e78018246a7ab6cad1bfdddec270c4db6d3d2a394844ee8799c8f
|
|
||||||
size 1366044
|
|
3
lld-14.0.4.src.tar.xz
Normal file
3
lld-14.0.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:05e1284a65166d0a3a1139b9993f1c632b82930501316ae20c88a204170c2ba6
|
||||||
|
size 1366056
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:e1d1ea7779faadb4c6af6b0541c6fe3346f750bd26d14ddc57186fe3140d0502
|
|
||||||
size 10088540
|
|
3
lldb-14.0.4.src.tar.xz
Normal file
3
lldb-14.0.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9301073df20728a8a64aca8d741465264b999649996009c2c30ba7a705459ff0
|
||||||
|
size 10088328
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:1e09e8c26e1b67bc94a128b62e9b9c24b70c697a2436a479c9e5eedc4ae29654
|
|
||||||
size 49653148
|
|
3
llvm-14.0.4.src.tar.xz
Normal file
3
llvm-14.0.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:eb8e90dfadae4073a7f8fc6384bacc0dda072400d82b9d25dabb5280a737ba22
|
||||||
|
size 49656144
|
@ -2,10 +2,10 @@ This has similar effect as simply deleting the static libraries which we don't
|
|||||||
want after installation. By not copying them in the first place we reduce the
|
want after installation. By not copying them in the first place we reduce the
|
||||||
disk usage during installation.
|
disk usage during installation.
|
||||||
|
|
||||||
Index: clang-14.0.3.src/cmake/modules/AddClang.cmake
|
Index: clang-14.0.4.src/cmake/modules/AddClang.cmake
|
||||||
===================================================================
|
===================================================================
|
||||||
--- a/clang-14.0.3.src/cmake/modules/AddClang.cmake
|
--- a/clang-14.0.4.src/cmake/modules/AddClang.cmake
|
||||||
+++ b/clang-14.0.3.src/cmake/modules/AddClang.cmake
|
+++ b/clang-14.0.4.src/cmake/modules/AddClang.cmake
|
||||||
@@ -106,12 +106,15 @@ macro(add_clang_library name)
|
@@ -106,12 +106,15 @@ macro(add_clang_library name)
|
||||||
|
|
||||||
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
|
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
|
||||||
@ -68,10 +68,10 @@ Index: cmake/modules/AddLLVM.cmake
|
|||||||
endif()
|
endif()
|
||||||
if (ARG_MODULE)
|
if (ARG_MODULE)
|
||||||
set_target_properties(${name} PROPERTIES FOLDER "Loadable modules")
|
set_target_properties(${name} PROPERTIES FOLDER "Loadable modules")
|
||||||
Index: lld-14.0.3.src/cmake/modules/AddLLD.cmake
|
Index: lld-14.0.4.src/cmake/modules/AddLLD.cmake
|
||||||
===================================================================
|
===================================================================
|
||||||
--- a/lld-14.0.3.src/cmake/modules/AddLLD.cmake
|
--- a/lld-14.0.4.src/cmake/modules/AddLLD.cmake
|
||||||
+++ b/lld-14.0.3.src/cmake/modules/AddLLD.cmake
|
+++ b/lld-14.0.4.src/cmake/modules/AddLLD.cmake
|
||||||
@@ -17,13 +17,6 @@ macro(add_lld_library name)
|
@@ -17,13 +17,6 @@ macro(add_lld_library name)
|
||||||
|
|
||||||
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||||
@ -86,10 +86,10 @@ Index: lld-14.0.3.src/cmake/modules/AddLLD.cmake
|
|||||||
if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
|
if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||||
add_llvm_install_targets(install-${name}
|
add_llvm_install_targets(install-${name}
|
||||||
DEPENDS ${name}
|
DEPENDS ${name}
|
||||||
Index: polly-14.0.3.src/cmake/polly_macros.cmake
|
Index: polly-14.0.4.src/cmake/polly_macros.cmake
|
||||||
===================================================================
|
===================================================================
|
||||||
--- a/polly-14.0.3.src/cmake/polly_macros.cmake
|
--- a/polly-14.0.4.src/cmake/polly_macros.cmake
|
||||||
+++ b/polly-14.0.3.src/cmake/polly_macros.cmake
|
+++ b/polly-14.0.4.src/cmake/polly_macros.cmake
|
||||||
@@ -42,12 +42,14 @@ macro(add_polly_library name)
|
@@ -42,12 +42,14 @@ macro(add_polly_library name)
|
||||||
llvm_config(${name} ${LLVM_LINK_COMPONENTS})
|
llvm_config(${name} ${LLVM_LINK_COMPONENTS})
|
||||||
endif( LLVM_LINK_COMPONENTS )
|
endif( LLVM_LINK_COMPONENTS )
|
||||||
@ -110,10 +110,10 @@ Index: polly-14.0.3.src/cmake/polly_macros.cmake
|
|||||||
endmacro(add_polly_library)
|
endmacro(add_polly_library)
|
||||||
|
|
||||||
macro(add_polly_loadable_module name)
|
macro(add_polly_loadable_module name)
|
||||||
Index: polly-14.0.3.src/lib/CMakeLists.txt
|
Index: polly-14.0.4.src/lib/CMakeLists.txt
|
||||||
===================================================================
|
===================================================================
|
||||||
--- a/polly-14.0.3.src/lib/CMakeLists.txt
|
--- a/polly-14.0.4.src/lib/CMakeLists.txt
|
||||||
+++ b/polly-14.0.3.src/lib/CMakeLists.txt
|
+++ b/polly-14.0.4.src/lib/CMakeLists.txt
|
||||||
@@ -74,7 +74,7 @@ set_target_properties(PollyCore PROPERTI
|
@@ -74,7 +74,7 @@ set_target_properties(PollyCore PROPERTI
|
||||||
# It depends on all library it needs, such that with
|
# It depends on all library it needs, such that with
|
||||||
# LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as
|
# LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:b4833bddd0d6bc75fd223d4f185094903d6cce40ec8c3d3fc25cc7702ebfaa2c
|
|
||||||
size 6601060
|
|
3
llvm-docs-14.0.4.src.tar.xz
Normal file
3
llvm-docs-14.0.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e56dbb0ca5395222d0a6b9b4803340f95fc6aa3ee6c9de23ce9224ca3f159bcd
|
||||||
|
size 6601068
|
@ -1,3 +1,24 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat May 28 12:42:06 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||||
|
|
||||||
|
- Update to version 14.0.4.
|
||||||
|
* This release contains bug-fixes for the LLVM 14.0.0 release.
|
||||||
|
This release is API and ABI compatible with 14.0.0.
|
||||||
|
- Don't use gold for linking anymore: on s390x we use ld.bfd with
|
||||||
|
LLVMgold.so, on ppc64 we disable ThinLTO for now.
|
||||||
|
- Using ld.bfd on s390x exposed an issue with the existing
|
||||||
|
llvm_build_tablegen_component_as_shared_library.patch: linking
|
||||||
|
llvm-tblgen with libLLVM.so means we also have to link libraries
|
||||||
|
used for that (like LLVMTableGenGlobalISel) with libLLVM.so.
|
||||||
|
- Rewrite summary and description for llvm-gold to point out that
|
||||||
|
it can also be used with ld.bfd, recommend with binutils.
|
||||||
|
- Prefer RPM macros over shell scripting, so that we can better
|
||||||
|
inspect the build script with substitutions in place.
|
||||||
|
- More memory for stage 1 build jobs due to recent OOMs.
|
||||||
|
- Add %_libclang_sonum RPM macro to llvm-devel, since that might
|
||||||
|
now diverge from %_llvm_sonum.
|
||||||
|
- Rebase llvm-do-not-install-static-libraries.patch.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Apr 30 12:32:33 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
Sat Apr 30 12:32:33 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||||
|
|
||||||
|
93
llvm14.spec
93
llvm14.spec
@ -16,14 +16,14 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define _relver 14.0.3
|
%define _relver 14.0.4
|
||||||
%define _version %_relver%{?_rc:rc%_rc}
|
%define _version %_relver%{?_rc:rc%_rc}
|
||||||
%define _tagver %_relver%{?_rc:-rc%_rc}
|
%define _tagver %_relver%{?_rc:-rc%_rc}
|
||||||
%define _minor 14.0
|
%define _minor 14.0
|
||||||
%define _sonum 14
|
%define _sonum 14
|
||||||
%define _itsme14 1
|
%define _itsme14 1
|
||||||
# Integer version used by update-alternatives
|
# Integer version used by update-alternatives
|
||||||
%define _uaver 1403
|
%define _uaver 1404
|
||||||
%define _soclang 13
|
%define _soclang 13
|
||||||
%define _socxx 1
|
%define _socxx 1
|
||||||
|
|
||||||
@ -39,11 +39,10 @@
|
|||||||
%bcond_with openmp
|
%bcond_with openmp
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# We use gold where we want to use ThinLTO, but where lld isn't supported (well).
|
%ifarch s390x
|
||||||
%ifarch ppc64 s390x
|
%bcond_with use_lld
|
||||||
%bcond_without gold
|
|
||||||
%else
|
%else
|
||||||
%bcond_with gold
|
%bcond_without use_lld
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
@ -55,7 +54,7 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Disabled on ARM because it's awfully slow and often times out. (boo#1178070)
|
# Disabled on ARM because it's awfully slow and often times out. (boo#1178070)
|
||||||
%ifarch %{ix86} ppc64 ppc64le s390x x86_64
|
%ifarch %{ix86} ppc64le s390x x86_64
|
||||||
%bcond_without thin_lto
|
%bcond_without thin_lto
|
||||||
%else
|
%else
|
||||||
%bcond_with thin_lto
|
%bcond_with thin_lto
|
||||||
@ -169,9 +168,6 @@ Requires(post): update-alternatives
|
|||||||
Requires(postun):update-alternatives
|
Requires(postun):update-alternatives
|
||||||
# llvm does not work on s390
|
# llvm does not work on s390
|
||||||
ExcludeArch: s390
|
ExcludeArch: s390
|
||||||
%if %{with gold}
|
|
||||||
BuildRequires: binutils-gold
|
|
||||||
%endif
|
|
||||||
%if %{with ffi}
|
%if %{with ffi}
|
||||||
BuildRequires: pkgconfig(libffi)
|
BuildRequires: pkgconfig(libffi)
|
||||||
%endif
|
%endif
|
||||||
@ -365,14 +361,18 @@ Group: System/Libraries
|
|||||||
This package contains the link-time optimizer for LLVM.
|
This package contains the link-time optimizer for LLVM.
|
||||||
|
|
||||||
%package gold
|
%package gold
|
||||||
Summary: Gold linker plugin for LLVM
|
Summary: LLVM LTO plugin for ld.bfd and ld.gold
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Conflicts: llvm-gold-provider < %{version}
|
Conflicts: llvm-gold-provider < %{version}
|
||||||
Provides: llvm-gold-provider = %{version}
|
Provides: llvm-gold-provider = %{version}
|
||||||
|
Supplements: packageand(clang%{_sonum}:binutils)
|
||||||
Supplements: packageand(clang%{_sonum}:binutils-gold)
|
Supplements: packageand(clang%{_sonum}:binutils-gold)
|
||||||
|
|
||||||
%description gold
|
%description gold
|
||||||
This package contains the Gold linker plugin for LLVM.
|
This package contains a plugin for link-time optimization in binutils linkers.
|
||||||
|
|
||||||
|
Despite the name, it can also be used with ld.bfd. It is required for using
|
||||||
|
Clang with -flto=full or -flto=thin when linking with one of those linkers.
|
||||||
|
|
||||||
%package -n libomp%{_sonum}-devel
|
%package -n libomp%{_sonum}-devel
|
||||||
Summary: MPI plugin for LLVM
|
Summary: MPI plugin for LLVM
|
||||||
@ -650,6 +650,8 @@ mv libcxxabi-%{_version}.src projects/libcxxabi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
%global sourcedir %{_builddir}/%{buildsubdir}
|
||||||
|
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
|
|
||||||
# Use optflags, but:
|
# Use optflags, but:
|
||||||
@ -657,17 +659,18 @@ mv libcxxabi-%{_version}.src projects/libcxxabi
|
|||||||
# hardening. The problem is in sanitizers from compiler-rt.
|
# hardening. The problem is in sanitizers from compiler-rt.
|
||||||
# 2) Remove the -g. We don't want it in stage1 and it will be added by cmake in
|
# 2) Remove the -g. We don't want it in stage1 and it will be added by cmake in
|
||||||
# the following stage.
|
# the following stage.
|
||||||
flags=$(echo %{optflags} | sed 's/-D_FORTIFY_SOURCE=./-D_FORTIFY_SOURCE=0/;s/\B-g\b//g')
|
%global cleaned_flags %(echo %{optflags} | sed 's/-D_FORTIFY_SOURCE=./-D_FORTIFY_SOURCE=0/;s/\\B-g\\b//g')
|
||||||
|
|
||||||
|
%global flags %{cleaned_flags}
|
||||||
%ifarch armv6hl
|
%ifarch armv6hl
|
||||||
flags+=" -mfloat-abi=hard -mcpu=arm1176jzf-s -mfpu=vfpv2"
|
%global flags %{cleaned_flags} -mfloat-abi=hard -mcpu=arm1176jzf-s -mfpu=vfpv2
|
||||||
%endif
|
%endif
|
||||||
%ifarch armv7hl
|
%ifarch armv7hl
|
||||||
flags+=" -mfloat-abi=hard -march=armv7-a -mtune=cortex-a17 -mfpu=vfpv3-d16"
|
%global flags %{cleaned_flags} -mfloat-abi=hard -march=armv7-a -mtune=cortex-a17 -mfpu=vfpv3-d16
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
CFLAGS=$flags
|
CFLAGS="%flags"
|
||||||
CXXFLAGS=$flags
|
CXXFLAGS="%flags"
|
||||||
|
|
||||||
# By default build everything
|
# By default build everything
|
||||||
TARGETS_TO_BUILD="all"
|
TARGETS_TO_BUILD="all"
|
||||||
@ -693,10 +696,10 @@ TARGETS_TO_BUILD="host;BPF"
|
|||||||
EXPERIMENTAL_TARGETS_TO_BUILD=
|
EXPERIMENTAL_TARGETS_TO_BUILD=
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
mem_per_compile_job=1000000
|
mem_per_compile_job=1200000
|
||||||
%ifarch i586 ppc armv6hl armv7hl
|
%ifarch i586 ppc armv6hl armv7hl
|
||||||
# 32-bit arches need less memory than 64-bit arches.
|
# 32-bit arches need less memory than 64-bit arches.
|
||||||
mem_per_compile_job=600000
|
mem_per_compile_job=700000
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
mem_per_link_job=3000000
|
mem_per_link_job=3000000
|
||||||
@ -744,10 +747,10 @@ avail_mem=$(awk '/MemAvailable/ { print $2 }' /proc/meminfo)
|
|||||||
ninja -v %{?_smp_mflags} clang llvm-tblgen clang-tblgen \
|
ninja -v %{?_smp_mflags} clang llvm-tblgen clang-tblgen \
|
||||||
%if %{with thin_lto}
|
%if %{with thin_lto}
|
||||||
llvm-ar llvm-ranlib \
|
llvm-ar llvm-ranlib \
|
||||||
%if %{with gold}
|
%if %{with use_lld}
|
||||||
LLVMgold
|
|
||||||
%else
|
|
||||||
lld
|
lld
|
||||||
|
%else
|
||||||
|
LLVMgold
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -760,9 +763,9 @@ find ./stage1 \( -name '*.o' -or -name '*.a' \) -delete
|
|||||||
# 3) Remove -fstack-clash-protection on architectures where it isn't supported.
|
# 3) Remove -fstack-clash-protection on architectures where it isn't supported.
|
||||||
# Using it just prints a warning, but that warning prevents the configuration
|
# Using it just prints a warning, but that warning prevents the configuration
|
||||||
# step, which uses -Werror, from recognizing the availability of other flags.
|
# step, which uses -Werror, from recognizing the availability of other flags.
|
||||||
if ! ${PWD}/stage1/bin/clang -c -xc -Werror -fstack-clash-protection -o /dev/null /dev/null;
|
if ! ./stage1/bin/clang -c -xc -Werror -fstack-clash-protection -o /dev/null /dev/null;
|
||||||
then
|
then
|
||||||
flags=$(echo $flags | sed 's/-fstack-clash-protection//');
|
flags=$(echo %flags | sed 's/-fstack-clash-protection//');
|
||||||
fi
|
fi
|
||||||
CFLAGS=$flags
|
CFLAGS=$flags
|
||||||
CXXFLAGS=$flags
|
CXXFLAGS=$flags
|
||||||
@ -782,22 +785,12 @@ max_link_jobs=1
|
|||||||
|
|
||||||
%define __builddir build
|
%define __builddir build
|
||||||
%define build_ldflags -Wl,--build-id=sha1
|
%define build_ldflags -Wl,--build-id=sha1
|
||||||
export PATH=${PWD}/stage1/bin:$PATH
|
|
||||||
export CC=${PWD}/stage1/bin/clang
|
|
||||||
export CXX=${PWD}/stage1/bin/clang++
|
|
||||||
%if %{with thin_lto}
|
|
||||||
export LLVM_AR=${PWD}/stage1/bin/llvm-ar
|
|
||||||
export LLVM_RANLIB=${PWD}/stage1/bin/llvm-ranlib
|
|
||||||
export LLD=${PWD}/stage1/bin/ld.lld
|
|
||||||
%endif
|
|
||||||
export LLVM_TABLEGEN=${PWD}/stage1/bin/llvm-tblgen
|
|
||||||
export CLANG_TABLEGEN=${PWD}/stage1/bin/clang-tblgen
|
|
||||||
# Build is using absolute paths assuming the monorepo layout, so we need this.
|
|
||||||
export CLANG_TOOLS_EXTRA_DIR=${PWD}/tools/clang/tools/extra
|
|
||||||
# The build occasionally uses tools linking against previously built
|
# The build occasionally uses tools linking against previously built
|
||||||
# libraries (mostly libLLVM.so), but we don't want to set RUNPATHs.
|
# libraries (mostly libLLVM.so), but we don't want to set RUNPATHs.
|
||||||
export LD_LIBRARY_PATH=${PWD}/build/%{_lib}
|
export LD_LIBRARY_PATH=%{sourcedir}/build/%{_lib}
|
||||||
%cmake \
|
%cmake \
|
||||||
|
-DCMAKE_C_COMPILER="%{sourcedir}/stage1/bin/clang" \
|
||||||
|
-DCMAKE_CXX_COMPILER="%{sourcedir}/stage1/bin/clang++" \
|
||||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||||
-DLLVM_HOST_TRIPLE=%{host_triple} \
|
-DLLVM_HOST_TRIPLE=%{host_triple} \
|
||||||
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
|
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
|
||||||
@ -807,25 +800,20 @@ export LD_LIBRARY_PATH=${PWD}/build/%{_lib}
|
|||||||
-DLLVM_PARALLEL_LINK_JOBS="$max_link_jobs" \
|
-DLLVM_PARALLEL_LINK_JOBS="$max_link_jobs" \
|
||||||
%if %{with thin_lto}
|
%if %{with thin_lto}
|
||||||
-DLLVM_ENABLE_LTO=Thin \
|
-DLLVM_ENABLE_LTO=Thin \
|
||||||
-DCMAKE_AR="${LLVM_AR}" \
|
-DCMAKE_AR="%{sourcedir}/stage1/bin/llvm-ar" \
|
||||||
-DCMAKE_RANLIB="${LLVM_RANLIB}" \
|
-DCMAKE_RANLIB="%{sourcedir}/stage1/bin/llvm-ranlib" \
|
||||||
%if %{with gold}
|
%if %{with use_lld}
|
||||||
-DCMAKE_LINKER=%{_bindir}/ld.gold \
|
-DCMAKE_LINKER="%{sourcedir}/stage1/bin/ld.lld" \
|
||||||
-DLLVM_USE_LINKER=gold \
|
-DLLVM_USE_LINKER="%{sourcedir}/stage1/bin/ld.lld" \
|
||||||
%else
|
|
||||||
-DCMAKE_LINKER=${LLD} \
|
|
||||||
-DLLVM_USE_LINKER=${LLD} \
|
|
||||||
%endif
|
%endif
|
||||||
%else
|
|
||||||
-DCMAKE_LINKER=%{_bindir}/ld \
|
|
||||||
%endif
|
%endif
|
||||||
%ifarch %arm ppc s390 %{ix86}
|
%ifarch %arm ppc s390 %{ix86}
|
||||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO="-g1" \
|
-DCMAKE_C_FLAGS_RELWITHDEBINFO="-g1" \
|
||||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-g1" \
|
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-g1" \
|
||||||
%endif
|
%endif
|
||||||
-DENABLE_LINKER_BUILD_ID=ON \
|
-DENABLE_LINKER_BUILD_ID=ON \
|
||||||
-DLLVM_TABLEGEN="${LLVM_TABLEGEN}" \
|
-DLLVM_TABLEGEN="%{sourcedir}/stage1/bin/llvm-tblgen" \
|
||||||
-DCLANG_TABLEGEN="${CLANG_TABLEGEN}" \
|
-DCLANG_TABLEGEN="%{sourcedir}/stage1/bin/clang-tblgen" \
|
||||||
-DLLVM_ENABLE_RTTI:BOOL=ON \
|
-DLLVM_ENABLE_RTTI:BOOL=ON \
|
||||||
-DLLVM_ENABLE_ASSERTIONS=OFF \
|
-DLLVM_ENABLE_ASSERTIONS=OFF \
|
||||||
-DLLVM_ENABLE_PIC=ON \
|
-DLLVM_ENABLE_PIC=ON \
|
||||||
@ -879,7 +867,7 @@ cd ..
|
|||||||
|
|
||||||
%install
|
%install
|
||||||
# Installation seems to build some files not contained in "all".
|
# Installation seems to build some files not contained in "all".
|
||||||
export LD_LIBRARY_PATH=${PWD}/build/%{_lib}
|
export LD_LIBRARY_PATH=%{sourcedir}/build/%{_lib}
|
||||||
%cmake_install
|
%cmake_install
|
||||||
|
|
||||||
# Install FileCheck needed for testing Rust boo#1192629
|
# Install FileCheck needed for testing Rust boo#1192629
|
||||||
@ -1103,6 +1091,7 @@ cat > %{buildroot}%{_rpmconfigdir}/macros.d/macros.llvm <<EOF
|
|||||||
%_llvm_relver %{_relver}
|
%_llvm_relver %{_relver}
|
||||||
%_llvm_minorver %{_minor}
|
%_llvm_minorver %{_minor}
|
||||||
%_llvm_sonum %{_sonum}
|
%_llvm_sonum %{_sonum}
|
||||||
|
%_libclang_sonum %{_soclang}
|
||||||
%_libcxx_sonum %{_socxx}
|
%_libcxx_sonum %{_socxx}
|
||||||
|
|
||||||
# Build information
|
# Build information
|
||||||
@ -1172,6 +1161,10 @@ python3 bin/llvm-lit -sv test/
|
|||||||
|
|
||||||
# On s390x, this test complains that a required pass couldn't be found and then crashes. (FIXME)
|
# On s390x, this test complains that a required pass couldn't be found and then crashes. (FIXME)
|
||||||
sed -i '/XFAIL/i// XFAIL: s390x' ../tools/clang/test/CodeGen/sanitize-coverage-old-pm.c
|
sed -i '/XFAIL/i// XFAIL: s390x' ../tools/clang/test/CodeGen/sanitize-coverage-old-pm.c
|
||||||
|
%if 0%{?suse_version} > 1500
|
||||||
|
# We're not getting the exact crash dump that was expected. Not sure why, input is cut off.
|
||||||
|
sed -i '1i// XFAIL: s390x' ../tools/clang/test/Driver/{crash-{diagnostics-dir.c,report-header.h,report-spaces.c},rewrite-map-in-diagnostics.c}
|
||||||
|
%endif
|
||||||
# On ppc, this test fails with "fatal error: error in backend: Relocation type not implemented yet!"
|
# On ppc, this test fails with "fatal error: error in backend: Relocation type not implemented yet!"
|
||||||
sed -i '/UNSUPPORTED/i// XFAIL: powerpc-' ../tools/clang/test/Interpreter/execute.cpp
|
sed -i '/UNSUPPORTED/i// XFAIL: powerpc-' ../tools/clang/test/Interpreter/execute.cpp
|
||||||
# Tests hang on armv6l.
|
# Tests hang on armv6l.
|
||||||
|
@ -55,3 +55,16 @@ Index: llvm-8.0.0rc3.src/lib/TableGen/CMakeLists.txt
|
|||||||
ADDITIONAL_HEADER_DIRS
|
ADDITIONAL_HEADER_DIRS
|
||||||
${LLVM_MAIN_INCLUDE_DIR}/llvm/TableGen
|
${LLVM_MAIN_INCLUDE_DIR}/llvm/TableGen
|
||||||
|
|
||||||
|
Index: llvm-14.0.3.src/utils/TableGen/GlobalISel/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-14.0.3.src.orig/utils/TableGen/GlobalISel/CMakeLists.txt
|
||||||
|
+++ llvm-14.0.3.src/utils/TableGen/GlobalISel/CMakeLists.txt
|
||||||
|
@@ -3,7 +3,7 @@ set(LLVM_LINK_COMPONENTS
|
||||||
|
TableGen
|
||||||
|
)
|
||||||
|
|
||||||
|
-add_llvm_library(LLVMTableGenGlobalISel STATIC DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
+add_llvm_library(LLVMTableGenGlobalISel STATIC
|
||||||
|
CodeExpander.cpp
|
||||||
|
GIMatchDag.cpp
|
||||||
|
GIMatchDagEdge.cpp
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:0534ab5ce578db604a46eca56e4f83b46f26fbe4dd837abb79ed04c5543be379
|
|
||||||
size 1205324
|
|
3
openmp-14.0.4.src.tar.xz
Normal file
3
openmp-14.0.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d4b627e2668c3c1001b6c772297273dc67b42f2deec934a59650a55731f8d411
|
||||||
|
size 1205512
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:079aa83b3ee6a918fec438eb04cc6a6370618575606d6756762d4f8ce112c757
|
|
||||||
size 9353504
|
|
3
polly-14.0.4.src.tar.xz
Normal file
3
polly-14.0.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c1c28aeccc10fe3e7c71d0f756d3c36e0019b7236bbbeb2d93ee702557d52215
|
||||||
|
size 9357472
|
Loading…
Reference in New Issue
Block a user