From 81e2995efc0ed32082b389b24dfe2f750c1bb90c Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 2 Aug 2022 09:38:03 +0200 Subject: [PATCH 1/6] Update to LLVM 15.0.0 --- .gitignore | 4 + 0001-Install-clang-tblgen.patch | 28 +++++ ...overyTest.DumpStackCleanup-test-on-a.patch | 15 ++- ...abstract-variable.ll-test-on-ppc64le.patch | 12 +- llvm.spec | 36 ++++-- release-keys.asc | 104 ++++++++++++++++++ sources | 6 +- tstellar-gpg-key.asc | Bin 2222 -> 0 bytes 8 files changed, 179 insertions(+), 26 deletions(-) create mode 100644 0001-Install-clang-tblgen.patch rename 0001-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch => 0002-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch (85%) rename 0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch => 0003-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch (80%) create mode 100644 release-keys.asc delete mode 100644 tstellar-gpg-key.asc diff --git a/.gitignore b/.gitignore index ee9e312..3a09334 100644 --- a/.gitignore +++ b/.gitignore @@ -130,3 +130,7 @@ /llvm-14.0.3.src.tar.xz.sig /llvm-14.0.5.src.tar.xz /llvm-14.0.5.src.tar.xz.sig +/llvm-15.0.0.src.tar.xz +/llvm-15.0.0.src.tar.xz.sig +/cmake-15.0.0.src.tar.xz +/cmake-15.0.0.src.tar.xz.sig diff --git a/0001-Install-clang-tblgen.patch b/0001-Install-clang-tblgen.patch new file mode 100644 index 0000000..6bfc2e2 --- /dev/null +++ b/0001-Install-clang-tblgen.patch @@ -0,0 +1,28 @@ +From 2e106d4cfc909e23e16104725706e4f9dda15974 Mon Sep 17 00:00:00 2001 +From: Nikita Popov +Date: Fri, 5 Aug 2022 08:57:18 +0200 +Subject: [PATCH] Install clang-tblgen + +--- + llvm/cmake/modules/TableGen.cmake | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake +index 4711456776c8..edcc9d0b607d 100644 +--- a/llvm/cmake/modules/TableGen.cmake ++++ b/llvm/cmake/modules/TableGen.cmake +@@ -186,7 +186,10 @@ macro(add_tablegen target project) + endif() + endif() + +- if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR) AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS) ++ # (llvm|mlir|clang)-tblgen may also be used outside the respective projects. ++ if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR OR ++ ${project} STREQUAL CLANG) AND ++ NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS) + set(export_to_llvmexports) + if(${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR + NOT LLVM_DISTRIBUTION_COMPONENTS) +-- +2.37.1 + diff --git a/0001-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch b/0002-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch similarity index 85% rename from 0001-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch rename to 0002-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch index 1ddfb0c..36f6a20 100644 --- a/0001-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch +++ b/0002-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch @@ -1,4 +1,4 @@ -From 3df079ae29426b4bee3ca11681a41958d72b983a Mon Sep 17 00:00:00 2001 +From 6dd25eb3ca3d8a6847fab029946d15f223b1a551 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Mon, 31 Jan 2022 10:33:27 +0100 Subject: [PATCH] Disable CrashRecoveryTest.DumpStackCleanup test on aarch64 @@ -10,13 +10,13 @@ https://bugzilla.redhat.com/show_bug.cgi?id=2048440 1 file changed, 2 insertions(+) diff --git a/llvm/unittests/Support/CrashRecoveryTest.cpp b/llvm/unittests/Support/CrashRecoveryTest.cpp -index e95513eb2841..afb1d3a1f6a2 100644 +index d942c9d..28efedd 100644 --- a/llvm/unittests/Support/CrashRecoveryTest.cpp +++ b/llvm/unittests/Support/CrashRecoveryTest.cpp @@ -76,6 +76,7 @@ TEST(CrashRecoveryTest, Cleanup) { llvm::CrashRecoveryContext::Disable(); } - + +#ifndef __aarch64__ TEST(CrashRecoveryTest, DumpStackCleanup) { SmallString<128> Filename; @@ -26,10 +26,9 @@ index e95513eb2841..afb1d3a1f6a2 100644 llvm::CrashRecoveryContext::Disable(); } +#endif - + TEST(CrashRecoveryTest, LimitedStackTrace) { - std::string Res; --- -2.34.1 - + // FIXME: Handle "Depth" parameter in PrintStackTrace() function +-- +1.8.3.1 diff --git a/0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch b/0003-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch similarity index 80% rename from 0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch rename to 0003-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch index 4c4a9cf..0f4acd3 100644 --- a/0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch +++ b/0003-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch @@ -1,6 +1,6 @@ -From 9320ffeda3915c8f7be744c983a3470a89107bd7 Mon Sep 17 00:00:00 2001 +From 01529ba2c76be37e41713cf7f3eca8b61833e320 Mon Sep 17 00:00:00 2001 From: Tom Stellard -Date: Tue, 14 Sep 2021 20:21:20 -0700 +Date: Tue, 9 Nov 2021 15:05:07 +0100 Subject: [PATCH] XFAIL missing-abstract-variable.ll test on ppc64le It's seems the strategy with this test is to XFAIL it on all @@ -16,18 +16,18 @@ Differential Revision: https://reviews.llvm.org/D109806 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll b/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll -index bd0de60268b6..cc5d56b0c512 100644 +index 8f8d404..07a8778 100644 --- a/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll +++ b/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll @@ -4,7 +4,7 @@ ; powerpc64 (and on x86_64 at at least -O2). Presumably this is a SelectionDAG ; issue. ; FIXME: arm64 is an alias for aarch64 on macs, apparently? --; XFAIL: powerpc64, aarch64, arm64, hexagon, riscv -+; XFAIL: powerpc64, aarch64, arm64, hexagon, riscv, ppc64le +-; XFAIL: powerpc64, aarch64, arm64, hexagon, riscv, sparc ++; XFAIL: powerpc64, aarch64, arm64, hexagon, riscv, sparc, ppc64le ; Build from the following source with clang -O2. -- -2.31.1 +1.8.3.1 diff --git a/llvm.spec b/llvm.spec index 0adf38d..16f44e1 100644 --- a/llvm.spec +++ b/llvm.spec @@ -13,14 +13,15 @@ %bcond_with compat_build %bcond_without check -#global rc_ver 4 -%global maj_ver 14 +#global rc_ver 3 +%global maj_ver 15 %global min_ver 0 -%global patch_ver 5 +%global patch_ver 0 %if !%{maj_ver} && 0%{?rc_ver} %global abi_revision 2 %endif %global llvm_srcdir llvm-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src +%global cmake_srcdir cmake-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src %if %{with compat_build} %global pkg_name llvm%{maj_ver} @@ -71,25 +72,31 @@ Name: %{pkg_name} Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}} -Release: 3%{?dist} +Release: 1%{?dist} Summary: The Low Level Virtual Machine License: NCSA URL: http://llvm.org Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz.sig -Source2: tstellar-gpg-key.asc +Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz +Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz.sig +Source4: release-keys.asc %if %{without compat_build} -Source3: run-lit-tests -Source4: lit.fedora.cfg.py +Source5: run-lit-tests +Source6: lit.fedora.cfg.py %endif %if 0%{?abi_revision} Patch0: 0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch %endif -Patch1: 0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch -Patch2: 0001-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch +Patch1: 0002-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch +Patch2: 0003-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch + +# Needed to export clang-tblgen during the clang build, needed by the flang docs build. +# TODO: Can be dropped for LLVM 16, see https://reviews.llvm.org/D131282. +Patch3: 0001-Install-clang-tblgen.patch BuildRequires: gcc BuildRequires: gcc-c++ @@ -202,7 +209,13 @@ LLVM's modified googletest sources. %endif %prep -%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE3}' --data='%{SOURCE2}' +%setup -T -q -b 2 -n %{cmake_srcdir} +# TODO: It would be more elegant to set -DLLVM_COMMON_CMAKE_UTILS=%{_builddir}/%{cmake_srcdir}, +# but this is not a CACHED variable, so we can't actually set it externally :( +cd .. +mv %{cmake_srcdir} cmake %autosetup -n %{llvm_srcdir} -p2 %py3_shebang_fix \ @@ -552,6 +565,9 @@ fi %endif %changelog +* Tue Sep 06 2022 Nikita Popov - 15.0.0-1 +- Update to LLVM 15.0.0 + * Thu Jul 21 2022 Fedora Release Engineering - 14.0.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/release-keys.asc b/release-keys.asc new file mode 100644 index 0000000..0d3789a --- /dev/null +++ b/release-keys.asc @@ -0,0 +1,104 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQGNBGLtemUBDADClvDIromq0Y4TX+wyRyYCq5WusPQheQuY8dVCXd9KhMpYAv8U +X15E5boH/quGpJ0ZlVkWcf+1WUHIrQWlbzQdIx514CDM7DBgO92CXsnn86kIMDW+ +9S+Hkn8upbizT1fWritlHwzD9osz7ZQRq7ac03PPgw27tqeIizHGuG4VNLyhbbjA +w+0VLFSu3r219eevS+lzBIvR5U9W720jFxWxts4UvaGuD6XW1ErcsTvuhgyCKrrs +gxO5Ma/V7r0+lqRL688ZPr4HxthwsON1YCfpNiMZ6sgxT8rOE0qL/d07ItbnXxz6 +KdcNWIXamTJKJgag6Tl0gYX4KIuUCcivXaRdJtUcFFsveCorkdHkdGNos403XR89 +5u9gq7Ef10Zahsv5GjE2DV5oFCEhXvfIWxvyeJa65iBkJafElb2stgUjkIut2a2u ++XmpKpwpGSFklce1ABLrmazlLjhsYiJVrz5l5ktoT9moE4GaF7Q5LD6JgsxzLE0U +Tzo9/AQPd8qG2REAEQEAAbQeVG9iaWFzIEhpZXRhIDx0b2JpYXNAaGlldGEuc2U+ +iQHUBBMBCAA+FiEE1XS9XR0OmIleO/kARPJIXkXVkEIFAmLtemUCGwMFCRLMAwAF +CwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQRPJIXkXVkEKoNwv+MEMVzdnzJarx +ZJ0OzHrGJJG8/chkuoejTjCLG73li9yWQigy5KmvynB5yW0fk0PAQ90vvp2wr/Hd +mUh0Zda3CwF6sWlO3N6DEDjVA3lZUuofTtvMn/tdGvvOOXYXAP9N+SZfp/7q8dxX +zn5SA1AO87nXq5lrwVzlVzUCdwOeqDlJ+2U9VEqvukP/FdkgaR2bEb8Wm/h+encW +UIQEqPDE+qOyJ9dRaiL0CUI4x+1wXeXB3OA7VybF2LvaZDbMlocdy+vs825iUWfa +n8g3mE2TpV8jkc9UHgGGopzxqNquvkkIB7ZFZm/PSW40W3OeHKhYsZZbHrz9403t +3R4SAzA3ApmMP/P8ue9irsbe24g3rzYMvck1w4C1a4Uy9buT0OCfA+dA16IRAPgV +5SJEIS62cFbUxkw8el3rUK9V+6kwoq4k8Fs8f1U7DEnOKS/v8BJJCNEc1cvimZai +Y5/3r5BeneEmuZFKX4iIIfcn5PmLSDB4aw+gKAIAAus+E2DxBqE+uQGNBGLtemUB +DADBCNyvUdv0OV//6pQ/0YC2bYXL/ElF0rOjFFl4H7O3TRxgIz2C4nQJHUOrXSmo +iL7ldfUjoAMgebcoWDpgE8S2Vjw2Gd+UJBQXj+3J6dPKLBUCjj9CLyb5hwOHITMV +b9UC/E+iwpn4vgTbI6K1O847brkBC+GuDT4g9D3O3sRbja0GjN0n2yZiS8NtRQm1 +MXAVy1IffeXKpGLookAhoUArSN88koMe+4Nx6Qun4/aUcwz0P2QUr5MA5jUzFLy1 +R3M5p1nctX15oLOU33nwCWuyjvqkxAeAfJMlkKDKYX25u1R2RmQ4ju2kAbw0PiiZ +yYft8fGlrwT4/PB3AqfKeSpx8l9Vs15ePvcuJITauo3fhBjJ6Y4WCKlTG1FbDYUl +KvPhyGO8yLhtZJg3+LbA5M/CEHsDmUh7YEQVxM0RTQMTxNBVBF5IG/4y8v/+19DZ +89VdpsQF3ThoPV0yh57YMemTBeIxpF9Swp5N7kUWct4872kBnXOmbp/jhU4MpLj6 +iLEAEQEAAYkBvAQYAQgAJhYhBNV0vV0dDpiJXjv5AETySF5F1ZBCBQJi7XplAhsM +BQkSzAMAAAoJEETySF5F1ZBCdPwL/3Ox6MwrKFzYJNz3NpQFpKFdDrkwhf25D/Qw +vu5e8Lql/q62NIhEKH3jxXXgoFYas2G7r8CSCRehraDqvXygbaiWUIkxSU0xuDTl +lNqHSkCRqIxhi/yxNm1Pk84NVGTLXWW0+CwT9cRwWn5foIPJhoDdZ732zJ7rcY3R +g71SJTe3R6MnGBzIF1LzT7Znwkh7YfcmeTfInareIWXpeNaeKy8KrQmr/0+5AIer +Ax1gu03o8GD5LFDUuGbESgDJU6nVtVyht7C6AlJWqSX6QS3+lPCw5BOCKbxakYNR +/oBNauzyDISdbUwzHM2d+XGCjBsXKRA0Tft2NlG6EC83/PuY2J9MSA2gg3iPHsiN +J5iipbdZNpZ3XL0l8/t/7T60nM7UZDqt3twLMA0eRFRlCnhMjvFE5Zgj5DE7BsJh +w2nCoGWkAcfeuih+jfyEjN24NK+sE/bM+krwVv430ewJwm1bVUqKrbOb9aa6V9gP +9RmlwZlOTFGcWBYl/cfRONn9qi9a6w== +=Lvw+ +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=tMzl +-----END PGP PUBLIC KEY BLOCK----- diff --git a/sources b/sources index e4de506..0828890 100644 --- a/sources +++ b/sources @@ -1,2 +1,4 @@ -SHA512 (llvm-14.0.5.src.tar.xz) = 03b9ecedd14eb034d16fde945d395672990b2140bff713a65e701711ef5934b967850762fcb2d75db72abb56ad0354d4f5d768f1005add979a859c93565004d2 -SHA512 (llvm-14.0.5.src.tar.xz.sig) = d994b6b92a6c3eba93f328f582287d834bdd068ff80030659f74c35f6da501e8121eb03a5a9431aa0a556145fc9087d2081352106d75305032b6020d2278683f +SHA512 (llvm-15.0.0.src.tar.xz) = 323e6a7940f47dee11dae7b80ea25451080f2d84a6c4ca47d5a20d796efc6dbaec2036b968fdef34f1167fbeb10825d06ec7eb366854bf925f89a2ac13a05aa4 +SHA512 (llvm-15.0.0.src.tar.xz.sig) = bb2ea08b94fca1b6fde6b6d95db97cf41ada674e3044b3de395d3e249b602dde1b8f9b75aa1c6f5c32e87e0ea6645d51eeeae1febff99cb8c6c44ba6c88e5655 +SHA512 (cmake-15.0.0.src.tar.xz) = e8bcc349ff8311f7d5530b2654434b66560a85cad7c46b707b8a484963cba44894a5565adbaa4b892225a03b74b63b5f54491c11489975db5bcdeac5eea12841 +SHA512 (cmake-15.0.0.src.tar.xz.sig) = f2f0a60deb01c4555ef6bbcfdd712d5478cbbc3a6b96c0d306042451110dbac799ac780229fc46de2faef069ebccdda47d635a4e17290c29b9d8616fcbc11c98 diff --git a/tstellar-gpg-key.asc b/tstellar-gpg-key.asc deleted file mode 100644 index eba625c41a5fb1646d8b087acb97a6f079901712..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2222 zcmV;f2vPT$0u2OO>VZ805CFTzjTRs0jjXv;pGugCr`4v#a%GKo$r!Jd->PCt z$y%rpj==vUV}Ir+*R8b>IVmXk+p1pb?8#X&nu=A^mMLf^hWzyKgNi2>hyWLVh=fxY z2uQphyka|M&B_iX7`4E;@VIVye4j+?(eh_~`%yu#&d z*V9fM6W6bny8d9hd1I{mwtG%>CC@J*juZpAErTo`!5xcYL1Aj+mdQryB5UR$E%yF6 z*!s!u));Q?P+9N#0Q6S0jli^^Y40t$(uybAR^$1y6%VyNeBeQ!@oTFdcu?K8u$-I` zKDUMj7UGg4A}({Q;YHV$l=+&0cGG3Hh4_R+d%{rZxYsm$HE!9TA$H#_hM3|NNT^K> zZQU8HH=}vu#c;-9-Jyy=nkH&Ih5=&vyyTF3Oa0+QyQp|o8>g~GALwBu0JFctO)F4By^oR|Q&^+ok_ahpz* zx2{4_^~smFohQB{Cn}OKl!M)6h-Sp7pTRPF)8{xDQnsT*2KBVqzLp^_b}_%Gi3#{7 zPmKinsRK(isAm8X0RRECB2;f}AX9W@Y;0k2WFS0rb97~FY+-Uha%E&_VRSBIZ*4w_ z0zU*30RjLi1p->?fjt5n0|f~I;WK~-3ke7Z0|EgC6$kC|{ ztfg+f-L$-*LG&Y8rEs>Pk0kY2M!#d(HZRxiE0ipTCeAm7F|v6IH9B7Vlm=s3u!P6x zukC3z;PJmJ)xh$MIj*i=cG31 zsr(;uWSlOsz%_4Yz*UkKLqI0&M?pa@7vLxT7E~NOMQpRmC;};m26SlTQ+yR!^FSkd z5X@jE=BH4}c|41ZEr0imr|M~OJc6e@^UU(IF|W<>p1aTajeew-gHXQNys755V(S?e zy&C%siGryJ(2hm;uw^%r#}(W7xEi6^+X#Ec26;Q4R?Bq8H1hLh#VmX*+=kLh#l)OH zuC2P$?)S;hs*FQk8?PUuG{npPBS~7t;@#%(02I5L`it-=nvT%hwBu9Vylt?Rx_WO8 zn;xz3>aTq41Kx`}**s6A$49Kf_AikxBYjpmen!2RxlOtbF<6izL<4CJepUil@?zwT z9--9FX0i_jVtyY+6GeUXY{C6s&jp=gZVLvg0K<2!X;=PL%?gW_4bZMVYaV0@NJs-G zR53P~&$$8(1X}8WJpm8^!P@Z0GUu_8r6%69;^`~$FlQ_sXC1gfPE!ZD7nWV}F8ra9JxN4Hc;rg@5`G`UmNK zQK2H?OT@C(8zIO}kZRe0_IN@oCg4<+qQMIIQ9BTzli>7{__%>7EJKyOXMQt~d~dO#*vR-UpkDf2!SqwMz3;vEnk@ z?=o=Jt#mt#&qQ5T^Djs9 z^4k@B1GCy801*KI0f_=71Q-DV01pKMTIzv40vikk2?60VfB*^!5TeJFsfIzFiUFe# z0I}kKVKh7v)wfS?mcAnLFf2mw>&+IUnN!`^A5o?AROoVE|1Wn*mv*_@{l7RSech<$ z?RLGlpeWdkMhbOTAw|NxrZVM!5o8(5NV^UY>QiIQrC87nWDTTnJfN`ajL|@# zl)Qnlzy(_cGgW866I0m2oMj27)0bsK>19i)o*dAxPI!tSpuQR`^kJnT+%gR}_vkiWGx zBRSn>o||dsUIz{u>`KQ`n~m24dqQqPaip8qJ@%<^y5X6+qY7;4MB$!YUu}^Vz&|fAyIM wpX0lD!)BYGzJZL|-kImy^XM9ph5)K0`p3zNu2XNcRC)Y~P3B_BHh)~2!0gUKHvj+t From 5f0a6388b344f3b260b9d884394fb40b12ed3cea Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 13 Sep 2022 18:04:18 +0200 Subject: [PATCH 2/6] Fix compat build symlinks Backport from llvm14 package. --- llvm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm.spec b/llvm.spec index 16f44e1..3dd770d 100644 --- a/llvm.spec +++ b/llvm.spec @@ -368,7 +368,7 @@ ln -s -t %{buildroot}%{_libdir}/bfd-plugins/ ../LLVMgold.so # Add version suffix to binaries for f in %{buildroot}/%{install_bindir}/*; do filename=`basename $f` - ln -s ../../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix} + ln -s ../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix} done # Move header files From 2ce66b7035cb87ed3521f819ad296ff729d6bee9 Mon Sep 17 00:00:00 2001 From: Jesus Checa Hidalgo Date: Mon, 12 Sep 2022 13:18:15 +0200 Subject: [PATCH 3/6] Migrate tests to tests/llvm repo --- tests/README.md | 6 ++ tests/binutils-plugin-ar/main.fmf | 2 - tests/binutils-plugin-ar/test.sh | 7 --- tests/build-compat/main.fmf | 3 - tests/build-compat/test.sh | 14 ----- tests/build-gating.fmf | 3 + tests/integration-test-suite/main.fmf | 81 --------------------------- tests/integration-test-suite/test.sh | 39 ------------- tests/libllvm-size/main.fmf | 13 ----- tests/libllvm-size/test.sh | 10 ---- tests/llvm-config/main.fmf | 2 - tests/llvm-config/test.sh | 3 - tests/rust-sanity/main.fmf | 30 ---------- tests/rust-sanity/test.sh | 5 -- tests/versioned-llvm-config/main.fmf | 2 - tests/versioned-llvm-config/test.sh | 5 -- 16 files changed, 9 insertions(+), 216 deletions(-) create mode 100644 tests/README.md delete mode 100644 tests/binutils-plugin-ar/main.fmf delete mode 100755 tests/binutils-plugin-ar/test.sh delete mode 100644 tests/build-compat/main.fmf delete mode 100755 tests/build-compat/test.sh delete mode 100644 tests/integration-test-suite/main.fmf delete mode 100755 tests/integration-test-suite/test.sh delete mode 100644 tests/libllvm-size/main.fmf delete mode 100755 tests/libllvm-size/test.sh delete mode 100644 tests/llvm-config/main.fmf delete mode 100755 tests/llvm-config/test.sh delete mode 100644 tests/rust-sanity/main.fmf delete mode 100755 tests/rust-sanity/test.sh delete mode 100644 tests/versioned-llvm-config/main.fmf delete mode 100755 tests/versioned-llvm-config/test.sh diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 0000000..5aeb3d6 --- /dev/null +++ b/tests/README.md @@ -0,0 +1,6 @@ +# Gating testplans for LLVM + +The tests for LLVM are in a separate repo: https://src.fedoraproject.org/tests/llvm +This directory should contain only fmf plans (such as build-gating.fmf) which import +the tests from the tests repo. This can be done using the "url" parameter of the +plan's "discover" step. Reference: https://tmt.readthedocs.io/en/stable/spec/plans.html#fmf \ No newline at end of file diff --git a/tests/binutils-plugin-ar/main.fmf b/tests/binutils-plugin-ar/main.fmf deleted file mode 100644 index 675bc21..0000000 --- a/tests/binutils-plugin-ar/main.fmf +++ /dev/null @@ -1,2 +0,0 @@ -summary: Make sure the the LLVM plugin for binutils' ar works -test: "$WITH_SCL ./test.sh" diff --git a/tests/binutils-plugin-ar/test.sh b/tests/binutils-plugin-ar/test.sh deleted file mode 100755 index 5dbacec..0000000 --- a/tests/binutils-plugin-ar/test.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -eux - -set pipefail - -echo "void lto_function(){}" | clang -flto -O2 -c -x c -o foo.o - -ar crs foo.a foo.o -readelf -c foo.a | grep lto_function diff --git a/tests/build-compat/main.fmf b/tests/build-compat/main.fmf deleted file mode 100644 index 7e0a3d3..0000000 --- a/tests/build-compat/main.fmf +++ /dev/null @@ -1,3 +0,0 @@ -summary: Make sure rebuilding LLVM still works with the new LLVM -test: "$WITH_SCL ./test.sh" -enabled: false diff --git a/tests/build-compat/test.sh b/tests/build-compat/test.sh deleted file mode 100755 index 04a97b2..0000000 --- a/tests/build-compat/test.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -eux - -dnf download --disablerepo=* --enablerepo=test-llvm --source llvm - -# The src.rpm is available in the directory the test run from. -set +e -mock --resultdir=. --old-chroot --with compat_build --rebuild *.src.rpm -if [ $? -ne 0 ]; then - cat root.log - cat build.log - exit 1 -fi - -exit 0 diff --git a/tests/build-gating.fmf b/tests/build-gating.fmf index d7549b2..8c19a1a 100644 --- a/tests/build-gating.fmf +++ b/tests/build-gating.fmf @@ -48,7 +48,10 @@ adjust: or distro == rhel-8 discover: + - name: llvm-tests how: fmf + url: https://src.fedoraproject.org/tests/llvm.git + ref: main execute: how: tmt provision: diff --git a/tests/integration-test-suite/main.fmf b/tests/integration-test-suite/main.fmf deleted file mode 100644 index 60504b4..0000000 --- a/tests/integration-test-suite/main.fmf +++ /dev/null @@ -1,81 +0,0 @@ -summary: Run the upstream LLVM integration test suite -description: | - Run the upstream LLVM integration test suite -test: "$WITH_SCL ./test.sh" -require: - - git - - make - # These require special repositories to be enabled on RHEL - - libstdc++-static -adjust: - # Common requirements when LLVM is not SCL-ized - - require+: - - cmake - - clang - - clang-analyzer - - clang-devel - - clang-tools-extra - - compiler-rt - - lld - - lldb - - libomp-devel - - llvm-devel - - python3-lit - when: "collection is not defined" - - # Requirements for SCL-ized LLVM - - require+: - - llvm-toolset-13.0-cmake - - llvm-toolset-13.0-clang - - llvm-toolset-13.0-clang-analyzer - - llvm-toolset-13.0-clang-devel - - llvm-toolset-13.0-clang-tools-extra - - llvm-toolset-13.0-compiler-rt - - llvm-toolset-13.0-lld - - llvm-toolset-13.0-lldb - - llvm-toolset-13.0-libomp-devel - - llvm-toolset-13.0-llvm-devel - - llvm-toolset-13.0-python3-lit - when: "collection == llvm-toolset-13.0" - - require+: - - llvm-toolset-14.0-cmake - - llvm-toolset-14.0-clang - - llvm-toolset-14.0-clang-analyzer - - llvm-toolset-14.0-clang-devel - - llvm-toolset-14.0-clang-tools-extra - - llvm-toolset-14.0-compiler-rt - - llvm-toolset-14.0-lld - - llvm-toolset-14.0-lldb - - llvm-toolset-14.0-libomp-devel - - llvm-toolset-14.0-llvm-devel - - llvm-toolset-14.0-python3-lit - when: "collection == llvm-toolset-14.0" - - # lld not supported in s390x or ppc64. If any lld package was added to - # requirements, remove it. - - require-: - - lld - - llvm-toolset-13.0-lld - - llvm-toolset-14.0-lld - when: arch == s390x or arch == ppc64 - - # libomp not supported in s390x. If any libomp-devel package was added to - # requirements, remove it. - - require-: - - libomp-devel - - llvm-toolset-13.0-libomp-devel - - llvm-toolset-14.0-libomp-devel - when: arch == s390x - - # libcxx shall be required in Fedora, it's not shipped with RHEL. - - require+: - - libcxx-devel - when: "distro == fedora" - because: testing against libcxx package in Fedora - - - environment+: - CMAKE_CXXLIB: "-DENABLE_LIBCXX=OFF" - when: >- - distro == centos - or distro == rhel - because: libcxx is not shipped with neither Centos nor RHEL diff --git a/tests/integration-test-suite/test.sh b/tests/integration-test-suite/test.sh deleted file mode 100755 index e350c57..0000000 --- a/tests/integration-test-suite/test.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -eux - -usage() { - echo "usage `basename $0` [OPTIONS]" - echo " --threads NUM The number of threads to use for running tests." -} - -threads=0 -thread_args="" -repo_url=https://github.com/opencollab/llvm-toolchain-integration-test-suite - -while [ $# -gt 0 ]; do - case $1 in - --threads) - shift - threads="$1" - ;; - * ) - echo "unknown option: $1" - echo "" - usage - exit 1 - ;; - esac - shift -done - -if [ "$threads" -ge 1 ]; then - thread_args="-j$threads" -fi - -cd $(mktemp -d -p /var/tmp) -git clone $repo_url -cd llvm-toolchain-integration-test-suite -mkdir _build && cd _build -cmake .. ${CMAKE_CXXLIB:-} -# Do not run with make as it will return 2 in case of failures, which will be -# reported by tmt as error instead failure. Run with lit so it returns 1. -lit --show-unsupported --show-xfail -v tests diff --git a/tests/libllvm-size/main.fmf b/tests/libllvm-size/main.fmf deleted file mode 100644 index 2c207dd..0000000 --- a/tests/libllvm-size/main.fmf +++ /dev/null @@ -1,13 +0,0 @@ -summary: Check that libLLVM.so has been properly stripped -test: "$WITH_SCL ./test.sh" -environment: - LIBLLVM_PATH: /usr/lib64/libLLVM.so -adjust: - - because: "With SCL-ized LLVM, library path is different" - environment+: - LIBLLVM_PATH: /opt/rh/llvm-toolset-13.0/root/usr/lib64/libLLVM.so - when: "collection == llvm-toolset-13.0" - - because: "With SCL-ized LLVM, library path is different" - environment+: - LIBLLVM_PATH: /opt/rh/llvm-toolset-14.0/root/usr/lib64/libLLVM.so - when: "collection == llvm-toolset-14.0" \ No newline at end of file diff --git a/tests/libllvm-size/test.sh b/tests/libllvm-size/test.sh deleted file mode 100755 index a9a2dfe..0000000 --- a/tests/libllvm-size/test.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -eux - -# There is a bug in the build process when it runs out of disk space -# while stripping binaries, which causes the strip to fail, but does -# not fail the build. This results in a libLLVM.so that is over 2GB -# which breaks the nightly compose. So this test checks that libLLVM.so -# is less than 150MB to ensure it was successfully stripped. -# https://bugzilla.redhat.com/show_bug.cgi?id=1793250 - -test $(stat -L -c %s $LIBLLVM_PATH) -lt 157286400 diff --git a/tests/llvm-config/main.fmf b/tests/llvm-config/main.fmf deleted file mode 100644 index f744956..0000000 --- a/tests/llvm-config/main.fmf +++ /dev/null @@ -1,2 +0,0 @@ -summary: Make sure llvm-config symlink is properly set up -test: "$WITH_SCL ./test.sh" diff --git a/tests/llvm-config/test.sh b/tests/llvm-config/test.sh deleted file mode 100755 index 09a0286..0000000 --- a/tests/llvm-config/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -eux - -llvm-config --version diff --git a/tests/rust-sanity/main.fmf b/tests/rust-sanity/main.fmf deleted file mode 100644 index d7b316e..0000000 --- a/tests/rust-sanity/main.fmf +++ /dev/null @@ -1,30 +0,0 @@ -summary: Test basic cargo usage -test: "$WITH_SCL ./test.sh" -require: [] -adjust: - # Common requirements when LLVM is not SCL-ized - - require+: - # Required for rust and possibly other dependant packages - # - # NOTE #1: drop the requirement once the transitional period between releases is gone - # and llvm-compat is no longer a) needed, and b) part of the build. - # - # NOTE #2: keep it the first requirement. Depending on the order of requirements, placing it somewhere - # else in the list may lead to harness uninstalling and re-installing LLVM packages. That a) would be - # a waste of time, b) could potentially hide issues, leading to testing unexpected NVRs. - # - # - llvm-compat - - - cargo - - rust - when: "collection is not defined" - - # Requirements for SCL-ized LLVM - - require+: - - rust-toolset-1.58-cargo - - rust-toolset-1.58-rust - when: "collection == llvm-toolset-13.0" - - require+: - - rust-toolset-1.62-cargo - - rust-toolset-1.62-rust - when: "collection == llvm-toolset-14.0" \ No newline at end of file diff --git a/tests/rust-sanity/test.sh b/tests/rust-sanity/test.sh deleted file mode 100755 index fa15399..0000000 --- a/tests/rust-sanity/test.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -eux - -cargo new hello -cd hello -cargo run diff --git a/tests/versioned-llvm-config/main.fmf b/tests/versioned-llvm-config/main.fmf deleted file mode 100644 index 212020e..0000000 --- a/tests/versioned-llvm-config/main.fmf +++ /dev/null @@ -1,2 +0,0 @@ -summary: Make sure the versioned llvm-config symlink is properly set up -test: "$WITH_SCL ./test.sh" diff --git a/tests/versioned-llvm-config/test.sh b/tests/versioned-llvm-config/test.sh deleted file mode 100755 index cfe72cf..0000000 --- a/tests/versioned-llvm-config/test.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -eux - -major=$(llvm-config --version | cut -d '.' -f1) - -llvm-config-$major --version From aec99db3ed7e2eecff1366c4b8b9a8682fd82712 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 27 Sep 2022 12:57:56 +0200 Subject: [PATCH 4/6] Export GetHostTriple.cmake --- 0001-Export-GetHostTriple.cmake.patch | 25 +++++++++++++++++++++++++ llvm.spec | 8 +++++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 0001-Export-GetHostTriple.cmake.patch diff --git a/0001-Export-GetHostTriple.cmake.patch b/0001-Export-GetHostTriple.cmake.patch new file mode 100644 index 0000000..fe5a37f --- /dev/null +++ b/0001-Export-GetHostTriple.cmake.patch @@ -0,0 +1,25 @@ +From 1d22ceca60fe0614f34252c4def041b05ca5d925 Mon Sep 17 00:00:00 2001 +From: Nikita Popov +Date: Tue, 27 Sep 2022 12:55:35 +0200 +Subject: [PATCH] Export GetHostTriple.cmake + +This is needed by the runtimes build. +--- + llvm/cmake/modules/CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt +index 428d8bff1cc6..0dd39b0db9a3 100644 +--- a/llvm/cmake/modules/CMakeLists.txt ++++ b/llvm/cmake/modules/CMakeLists.txt +@@ -176,7 +176,6 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + PATTERN LLVMConfigExtensions.cmake EXCLUDE + PATTERN LLVMConfigVersion.cmake EXCLUDE + PATTERN LLVM-Config.cmake EXCLUDE +- PATTERN GetHostTriple.cmake EXCLUDE + PATTERN llvm-driver-template.cpp.in) + + if (NOT LLVM_ENABLE_IDE) +-- +2.37.3 + diff --git a/llvm.spec b/llvm.spec index 3dd770d..6a9477d 100644 --- a/llvm.spec +++ b/llvm.spec @@ -72,7 +72,7 @@ Name: %{pkg_name} Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}} -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Low Level Virtual Machine License: NCSA @@ -98,6 +98,9 @@ Patch2: 0003-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch # TODO: Can be dropped for LLVM 16, see https://reviews.llvm.org/D131282. Patch3: 0001-Install-clang-tblgen.patch +# Export GetHostTriple.cmake for use by the runtimes build. +Patch4: 0001-Export-GetHostTriple.cmake.patch + BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: clang @@ -565,6 +568,9 @@ fi %endif %changelog +* Tue Sep 27 2022 Nikita Popov - 15.0.0-2 +- Export GetHostTriple.cmake + * Tue Sep 06 2022 Nikita Popov - 15.0.0-1 - Update to LLVM 15.0.0 From 6c4af9abec1d6fb8008632f5c294d42bd8cb5e89 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Thu, 29 Sep 2022 10:20:54 +0200 Subject: [PATCH 5/6] Drop GetHostTriple export again This doesn't work by itself due to the config.guess dependency, and I'm not longer sure this is the right approach. The runtimes build should really be getting this from the exported LLVM_HOST_TRIPLE variable. --- 0001-Export-GetHostTriple.cmake.patch | 25 ------------------------- llvm.spec | 3 --- 2 files changed, 28 deletions(-) delete mode 100644 0001-Export-GetHostTriple.cmake.patch diff --git a/0001-Export-GetHostTriple.cmake.patch b/0001-Export-GetHostTriple.cmake.patch deleted file mode 100644 index fe5a37f..0000000 --- a/0001-Export-GetHostTriple.cmake.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 1d22ceca60fe0614f34252c4def041b05ca5d925 Mon Sep 17 00:00:00 2001 -From: Nikita Popov -Date: Tue, 27 Sep 2022 12:55:35 +0200 -Subject: [PATCH] Export GetHostTriple.cmake - -This is needed by the runtimes build. ---- - llvm/cmake/modules/CMakeLists.txt | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt -index 428d8bff1cc6..0dd39b0db9a3 100644 ---- a/llvm/cmake/modules/CMakeLists.txt -+++ b/llvm/cmake/modules/CMakeLists.txt -@@ -176,7 +176,6 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - PATTERN LLVMConfigExtensions.cmake EXCLUDE - PATTERN LLVMConfigVersion.cmake EXCLUDE - PATTERN LLVM-Config.cmake EXCLUDE -- PATTERN GetHostTriple.cmake EXCLUDE - PATTERN llvm-driver-template.cpp.in) - - if (NOT LLVM_ENABLE_IDE) --- -2.37.3 - diff --git a/llvm.spec b/llvm.spec index 6a9477d..2681d13 100644 --- a/llvm.spec +++ b/llvm.spec @@ -98,9 +98,6 @@ Patch2: 0003-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch # TODO: Can be dropped for LLVM 16, see https://reviews.llvm.org/D131282. Patch3: 0001-Install-clang-tblgen.patch -# Export GetHostTriple.cmake for use by the runtimes build. -Patch4: 0001-Export-GetHostTriple.cmake.patch - BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: clang From 0c4aa4a13cf651f5fef11f011cc6eb425d8278f3 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 27 Sep 2022 14:02:45 +0200 Subject: [PATCH 6/6] Remove abi_revision handling We now longer ship rcs outside of copr, so this is no needed anymore. --- ...ed-libraries-to-customize-the-soname.patch | 75 ------------------- llvm.spec | 9 --- 2 files changed, 84 deletions(-) delete mode 100644 0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch diff --git a/0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch b/0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch deleted file mode 100644 index 82a00f2..0000000 --- a/0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 3dc5722d5c7673a879f2b4680369d3ac8b6b64b6 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Wed, 4 Aug 2021 14:05:38 -0700 -Subject: [PATCH] cmake: Allow shared libraries to customize the soname using - LLVM_ABI_REVISION - -The LLVM_ABI_REVISION variable is intended to be used for release -candidates which introduce an ABI change to a shared library. This -variable can be specified per library, so there is not one global value -for all of LLVM. - -For example, if we LLVM X.0.0-rc2 introduces an ABI change for a library -compared with LLVM X.0.0-rc1, then the LLVM_ABI_REVISION number for -library will be incremented by 1. - -In the main branch, LLVM_ABI_REVISION should always be 0, it is only -meant to be used in the release branch. - -Differential Revision: https://reviews.llvm.org/D105594 ---- - llvm/cmake/modules/AddLLVM.cmake | 7 +++++-- - llvm/tools/llvm-shlib/CMakeLists.txt | 9 +++++++++ - 3 files changed, 19 insertions(+), 2 deletions(-) - -diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake -index 3e009f5061d3..a09405a1be3e 100644 ---- a/llvm/cmake/modules/AddLLVM.cmake -+++ b/llvm/cmake/modules/AddLLVM.cmake -@@ -586,11 +586,14 @@ function(llvm_add_library name) - # Set SOVERSION on shared libraries that lack explicit SONAME - # specifier, on *nix systems that are not Darwin. - if(UNIX AND NOT APPLE AND NOT ARG_SONAME) -+ if (NOT LLVM_ABI_REVISION) -+ set(LLVM_ABI_REVISION 0) -+ endif() - set_target_properties(${name} - PROPERTIES - # Since 4.0.0, the ABI version is indicated by the major version -- SOVERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX} -- VERSION ${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) -+ SOVERSION ${LLVM_VERSION_MAJOR}.${LLVM_ABI_REVISION} -+ VERSION ${LLVM_VERSION_MAJOR}.${LLVM_ABI_REVISION}) - endif() - endif() - -diff --git a/llvm/tools/llvm-shlib/CMakeLists.txt b/llvm/tools/llvm-shlib/CMakeLists.txt -index 76b9a25cbbcd..b876e7fed6b5 100644 ---- a/llvm/tools/llvm-shlib/CMakeLists.txt -+++ b/llvm/tools/llvm-shlib/CMakeLists.txt -@@ -2,6 +2,11 @@ - # library is enabled by setting LLVM_BUILD_LLVM_DYLIB=yes on the CMake - # commandline. By default the shared library only exports the LLVM C API. - -+# In the main branch, LLVM_ABI_REVISION should always be 0. In the release -+# branches, this should be incremented before each release candidate every -+# time the ABI of libLLVM.so changes. -+set(LLVM_ABI_REVISION 0 CACHE STRING "ABI Revision number for SONAMEs (default: 0)") -+ - set(SOURCES - libllvm.cpp - ) -@@ -67,6 +72,10 @@ if(LLVM_BUILD_LLVM_DYLIB) - set_property(TARGET LLVM APPEND_STRING PROPERTY - LINK_FLAGS - " -compatibility_version 1 -current_version ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}") -+ else() -+ set_target_properties(LLVM -+ PROPERTIES -+ SOVERSION ${LLVM_ABI_REVISION}) - endif() - - if(TARGET libLLVMExports) --- -2.27.0 - diff --git a/llvm.spec b/llvm.spec index 2681d13..bf4d410 100644 --- a/llvm.spec +++ b/llvm.spec @@ -17,9 +17,6 @@ %global maj_ver 15 %global min_ver 0 %global patch_ver 0 -%if !%{maj_ver} && 0%{?rc_ver} -%global abi_revision 2 -%endif %global llvm_srcdir llvm-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src %global cmake_srcdir cmake-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src @@ -88,9 +85,6 @@ Source5: run-lit-tests Source6: lit.fedora.cfg.py %endif -%if 0%{?abi_revision} -Patch0: 0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch -%endif Patch1: 0002-Disable-CrashRecoveryTest.DumpStackCleanup-test-on-a.patch Patch2: 0003-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch @@ -299,8 +293,6 @@ mv %{cmake_srcdir} cmake -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \ -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \ - %{?abi_revision:-DLLVM_ABI_REVISION=%{abi_revision}} \ - \ -DLLVM_DEFAULT_TARGET_TRIPLE=%{llvm_triple} \ -DSPHINX_WARNINGS_AS_ERRORS=OFF \ -DCMAKE_INSTALL_PREFIX=%{install_prefix} \ @@ -496,7 +488,6 @@ fi %{_libdir}/bfd-plugins/LLVMgold.so %endif %{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so -%{_libdir}/libLLVM-%{maj_ver}.so%{?abi_revision:.%{abi_revision}} %{_libdir}/libLTO.so* %else %config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf