- Update to version 19.1.6.
* 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=15
This commit is contained in:
commit
84a2b56c53
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-19.1.6.src.tar.xz
Normal file
3
clang-19.1.6.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6358cbb3e14687ca2f3465c61cffc65589b448aaa912ec2c163ef9fc046e8a89
|
||||||
|
size 23511508
|
BIN
clang-19.1.6.src.tar.xz.sig
Normal file
BIN
clang-19.1.6.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
|
3
clang-docs-19.1.6.src.tar.xz
Normal file
3
clang-docs-19.1.6.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:8d701d64a3a72945440611e84e06b3fd5384299cfdf4de2e793cb0f026551a8c
|
||||||
|
size 2048460
|
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
clang-tools-extra-19.1.6.src.tar.xz
Normal file
3
clang-tools-extra-19.1.6.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:417a7d0048d8eb62dbaa8461f1fd474eb6493b09e14d050b39cc1f051e8b71d1
|
||||||
|
size 3416852
|
BIN
clang-tools-extra-19.1.6.src.tar.xz.sig
Normal file
BIN
clang-tools-extra-19.1.6.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.
3
cmake-19.1.6.src.tar.xz
Normal file
3
cmake-19.1.6.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9c7ec82d9a240dc2287b8de89d6881bb64ceea0dcd6ce133c34ef65bda22d99e
|
||||||
|
size 9300
|
BIN
cmake-19.1.6.src.tar.xz.sig
Normal file
BIN
cmake-19.1.6.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.
3
compiler-rt-19.1.6.src.tar.xz
Normal file
3
compiler-rt-19.1.6.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:0d4f312e1419152282c267e6b6a1fa5914a7a0c753a5e926bee1c8c28e614ae4
|
||||||
|
size 2531460
|
BIN
compiler-rt-19.1.6.src.tar.xz.sig
Normal file
BIN
compiler-rt-19.1.6.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.
3
libcxx-19.1.6.src.tar.xz
Normal file
3
libcxx-19.1.6.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:bfa95b7777d1aafde91df6362542cea4b2f8b8575cf2c4c950e382f5962fe2df
|
||||||
|
size 4746604
|
BIN
libcxx-19.1.6.src.tar.xz.sig
Normal file
BIN
libcxx-19.1.6.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.
3
libcxxabi-19.1.6.src.tar.xz
Normal file
3
libcxxabi-19.1.6.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:8821056b55d01f6902cac47ea9db87c27f541922eedea830e27b51c85825d7dc
|
||||||
|
size 583800
|
BIN
libcxxabi-19.1.6.src.tar.xz.sig
Normal file
BIN
libcxxabi-19.1.6.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
lld-19.1.6.src.tar.xz
Normal file
3
lld-19.1.6.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:44fa50556cefbe3796e8256536267ee2f34ced5f3c1492473bccd75449cadbe6
|
||||||
|
size 1645724
|
BIN
lld-19.1.6.src.tar.xz.sig
Normal file
BIN
lld-19.1.6.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.
3
lldb-19.1.6.src.tar.xz
Normal file
3
lldb-19.1.6.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:76b6f578cbb9a7fd1eeb25667d140b0e80fb157a7404099258f30f7d2b37b292
|
||||||
|
size 10689132
|
BIN
lldb-19.1.6.src.tar.xz.sig
Normal file
BIN
lldb-19.1.6.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.
3
llvm-19.1.6.src.tar.xz
Normal file
3
llvm-19.1.6.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ad1a3b125ff014ded290094088de40efb9193ce81a24278184230b7d401f8a3e
|
||||||
|
size 67828048
|
BIN
llvm-19.1.6.src.tar.xz.sig
Normal file
BIN
llvm-19.1.6.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.6.src/cmake/modules/AddClang.cmake
|
||||||
|
===================================================================
|
||||||
|
--- a/clang-19.1.6.src/cmake/modules/AddClang.cmake
|
||||||
|
+++ b/clang-19.1.6.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.6.src/cmake/modules/AddLLD.cmake
|
||||||
|
===================================================================
|
||||||
|
--- a/lld-19.1.6.src/cmake/modules/AddLLD.cmake
|
||||||
|
+++ b/lld-19.1.6.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.6.src/cmake/polly_macros.cmake
|
||||||
|
===================================================================
|
||||||
|
--- a/polly-19.1.6.src/cmake/polly_macros.cmake
|
||||||
|
+++ b/polly-19.1.6.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.6.src/lib/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- a/polly-19.1.6.src/lib/CMakeLists.txt
|
||||||
|
+++ b/polly-19.1.6.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
|
3
llvm-docs-19.1.6.src.tar.xz
Normal file
3
llvm-docs-19.1.6.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:175c4e88d18065142c2636c4d287685e4db3560d196dfce016397b11cc78b4dd
|
||||||
|
size 8390256
|
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;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user