- Update to version 19.1.5.
* 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. OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm19?expand=0&rev=13
This commit is contained in:
commit
324de19d9b
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
43
_constraints
Normal file
43
_constraints
Normal file
@ -0,0 +1,43 @@
|
||||
<?xml version="1.0"?>
|
||||
<constraints>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">35</size>
|
||||
</disk>
|
||||
<memory>
|
||||
<size unit="M">8192</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
<hostlabel exclude="true">SLOW_CPU</hostlabel>
|
||||
<overwrite>
|
||||
<!--
|
||||
We have disabled debuginfo on 32 bit architecture because they simply can no address enough memory to link llvm libraries with it.
|
||||
Without debuginfo the disk and memory requirements are much lower.
|
||||
-->
|
||||
<conditions>
|
||||
<arch>armv6l</arch>
|
||||
<arch>armv7l</arch>
|
||||
<arch>i586</arch>
|
||||
<arch>ppc</arch>
|
||||
<arch>s390</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">10</size>
|
||||
</disk>
|
||||
<memory>
|
||||
<size unit="M">2048</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>riscv64</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="M">14000</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
</constraints>
|
34
assume-opensuse.patch
Normal file
34
assume-opensuse.patch
Normal file
@ -0,0 +1,34 @@
|
||||
Index: clang-12.0.0rc1.src/lib/Driver/Distro.cpp
|
||||
===================================================================
|
||||
--- clang-12.0.0rc1.src.orig/lib/Driver/Distro.cpp
|
||||
+++ clang-12.0.0rc1.src/lib/Driver/Distro.cpp
|
||||
@@ -93,6 +93,8 @@ static Distro::DistroType DetectLsbRelease...
|
||||
}
|
||||
|
||||
static Distro::DistroType DetectDistro(llvm::vfs::FileSystem &VFS) {
|
||||
+ return Distro::OpenSUSE;
|
||||
+/*
|
||||
Distro::DistroType Version = Distro::UnknownDistro;
|
||||
|
||||
// Newer freedesktop.org's compilant systemd-based systems
|
||||
@@ -200,7 +202,7 @@ static Distro::DistroType DetectDistro(l
|
||||
if (VFS.exists("/etc/gentoo-release"))
|
||||
return Distro::Gentoo;
|
||||
|
||||
- return Distro::UnknownDistro;
|
||||
+ return Distro::UnknownDistro;*/
|
||||
}
|
||||
|
||||
static Distro::DistroType GetDistro(llvm::vfs::FileSystem &VFS,
|
||||
Index: clang-18.1.0rc1.src/unittests/Driver/CMakeLists.txt
|
||||
===================================================================
|
||||
--- clang-18.1.0rc1.src.orig/unittests/Driver/CMakeLists.txt
|
||||
+++ clang-18.1.0rc1.src/unittests/Driver/CMakeLists.txt
|
||||
@@ -7,7 +7,6 @@ set(LLVM_LINK_COMPONENTS
|
||||
)
|
||||
|
||||
add_clang_unittest(ClangDriverTests
|
||||
- DistroTest.cpp
|
||||
DXCModeTest.cpp
|
||||
GCCVersionTest.cpp
|
||||
ToolChainTest.cpp
|
2
baselibs.conf
Normal file
2
baselibs.conf
Normal file
@ -0,0 +1,2 @@
|
||||
libLLVM19
|
||||
libclang-cpp19
|
10
check-no-llvm-exegesis.patch
Normal file
10
check-no-llvm-exegesis.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- a/llvm/test/CMakeLists.txt
|
||||
+++ b/llvm/test/CMakeLists.txt
|
||||
@@ -81,7 +81,6 @@ set(LLVM_TEST_DEPENDS
|
||||
llvm-dwarfdump
|
||||
llvm-dwarfutil
|
||||
llvm-dwp
|
||||
- llvm-exegesis
|
||||
llvm-extract
|
||||
llvm-gsymutil
|
||||
llvm-isel-fuzzer
|
3
clang-19.1.3.src.tar.xz
Normal file
3
clang-19.1.3.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0a0dd316931f2cac7090d2aa434b5d0c332fe19b801c6c94f109053b52b35cc1
|
||||
size 23508744
|
BIN
clang-19.1.3.src.tar.xz.sig
Normal file
BIN
clang-19.1.3.src.tar.xz.sig
Normal file
Binary file not shown.
3
clang-19.1.4.src.tar.xz
Normal file
3
clang-19.1.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b6d123a4435f1869af709f3288c4c4db48173acaf621088400d91521bc5aa225
|
||||
size 23510712
|
BIN
clang-19.1.4.src.tar.xz.sig
Normal file
BIN
clang-19.1.4.src.tar.xz.sig
Normal file
Binary file not shown.
3
clang-19.1.5.src.tar.xz
Normal file
3
clang-19.1.5.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e7dfc8050407b5cc564c1c1afe19517255c9229cccd886dbd5bac9b652828d85
|
||||
size 23510992
|
BIN
clang-19.1.5.src.tar.xz.sig
Normal file
BIN
clang-19.1.5.src.tar.xz.sig
Normal file
Binary file not shown.
3
clang-docs-19.1.3.src.tar.xz
Normal file
3
clang-docs-19.1.3.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0f8a8d549d7d10fdb49c8de40c2bc09bafefbe7126c64f3649980b383dfb689d
|
||||
size 2048420
|
3
clang-docs-19.1.4.src.tar.xz
Normal file
3
clang-docs-19.1.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0d320173d1f712f5805bcfa84612a6195b89fc2a25603855b7b0c404d012689d
|
||||
size 2048124
|
3
clang-docs-19.1.5.src.tar.xz
Normal file
3
clang-docs-19.1.5.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a5060e2d9516329912d074e15ea23039cf48809f22ccf7dc53e2437520bec671
|
||||
size 2048276
|
14
clang-fix-modules-test-riscv.patch
Normal file
14
clang-fix-modules-test-riscv.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff --git a/clang/test/Modules/embed-files-compressed.cpp b/clang/test/Modules/embed-files-compressed.cpp
|
||||
index 873b3082a2fd..775ec699c04a 100644
|
||||
--- a/clang/test/Modules/embed-files-compressed.cpp
|
||||
+++ b/clang/test/Modules/embed-files-compressed.cpp
|
||||
@@ -17,7 +17,7 @@
|
||||
// RUN: %clang_cc1 -fmodules -I%t -fmodules-cache-path=%t -fmodule-name=a -emit-module %t/modulemap -fmodules-embed-all-files -o %t/a.pcm
|
||||
//
|
||||
// The above embeds ~4.5MB of highly-predictable /s and \ns into the pcm file.
|
||||
-// Check that the resulting file is under 60KB:
|
||||
+// Check that the resulting file is under 70KB:
|
||||
//
|
||||
// RUN: wc -c %t/a.pcm | FileCheck --check-prefix=CHECK-SIZE %s
|
||||
-// CHECK-SIZE: {{(^|[^0-9])[1-5][0-9][0-9][0-9][0-9]($|[^0-9])}}
|
||||
+// CHECK-SIZE: {{(^|[^0-9])[1-6][0-9][0-9][0-9][0-9]($|[^0-9])}}
|
35
clang-fix-openmp-test-non-x86.patch
Normal file
35
clang-fix-openmp-test-non-x86.patch
Normal file
@ -0,0 +1,35 @@
|
||||
diff --git a/clang/test/OpenMP/declare_variant_device_isa_codegen_1.c b/clang/test/OpenMP/declare_variant_device_isa_codegen_1.c
|
||||
index 029270ab8486..424614f2306c 100644
|
||||
--- a/clang/test/OpenMP/declare_variant_device_isa_codegen_1.c
|
||||
+++ b/clang/test/OpenMP/declare_variant_device_isa_codegen_1.c
|
||||
@@ -1,18 +1,18 @@
|
||||
-// RUN: %clang_cc1 -verify -fopenmp -x c -triple %itanium_abi_triple -emit-llvm %s -o - -fopenmp-version=45 | FileCheck %s --check-prefix=GENERIC
|
||||
-// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -emit-pch -o %t -fopenmp-version=45 %s
|
||||
-// RUN: %clang_cc1 -fopenmp -x c++ -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - -fopenmp-version=45 | FileCheck %s --check-prefix=GENERIC
|
||||
+// RUN: %clang_cc1 -verify -fopenmp -x c -triple x86_64-unknown-linux-gnu -emit-llvm %s -o - -fopenmp-version=45 | FileCheck %s --check-prefix=GENERIC
|
||||
+// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-linux-gnu -fexceptions -fcxx-exceptions -emit-pch -o %t -fopenmp-version=45 %s
|
||||
+// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-linux-gnu -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - -fopenmp-version=45 | FileCheck %s --check-prefix=GENERIC
|
||||
|
||||
-// RUN: %clang_cc1 -target-feature +avx512f -verify -fopenmp -x c -triple %itanium_abi_triple -emit-llvm %s -o - -fopenmp-version=45 | FileCheck %s --check-prefix=WITHFEATURE
|
||||
-// RUN: %clang_cc1 -target-feature +avx512f -fopenmp -x c++ -std=c++11 -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -emit-pch -o %t -fopenmp-version=45 %s
|
||||
-// RUN: %clang_cc1 -target-feature +avx512f -fopenmp -x c++ -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - -fopenmp-version=45 | FileCheck %s --check-prefix=WITHFEATURE
|
||||
+// RUN: %clang_cc1 -target-feature +avx512f -verify -fopenmp -x c -triple x86_64-unknown-linux-gnu -emit-llvm %s -o - -fopenmp-version=45 | FileCheck %s --check-prefix=WITHFEATURE
|
||||
+// RUN: %clang_cc1 -target-feature +avx512f -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-linux-gnu -fexceptions -fcxx-exceptions -emit-pch -o %t -fopenmp-version=45 %s
|
||||
+// RUN: %clang_cc1 -target-feature +avx512f -fopenmp -x c++ -triple x86_64-unknown-linux-gnu -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - -fopenmp-version=45 | FileCheck %s --check-prefix=WITHFEATURE
|
||||
|
||||
-// RUN: %clang_cc1 -verify -fopenmp -x c -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck %s --check-prefix=GENERIC
|
||||
-// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -emit-pch -o %t %s
|
||||
-// RUN: %clang_cc1 -fopenmp -x c++ -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s --check-prefix=GENERIC
|
||||
+// RUN: %clang_cc1 -verify -fopenmp -x c -triple x86_64-unknown-linux-gnu -emit-llvm %s -o - | FileCheck %s --check-prefix=GENERIC
|
||||
+// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-linux-gnu -fexceptions -fcxx-exceptions -emit-pch -o %t %s
|
||||
+// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-linux-gnu -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s --check-prefix=GENERIC
|
||||
|
||||
-// RUN: %clang_cc1 -target-feature +avx512f -verify -fopenmp -x c -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck %s --check-prefix=WITHFEATURE
|
||||
-// RUN: %clang_cc1 -target-feature +avx512f -fopenmp -x c++ -std=c++11 -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -emit-pch -o %t %s
|
||||
-// RUN: %clang_cc1 -target-feature +avx512f -fopenmp -x c++ -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s --check-prefix=WITHFEATURE
|
||||
+// RUN: %clang_cc1 -target-feature +avx512f -verify -fopenmp -x c -triple x86_64-unknown-linux-gnu -emit-llvm %s -o - | FileCheck %s --check-prefix=WITHFEATURE
|
||||
+// RUN: %clang_cc1 -target-feature +avx512f -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-linux-gnu -fexceptions -fcxx-exceptions -emit-pch -o %t %s
|
||||
+// RUN: %clang_cc1 -target-feature +avx512f -fopenmp -x c++ -triple x86_64-unknown-linux-gnu -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s --check-prefix=WITHFEATURE
|
||||
|
||||
// expected-no-diagnostics
|
||||
|
10
clang-fix-openmp-test.patch
Normal file
10
clang-fix-openmp-test.patch
Normal file
@ -0,0 +1,10 @@
|
||||
diff --git a/clang/test/OpenMP/nvptx_throw_trap.cpp b/clang/test/OpenMP/nvptx_throw_trap.cpp
|
||||
index c1c76c4e1b18..3efbfee17e6f 100644
|
||||
--- a/clang/test/OpenMP/nvptx_throw_trap.cpp
|
||||
+++ b/clang/test/OpenMP/nvptx_throw_trap.cpp
|
||||
@@ -1,4 +1,4 @@
|
||||
-// REQUIRES: nvptx-registered-target
|
||||
+// REQUIRES: nvptx-registered-target,x86-registered-target
|
||||
|
||||
// RUN: %clang_cc1 -fopenmp -triple nvptx64 -fopenmp-is-target-device %s -S -Wno-openmp-target-exception -o - | FileCheck -check-prefix=DEVICE %s
|
||||
// RUN: %clang_cc1 -fopenmp -triple x86_64-pc-linux-gnu -fopenmp-is-target-device -fcxx-exceptions %s -S -Wno-openmp-target-exception -o - | FileCheck -check-prefix=HOST %s
|
13
clang-resourcedirs.patch
Normal file
13
clang-resourcedirs.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: cfe-6.0.0rc1.src/lib/Driver/Driver.cpp
|
||||
===================================================================
|
||||
--- cfe-6.0.0rc1.src.orig/lib/Driver/Driver.cpp
|
||||
+++ cfe-6.0.0rc1.src/lib/Driver/Driver.cpp
|
||||
@@ -115,7 +115,7 @@ Driver::Driver(StringRef ClangExecutable
|
||||
// Dir is bin/ or lib/, depending on where BinaryPath is.
|
||||
std::string Dir = std::string(llvm::sys::path::parent_path(BinaryPath));
|
||||
|
||||
- SmallString<128> P(Dir);
|
||||
+ SmallString<128> P((Dir != "") ? Dir : "/usr/bin/");
|
||||
if (CustomResourceDir != "") {
|
||||
llvm::sys::path::append(P, CustomResourceDir);
|
||||
} else {
|
26
clang-shlib-symbol-versioning.patch
Normal file
26
clang-shlib-symbol-versioning.patch
Normal file
@ -0,0 +1,26 @@
|
||||
diff --git a/clang/tools/clang-shlib/CMakeLists.txt b/clang/tools/clang-shlib/CMakeLists.txt
|
||||
index 298d3a9d18fe..830f2b138ffa 100644
|
||||
--- a/clang/tools/clang-shlib/CMakeLists.txt
|
||||
+++ b/clang/tools/clang-shlib/CMakeLists.txt
|
||||
@@ -48,6 +48,14 @@ add_clang_library(clang-cpp
|
||||
${_OBJECTS}
|
||||
LINK_LIBS
|
||||
${_DEPS})
|
||||
+
|
||||
+configure_file(simple_version_script.map.in simple_version_script.map)
|
||||
+
|
||||
+if (NOT LLVM_LINKER_IS_SOLARISLD AND NOT MINGW)
|
||||
+ # Solaris ld does not accept global: *; so there is no way to version *all* global symbols
|
||||
+ target_link_options(clang-cpp PRIVATE LINKER:--version-script,${CMAKE_CURRENT_BINARY_DIR}/simple_version_script.map)
|
||||
+endif()
|
||||
+
|
||||
# Optimize function calls for default visibility definitions to avoid PLT and
|
||||
# reduce dynamic relocations.
|
||||
if (NOT APPLE AND NOT MINGW AND NOT LLVM_LINKER_IS_SOLARISLD_ILLUMOS)
|
||||
diff --git a/clang/tools/clang-shlib/simple_version_script.map.in b/clang/tools/clang-shlib/simple_version_script.map.in
|
||||
new file mode 100644
|
||||
index 000000000000..cb2306d1f596
|
||||
--- /dev/null
|
||||
+++ b/clang/tools/clang-shlib/simple_version_script.map.in
|
||||
@@ -0,0 +1 @@
|
||||
+@LLVM_SHLIB_SYMBOL_VERSION@ { global: *; };
|
3
clang-tools-extra-19.1.3.src.tar.xz
Normal file
3
clang-tools-extra-19.1.3.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6358ee4be9573fb025dad0a6fc9a5270fc2cb644a6504ff2970ca60abad7e345
|
||||
size 3417084
|
BIN
clang-tools-extra-19.1.3.src.tar.xz.sig
Normal file
BIN
clang-tools-extra-19.1.3.src.tar.xz.sig
Normal file
Binary file not shown.
3
clang-tools-extra-19.1.4.src.tar.xz
Normal file
3
clang-tools-extra-19.1.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e09d0becbbe4dc3dec45dbda44649357456e559b46a72004696674c963734fa6
|
||||
size 3417036
|
BIN
clang-tools-extra-19.1.4.src.tar.xz.sig
Normal file
BIN
clang-tools-extra-19.1.4.src.tar.xz.sig
Normal file
Binary file not shown.
3
clang-tools-extra-19.1.5.src.tar.xz
Normal file
3
clang-tools-extra-19.1.5.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9288a607dfb6350906e466ee49590e769ffb311a2f989889e9e52bd3e64c9398
|
||||
size 3417016
|
BIN
clang-tools-extra-19.1.5.src.tar.xz.sig
Normal file
BIN
clang-tools-extra-19.1.5.src.tar.xz.sig
Normal file
Binary file not shown.
3
cmake-19.1.3.src.tar.xz
Normal file
3
cmake-19.1.3.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4c55aa6e77fc0e8b759bca2c79ee4fd0ea8c7fab06eeea09310ae1e954a0af5e
|
||||
size 9300
|
BIN
cmake-19.1.3.src.tar.xz.sig
Normal file
BIN
cmake-19.1.3.src.tar.xz.sig
Normal file
Binary file not shown.
3
cmake-19.1.4.src.tar.xz
Normal file
3
cmake-19.1.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:dd13ce8eba6ece85cad567f028b8e16d72f3e142cdcbbd693ac23a88b4013803
|
||||
size 9296
|
BIN
cmake-19.1.4.src.tar.xz.sig
Normal file
BIN
cmake-19.1.4.src.tar.xz.sig
Normal file
Binary file not shown.
3
cmake-19.1.5.src.tar.xz
Normal file
3
cmake-19.1.5.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a08ae477571fd5e929c27d3d0d28c6168d58dd00b6354c2de3266ae0d86ad44f
|
||||
size 9300
|
BIN
cmake-19.1.5.src.tar.xz.sig
Normal file
BIN
cmake-19.1.5.src.tar.xz.sig
Normal file
Binary file not shown.
477
compact_unwind_encoding.h
Normal file
477
compact_unwind_encoding.h
Normal file
@ -0,0 +1,477 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// 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
|
||||
//
|
||||
//
|
||||
// Darwin's alternative to DWARF based unwind encodings.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
|
||||
#ifndef __COMPACT_UNWIND_ENCODING__
|
||||
#define __COMPACT_UNWIND_ENCODING__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
//
|
||||
// Compilers can emit standard DWARF FDEs in the __TEXT,__eh_frame section
|
||||
// of object files. Or compilers can emit compact unwind information in
|
||||
// the __LD,__compact_unwind section.
|
||||
//
|
||||
// When the linker creates a final linked image, it will create a
|
||||
// __TEXT,__unwind_info section. This section is a small and fast way for the
|
||||
// runtime to access unwind info for any given function. If the compiler
|
||||
// emitted compact unwind info for the function, that compact unwind info will
|
||||
// be encoded in the __TEXT,__unwind_info section. If the compiler emitted
|
||||
// DWARF unwind info, the __TEXT,__unwind_info section will contain the offset
|
||||
// of the FDE in the __TEXT,__eh_frame section in the final linked image.
|
||||
//
|
||||
// Note: Previously, the linker would transform some DWARF unwind infos into
|
||||
// compact unwind info. But that is fragile and no longer done.
|
||||
|
||||
|
||||
//
|
||||
// The compact unwind encoding is a 32-bit value which encoded in an
|
||||
// architecture specific way, which registers to restore from where, and how
|
||||
// to unwind out of the function.
|
||||
//
|
||||
typedef uint32_t compact_unwind_encoding_t;
|
||||
|
||||
|
||||
// architecture independent bits
|
||||
enum {
|
||||
UNWIND_IS_NOT_FUNCTION_START = 0x80000000,
|
||||
UNWIND_HAS_LSDA = 0x40000000,
|
||||
UNWIND_PERSONALITY_MASK = 0x30000000,
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
// x86
|
||||
//
|
||||
// 1-bit: start
|
||||
// 1-bit: has lsda
|
||||
// 2-bit: personality index
|
||||
//
|
||||
// 4-bits: 0=old, 1=ebp based, 2=stack-imm, 3=stack-ind, 4=DWARF
|
||||
// ebp based:
|
||||
// 15-bits (5*3-bits per reg) register permutation
|
||||
// 8-bits for stack offset
|
||||
// frameless:
|
||||
// 8-bits stack size
|
||||
// 3-bits stack adjust
|
||||
// 3-bits register count
|
||||
// 10-bits register permutation
|
||||
//
|
||||
enum {
|
||||
UNWIND_X86_MODE_MASK = 0x0F000000,
|
||||
UNWIND_X86_MODE_EBP_FRAME = 0x01000000,
|
||||
UNWIND_X86_MODE_STACK_IMMD = 0x02000000,
|
||||
UNWIND_X86_MODE_STACK_IND = 0x03000000,
|
||||
UNWIND_X86_MODE_DWARF = 0x04000000,
|
||||
|
||||
UNWIND_X86_EBP_FRAME_REGISTERS = 0x00007FFF,
|
||||
UNWIND_X86_EBP_FRAME_OFFSET = 0x00FF0000,
|
||||
|
||||
UNWIND_X86_FRAMELESS_STACK_SIZE = 0x00FF0000,
|
||||
UNWIND_X86_FRAMELESS_STACK_ADJUST = 0x0000E000,
|
||||
UNWIND_X86_FRAMELESS_STACK_REG_COUNT = 0x00001C00,
|
||||
UNWIND_X86_FRAMELESS_STACK_REG_PERMUTATION = 0x000003FF,
|
||||
|
||||
UNWIND_X86_DWARF_SECTION_OFFSET = 0x00FFFFFF,
|
||||
};
|
||||
|
||||
enum {
|
||||
UNWIND_X86_REG_NONE = 0,
|
||||
UNWIND_X86_REG_EBX = 1,
|
||||
UNWIND_X86_REG_ECX = 2,
|
||||
UNWIND_X86_REG_EDX = 3,
|
||||
UNWIND_X86_REG_EDI = 4,
|
||||
UNWIND_X86_REG_ESI = 5,
|
||||
UNWIND_X86_REG_EBP = 6,
|
||||
};
|
||||
|
||||
//
|
||||
// For x86 there are four modes for the compact unwind encoding:
|
||||
// UNWIND_X86_MODE_EBP_FRAME:
|
||||
// EBP based frame where EBP is push on stack immediately after return address,
|
||||
// then ESP is moved to EBP. Thus, to unwind ESP is restored with the current
|
||||
// EPB value, then EBP is restored by popping off the stack, and the return
|
||||
// is done by popping the stack once more into the pc.
|
||||
// All non-volatile registers that need to be restored must have been saved
|
||||
// in a small range in the stack that starts EBP-4 to EBP-1020. The offset/4
|
||||
// is encoded in the UNWIND_X86_EBP_FRAME_OFFSET bits. The registers saved
|
||||
// are encoded in the UNWIND_X86_EBP_FRAME_REGISTERS bits as five 3-bit entries.
|
||||
// Each entry contains which register to restore.
|
||||
// UNWIND_X86_MODE_STACK_IMMD:
|
||||
// A "frameless" (EBP not used as frame pointer) function with a small
|
||||
// constant stack size. To return, a constant (encoded in the compact
|
||||
// unwind encoding) is added to the ESP. Then the return is done by
|
||||
// popping the stack into the pc.
|
||||
// All non-volatile registers that need to be restored must have been saved
|
||||
// on the stack immediately after the return address. The stack_size/4 is
|
||||
// encoded in the UNWIND_X86_FRAMELESS_STACK_SIZE (max stack size is 1024).
|
||||
// The number of registers saved is encoded in UNWIND_X86_FRAMELESS_STACK_REG_COUNT.
|
||||
// UNWIND_X86_FRAMELESS_STACK_REG_PERMUTATION contains which registers were
|
||||
// saved and their order.
|
||||
// UNWIND_X86_MODE_STACK_IND:
|
||||
// A "frameless" (EBP not used as frame pointer) function large constant
|
||||
// stack size. This case is like the previous, except the stack size is too
|
||||
// large to encode in the compact unwind encoding. Instead it requires that
|
||||
// the function contains "subl $nnnnnnnn,ESP" in its prolog. The compact
|
||||
// encoding contains the offset to the nnnnnnnn value in the function in
|
||||
// UNWIND_X86_FRAMELESS_STACK_SIZE.
|
||||
// UNWIND_X86_MODE_DWARF:
|
||||
// No compact unwind encoding is available. Instead the low 24-bits of the
|
||||
// compact encoding is the offset of the DWARF FDE in the __eh_frame section.
|
||||
// This mode is never used in object files. It is only generated by the
|
||||
// linker in final linked images which have only DWARF unwind info for a
|
||||
// function.
|
||||
//
|
||||
// The permutation encoding is a Lehmer code sequence encoded into a
|
||||
// single variable-base number so we can encode the ordering of up to
|
||||
// six registers in a 10-bit space.
|
||||
//
|
||||
// The following is the algorithm used to create the permutation encoding used
|
||||
// with frameless stacks. It is passed the number of registers to be saved and
|
||||
// an array of the register numbers saved.
|
||||
//
|
||||
//uint32_t permute_encode(uint32_t registerCount, const uint32_t registers[6])
|
||||
//{
|
||||
// uint32_t renumregs[6];
|
||||
// for (int i=6-registerCount; i < 6; ++i) {
|
||||
// int countless = 0;
|
||||
// for (int j=6-registerCount; j < i; ++j) {
|
||||
// if ( registers[j] < registers[i] )
|
||||
// ++countless;
|
||||
// }
|
||||
// renumregs[i] = registers[i] - countless -1;
|
||||
// }
|
||||
// uint32_t permutationEncoding = 0;
|
||||
// switch ( registerCount ) {
|
||||
// case 6:
|
||||
// permutationEncoding |= (120*renumregs[0] + 24*renumregs[1]
|
||||
// + 6*renumregs[2] + 2*renumregs[3]
|
||||
// + renumregs[4]);
|
||||
// break;
|
||||
// case 5:
|
||||
// permutationEncoding |= (120*renumregs[1] + 24*renumregs[2]
|
||||
// + 6*renumregs[3] + 2*renumregs[4]
|
||||
// + renumregs[5]);
|
||||
// break;
|
||||
// case 4:
|
||||
// permutationEncoding |= (60*renumregs[2] + 12*renumregs[3]
|
||||
// + 3*renumregs[4] + renumregs[5]);
|
||||
// break;
|
||||
// case 3:
|
||||
// permutationEncoding |= (20*renumregs[3] + 4*renumregs[4]
|
||||
// + renumregs[5]);
|
||||
// break;
|
||||
// case 2:
|
||||
// permutationEncoding |= (5*renumregs[4] + renumregs[5]);
|
||||
// break;
|
||||
// case 1:
|
||||
// permutationEncoding |= (renumregs[5]);
|
||||
// break;
|
||||
// }
|
||||
// return permutationEncoding;
|
||||
//}
|
||||
//
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
// x86_64
|
||||
//
|
||||
// 1-bit: start
|
||||
// 1-bit: has lsda
|
||||
// 2-bit: personality index
|
||||
//
|
||||
// 4-bits: 0=old, 1=rbp based, 2=stack-imm, 3=stack-ind, 4=DWARF
|
||||
// rbp based:
|
||||
// 15-bits (5*3-bits per reg) register permutation
|
||||
// 8-bits for stack offset
|
||||
// frameless:
|
||||
// 8-bits stack size
|
||||
// 3-bits stack adjust
|
||||
// 3-bits register count
|
||||
// 10-bits register permutation
|
||||
//
|
||||
enum {
|
||||
UNWIND_X86_64_MODE_MASK = 0x0F000000,
|
||||
UNWIND_X86_64_MODE_RBP_FRAME = 0x01000000,
|
||||
UNWIND_X86_64_MODE_STACK_IMMD = 0x02000000,
|
||||
UNWIND_X86_64_MODE_STACK_IND = 0x03000000,
|
||||
UNWIND_X86_64_MODE_DWARF = 0x04000000,
|
||||
|
||||
UNWIND_X86_64_RBP_FRAME_REGISTERS = 0x00007FFF,
|
||||
UNWIND_X86_64_RBP_FRAME_OFFSET = 0x00FF0000,
|
||||
|
||||
UNWIND_X86_64_FRAMELESS_STACK_SIZE = 0x00FF0000,
|
||||
UNWIND_X86_64_FRAMELESS_STACK_ADJUST = 0x0000E000,
|
||||
UNWIND_X86_64_FRAMELESS_STACK_REG_COUNT = 0x00001C00,
|
||||
UNWIND_X86_64_FRAMELESS_STACK_REG_PERMUTATION = 0x000003FF,
|
||||
|
||||
UNWIND_X86_64_DWARF_SECTION_OFFSET = 0x00FFFFFF,
|
||||
};
|
||||
|
||||
enum {
|
||||
UNWIND_X86_64_REG_NONE = 0,
|
||||
UNWIND_X86_64_REG_RBX = 1,
|
||||
UNWIND_X86_64_REG_R12 = 2,
|
||||
UNWIND_X86_64_REG_R13 = 3,
|
||||
UNWIND_X86_64_REG_R14 = 4,
|
||||
UNWIND_X86_64_REG_R15 = 5,
|
||||
UNWIND_X86_64_REG_RBP = 6,
|
||||
};
|
||||
//
|
||||
// For x86_64 there are four modes for the compact unwind encoding:
|
||||
// UNWIND_X86_64_MODE_RBP_FRAME:
|
||||
// RBP based frame where RBP is push on stack immediately after return address,
|
||||
// then RSP is moved to RBP. Thus, to unwind RSP is restored with the current
|
||||
// EPB value, then RBP is restored by popping off the stack, and the return
|
||||
// is done by popping the stack once more into the pc.
|
||||
// All non-volatile registers that need to be restored must have been saved
|
||||
// in a small range in the stack that starts RBP-8 to RBP-2040. The offset/8
|
||||
// is encoded in the UNWIND_X86_64_RBP_FRAME_OFFSET bits. The registers saved
|
||||
// are encoded in the UNWIND_X86_64_RBP_FRAME_REGISTERS bits as five 3-bit entries.
|
||||
// Each entry contains which register to restore.
|
||||
// UNWIND_X86_64_MODE_STACK_IMMD:
|
||||
// A "frameless" (RBP not used as frame pointer) function with a small
|
||||
// constant stack size. To return, a constant (encoded in the compact
|
||||
// unwind encoding) is added to the RSP. Then the return is done by
|
||||
// popping the stack into the pc.
|
||||
// All non-volatile registers that need to be restored must have been saved
|
||||
// on the stack immediately after the return address. The stack_size/8 is
|
||||
// encoded in the UNWIND_X86_64_FRAMELESS_STACK_SIZE (max stack size is 2048).
|
||||
// The number of registers saved is encoded in UNWIND_X86_64_FRAMELESS_STACK_REG_COUNT.
|
||||
// UNWIND_X86_64_FRAMELESS_STACK_REG_PERMUTATION contains which registers were
|
||||
// saved and their order.
|
||||
// UNWIND_X86_64_MODE_STACK_IND:
|
||||
// A "frameless" (RBP not used as frame pointer) function large constant
|
||||
// stack size. This case is like the previous, except the stack size is too
|
||||
// large to encode in the compact unwind encoding. Instead it requires that
|
||||
// the function contains "subq $nnnnnnnn,RSP" in its prolog. The compact
|
||||
// encoding contains the offset to the nnnnnnnn value in the function in
|
||||
// UNWIND_X86_64_FRAMELESS_STACK_SIZE.
|
||||
// UNWIND_X86_64_MODE_DWARF:
|
||||
// No compact unwind encoding is available. Instead the low 24-bits of the
|
||||
// compact encoding is the offset of the DWARF FDE in the __eh_frame section.
|
||||
// This mode is never used in object files. It is only generated by the
|
||||
// linker in final linked images which have only DWARF unwind info for a
|
||||
// function.
|
||||
//
|
||||
|
||||
|
||||
// ARM64
|
||||
//
|
||||
// 1-bit: start
|
||||
// 1-bit: has lsda
|
||||
// 2-bit: personality index
|
||||
//
|
||||
// 4-bits: 4=frame-based, 3=DWARF, 2=frameless
|
||||
// frameless:
|
||||
// 12-bits of stack size
|
||||
// frame-based:
|
||||
// 4-bits D reg pairs saved
|
||||
// 5-bits X reg pairs saved
|
||||
// DWARF:
|
||||
// 24-bits offset of DWARF FDE in __eh_frame section
|
||||
//
|
||||
enum {
|
||||
UNWIND_ARM64_MODE_MASK = 0x0F000000,
|
||||
UNWIND_ARM64_MODE_FRAMELESS = 0x02000000,
|
||||
UNWIND_ARM64_MODE_DWARF = 0x03000000,
|
||||
UNWIND_ARM64_MODE_FRAME = 0x04000000,
|
||||
|
||||
UNWIND_ARM64_FRAME_X19_X20_PAIR = 0x00000001,
|
||||
UNWIND_ARM64_FRAME_X21_X22_PAIR = 0x00000002,
|
||||
UNWIND_ARM64_FRAME_X23_X24_PAIR = 0x00000004,
|
||||
UNWIND_ARM64_FRAME_X25_X26_PAIR = 0x00000008,
|
||||
UNWIND_ARM64_FRAME_X27_X28_PAIR = 0x00000010,
|
||||
UNWIND_ARM64_FRAME_D8_D9_PAIR = 0x00000100,
|
||||
UNWIND_ARM64_FRAME_D10_D11_PAIR = 0x00000200,
|
||||
UNWIND_ARM64_FRAME_D12_D13_PAIR = 0x00000400,
|
||||
UNWIND_ARM64_FRAME_D14_D15_PAIR = 0x00000800,
|
||||
|
||||
UNWIND_ARM64_FRAMELESS_STACK_SIZE_MASK = 0x00FFF000,
|
||||
UNWIND_ARM64_DWARF_SECTION_OFFSET = 0x00FFFFFF,
|
||||
};
|
||||
// For arm64 there are three modes for the compact unwind encoding:
|
||||
// UNWIND_ARM64_MODE_FRAME:
|
||||
// This is a standard arm64 prolog where FP/LR are immediately pushed on the
|
||||
// stack, then SP is copied to FP. If there are any non-volatile registers
|
||||
// saved, then are copied into the stack frame in pairs in a contiguous
|
||||
// range right below the saved FP/LR pair. Any subset of the five X pairs
|
||||
// and four D pairs can be saved, but the memory layout must be in register
|
||||
// number order.
|
||||
// UNWIND_ARM64_MODE_FRAMELESS:
|
||||
// A "frameless" leaf function, where FP/LR are not saved. The return address
|
||||
// remains in LR throughout the function. If any non-volatile registers
|
||||
// are saved, they must be pushed onto the stack before any stack space is
|
||||
// allocated for local variables. The stack sized (including any saved
|
||||
// non-volatile registers) divided by 16 is encoded in the bits
|
||||
// UNWIND_ARM64_FRAMELESS_STACK_SIZE_MASK.
|
||||
// UNWIND_ARM64_MODE_DWARF:
|
||||
// No compact unwind encoding is available. Instead the low 24-bits of the
|
||||
// compact encoding is the offset of the DWARF FDE in the __eh_frame section.
|
||||
// This mode is never used in object files. It is only generated by the
|
||||
// linker in final linked images which have only DWARF unwind info for a
|
||||
// function.
|
||||
//
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Relocatable Object Files: __LD,__compact_unwind
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//
|
||||
// A compiler can generated compact unwind information for a function by adding
|
||||
// a "row" to the __LD,__compact_unwind section. This section has the
|
||||
// S_ATTR_DEBUG bit set, so the section will be ignored by older linkers.
|
||||
// It is removed by the new linker, so never ends up in final executables.
|
||||
// This section is a table, initially with one row per function (that needs
|
||||
// unwind info). The table columns and some conceptual entries are:
|
||||
//
|
||||
// range-start pointer to start of function/range
|
||||
// range-length
|
||||
// compact-unwind-encoding 32-bit encoding
|
||||
// personality-function or zero if no personality function
|
||||
// lsda or zero if no LSDA data
|
||||
//
|
||||
// The length and encoding fields are 32-bits. The other are all pointer sized.
|
||||
//
|
||||
// In x86_64 assembly, these entry would look like:
|
||||
//
|
||||
// .section __LD,__compact_unwind,regular,debug
|
||||
//
|
||||
// #compact unwind for _foo
|
||||
// .quad _foo
|
||||
// .set L1,LfooEnd-_foo
|
||||
// .long L1
|
||||
// .long 0x01010001
|
||||
// .quad 0
|
||||
// .quad 0
|
||||
//
|
||||
// #compact unwind for _bar
|
||||
// .quad _bar
|
||||
// .set L2,LbarEnd-_bar
|
||||
// .long L2
|
||||
// .long 0x01020011
|
||||
// .quad __gxx_personality
|
||||
// .quad except_tab1
|
||||
//
|
||||
//
|
||||
// Notes: There is no need for any labels in the __compact_unwind section.
|
||||
// The use of the .set directive is to force the evaluation of the
|
||||
// range-length at assembly time, instead of generating relocations.
|
||||
//
|
||||
// To support future compiler optimizations where which non-volatile registers
|
||||
// are saved changes within a function (e.g. delay saving non-volatiles until
|
||||
// necessary), there can by multiple lines in the __compact_unwind table for one
|
||||
// function, each with a different (non-overlapping) range and each with
|
||||
// different compact unwind encodings that correspond to the non-volatiles
|
||||
// saved at that range of the function.
|
||||
//
|
||||
// If a particular function is so wacky that there is no compact unwind way
|
||||
// to encode it, then the compiler can emit traditional DWARF unwind info.
|
||||
// The runtime will use which ever is available.
|
||||
//
|
||||
// Runtime support for compact unwind encodings are only available on 10.6
|
||||
// and later. So, the compiler should not generate it when targeting pre-10.6.
|
||||
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Final Linked Images: __TEXT,__unwind_info
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//
|
||||
// The __TEXT,__unwind_info section is laid out for an efficient two level lookup.
|
||||
// The header of the section contains a coarse index that maps function address
|
||||
// to the page (4096 byte block) containing the unwind info for that function.
|
||||
//
|
||||
|
||||
#define UNWIND_SECTION_VERSION 1
|
||||
struct unwind_info_section_header
|
||||
{
|
||||
uint32_t version; // UNWIND_SECTION_VERSION
|
||||
uint32_t commonEncodingsArraySectionOffset;
|
||||
uint32_t commonEncodingsArrayCount;
|
||||
uint32_t personalityArraySectionOffset;
|
||||
uint32_t personalityArrayCount;
|
||||
uint32_t indexSectionOffset;
|
||||
uint32_t indexCount;
|
||||
// compact_unwind_encoding_t[]
|
||||
// uint32_t personalities[]
|
||||
// unwind_info_section_header_index_entry[]
|
||||
// unwind_info_section_header_lsda_index_entry[]
|
||||
};
|
||||
|
||||
struct unwind_info_section_header_index_entry
|
||||
{
|
||||
uint32_t functionOffset;
|
||||
uint32_t secondLevelPagesSectionOffset; // section offset to start of regular or compress page
|
||||
uint32_t lsdaIndexArraySectionOffset; // section offset to start of lsda_index array for this range
|
||||
};
|
||||
|
||||
struct unwind_info_section_header_lsda_index_entry
|
||||
{
|
||||
uint32_t functionOffset;
|
||||
uint32_t lsdaOffset;
|
||||
};
|
||||
|
||||
//
|
||||
// There are two kinds of second level index pages: regular and compressed.
|
||||
// A compressed page can hold up to 1021 entries, but it cannot be used
|
||||
// if too many different encoding types are used. The regular page holds
|
||||
// 511 entries.
|
||||
//
|
||||
|
||||
struct unwind_info_regular_second_level_entry
|
||||
{
|
||||
uint32_t functionOffset;
|
||||
compact_unwind_encoding_t encoding;
|
||||
};
|
||||
|
||||
#define UNWIND_SECOND_LEVEL_REGULAR 2
|
||||
struct unwind_info_regular_second_level_page_header
|
||||
{
|
||||
uint32_t kind; // UNWIND_SECOND_LEVEL_REGULAR
|
||||
uint16_t entryPageOffset;
|
||||
uint16_t entryCount;
|
||||
// entry array
|
||||
};
|
||||
|
||||
#define UNWIND_SECOND_LEVEL_COMPRESSED 3
|
||||
struct unwind_info_compressed_second_level_page_header
|
||||
{
|
||||
uint32_t kind; // UNWIND_SECOND_LEVEL_COMPRESSED
|
||||
uint16_t entryPageOffset;
|
||||
uint16_t entryCount;
|
||||
uint16_t encodingsPageOffset;
|
||||
uint16_t encodingsCount;
|
||||
// 32-bit entry array
|
||||
// encodings array
|
||||
};
|
||||
|
||||
#define UNWIND_INFO_COMPRESSED_ENTRY_FUNC_OFFSET(entry) (entry & 0x00FFFFFF)
|
||||
#define UNWIND_INFO_COMPRESSED_ENTRY_ENCODING_INDEX(entry) ((entry >> 24) & 0xFF)
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
3
compiler-rt-19.1.3.src.tar.xz
Normal file
3
compiler-rt-19.1.3.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9c57dfa7796c254f85ade3f84f12e3a7dd5dae65c0ade428367fe8c5218f856a
|
||||
size 2528276
|
BIN
compiler-rt-19.1.3.src.tar.xz.sig
Normal file
BIN
compiler-rt-19.1.3.src.tar.xz.sig
Normal file
Binary file not shown.
3
compiler-rt-19.1.4.src.tar.xz
Normal file
3
compiler-rt-19.1.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:433f9f513313b6e34626fab516e92a97ea087484fce40218e928b9538910cd27
|
||||
size 2529144
|
BIN
compiler-rt-19.1.4.src.tar.xz.sig
Normal file
BIN
compiler-rt-19.1.4.src.tar.xz.sig
Normal file
Binary file not shown.
3
compiler-rt-19.1.5.src.tar.xz
Normal file
3
compiler-rt-19.1.5.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2ab7fc54e814b4da16a60c640971b8a80d32d4692a0326861af499fea20f13f8
|
||||
size 2528768
|
BIN
compiler-rt-19.1.5.src.tar.xz.sig
Normal file
BIN
compiler-rt-19.1.5.src.tar.xz.sig
Normal file
Binary file not shown.
15
default-to-i586.patch
Normal file
15
default-to-i586.patch
Normal file
@ -0,0 +1,15 @@
|
||||
Index: cfe-6.0.0rc1.src/lib/Driver/ToolChains/Arch/X86.cpp
|
||||
===================================================================
|
||||
--- cfe-6.0.0rc1.src.orig/lib/Driver/ToolChains/Arch/X86.cpp
|
||||
+++ cfe-6.0.0rc1.src/lib/Driver/ToolChains/Arch/X86.cpp
|
||||
@@ -102,8 +102,8 @@ const char *x86::getX86TargetCPU(const A
|
||||
case llvm::Triple::FreeBSD:
|
||||
return "i686";
|
||||
default:
|
||||
- // Fallback to p4.
|
||||
- return "pentium4";
|
||||
+ // Fallback to i586.
|
||||
+ return "i586";
|
||||
}
|
||||
}
|
||||
|
3
libcxx-19.1.3.src.tar.xz
Normal file
3
libcxx-19.1.3.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cd5680e5ee4803bbe5c4007e4c546b7263525466049832c630c3fd5fc027468c
|
||||
size 4745616
|
BIN
libcxx-19.1.3.src.tar.xz.sig
Normal file
BIN
libcxx-19.1.3.src.tar.xz.sig
Normal file
Binary file not shown.
3
libcxx-19.1.4.src.tar.xz
Normal file
3
libcxx-19.1.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a8842bc2c76afb01dd2bba3ade323194b630b90607174129b22a21caf0a11060
|
||||
size 4744592
|
BIN
libcxx-19.1.4.src.tar.xz.sig
Normal file
BIN
libcxx-19.1.4.src.tar.xz.sig
Normal file
Binary file not shown.
3
libcxx-19.1.5.src.tar.xz
Normal file
3
libcxx-19.1.5.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f77b2cc52fa8d00215b674c33f0900961d3701259fadb9ccd25e24864b5508f4
|
||||
size 4720240
|
BIN
libcxx-19.1.5.src.tar.xz.sig
Normal file
BIN
libcxx-19.1.5.src.tar.xz.sig
Normal file
Binary file not shown.
15
libcxx-test-library-path.patch
Normal file
15
libcxx-test-library-path.patch
Normal file
@ -0,0 +1,15 @@
|
||||
--- a/libcxx/test/configs/llvm-libc++-shared.cfg.in
|
||||
+++ b/libcxx/test/configs/llvm-libc++-shared.cfg.in
|
||||
@@ -9,10 +9,10 @@ config.substitutions.append(('%{compile_flags}',
|
||||
'-nostdinc++ -I %{target-include-dir} -I %{include-dir} -I %{libcxx-dir}/test/support'
|
||||
))
|
||||
config.substitutions.append(('%{link_flags}',
|
||||
- '-nostdlib++ -L %{lib-dir} -Wl,-rpath,%{lib-dir} -lc++'
|
||||
+ '-nostdlib++ -L %{lib-dir} -lc++'
|
||||
))
|
||||
config.substitutions.append(('%{exec}',
|
||||
- '%{executor} --execdir %T -- '
|
||||
+ '%{executor} --execdir %T --env LD_LIBRARY_PATH=%{lib} -- '
|
||||
))
|
||||
|
||||
import os, site
|
3
libcxxabi-19.1.3.src.tar.xz
Normal file
3
libcxxabi-19.1.3.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:34a2defb1b220cecf9493c99e40c1c7e586f0615b68e432b6183cdaaae1be4f2
|
||||
size 583688
|
BIN
libcxxabi-19.1.3.src.tar.xz.sig
Normal file
BIN
libcxxabi-19.1.3.src.tar.xz.sig
Normal file
Binary file not shown.
3
libcxxabi-19.1.4.src.tar.xz
Normal file
3
libcxxabi-19.1.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6105412c1dc37505bb41650fb71f4c9445b75342a2128881570916a138fb6a45
|
||||
size 583700
|
BIN
libcxxabi-19.1.4.src.tar.xz.sig
Normal file
BIN
libcxxabi-19.1.4.src.tar.xz.sig
Normal file
Binary file not shown.
3
libcxxabi-19.1.5.src.tar.xz
Normal file
3
libcxxabi-19.1.5.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:43b09350620f01e068a72eee0ee993d758abc58e00ad9d30fbb7b56d13e8fa8b
|
||||
size 583616
|
BIN
libcxxabi-19.1.5.src.tar.xz.sig
Normal file
BIN
libcxxabi-19.1.5.src.tar.xz.sig
Normal file
Binary file not shown.
58
link-clang-shared.patch
Normal file
58
link-clang-shared.patch
Normal file
@ -0,0 +1,58 @@
|
||||
diff --git a/clang/tools/c-index-test/CMakeLists.txt b/clang/tools/c-index-test/CMakeLists.txt
|
||||
index ceef4b08637..606149ad74f 100644
|
||||
--- a/clang/tools/c-index-test/CMakeLists.txt
|
||||
+++ b/clang/tools/c-index-test/CMakeLists.txt
|
||||
@@ -18,6 +18,9 @@ if (LLVM_BUILD_STATIC)
|
||||
target_link_libraries(c-index-test
|
||||
PRIVATE
|
||||
libclang_static
|
||||
+ )
|
||||
+ clang_target_link_libraries(c-index-test
|
||||
+ PRIVATE
|
||||
clangCodeGen
|
||||
clangIndex
|
||||
)
|
||||
@@ -25,6 +28,9 @@ else()
|
||||
target_link_libraries(c-index-test
|
||||
PRIVATE
|
||||
libclang
|
||||
+ )
|
||||
+ clang_target_link_libraries(c-index-test
|
||||
+ PRIVATE
|
||||
clangAST
|
||||
clangBasic
|
||||
clangCodeGen
|
||||
diff --git a/clang/tools/libclang/CMakeLists.txt b/clang/tools/libclang/CMakeLists.txt
|
||||
index 4f23065..343f977 100644
|
||||
--- a/clang/tools/libclang/CMakeLists.txt
|
||||
+++ b/clang/tools/libclang/CMakeLists.txt
|
||||
@@ -57,7 +57,7 @@ set(SOURCES
|
||||
../../include/clang-c/Index.h
|
||||
)
|
||||
|
||||
-set(LIBS
|
||||
+set(CLANG_LIB_DEPS
|
||||
clangAST
|
||||
clangBasic
|
||||
clangDriver
|
||||
@@ -72,7 +72,7 @@ set(LIBS
|
||||
)
|
||||
|
||||
if (CLANG_ENABLE_ARCMT)
|
||||
- list(APPEND LIBS clangARCMigrate)
|
||||
+ list(APPEND CLANG_LIB_DEPS clangARCMigrate)
|
||||
endif ()
|
||||
|
||||
if (HAVE_LIBDL)
|
||||
@@ -152,6 +152,11 @@ add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} INSTALL_WITH_TOOLCH
|
||||
TargetParser
|
||||
)
|
||||
|
||||
+clang_target_link_libraries(libclang
|
||||
+ PRIVATE
|
||||
+ ${CLANG_LIB_DEPS}
|
||||
+ )
|
||||
+
|
||||
if(ENABLE_STATIC)
|
||||
foreach(name libclang obj.libclang libclang_static)
|
||||
if (TARGET ${name})
|
62
link-clang-tools-extra-shared.patch
Normal file
62
link-clang-tools-extra-shared.patch
Normal file
@ -0,0 +1,62 @@
|
||||
diff --git a/clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt b/clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt
|
||||
index 6d0328ed831..d531e44743a 100644
|
||||
--- a/clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt
|
||||
+++ b/clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt
|
||||
@@ -2,16 +2,19 @@ add_clang_library(clangIncludeFixerPlugin
|
||||
IncludeFixerPlugin.cpp
|
||||
|
||||
LINK_LIBS
|
||||
+ clangIncludeFixer
|
||||
+ ${LLVM_PTHREAD_LIB}
|
||||
+
|
||||
+ DEPENDS
|
||||
+ omp_gen
|
||||
+ ClangDriverOptions
|
||||
+ )
|
||||
+clang_target_link_libraries(clangIncludeFixerPlugin
|
||||
+ PRIVATE
|
||||
clangAST
|
||||
clangBasic
|
||||
clangFrontend
|
||||
- clangIncludeFixer
|
||||
clangParse
|
||||
clangSema
|
||||
clangTooling
|
||||
- ${LLVM_PTHREAD_LIB}
|
||||
-
|
||||
- DEPENDS
|
||||
- omp_gen
|
||||
- ClangDriverOptions
|
||||
)
|
||||
diff --git a/clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt b/clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
|
||||
index 8f708cacfdf..b08e9cee954 100644
|
||||
--- a/clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
|
||||
+++ b/clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
|
||||
@@ -32,18 +32,21 @@ add_clang_library(clangDaemonTweaks OBJECT
|
||||
SwapIfBranches.cpp
|
||||
|
||||
LINK_LIBS
|
||||
- clangAST
|
||||
- clangBasic
|
||||
clangDaemon
|
||||
clangdSupport
|
||||
+
|
||||
+ DEPENDS
|
||||
+ omp_gen
|
||||
+ ClangDriverOptions
|
||||
+ )
|
||||
+
|
||||
+clang_target_link_libraries(clangDaemonTweaks INTERFACE
|
||||
+ clangAST
|
||||
+ clangBasic
|
||||
clangFormat
|
||||
clangLex
|
||||
clangSema
|
||||
clangToolingCore
|
||||
clangToolingRefactoring
|
||||
clangToolingSyntax
|
||||
-
|
||||
- DEPENDS
|
||||
- omp_gen
|
||||
- ClangDriverOptions
|
||||
)
|
3
lld-19.1.3.src.tar.xz
Normal file
3
lld-19.1.3.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:74b7785f5ae03ffe8af71b76eebbb192ac722af2189bed96e8693bd694d1f7fd
|
||||
size 1645472
|
BIN
lld-19.1.3.src.tar.xz.sig
Normal file
BIN
lld-19.1.3.src.tar.xz.sig
Normal file
Binary file not shown.
3
lld-19.1.4.src.tar.xz
Normal file
3
lld-19.1.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f4309e05f6a278ee2ecb5b76dfbbec6db858c13099e7e29342e29400588e8d70
|
||||
size 1645548
|
BIN
lld-19.1.4.src.tar.xz.sig
Normal file
BIN
lld-19.1.4.src.tar.xz.sig
Normal file
Binary file not shown.
3
lld-19.1.5.src.tar.xz
Normal file
3
lld-19.1.5.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f71835d49461a15c283aa9030a854abfd7c651a685d711a67158644b043f6f14
|
||||
size 1645712
|
BIN
lld-19.1.5.src.tar.xz.sig
Normal file
BIN
lld-19.1.5.src.tar.xz.sig
Normal file
Binary file not shown.
3
lldb-19.1.3.src.tar.xz
Normal file
3
lldb-19.1.3.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b4021ef6a77ba22d2c94cad3d2550849b693788a4568ec0a1e063c3907bfaa39
|
||||
size 10688736
|
BIN
lldb-19.1.3.src.tar.xz.sig
Normal file
BIN
lldb-19.1.3.src.tar.xz.sig
Normal file
Binary file not shown.
3
lldb-19.1.4.src.tar.xz
Normal file
3
lldb-19.1.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:99fcd9f53f12fdd06841fd9bb9e3be4045a31b12a697112c8e8ddade01887ff7
|
||||
size 10689504
|
BIN
lldb-19.1.4.src.tar.xz.sig
Normal file
BIN
lldb-19.1.4.src.tar.xz.sig
Normal file
Binary file not shown.
3
lldb-19.1.5.src.tar.xz
Normal file
3
lldb-19.1.5.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b49072d9b11d2a7a6ecbbe2cb620d124d1772e80cdd1caaec9eceafb604b9830
|
||||
size 10688840
|
BIN
lldb-19.1.5.src.tar.xz.sig
Normal file
BIN
lldb-19.1.5.src.tar.xz.sig
Normal file
Binary file not shown.
13
lldb-cmake.patch
Normal file
13
lldb-cmake.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: lldb-10.0.0rc1.src/source/Host/CMakeLists.txt
|
||||
===================================================================
|
||||
--- lldb-10.0.0rc1.src.orig/source/Host/CMakeLists.txt
|
||||
+++ lldb-10.0.0rc1.src/source/Host/CMakeLists.txt
|
||||
@@ -143,6 +143,8 @@ endif()
|
||||
set(EXTRA_LIBS)
|
||||
if (CMAKE_SYSTEM_NAME MATCHES "NetBSD")
|
||||
list(APPEND EXTRA_LIBS kvm)
|
||||
+elseif (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
+ list(APPEND EXTRA_LIBS dl pthread)
|
||||
endif()
|
||||
if (LLDB_ENABLE_LIBXML2)
|
||||
list(APPEND EXTRA_LIBS LibXml2::LibXml2)
|
3
llvm-19.1.3.src.tar.xz
Normal file
3
llvm-19.1.3.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:11e166d0f291a53cfc6b9e58abd1d7954de32ebc37672987612d3b7075d88411
|
||||
size 67810976
|
BIN
llvm-19.1.3.src.tar.xz.sig
Normal file
BIN
llvm-19.1.3.src.tar.xz.sig
Normal file
Binary file not shown.
3
llvm-19.1.4.src.tar.xz
Normal file
3
llvm-19.1.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4fe1bc197ff13f33af6179f836ce1cf2ae9886b822974a736f3a20c8aed0c1b2
|
||||
size 67817796
|
BIN
llvm-19.1.4.src.tar.xz.sig
Normal file
BIN
llvm-19.1.4.src.tar.xz.sig
Normal file
Binary file not shown.
3
llvm-19.1.5.src.tar.xz
Normal file
3
llvm-19.1.5.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7d71635948e4da1814ce8e15ec45399e4094a5442e86d352c96ded0f2b3171b6
|
||||
size 67825988
|
BIN
llvm-19.1.5.src.tar.xz.sig
Normal file
BIN
llvm-19.1.5.src.tar.xz.sig
Normal file
Binary file not shown.
140
llvm-do-not-install-static-libraries.patch
Normal file
140
llvm-do-not-install-static-libraries.patch
Normal file
@ -0,0 +1,140 @@
|
||||
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
|
||||
disk usage during installation.
|
||||
|
||||
Index: clang-19.1.5.src/cmake/modules/AddClang.cmake
|
||||
===================================================================
|
||||
--- a/clang-19.1.5.src/cmake/modules/AddClang.cmake
|
||||
+++ b/clang-19.1.5.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)
|
||||
get_target_export_arg(${name} Clang export_to_clangtargets UMBRELLA clang-libraries)
|
||||
- install(TARGETS ${lib}
|
||||
- COMPONENT ${lib}
|
||||
- ${export_to_clangtargets}
|
||||
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
||||
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
||||
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
+ if (ARG_SHARED OR ARG_MODULE)
|
||||
+ install(TARGETS ${lib}
|
||||
+ COMPONENT ${lib}
|
||||
+ ${export_to_clangtargets}
|
||||
+ LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
||||
+ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
||||
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
+ set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${lib})
|
||||
+ endif()
|
||||
|
||||
if (NOT LLVM_ENABLE_IDE)
|
||||
add_llvm_install_targets(install-${lib}
|
||||
@@ -121,7 +124,6 @@ macro(add_clang_library name)
|
||||
|
||||
set_property(GLOBAL APPEND PROPERTY CLANG_LIBS ${lib})
|
||||
endif()
|
||||
- set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${lib})
|
||||
else()
|
||||
# Add empty "phony" target
|
||||
add_custom_target(${lib})
|
||||
Index: cmake/modules/AddLLVM.cmake
|
||||
===================================================================
|
||||
--- a/cmake/modules/AddLLVM.cmake
|
||||
+++ b/cmake/modules/AddLLVM.cmake
|
||||
@@ -933,11 +933,14 @@ macro(add_llvm_library name)
|
||||
endif()
|
||||
|
||||
get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella})
|
||||
- install(TARGETS ${name}
|
||||
- ${export_to_llvmexports}
|
||||
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
|
||||
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
|
||||
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name})
|
||||
+ if(ARG_SHARED OR ARG_MODULE OR NOT LLVM_BUILD_LLVM_DYLIB)
|
||||
+ install(TARGETS ${name}
|
||||
+ ${export_to_llvmexports}
|
||||
+ LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
|
||||
+ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
|
||||
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name})
|
||||
+ set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
|
||||
+ endif()
|
||||
|
||||
if (NOT LLVM_ENABLE_IDE)
|
||||
add_llvm_install_targets(install-${name}
|
||||
@@ -948,7 +951,6 @@ macro(add_llvm_library name)
|
||||
COMPONENT ${name})
|
||||
endif()
|
||||
endif()
|
||||
- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
|
||||
endif()
|
||||
|
||||
get_subproject_title(subproject_title)
|
||||
Index: lld-19.1.5.src/cmake/modules/AddLLD.cmake
|
||||
===================================================================
|
||||
--- a/lld-19.1.5.src/cmake/modules/AddLLD.cmake
|
||||
+++ b/lld-19.1.5.src/cmake/modules/AddLLD.cmake
|
||||
@@ -17,13 +17,6 @@ macro(add_lld_library name)
|
||||
|
||||
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||
get_target_export_arg(${name} LLD export_to_lldtargets)
|
||||
- install(TARGETS ${name}
|
||||
- COMPONENT ${name}
|
||||
- ${export_to_lldtargets}
|
||||
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
||||
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
||||
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
-
|
||||
if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
add_llvm_install_targets(install-${name}
|
||||
DEPENDS ${name}
|
||||
Index: polly-19.1.5.src/cmake/polly_macros.cmake
|
||||
===================================================================
|
||||
--- a/polly-19.1.5.src/cmake/polly_macros.cmake
|
||||
+++ b/polly-19.1.5.src/cmake/polly_macros.cmake
|
||||
@@ -42,15 +42,17 @@ macro(add_polly_library name)
|
||||
llvm_config(${name} ${LLVM_LINK_COMPONENTS})
|
||||
endif( LLVM_LINK_COMPONENTS )
|
||||
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly")
|
||||
- install(TARGETS ${name}
|
||||
- COMPONENT ${name}
|
||||
- EXPORT LLVMExports
|
||||
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
||||
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
|
||||
- add_llvm_install_targets(install-${name}
|
||||
- COMPONENT ${name})
|
||||
+ if (MODULE OR SHARED_LIBRARY OR NOT LLVM_BUILD_LLVM_DYLIB)
|
||||
+ install(TARGETS ${name}
|
||||
+ COMPONENT ${name}
|
||||
+ EXPORT LLVMExports
|
||||
+ LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
||||
+ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
|
||||
+ add_llvm_install_targets(install-${name}
|
||||
+ COMPONENT ${name})
|
||||
+ set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
|
||||
+ endif()
|
||||
endif()
|
||||
- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
|
||||
endmacro(add_polly_library)
|
||||
|
||||
macro(add_polly_loadable_module name)
|
||||
Index: polly-19.1.5.src/lib/CMakeLists.txt
|
||||
===================================================================
|
||||
--- a/polly-19.1.5.src/lib/CMakeLists.txt
|
||||
+++ b/polly-19.1.5.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
|
||||
# well.
|
||||
-target_link_libraries(Polly PUBLIC
|
||||
+target_link_libraries(Polly PRIVATE
|
||||
${ISL_TARGET}
|
||||
)
|
||||
|
||||
@@ -130,7 +130,7 @@ else ()
|
||||
# to be already available in the address space the module is loaded into.
|
||||
# Adding them once more would have the effect that both copies try to register
|
||||
# the same command line options, to which LLVM reacts with an error.
|
||||
- target_link_libraries(LLVMPolly PUBLIC ${ISL_TARGET})
|
||||
+ target_link_libraries(LLVMPolly PRIVATE ${ISL_TARGET})
|
||||
|
||||
set_target_properties(LLVMPolly
|
||||
PROPERTIES
|
3
llvm-docs-19.1.3.src.tar.xz
Normal file
3
llvm-docs-19.1.3.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7750ff33900a4ef43a9337dd9215da5e6491685623106855b646c137a590b964
|
||||
size 8389832
|
3
llvm-docs-19.1.4.src.tar.xz
Normal file
3
llvm-docs-19.1.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ce07ccf629f97a265a701746c9763f54a3f183ba7ee539ebe936057d0f860ad5
|
||||
size 8390000
|
3
llvm-docs-19.1.5.src.tar.xz
Normal file
3
llvm-docs-19.1.5.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:53dde49651fc72aa8fb4d7092d153f9206e781e8cf2d84d20e1d74bffe607fd8
|
||||
size 8389688
|
13
llvm-fix-cov-test-i586.patch
Normal file
13
llvm-fix-cov-test-i586.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/llvm/test/tools/llvm-cov/mcdc-export-json.test b/llvm/test/tools/llvm-cov/mcdc-export-json.test
|
||||
index c2cebf52db8c..a55d7400c51e 100644
|
||||
--- a/llvm/test/tools/llvm-cov/mcdc-export-json.test
|
||||
+++ b/llvm/test/tools/llvm-cov/mcdc-export-json.test
|
||||
@@ -5,7 +5,7 @@
|
||||
// CHECK: 15,7,15,13,0,5,[true,true]
|
||||
// CHECK: 15,19,15,25,0,5,[true,false]
|
||||
// CHECK: 18,7,19,15,0,5,[true,true,false,true]
|
||||
-// CHECK: "mcdc":{"count":12,"covered":10,"notcovered":2,"percent":83.333333333333343}
|
||||
+// CHECK: "mcdc":{"count":12,"covered":10,"notcovered":2,"percent":83.3333333333333{{([[:digit:]]{2})}}}
|
||||
|
||||
Instructions for regenerating the test:
|
||||
|
13
llvm-fix-find-gcc5-install.patch
Normal file
13
llvm-fix-find-gcc5-install.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: clang-18.1.0rc1.src/lib/Driver/ToolChains/Gnu.cpp
|
||||
===================================================================
|
||||
--- clang-18.1.0rc1.src.orig/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ clang-18.1.0rc1.src/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -2179,7 +2179,7 @@ Generic_GCC::GCCVersion Generic_GCC::GCC
|
||||
return GoodVersion;
|
||||
}
|
||||
|
||||
- if (!TryParseNumber(MinorStr, GoodVersion.Minor))
|
||||
+ if (!MinorStr.str().empty() && !TryParseNumber(MinorStr, GoodVersion.Minor))
|
||||
return BadVersion;
|
||||
GoodVersion.MinorStr = MinorStr;
|
||||
|
66
llvm-normally-versioned-libllvm.patch
Normal file
66
llvm-normally-versioned-libllvm.patch
Normal file
@ -0,0 +1,66 @@
|
||||
Before llvm4, both major and minor version updates of llvm were regularly
|
||||
breaking API. Because of that, the libLLVM library was named in following
|
||||
format: libLLVM-${major}-${minor}.so
|
||||
|
||||
(https://bugs.llvm.org/show_bug.cgi?id=25059)
|
||||
(https://reviews.llvm.org/D13841)
|
||||
|
||||
The package containing this library was called libLLVM${major}_${minor} which
|
||||
follows our guidelines.
|
||||
|
||||
Since llvm4, llvm decided to follow semantic versioning and only break API if
|
||||
the major version was increased. In addition they do not intend to ever have
|
||||
minor version other than 0.
|
||||
(http://blog.llvm.org/2016/12/llvms-new-versioning-scheme.html)
|
||||
|
||||
The package was renamed to libLLVM${major}, which no longer follows the naming
|
||||
guidelines, but since the package contained multiple libraries, it was not
|
||||
detected.
|
||||
|
||||
Since bnc#1049703 the libLLVM${major} package contains only the
|
||||
libLLVM-${major}-${minor}.so library and no others. This triggers the
|
||||
shlib-policy-name-error check in our packaging system.
|
||||
|
||||
Because the reasons for using the libLLVM-${major}-${minor}.so format are no
|
||||
longer valid, lets revert back to libLLVM.so.${major}.${minor}.${version}
|
||||
format. That way the package name matches our guidelines.
|
||||
|
||||
With llvm18, the minor version is now always 1 for releases, and upstream
|
||||
decided to rename the library to libLLVM.so.${major}.${minor}, but keep the
|
||||
old name as symbolic link for backwards compatibility. That is of course
|
||||
not relevant for us.
|
||||
|
||||
Index: llvm-8.0.0rc3.src/tools/llvm-config/llvm-config.cpp
|
||||
===================================================================
|
||||
--- llvm-8.0.0rc3.src.orig/tools/llvm-config/llvm-config.cpp
|
||||
+++ llvm-8.0.0rc3.src/tools/llvm-config/llvm-config.cpp
|
||||
@@ -380,7 +380,6 @@ int main(int argc, char **argv) {
|
||||
} else {
|
||||
// default to the unix values:
|
||||
SharedExt = "so";
|
||||
- SharedVersionedExt = LLVM_DYLIB_VERSION ".so";
|
||||
StaticExt = "a";
|
||||
StaticDir = SharedDir = ActiveLibDir;
|
||||
StaticPrefix = SharedPrefix = "lib";
|
||||
@@ -393,7 +392,7 @@ int main(int argc, char **argv) {
|
||||
|
||||
bool DyLibExists = false;
|
||||
const std::string DyLibName =
|
||||
- (SharedPrefix + "LLVM-" + SharedVersionedExt).str();
|
||||
+ (SharedPrefix + "LLVM." + SharedExt).str();
|
||||
|
||||
// If LLVM_LINK_DYLIB is ON, the single shared library will be returned
|
||||
// for "--libs", etc, if they exist. This behaviour can be overridden with
|
||||
Index: llvm-18.1.2.src/tools/llvm-shlib/CMakeLists.txt
|
||||
===================================================================
|
||||
--- llvm-18.1.2.src.orig/tools/llvm-shlib/CMakeLists.txt
|
||||
+++ llvm-18.1.2.src/tools/llvm-shlib/CMakeLists.txt
|
||||
@@ -37,8 +37,6 @@ if (WIN32)
|
||||
add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
|
||||
else()
|
||||
add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB OUTPUT_NAME LLVM ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
|
||||
- # Add symlink for backwards compatibility with old library name
|
||||
- llvm_install_library_symlink(LLVM-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX} $<TARGET_FILE_NAME:LLVM> SHARED FULL_DEST COMPONENT LLVM)
|
||||
endif()
|
||||
|
||||
list(REMOVE_DUPLICATES LIB_NAMES)
|
19
llvm-projects-tools-order.patch
Normal file
19
llvm-projects-tools-order.patch
Normal file
@ -0,0 +1,19 @@
|
||||
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
|
||||
index 04d4cf2..b698c27 100644
|
||||
--- a/llvm/CMakeLists.txt
|
||||
+++ b/llvm/CMakeLists.txt
|
||||
@@ -1188,12 +1188,12 @@ foreach( binding ${LLVM_BINDINGS_LIST} )
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
-add_subdirectory(projects)
|
||||
-
|
||||
if( LLVM_INCLUDE_TOOLS )
|
||||
add_subdirectory(tools)
|
||||
endif()
|
||||
|
||||
+add_subdirectory(projects)
|
||||
+
|
||||
if( LLVM_INCLUDE_RUNTIMES )
|
||||
add_subdirectory(runtimes)
|
||||
endif()
|
14
llvm-suse-implicit-gnu.patch
Normal file
14
llvm-suse-implicit-gnu.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff --git a/llvm/include/llvm/TargetParser/Triple.h b/llvm/include/llvm/TargetParser/Triple.h
|
||||
index d2126a0..eaf7599 100644
|
||||
--- a/llvm/include/llvm/TargetParser/Triple.h
|
||||
+++ b/llvm/include/llvm/TargetParser/Triple.h
|
||||
@@ -614,7 +614,8 @@ public:
|
||||
Env == Triple::GNUEABI || Env == Triple::GNUEABIT64 ||
|
||||
Env == Triple::GNUEABIHF || Env == Triple::GNUEABIHFT64 ||
|
||||
Env == Triple::GNUF32 || Env == Triple::GNUF64 ||
|
||||
- Env == Triple::GNUSF || Env == Triple::GNUX32;
|
||||
+ Env == Triple::GNUSF || Env == Triple::GNUX32 ||
|
||||
+ (Env == Triple::UnknownEnvironment && getVendor() == Triple::SUSE);
|
||||
}
|
||||
|
||||
/// Tests whether the OS is Haiku.
|
14
llvm-workaround-superfluous-branches.patch
Normal file
14
llvm-workaround-superfluous-branches.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff --git a/llvm/include/llvm/Support/Casting.h b/llvm/include/llvm/Support/Casting.h
|
||||
index 4ff5865..19623f6 100644
|
||||
--- a/llvm/include/llvm/Support/Casting.h
|
||||
+++ b/llvm/include/llvm/Support/Casting.h
|
||||
@@ -661,6 +661,9 @@ template <typename To, typename From>
|
||||
template <typename To, typename From>
|
||||
[[nodiscard]] inline decltype(auto) dyn_cast(From *Val) {
|
||||
assert(detail::isPresent(Val) && "dyn_cast on a non-existent value");
|
||||
+#if defined(__clang__) && defined(NDEBUG)
|
||||
+ __builtin_assume(Val);
|
||||
+#endif
|
||||
return CastInfo<To, From *>::doCastIfPossible(Val);
|
||||
}
|
||||
|
22
llvm19-rpmlintrc
Normal file
22
llvm19-rpmlintrc
Normal file
@ -0,0 +1,22 @@
|
||||
# This line is mandatory to access the configuration functions
|
||||
from Config import *
|
||||
|
||||
addFilter("devel-file-in-non-devel-package .*/clang/.*/include/.*")
|
||||
addFilter("devel-file-in-non-devel-package .*/clang/.*/lib/.*")
|
||||
addFilter("devel-file-in-non-devel-package .*/usr/include/.*")
|
||||
|
||||
addFilter("devel-file-in-non-devel-package .*/lib.*/*.a")
|
||||
addFilter("devel-file-in-non-devel-package .*/lib.*/*.so")
|
||||
|
||||
# We're deliberately conflicting with SLE. (https://code.opensuse.org/leap/features/issue/55)
|
||||
addFilter("SUSE_Backports_policy-SLE_conflict")
|
||||
|
||||
# Archive seems to be deliberately empty on some architectures.
|
||||
addFilter("lto-no-text-in-archive .*/lib.*/clang/.*/lib/linux/libclang_rt.asan_static-.*.a")
|
||||
|
||||
# LLVM IR archive for OpenMP offloading, deliberately contains no object code.
|
||||
addFilter("lto-no-text-in-archive .*/lib.*/libomptarget.devicertl.a")
|
||||
|
||||
# Different versions of LLVM can produce the same SONAME, so we'll have to use
|
||||
# non-standard names sometimes. (Leap's rpmlint complains, Tumbleweed's doesn't.)
|
||||
addFilter("shlib-policy-name-error")
|
3209
llvm19.changes
Normal file
3209
llvm19.changes
Normal file
File diff suppressed because it is too large
Load Diff
203
llvm19.keyring
Normal file
203
llvm19.keyring
Normal file
@ -0,0 +1,203 @@
|
||||
# Tobias Hieta <tobias@hieta.se>
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
9RmlwZlOTFGcWBYl/cfRONn9qi9a6w==
|
||||
=Lvw+
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
# Tom Stellard <tstellar@redhat.com>
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
pGgAsOk/q/OlhWqcrlM=
|
||||
=bEwW
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
# Hans Wennborg <hans@chromium.org>
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
6U4RlBcEgKU=
|
||||
=43Mw
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
# Muhammad Omair Javaid (LLVM Release Signing Key) <omair.javaid@linaro.org>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mDMEZw7PSRYJKwYBBAHaRw8BAQdABNbFOdYdCukaIGdkMQpHrSeDIZt/7bUSVwYD
|
||||
dX7JnHy0Sk11aGFtbWFkIE9tYWlyIEphdmFpZCAoTExWTSBSZWxlYXNlIFNpZ25p
|
||||
bmcgS2V5KSA8b21haXIuamF2YWlkQGxpbmFyby5vcmc+iJMEExYKADsWIQQPuWgk
|
||||
YG0V/dVMPQkv/GKdP1Y73AUCZw7PSQIbAwULCQgHAgIiAgYVCgkICwIEFgIDAQIe
|
||||
BwIXgAAKCRAv/GKdP1Y73LHWAPoDDIf+zv4qbPmdSNN1JwjB6/U+3ZfW0bDhrxhF
|
||||
1TzU9gEAyeG9bPukFmygisr2FBt+YV0Xe/il5zhYfTyP4pNNqQq4OARnDs9JEgor
|
||||
BgEEAZdVAQUBAQdA8W6MXoRWNhKJEWM/AgeJwy19kkflnK+yFVEXnWaPXGIDAQgH
|
||||
iHgEGBYKACAWIQQPuWgkYG0V/dVMPQkv/GKdP1Y73AUCZw7PSQIbDAAKCRAv/GKd
|
||||
P1Y73KmXAP0R/TCQcZy3E2eqgBhVUY3/0N0amRWDjssxw/O/7P/PcwD/aFQdB9Vt
|
||||
f9xntjl+EcZ58U5mbwhBTYLmHpCqZUP+ugk=
|
||||
=s2el
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
1863
llvm19.spec
Normal file
1863
llvm19.spec
Normal file
File diff suppressed because it is too large
Load Diff
58
llvm_build_tablegen_component_as_shared_library.patch
Normal file
58
llvm_build_tablegen_component_as_shared_library.patch
Normal file
@ -0,0 +1,58 @@
|
||||
The LLVMTableGen component is a special case that is excluded from libLLVM and
|
||||
normally is only built as static library and linked into llvm-tblgen.
|
||||
|
||||
We need to have it as a shared library to be available for other projects such
|
||||
as ldc.
|
||||
|
||||
This patch makes it even more special and forces it to be build and installed
|
||||
as separate shared library.
|
||||
|
||||
Index: llvm-8.0.0rc3.src/cmake/modules/AddLLVM.cmake
|
||||
===================================================================
|
||||
--- llvm-8.0.0rc3.src.orig/cmake/modules/AddLLVM.cmake
|
||||
+++ llvm-8.0.0rc3.src/cmake/modules/AddLLVM.cmake
|
||||
@@ -541,7 +541,7 @@ function(llvm_add_library name)
|
||||
if(ARG_MODULE AND LLVM_EXPORT_SYMBOLS_FOR_PLUGINS AND ARG_PLUGIN_TOOL AND (WIN32 OR CYGWIN))
|
||||
# On DLL platforms symbols are imported from the tool by linking against it.
|
||||
set(llvm_libs ${ARG_PLUGIN_TOOL})
|
||||
- elseif (NOT ARG_COMPONENT_LIB)
|
||||
+ elseif (NOT ARG_COMPONENT_LIB OR (${name} STREQUAL "LLVMTableGen" AND LLVM_BUILD_LLVM_DYLIB))
|
||||
if (LLVM_LINK_LLVM_DYLIB AND NOT ARG_DISABLE_LLVM_LINK_LLVM_DYLIB)
|
||||
set(llvm_libs LLVM)
|
||||
else()
|
||||
Index: llvm-17.0.0rc1.src/cmake/modules/TableGen.cmake
|
||||
===================================================================
|
||||
--- llvm-17.0.0rc1.src.orig/cmake/modules/TableGen.cmake
|
||||
+++ llvm-17.0.0rc1.src/cmake/modules/TableGen.cmake
|
||||
@@ -143,8 +143,8 @@ macro(add_tablegen target project)
|
||||
set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
|
||||
set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
|
||||
|
||||
- add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||
- ${ADD_TABLEGEN_UNPARSED_ARGUMENTS})
|
||||
+ add_llvm_executable(${target} ${ADD_TABLEGEN_UNPARSED_ARGUMENTS})
|
||||
+ target_link_libraries(${target} PRIVATE LLVMTableGen)
|
||||
set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS})
|
||||
|
||||
set(${project}_TABLEGEN_DEFAULT "${target}")
|
||||
Index: llvm-8.0.0rc3.src/lib/TableGen/CMakeLists.txt
|
||||
===================================================================
|
||||
--- llvm-8.0.0rc3.src.orig/lib/TableGen/CMakeLists.txt
|
||||
+++ llvm-8.0.0rc3.src/lib/TableGen/CMakeLists.txt
|
||||
@@ -1,3 +1,7 @@
|
||||
+if (LLVM_BUILD_LLVM_DYLIB)
|
||||
+ set(MAYBE_SHARED SHARED)
|
||||
+endif()
|
||||
+
|
||||
add_llvm_component_library(LLVMTableGen
|
||||
DetailedRecordsBackend.cpp
|
||||
Error.cpp
|
||||
@@ -9,6 +13,8 @@ add_llvm_library(LLVMTableGen
|
||||
TGLexer.cpp
|
||||
TGParser.cpp
|
||||
|
||||
+ ${MAYBE_SHARED}
|
||||
+
|
||||
ADDITIONAL_HEADER_DIRS
|
||||
${LLVM_MAIN_INCLUDE_DIR}/llvm/TableGen
|
||||
|
28
lto-disable-cache.patch
Normal file
28
lto-disable-cache.patch
Normal file
@ -0,0 +1,28 @@
|
||||
diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake
|
||||
index 5e57a3b8234..23f9ed5fb56 100644
|
||||
--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
|
||||
+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
|
||||
@@ -889,23 +889,6 @@ if(uppercase_LLVM_ENABLE_LTO STREQUAL "THIN")
|
||||
if(NOT LINKER_IS_LLD_LINK)
|
||||
append("-flto=thin" CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
|
||||
endif()
|
||||
- # If the linker supports it, enable the lto cache. This improves initial build
|
||||
- # time a little since we re-link a lot of the same objects, and significantly
|
||||
- # improves incremental build time.
|
||||
- # FIXME: We should move all this logic into the clang driver.
|
||||
- if(APPLE)
|
||||
- append("-Wl,-cache_path_lto,${LLVM_THINLTO_CACHE_PATH}"
|
||||
- CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
|
||||
- elseif((UNIX OR MINGW) AND LLVM_USE_LINKER STREQUAL "lld")
|
||||
- append("-Wl,--thinlto-cache-dir=${LLVM_THINLTO_CACHE_PATH}"
|
||||
- CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
|
||||
- elseif(LLVM_USE_LINKER STREQUAL "gold")
|
||||
- append("-Wl,--plugin-opt,cache-dir=${LLVM_THINLTO_CACHE_PATH}"
|
||||
- CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
|
||||
- elseif(LINKER_IS_LLD_LINK)
|
||||
- append("/lldltocache:${LLVM_THINLTO_CACHE_PATH}"
|
||||
- CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
|
||||
- endif()
|
||||
elseif(uppercase_LLVM_ENABLE_LTO STREQUAL "FULL")
|
||||
append("-flto=full" CMAKE_CXX_FLAGS CMAKE_C_FLAGS)
|
||||
if(NOT LINKER_IS_LLD_LINK)
|
3
openmp-19.1.3.src.tar.xz
Normal file
3
openmp-19.1.3.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6c671756d7412bbf0085e7deffc7e8b4ac34955b33dce76c526795df1e9b48a7
|
||||
size 1090016
|
BIN
openmp-19.1.3.src.tar.xz.sig
Normal file
BIN
openmp-19.1.3.src.tar.xz.sig
Normal file
Binary file not shown.
3
openmp-19.1.4.src.tar.xz
Normal file
3
openmp-19.1.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:88359996537b0fe7191869f7a1ec8b5a0e7e284294c09202965efcce1e571ccb
|
||||
size 1089816
|
BIN
openmp-19.1.4.src.tar.xz.sig
Normal file
BIN
openmp-19.1.4.src.tar.xz.sig
Normal file
Binary file not shown.
3
openmp-19.1.5.src.tar.xz
Normal file
3
openmp-19.1.5.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ce22e4ff876021071b7eee3fc1be759269a120ac77247265e4bb5150909a36e9
|
||||
size 1089828
|
BIN
openmp-19.1.5.src.tar.xz.sig
Normal file
BIN
openmp-19.1.5.src.tar.xz.sig
Normal file
Binary file not shown.
16
opt-viewer-Find-style-css-in-usr-share.patch
Normal file
16
opt-viewer-Find-style-css-in-usr-share.patch
Normal file
@ -0,0 +1,16 @@
|
||||
Index: llvm-17.0.0rc1.src/tools/opt-viewer/opt-viewer.py
|
||||
===================================================================
|
||||
--- llvm-17.0.0rc1.src.orig/tools/opt-viewer/opt-viewer.py
|
||||
+++ llvm-17.0.0rc1.src/tools/opt-viewer/opt-viewer.py
|
||||
@@ -363,10 +363,7 @@
|
||||
output_dir, should_display_hotness, max_hottest_remarks_on_index
|
||||
).render(sorted_remarks)
|
||||
|
||||
- shutil.copy(
|
||||
- os.path.join(os.path.dirname(os.path.realpath(__file__)), "style.css"),
|
||||
- output_dir,
|
||||
- )
|
||||
+ shutil.copy("/usr/share/opt-viewer/style.css", output_dir)
|
||||
|
||||
_render_file_bound = functools.partial(
|
||||
_render_file, source_dir, output_dir, context, no_highlight
|
3
polly-19.1.3.src.tar.xz
Normal file
3
polly-19.1.3.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f86aa241e5ff70037ccaf365924dfe44b4605090057613ac1bdcc183aa95a387
|
||||
size 9163144
|
BIN
polly-19.1.3.src.tar.xz.sig
Normal file
BIN
polly-19.1.3.src.tar.xz.sig
Normal file
Binary file not shown.
3
polly-19.1.4.src.tar.xz
Normal file
3
polly-19.1.4.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d09eda4f511994b0be77c47bcdfd30ed0e463f731368720e5b58c9fcffab2fe8
|
||||
size 9162016
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user