aboutsummaryrefslogtreecommitdiff
path: root/unmaintained
diff options
context:
space:
mode:
authorLeo <thinkabit.ukim@gmail.com>2020-04-11 17:32:50 -0300
committerLeo <thinkabit.ukim@gmail.com>2020-04-11 17:32:50 -0300
commitee17634eb81b78f023f7e7acbc4102160ad68939 (patch)
tree70ebe2fc3f38784d27fc6e7ac219b814c5422029 /unmaintained
parent1e493096ad70b1a77fe5e2c215bc692521eb285c (diff)
downloadalpine_aports-ee17634eb81b78f023f7e7acbc4102160ad68939.tar.bz2
alpine_aports-ee17634eb81b78f023f7e7acbc4102160ad68939.tar.xz
alpine_aports-ee17634eb81b78f023f7e7acbc4102160ad68939.zip
unmaintained/llvm7: remove
Diffstat (limited to 'unmaintained')
-rw-r--r--unmaintained/llvm7/0001-Disable-dynamic-lib-tests-for-musl-s-dlclose-is-noop.patch22
-rw-r--r--unmaintained/llvm7/APKBUILD255
-rw-r--r--unmaintained/llvm7/disable-FileSystemTest.CreateDir-perms-assert.patch61
-rw-r--r--unmaintained/llvm7/fix-LLVMConfig-cmake-install-prefix.patch24
-rw-r--r--unmaintained/llvm7/fix-memory-mf_exec-on-aarch64.patch33
-rw-r--r--unmaintained/llvm7/python3-test.patch8
-rw-r--r--unmaintained/llvm7/rust.patch82
7 files changed, 0 insertions, 485 deletions
diff --git a/unmaintained/llvm7/0001-Disable-dynamic-lib-tests-for-musl-s-dlclose-is-noop.patch b/unmaintained/llvm7/0001-Disable-dynamic-lib-tests-for-musl-s-dlclose-is-noop.patch
deleted file mode 100644
index 1bf2fbb607..0000000000
--- a/unmaintained/llvm7/0001-Disable-dynamic-lib-tests-for-musl-s-dlclose-is-noop.patch
+++ /dev/null
@@ -1,22 +0,0 @@
1From f8e83c4c7866ae830abe9bec15cfe805dd825b6e Mon Sep 17 00:00:00 2001
2From: xentec <xentec@aix0.eu>
3Date: Tue, 12 Sep 2017 07:18:38 +0200
4Subject: [PATCH] Disable dynamic lib tests for musl's dlclose() is noop
5
6---
7 unittests/Support/CMakeLists.txt | 2 +-
8 1 file changed, 1 insertion(+), 1 deletion(-)
9
10diff --git a/unittests/Support/CMakeLists.txt b/unittests/Support/CMakeLists.txt
11index 641163e..4f508d9 100644
12--- a/unittests/Support/CMakeLists.txt
13+++ b/unittests/Support/CMakeLists.txt
14@@ -75,4 +75,4 @@ set_source_files_properties(AlignOfTest.cpp PROPERTIES COMPILE_FLAGS -w)
15 # ManagedStatic.cpp uses <pthread>.
16 target_link_libraries(SupportTests LLVMTestingSupport ${LLVM_PTHREAD_LIB})
17
18-add_subdirectory(DynamicLibrary)
19+# add_subdirectory(DynamicLibrary)
20--
212.14.1
22
diff --git a/unmaintained/llvm7/APKBUILD b/unmaintained/llvm7/APKBUILD
deleted file mode 100644
index 7ba332b32e..0000000000
--- a/unmaintained/llvm7/APKBUILD
+++ /dev/null
@@ -1,255 +0,0 @@
1# Contributor: Martell Malone <martell@marinelayer.io>
2# Contributor: Travis Tilley <ttilley@gmail.com>
3# Contributor: Mitch Tishmack <mitch.tishmack@gmail.com>
4# Contributor: Jakub Jirutka <jakub@jirutka.cz>
5# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
6_pkgname=llvm
7pkgver=7.1.0
8_majorver=${pkgver%%.*}
9pkgname=$_pkgname$_majorver
10pkgrel=0
11pkgdesc="Low Level Virtual Machine compiler system, version $_majorver"
12arch="all"
13url="https://llvm.org/"
14license="NCSA"
15depends_dev="$pkgname=$pkgver-r$pkgrel"
16makedepends="binutils-dev chrpath cmake file libffi-dev paxmark python3 zlib-dev"
17subpackages="$pkgname-static $pkgname-libs $pkgname-dev $pkgname-test-utils:_test_utils"
18source="https://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.xz
19 disable-FileSystemTest.CreateDir-perms-assert.patch
20 0001-Disable-dynamic-lib-tests-for-musl-s-dlclose-is-noop.patch
21 fix-memory-mf_exec-on-aarch64.patch
22 fix-LLVMConfig-cmake-install-prefix.patch
23 python3-test.patch
24 rust.patch
25 "
26builddir="$srcdir/$_pkgname-$pkgver.src"
27options="!checkroot"
28
29# ARM has few failures in test suite that we don't care about currently and
30# also it takes forever to run them on the builder.
31case "$CARCH" in
32 arm*) options="$options !check";;
33esac
34
35# Whether is this package the default (latest) LLVM version.
36_default_llvm="no"
37
38if [ "$_default_llvm" = yes ]; then
39 provides="llvm=$pkgver-r$pkgrel"
40 replaces="llvm"
41fi
42
43# NOTE: It seems that there's no (sane) way how to change includedir, sharedir
44# etc. separately, just the CMAKE_INSTALL_PREFIX. Standard CMake variables and
45# even LLVM-specific variables, that are related to these paths, actually
46# don't work (in llvm 3.7).
47#
48# When building a software that depends on LLVM, utility llvm-config should be
49# used to discover where is LLVM installed. It provides options to print
50# path of bindir, includedir, and libdir separately, but in its source, all
51# these paths are actually hard-coded against INSTALL_PREFIX. We can patch it
52# and move paths manually, but I'm really not sure what it may break...
53#
54# Also note that we should *not* add version suffix to files in llvm bindir!
55# It breaks build system of some software that depends on LLVM, because they
56# don't expect these files to have a sufix.
57#
58# So, we install all the LLVM files into /usr/lib/llvm$_majorver.
59# BTW, Fedora and Debian do the same thing.
60#
61_prefix="usr/lib/llvm$_majorver"
62
63prepare() {
64 default_prepare
65 cd "$builddir"
66 mkdir -p "$builddir"/build
67}
68
69build() {
70 cd "$builddir"/build
71
72 # Auto-detect it by guessing either.
73 local ffi_include_dir="$(pkg-config --cflags-only-I libffi | sed 's|^-I||g')"
74
75 cmake -Wno-dev \
76 -DCMAKE_BUILD_TYPE=MinSizeRel \
77 -DCMAKE_C_FLAGS_MINSIZEREL_INIT="$CFLAGS" \
78 -DCMAKE_CXX_FLAGS_MINSIZEREL_INIT="$CXXFLAGS" \
79 -DCMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT="$LDFLAGS" \
80 -DCMAKE_INSTALL_PREFIX=/$_prefix \
81 \
82 -DFFI_INCLUDE_DIR="$ffi_include_dir" \
83 -DLLVM_BINUTILS_INCDIR=/usr/include \
84 -DLLVM_BUILD_DOCS=OFF \
85 -DLLVM_BUILD_EXAMPLES=OFF \
86 -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \
87 -DLLVM_BUILD_LLVM_DYLIB=ON \
88 -DLLVM_BUILD_TESTS=ON \
89 -DLLVM_DEFAULT_TARGET_TRIPLE="$CBUILD" \
90 -DLLVM_ENABLE_ASSERTIONS=OFF \
91 -DLLVM_ENABLE_CXX1Y=ON \
92 -DLLVM_ENABLE_FFI=ON \
93 -DLLVM_ENABLE_LIBCXX=OFF \
94 -DLLVM_ENABLE_PIC=ON \
95 -DLLVM_ENABLE_RTTI=ON \
96 -DLLVM_ENABLE_SPHINX=OFF \
97 -DLLVM_ENABLE_TERMINFO=ON \
98 -DLLVM_ENABLE_ZLIB=ON \
99 -DLLVM_HOST_TRIPLE="$CHOST" \
100 -DLLVM_INCLUDE_EXAMPLES=OFF \
101 -DLLVM_LINK_LLVM_DYLIB=ON \
102 -DLLVM_TARGETS_TO_BUILD='X86;ARM;AArch64;PowerPC;SystemZ;AMDGPU;NVPTX;Mips;BPF' \
103 -DLLVM_APPEND_VC_REV=OFF \
104 "$builddir"
105
106 make llvm-tblgen
107 make
108
109 paxmark m \
110 bin/llvm-rtdyld \
111 bin/lli \
112 bin/lli-child-target \
113 unittests/ExecutionEngine/MCJIT/MCJITTests \
114 unittests/ExecutionEngine/Orc/OrcJITTests \
115 unittests/Support/SupportTests
116
117 python3 ../utils/lit/setup.py build
118}
119
120check() {
121 cd "$builddir"/build
122
123 make check-llvm
124}
125
126package() {
127 cd "$builddir"/build
128
129 make DESTDIR="$pkgdir" install
130
131 cd "$pkgdir"/$_prefix
132
133 # Remove RPATHs.
134 file lib/*.so bin/* \
135 | awk -F: '$2~/ELF/{print $1}' \
136 | xargs -r chrpath -d
137
138 # Symlink files from /usr/lib/llvm*/bin to /usr/bin.
139 mkdir -p "$pkgdir"/usr/bin
140 local name newname path
141 for path in bin/*; do
142 name=${path##*/}
143 # Add version infix/suffix to the executable name.
144 case "$name" in
145 llvm-*) newname="llvm$_majorver-${name#llvm-}";;
146 *) newname="$name$_majorver";;
147 esac
148 # If this package provides=llvm (i.e. it's the default/latest
149 # llvm package), omit version infix/suffix.
150 if [ "$_default_llvm" = yes ]; then
151 newname=$name
152 fi
153 case "$name" in
154 FileCheck | obj2yaml | yaml2obj) continue;;
155 esac
156 ln -s ../lib/llvm$_majorver/bin/$name "$pkgdir"/usr/bin/$newname
157 done
158
159 # Move /usr/lib/$pkgname/include/ into /usr/include/$pkgname/
160 # and symlink it back.
161 _mv include/* "$pkgdir"/usr/include/$pkgname/
162 rmdir include
163 ln -s ../../include/$pkgname include
164
165 # Move /usr/lib/$pkgname/lib/cmake/llvm/ into /usr/lib/cmake/$pkgname/
166 # and symlink it back.
167 _mv lib/cmake/llvm/* "$pkgdir"/usr/lib/cmake/$pkgname/
168 rmdir lib/cmake/llvm
169 ln -s ../../../cmake/$pkgname lib/cmake/llvm
170}
171
172static() {
173 pkgdesc="LLVM $_majorver static libraries"
174 _common_subpkg
175
176 _mv "$pkgdir"/$_prefix/lib/*.a "$subpkgdir"/$_prefix/lib/
177}
178
179libs() {
180 pkgdesc="LLVM $_majorver runtime library"
181 local soname="libLLVM-$_majorver.1.so"
182 local soname2="libLLVM-$pkgver.so"
183
184 mkdir -p "$subpkgdir"
185 cd "$subpkgdir"
186
187 # libLLVM should be in /usr/lib. This is needed for binaries that are
188 # dynamically linked with libLLVM, so they can find it on default path.
189 _mv "$pkgdir"/$_prefix/lib/$soname usr/lib/
190 ln -s $soname usr/lib/$soname2
191
192 # And also symlink it back to the LLVM prefix.
193 mkdir -p $_prefix/lib
194 ln -s ../../$soname $_prefix/lib/$soname
195 ln -s ../../$soname $_prefix/lib/$soname2
196}
197
198dev() {
199 _common_subpkg
200 default_dev
201 cd "$subpkgdir"
202
203 _mv "$pkgdir"/$_prefix/lib $_prefix/
204 _mv "$pkgdir"/$_prefix/include $_prefix/
205
206 _mv "$pkgdir"/$_prefix/bin/llvm-config $_prefix/bin/
207
208 if [ "$_default_llvm" = yes ]; then
209 ln -sf llvm$_majorver/lib/LLVMgold.so usr/lib/
210 ln -sf llvm$_majorver/lib/libLTO.so usr/lib/
211 ln -sf llvm$_majorver usr/lib/cmake/llvm
212 fi
213}
214
215_test_utils() {
216 pkgdesc="LLVM $_majorver utilities for executing LLVM and Clang style test suites"
217 depends="python3 py3-setuptools"
218 _common_subpkg
219 replaces=""
220
221 local litver=$(python3 "$builddir"/utils/lit/setup.py --version 2>/dev/null \
222 | sed 's/\.dev.*$//')
223 test -n "$litver"
224 provides="$provides lit=$litver-r$pkgrel"
225
226 cd "$builddir"/build
227
228 install -D -m 755 bin/count "$subpkgdir"/$_prefix/bin/count
229 install -D -m 755 bin/FileCheck "$subpkgdir"/$_prefix/bin/FileCheck
230 install -D -m 755 bin/not "$subpkgdir"/$_prefix/bin/not
231
232 python3 ../utils/lit/setup.py install --prefix=/usr --root="$subpkgdir"
233 ln -s ../../../bin/lit "$subpkgdir"/$_prefix/bin/lit
234}
235
236_common_subpkg() {
237 if [ "$_default_llvm" = yes ]; then
238 replaces="llvm${subpkgname#$pkgname}"
239 provides="$replaces=$pkgver-r$pkgrel"
240 fi
241}
242
243_mv() {
244 local dest; for dest; do true; done # get last argument
245 mkdir -p "$dest"
246 mv $@
247}
248
249sha512sums="a7dbd5693d1f2dae6b6e52893a100f9349cbfcfb25c5fdcad46364acbff0dbd3573f8fbc026c68eb9fd56335198aa94b866cc3dd7ea0cbd2cbfb5f8fe3444a7a llvm-7.1.0.src.tar.xz
25049c47f125014b60d0ea7870f981a2c1708ad705793f89287ed846ee881a837a4dc0170bf467e03f2ef56177473128945287749ac80dc2d13cfabcf8b929ba58a disable-FileSystemTest.CreateDir-perms-assert.patch
251695502bd3b5454c2f5630c59a8cf5f8aeb0deac16a76a8a4df34849e1e35c12ed4234572a320fe4c7e96f974f572f429eb816c5aa3dcfb17057f550eac596495 0001-Disable-dynamic-lib-tests-for-musl-s-dlclose-is-noop.patch
252c9ef3cd95c4bd1d6ac69bbcd471b01755126d00f59d27d4a2a2ef5623943be73f8407e2fd731294d1a9d81a66e459f45f3f1d5dc5f9646f4f2fb2d8d891b5279 fix-memory-mf_exec-on-aarch64.patch
2537d4825d16107e56a14b7b05be847f03d75e2e05952bea0742a1233b5b0441c9934d8058e612abb6471272884372d9bfd3348355fbd3c19cba82a554003cc3eec fix-LLVMConfig-cmake-install-prefix.patch
25453cc0d13dd871e9b775bb4e7567de4f9a97d91b8246cd7ce74607fd88d6e3e2ab9455f5b4195bc7f9dbdedbc77d659d43e98ec0b7cd78cd395aaea6919510287 python3-test.patch
255a59417fe9eecb1a134763092a1db99abbd3a0e0960a6c199a3acdb610e4ae71f2619023cf35c130973776ff3d6f5fc7d9a38c592b64789828b68eaef6000bd80 rust.patch"
diff --git a/unmaintained/llvm7/disable-FileSystemTest.CreateDir-perms-assert.patch b/unmaintained/llvm7/disable-FileSystemTest.CreateDir-perms-assert.patch
deleted file mode 100644
index e73ce9b6f0..0000000000
--- a/unmaintained/llvm7/disable-FileSystemTest.CreateDir-perms-assert.patch
+++ /dev/null
@@ -1,61 +0,0 @@
1Do not assert permissions of file created in /tmp directory.
2
3This assertion fails, probably due to some specific setup of /tmp
4on build servers.
5
6 FAIL: LLVM-Unit :: Support/SupportTests/FileSystemTest.CreateDir (1293 of 17222)
7 ******************** TEST 'LLVM-Unit :: Support/SupportTests/FileSystemTest.CreateDir' FAILED ********************
8 Note: Google Test filter = FileSystemTest.CreateDir
9 [==========] Running 1 test from 1 test case.
10 [----------] Global test environment set-up.
11 [----------] 1 test from FileSystemTest
12 [ RUN ] FileSystemTest.CreateDir
13 /home/buildozer/aports/testing/llvm3.9/src/llvm-3.9.1.src/unittests/Support/Path.cpp:591: Failure
14 Value of: fs::perms::owner_read | fs::perms::owner_exe
15 Actual: 320
16 Expected: Status.permissions() & fs::perms::all_all
17 Which is: 448
18
19--- a/unittests/Support/Path.cpp
20+++ b/unittests/Support/Path.cpp
21@@ -579,23 +579,23 @@
22 ASSERT_NO_ERROR(fs::remove(Twine(TestDirectory) + "foo"));
23
24 #ifdef LLVM_ON_UNIX
25- // Set a 0000 umask so that we can test our directory permissions.
26- mode_t OldUmask = ::umask(0000);
27-
28- fs::file_status Status;
29- ASSERT_NO_ERROR(
30- fs::create_directory(Twine(TestDirectory) + "baz500", false,
31- fs::perms::owner_read | fs::perms::owner_exe));
32- ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz500", Status));
33- ASSERT_EQ(Status.permissions() & fs::perms::all_all,
34- fs::perms::owner_read | fs::perms::owner_exe);
35- ASSERT_NO_ERROR(fs::create_directory(Twine(TestDirectory) + "baz777", false,
36- fs::perms::all_all));
37- ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz777", Status));
38- ASSERT_EQ(Status.permissions() & fs::perms::all_all, fs::perms::all_all);
39-
40- // Restore umask to be safe.
41- ::umask(OldUmask);
42+// // Set a 0000 umask so that we can test our directory permissions.
43+// mode_t OldUmask = ::umask(0000);
44+//
45+// fs::file_status Status;
46+// ASSERT_NO_ERROR(
47+// fs::create_directory(Twine(TestDirectory) + "baz500", false,
48+// fs::perms::owner_read | fs::perms::owner_exe));
49+// ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz500", Status));
50+// ASSERT_EQ(Status.permissions() & fs::perms::all_all,
51+// fs::perms::owner_read | fs::perms::owner_exe);
52+// ASSERT_NO_ERROR(fs::create_directory(Twine(TestDirectory) + "baz777", false,
53+// fs::perms::all_all));
54+// ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz777", Status));
55+// ASSERT_EQ(Status.permissions() & fs::perms::all_all, fs::perms::all_all);
56+//
57+// // Restore umask to be safe.
58+// ::umask(OldUmask);
59 #endif
60
61 #ifdef LLVM_ON_WIN32
diff --git a/unmaintained/llvm7/fix-LLVMConfig-cmake-install-prefix.patch b/unmaintained/llvm7/fix-LLVMConfig-cmake-install-prefix.patch
deleted file mode 100644
index b7e3dbe294..0000000000
--- a/unmaintained/llvm7/fix-LLVMConfig-cmake-install-prefix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
1Fix LLVMConfig.cmake being generated to use correct LLVM_INSTALL_PREFIX
2(e.g. /usr/lib/llvm5).
3
4This is needed e.g. for building lldb.
5
6--- a/cmake/modules/CMakeLists.txt
7+++ b/cmake/modules/CMakeLists.txt
8@@ -75,15 +75,7 @@
9
10 # Generate LLVMConfig.cmake for the install tree.
11 set(LLVM_CONFIG_CODE "
12-# Compute the installation prefix from this LLVMConfig.cmake file location.
13-get_filename_component(LLVM_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)")
14-# Construct the proper number of get_filename_component(... PATH)
15-# calls to compute the installation prefix.
16-string(REGEX REPLACE "/" ";" _count "${LLVM_INSTALL_PACKAGE_DIR}")
17-foreach(p ${_count})
18- set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE}
19-get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)")
20-endforeach(p)
21+set(LLVM_INSTALL_PREFIX \"${CMAKE_INSTALL_PREFIX}\")")
22 set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/include")
23 set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/lib\${LLVM_LIBDIR_SUFFIX}")
24 set(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}")
diff --git a/unmaintained/llvm7/fix-memory-mf_exec-on-aarch64.patch b/unmaintained/llvm7/fix-memory-mf_exec-on-aarch64.patch
deleted file mode 100644
index a70b397333..0000000000
--- a/unmaintained/llvm7/fix-memory-mf_exec-on-aarch64.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1Fix failures in AllocationTests/MappedMemoryTest.* on aarch64:
2
3 Failing Tests (8):
4 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.AllocAndRelease/3
5 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.DuplicateNear/3
6 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.EnabledWrite/3
7 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.MultipleAllocAndRelease/3
8 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.SuccessiveNear/3
9 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.UnalignedNear/3
10 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.ZeroNear/3
11 LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.ZeroSizeNear/3
12
13Upstream-Issue: https://bugs.llvm.org/show_bug.cgi?id=14278#c10
14
15--- a/lib/Support/Unix/Memory.inc
16+++ b/lib/Support/Unix/Memory.inc
17@@ -54,7 +54,7 @@
18 llvm::sys::Memory::MF_EXEC:
19 return PROT_READ | PROT_WRITE | PROT_EXEC;
20 case llvm::sys::Memory::MF_EXEC:
21-#if defined(__FreeBSD__)
22+#if defined(__FreeBSD__) || (defined(__linux__) && (defined(__aarch64__) || defined(__powerpc64__)))
23 // On PowerPC, having an executable page that has no read permission
24 // can have unintended consequences. The function InvalidateInstruction-
25 // Cache uses instructions dcbf and icbi, both of which are treated by
26@@ -62,6 +62,7 @@
27 // executing these instructions will result in a segmentation fault.
28 // Somehow, this problem is not present on Linux, but it does happen
29 // on FreeBSD.
30+ // The same problem is present even on aarch64 Linux (at least on musl).
31 return PROT_READ | PROT_EXEC;
32 #else
33 return PROT_EXEC;
diff --git a/unmaintained/llvm7/python3-test.patch b/unmaintained/llvm7/python3-test.patch
deleted file mode 100644
index 746313317e..0000000000
--- a/unmaintained/llvm7/python3-test.patch
+++ /dev/null
@@ -1,8 +0,0 @@
1--- llvm-7.0.1.src/test/BugPoint/compile-custom.ll.py.old 2014-03-13 00:10:37.000000000 +0000
2+++ llvm-7.0.1.src/test/BugPoint/compile-custom.ll.py 2019-03-10 03:48:48.600000000 +0000
3@@ -1,4 +1,4 @@
4-#!/usr/bin/env python
5+#!/usr/bin/env python3
6
7 import sys
8
diff --git a/unmaintained/llvm7/rust.patch b/unmaintained/llvm7/rust.patch
deleted file mode 100644
index f46ad23b7a..0000000000
--- a/unmaintained/llvm7/rust.patch
+++ /dev/null
@@ -1,82 +0,0 @@
1From da1fb72bb305d6bc1f3899d541414146934bf80f Mon Sep 17 00:00:00 2001
2From: Jonas Devlieghere <jonas@devlieghere.com>
3Date: Fri, 21 Sep 2018 12:03:14 +0000
4Subject: [PATCH] Ensure that variant part discriminator is read by
5 MetadataLoader
6
7https://reviews.llvm.org/D42082 introduced variant parts to debug info
8in LLVM. Subsequent work on the Rust compiler has found a bug in that
9patch; namely, there is a path in MetadataLoader that fails to restore
10the discriminator.
11
12This patch fixes the bug.
13
14Patch by: Tom Tromey
15
16Differential revision: https://reviews.llvm.org/D52340
17
18git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@342725 91177308-0d34-0410-b5e6-96231b3b80d8
19---
20 lib/Bitcode/Reader/MetadataLoader.cpp | 2 +-
21 test/Assembler/debug-variant-discriminator.ll | 14 ++++++++++++++
22 2 files changed, 15 insertions(+), 1 deletion(-)
23 create mode 100644 test/Assembler/debug-variant-discriminator.ll
24
25diff --git a/lib/Bitcode/Reader/MetadataLoader.cpp b/lib/Bitcode/Reader/MetadataLoader.cpp
26index 3fe7d2205631..4781cfe3dea6 100644
27--- a/lib/Bitcode/Reader/MetadataLoader.cpp
28+++ b/lib/Bitcode/Reader/MetadataLoader.cpp
29@@ -1313,7 +1313,7 @@ Error MetadataLoader::MetadataLoaderImpl::parseOneMetadata(
30 (Context, Tag, Name, File, Line, Scope, BaseType,
31 SizeInBits, AlignInBits, OffsetInBits, Flags,
32 Elements, RuntimeLang, VTableHolder, TemplateParams,
33- Identifier));
34+ Identifier, Discriminator));
35 if (!IsNotUsedInTypeRef && Identifier)
36 MetadataList.addTypeRef(*Identifier, *cast<DICompositeType>(CT));
37
38diff --git a/test/Assembler/debug-variant-discriminator.ll b/test/Assembler/debug-variant-discriminator.ll
39new file mode 100644
40index 000000000000..5be001cad6be
41--- /dev/null
42+++ b/test/Assembler/debug-variant-discriminator.ll
43@@ -0,0 +1,14 @@
44+; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
45+; RUN: verify-uselistorder %s
46+
47+; CHECK: !named = !{!0, !1, !2}
48+!named = !{!0, !1, !2}
49+
50+; CHECK: !0 = !DICompositeType(tag: DW_TAG_structure_type, name: "Outer", size: 64, align: 64, identifier: "Outer")
51+; CHECK-NEXT: !1 = !DICompositeType(tag: DW_TAG_variant_part, scope: !0, size: 64, discriminator: !2)
52+; CHECK-NEXT: !2 = !DIDerivedType(tag: DW_TAG_member, scope: !1, baseType: !3, size: 64, align: 64, flags: DIFlagArtificial)
53+; CHECK-NEXT: !3 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned)
54+!0 = !DICompositeType(tag: DW_TAG_structure_type, name: "Outer", size: 64, align: 64, identifier: "Outer")
55+!1 = !DICompositeType(tag: DW_TAG_variant_part, scope: !0, size: 64, discriminator: !2)
56+!2 = !DIDerivedType(tag: DW_TAG_member, scope: !1, baseType: !3, size: 64, align: 64, flags: DIFlagArtificial)
57+!3 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned)
58From cc1f2a595ead516812a6c50398f0f3480ebe031f Mon Sep 17 00:00:00 2001
59From: Jonas Devlieghere <jonas@devlieghere.com>
60Date: Fri, 21 Sep 2018 12:28:44 +0000
61Subject: [PATCH] [test] Fix Assembler/debug-info.ll
62
63Update Assembler/debug-info.ll to contain discriminator.
64
65git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@342727 91177308-0d34-0410-b5e6-96231b3b80d8
66---
67 test/Assembler/debug-info.ll | 2 +-
68 1 file changed, 1 insertion(+), 1 deletion(-)
69
70diff --git a/test/Assembler/debug-info.ll b/test/Assembler/debug-info.ll
71index 4404b741d343..d54dba07ac1e 100644
72--- a/test/Assembler/debug-info.ll
73+++ b/test/Assembler/debug-info.ll
74@@ -83,7 +83,7 @@
75 ; CHECK-NEXT: !32 = !DIFile(filename: "file", directory: "dir", checksumkind: CSK_MD5, checksum: "000102030405060708090a0b0c0d0e0f")
76 !35 = !DIFile(filename: "file", directory: "dir", checksumkind: CSK_MD5, checksum: "000102030405060708090a0b0c0d0e0f")
77
78-; CHECK-NEXT: !33 = !DICompositeType(tag: DW_TAG_variant_part, name: "A", scope: !14, size: 64)
79+; CHECK-NEXT: !33 = !DICompositeType(tag: DW_TAG_variant_part, name: "A", scope: !14, size: 64, discriminator: !34)
80 ; CHECK-NEXT: !34 = !DIDerivedType(tag: DW_TAG_member, scope: !33, baseType: !35, size: 64, align: 64, flags: DIFlagArtificial)
81 ; CHECK-NEXT: !35 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned)
82 !36 = !DICompositeType(tag: DW_TAG_variant_part, name: "A", scope: !16, size: 64, discriminator: !37)