- Update to version 19.1.4.

* 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=11
This commit is contained in:
Aaron Puchert 2024-11-20 01:21:10 +00:00 committed by Git OBS Bridge
commit e97a7d3051
88 changed files with 6641 additions and 0 deletions

23
.gitattributes vendored Normal file
View 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
View File

@ -0,0 +1 @@
.osc

43
_constraints Normal file
View 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
View 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
View File

@ -0,0 +1,2 @@
libLLVM19
libclang-cpp19

View 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
View 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

Binary file not shown.

3
clang-19.1.4.src.tar.xz Normal file
View 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

Binary file not shown.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0f8a8d549d7d10fdb49c8de40c2bc09bafefbe7126c64f3649980b383dfb689d
size 2048420

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0d320173d1f712f5805bcfa84612a6195b89fc2a25603855b7b0c404d012689d
size 2048124

View 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])}}

View 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

View 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
View 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 {

View 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: *; };

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6358ee4be9573fb025dad0a6fc9a5270fc2cb644a6504ff2970ca60abad7e345
size 3417084

Binary file not shown.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e09d0becbbe4dc3dec45dbda44649357456e559b46a72004696674c963734fa6
size 3417036

Binary file not shown.

3
cmake-19.1.3.src.tar.xz Normal file
View 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

Binary file not shown.

3
cmake-19.1.4.src.tar.xz Normal file
View 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

Binary file not shown.

477
compact_unwind_encoding.h Normal file
View 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

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9c57dfa7796c254f85ade3f84f12e3a7dd5dae65c0ade428367fe8c5218f856a
size 2528276

Binary file not shown.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:433f9f513313b6e34626fab516e92a97ea087484fce40218e928b9538910cd27
size 2529144

Binary file not shown.

15
default-to-i586.patch Normal file
View 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
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cd5680e5ee4803bbe5c4007e4c546b7263525466049832c630c3fd5fc027468c
size 4745616

Binary file not shown.

3
libcxx-19.1.4.src.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a8842bc2c76afb01dd2bba3ade323194b630b90607174129b22a21caf0a11060
size 4744592

Binary file not shown.

View 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

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:34a2defb1b220cecf9493c99e40c1c7e586f0615b68e432b6183cdaaae1be4f2
size 583688

Binary file not shown.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6105412c1dc37505bb41650fb71f4c9445b75342a2128881570916a138fb6a45
size 583700

Binary file not shown.

58
link-clang-shared.patch Normal file
View 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})

View 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
View 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

Binary file not shown.

3
lld-19.1.4.src.tar.xz Normal file
View 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

Binary file not shown.

3
lldb-19.1.3.src.tar.xz Normal file
View 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

Binary file not shown.

3
lldb-19.1.4.src.tar.xz Normal file
View 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

Binary file not shown.

13
lldb-cmake.patch Normal file
View 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
View 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

Binary file not shown.

3
llvm-19.1.4.src.tar.xz Normal file
View 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

Binary file not shown.

View 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.4.src/cmake/modules/AddClang.cmake
===================================================================
--- a/clang-19.1.4.src/cmake/modules/AddClang.cmake
+++ b/clang-19.1.4.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.4.src/cmake/modules/AddLLD.cmake
===================================================================
--- a/lld-19.1.4.src/cmake/modules/AddLLD.cmake
+++ b/lld-19.1.4.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.4.src/cmake/polly_macros.cmake
===================================================================
--- a/polly-19.1.4.src/cmake/polly_macros.cmake
+++ b/polly-19.1.4.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.4.src/lib/CMakeLists.txt
===================================================================
--- a/polly-19.1.4.src/lib/CMakeLists.txt
+++ b/polly-19.1.4.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

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7750ff33900a4ef43a9337dd9215da5e6491685623106855b646c137a590b964
size 8389832

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ce07ccf629f97a265a701746c9763f54a3f183ba7ee539ebe936057d0f860ad5
size 8390000

View 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:

View 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;

View 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)

View 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()

View 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.

View 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
View 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")

3201
llvm19.changes Normal file

File diff suppressed because it is too large Load Diff

203
llvm19.keyring Normal file
View 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

File diff suppressed because it is too large Load Diff

View 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
View 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
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6c671756d7412bbf0085e7deffc7e8b4ac34955b33dce76c526795df1e9b48a7
size 1090016

Binary file not shown.

3
openmp-19.1.4.src.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:88359996537b0fe7191869f7a1ec8b5a0e7e284294c09202965efcce1e571ccb
size 1089816

Binary file not shown.

View 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
View 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

Binary file not shown.

3
polly-19.1.4.src.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d09eda4f511994b0be77c47bcdfd30ed0e463f731368720e5b58c9fcffab2fe8
size 9162016

BIN
polly-19.1.4.src.tar.xz.sig Normal file

Binary file not shown.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:63966eaa7d0e70773eacbe5b8871c5d8a98e2ccf3cf6daa3c2018fcdf6501f11
size 7228

Binary file not shown.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:16778f7cd3b1bb05ac9cf47ba9df20caf663eb076849ebf4a34fd6d8c2ac2352
size 7224

Binary file not shown.

30
tests-use-python3.patch Normal file
View File

@ -0,0 +1,30 @@
Index: llvm-8.0.0rc3.src/test/BugPoint/compile-custom.ll.py
===================================================================
--- llvm-8.0.0rc3.src.orig/test/BugPoint/compile-custom.ll.py
+++ llvm-8.0.0rc3.src/test/BugPoint/compile-custom.ll.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
from __future__ import print_function
Index: llvm-8.0.0rc3.src/test/Other/opt-bisect-helper.py
===================================================================
--- llvm-8.0.0rc3.src.orig/test/Other/opt-bisect-helper.py
+++ llvm-8.0.0rc3.src/test/Other/opt-bisect-helper.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
from __future__ import print_function
Index: llvm-8.0.0rc3.src/test/TableGen/JSON-check.py
===================================================================
--- llvm-8.0.0rc3.src.orig/test/TableGen/JSON-check.py
+++ llvm-8.0.0rc3.src/test/TableGen/JSON-check.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
import sys
import subprocess

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ec13c6c3466dc88e7b29b47347e2b88337d5b83c778d92e3c4c3acd17d3cc534
size 454740

Binary file not shown.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:97292083d9718d3a6bedbafddf2fa1740c2d9cba8c72ee8ea391a63f12c0a472
size 454760

Binary file not shown.