Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package llvm11 for openSUSE:Factory checked in at 2021-02-22 14:22:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/llvm11 (Old) and /work/SRC/openSUSE:Factory/.llvm11.new.2378 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm11" Mon Feb 22 14:22:11 2021 rev:8 rq:872681 version:11.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/llvm11/llvm11.changes 2021-01-29 14:57:04.349507220 +0100 +++ /work/SRC/openSUSE:Factory/.llvm11.new.2378/llvm11.changes 2021-02-22 14:22:13.223541247 +0100 @@ -1,0 +2,8 @@ +Sun Feb 14 22:28:42 UTC 2021 - Aaron Puchert <aaronpuch...@alice-dsl.net> + +- Don't use gold and ThinLTO on ppc64le because of boo#1181621. +- Fix-missing-include.patch: fix build with GCC 11. (boo#1181875) +- CMake-Look-up-target-subcomponents-in-LLVM_AVAILABLE_LIBS.patch: + Fix target component lookup. (boo#1180748) + +------------------------------------------------------------------- New: ---- CMake-Look-up-target-subcomponents-in-LLVM_AVAILABLE_LIBS.patch Fix-missing-include.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ llvm11.spec ++++++ --- /var/tmp/diff_new_pack.yKdkV7/_old 2021-02-22 14:22:14.551542543 +0100 +++ /var/tmp/diff_new_pack.yKdkV7/_new 2021-02-22 14:22:14.555542547 +0100 @@ -39,7 +39,8 @@ # LLVM currently doesn't build with Gold on ppc # Gold is not supported on riscv64 -%ifarch ppc riscv64 +# Don't use gold on ppc64le because of boo#1181621. +%ifarch ppc ppc64le riscv64 %bcond_with gold %else %bcond_without gold @@ -54,7 +55,8 @@ %endif # Disabled on aarch64 because the build hangs. (boo#1178070) -%ifarch %{arm} ppc64 ppc64le x86_64 %{ix86} s390x +# Disabled on ppc64le because we can't use gold. (boo#1181621) +%ifarch %{arm} ppc64 x86_64 %{ix86} s390x %bcond_without thin_lto %else %bcond_with thin_lto @@ -132,6 +134,10 @@ Patch29: Sema-Handle-objc_super-special-lookup-when-checking-.patch Patch30: Recognize-setjmp-and-friends-as-builtins-even-if-jmp.patch Patch31: Don-t-reject-calls-to-MinGW-s-unusual-_setjmp-declar.patch +# Fix build with GCC 11. (boo#1181875) +Patch32: Fix-missing-include.patch +# Fix lookup of targets in installed CMake files. (boo#1180748, https://reviews.llvm.org/D96670) +Patch33: CMake-Look-up-target-subcomponents-in-LLVM_AVAILABLE_LIBS.patch BuildRequires: binutils-devel >= 2.21.90 BuildRequires: cmake BuildRequires: fdupes @@ -553,6 +559,8 @@ %patch22 -p1 %patch24 -p1 %patch27 -p2 +%patch32 -p2 +%patch33 -p2 pushd clang-%{_version}.src %patch2 -p1 @@ -1079,6 +1087,10 @@ # On armv6l, fpext frem(12.0f, 5.0f) to double = inf for some reason. sed -i '1i; XFAIL: armv6' ../test/ExecutionEngine/frem.ll +# On ppc64le, this test fails with "free(): invalid pointer" since we're using ld.bfd (boo#1181621). +%ifarch ppc64le +rm ../test/tools/llvm-cov/multithreaded-report.test +%endif # Tests are disabled on ppc because of sporadic hangs. Also some tests fail. %ifnarch ppc python3 bin/llvm-lit -sv test/ ++++++ CMake-Look-up-target-subcomponents-in-LLVM_AVAILABLE_LIBS.patch ++++++ >From b49307ef82196729e1ab2508b73fc7fc80192668 Mon Sep 17 00:00:00 2001 From: Aaron Puchert <aaronpuch...@alice-dsl.net> Date: Sun, 14 Feb 2021 22:54:07 +0100 Subject: [PATCH] [CMake] Look up target subcomponents in LLVM_AVAILABLE_LIBS In an installation using the all-contained libLLVM.so, individual components are not available as targets, so we have to look them up in LLVM_AVAILABLE_LIBS just like llvm_map_components_to_libnames does it. Here I don't think we need the capitalized names though because we know the right capitalization. But I might be wrong. This is required by dragonffi, who call llvm_map_components_to_libnames on a list containing ${LLVM_NATIVE_ARCH}. Downstream bug report: https://bugzilla.opensuse.org/show_bug.cgi?id=1180748. Differential Revision: https://reviews.llvm.org/D96670 --- llvm/cmake/modules/LLVM-Config.cmake | 61 +++++++++++++--------------- 1 file changed, 28 insertions(+), 33 deletions(-) diff --git a/llvm/cmake/modules/LLVM-Config.cmake b/llvm/cmake/modules/LLVM-Config.cmake index 5d9ec79c7c56..1cd10993b903 100644 --- a/llvm/cmake/modules/LLVM-Config.cmake +++ b/llvm/cmake/modules/LLVM-Config.cmake @@ -125,47 +125,38 @@ endfunction(llvm_map_components_to_libraries) # available and not a list of the components. function(llvm_expand_pseudo_components out_components) set( link_components ${ARGN} ) + if(NOT LLVM_AVAILABLE_LIBS) + # Inside LLVM itself available libs are in a global property. + get_property(LLVM_AVAILABLE_LIBS GLOBAL PROPERTY LLVM_LIBS) + endif() foreach(c ${link_components}) # add codegen, asmprinter, asmparser, disassembler list(FIND LLVM_TARGETS_TO_BUILD ${c} idx) if( NOT idx LESS 0 ) - if( TARGET LLVM${c}CodeGen ) + list(FIND LLVM_AVAILABLE_LIBS LLVM${c}CodeGen lib_idx) + if( lib_idx GREATER_EQUAL 0 ) list(APPEND expanded_components "${c}CodeGen") else() - if( TARGET LLVM${c} ) + list(FIND LLVM_AVAILABLE_LIBS LLVM${c} lib_idx) + if( lib_idx GREATER_EQUAL 0 ) list(APPEND expanded_components "${c}") else() message(FATAL_ERROR "Target ${c} is not in the set of libraries.") endif() endif() - if( TARGET LLVM${c}AsmPrinter ) - list(APPEND expanded_components "${c}AsmPrinter") - endif() - if( TARGET LLVM${c}AsmParser ) - list(APPEND expanded_components "${c}AsmParser") - endif() - if( TARGET LLVM${c}Desc ) - list(APPEND expanded_components "${c}Desc") - endif() - if( TARGET LLVM${c}Disassembler ) - list(APPEND expanded_components "${c}Disassembler") - endif() - if( TARGET LLVM${c}Info ) - list(APPEND expanded_components "${c}Info") - endif() - if( TARGET LLVM${c}Utils ) - list(APPEND expanded_components "${c}Utils") - endif() + foreach(subcomponent IN ITEMS AsmPrinter AsmParser Desc Disassembler Info Utils) + list(FIND LLVM_AVAILABLE_LIBS LLVM${c}${subcomponent} lib_idx) + if( lib_idx GREATER_EQUAL 0 ) + list(APPEND expanded_components "${c}${subcomponent}") + endif() + endforeach() elseif( c STREQUAL "nativecodegen" ) - if( TARGET LLVM${LLVM_NATIVE_ARCH}CodeGen ) - list(APPEND expanded_components "${LLVM_NATIVE_ARCH}CodeGen") - endif() - if( TARGET LLVM${LLVM_NATIVE_ARCH}Desc ) - list(APPEND expanded_components "${LLVM_NATIVE_ARCH}Desc") - endif() - if( TARGET LLVM${LLVM_NATIVE_ARCH}Info ) - list(APPEND expanded_components "${LLVM_NATIVE_ARCH}Info") - endif() + foreach(subcomponent IN ITEMS CodeGen Desc Info) + list(FIND LLVM_AVAILABLE_LIBS LLVM${LLVM_NATIVE_ARCH}${subcomponent} lib_idx) + if( lib_idx GREATER_EQUAL 0 ) + list(APPEND expanded_components "${LLVM_NATIVE_ARCH}${subcomponent}") + endif() + endforeach() elseif( c STREQUAL "AllTargetsCodeGens" ) # Link all the codegens from all the targets foreach(t ${LLVM_TARGETS_TO_BUILD}) @@ -176,28 +167,32 @@ function(llvm_expand_pseudo_components out_components) elseif( c STREQUAL "AllTargetsAsmParsers" ) # Link all the asm parsers from all the targets foreach(t ${LLVM_TARGETS_TO_BUILD}) - if( TARGET LLVM${t}AsmParser ) + list(FIND LLVM_AVAILABLE_LIBS LLVM${t}AsmParser lib_idx) + if( lib_idx GREATER_EQUAL 0 ) list(APPEND expanded_components "${t}AsmParser") endif() endforeach(t) elseif( c STREQUAL "AllTargetsDescs" ) # Link all the descs from all the targets foreach(t ${LLVM_TARGETS_TO_BUILD}) - if( TARGET LLVM${t}Desc ) + list(FIND LLVM_AVAILABLE_LIBS LLVM${t}Desc lib_idx) + if( lib_idx GREATER_EQUAL 0 ) list(APPEND expanded_components "${t}Desc") endif() endforeach(t) elseif( c STREQUAL "AllTargetsDisassemblers" ) # Link all the disassemblers from all the targets foreach(t ${LLVM_TARGETS_TO_BUILD}) - if( TARGET LLVM${t}Disassembler ) + list(FIND LLVM_AVAILABLE_LIBS LLVM${t}Disassembler lib_idx) + if( lib_idx GREATER_EQUAL 0 ) list(APPEND expanded_components "${t}Disassembler") endif() endforeach(t) elseif( c STREQUAL "AllTargetsInfos" ) # Link all the infos from all the targets foreach(t ${LLVM_TARGETS_TO_BUILD}) - if( TARGET LLVM${t}Info ) + list(FIND LLVM_AVAILABLE_LIBS LLVM${t}Info lib_idx) + if( lib_idx GREATER_EQUAL 0 ) list(APPEND expanded_components "${t}Info") endif() endforeach(t) -- 2.30.0 ++++++ Fix-missing-include.patch ++++++ >From b498303066a63a203d24f739b2d2e0e56dca70d1 Mon Sep 17 00:00:00 2001 From: serge-sans-paille <sguel...@redhat.com> Date: Tue, 10 Nov 2020 14:55:25 +0100 Subject: [PATCH] [nfc] Fix missing include --- llvm/utils/benchmark/src/benchmark_register.h | 1 + 1 file changed, 1 insertion(+) diff --git a/llvm/utils/benchmark/src/benchmark_register.h b/llvm/utils/benchmark/src/benchmark_register.h index 0705e219f2fa..4caa5ad4da07 100644 --- a/llvm/utils/benchmark/src/benchmark_register.h +++ b/llvm/utils/benchmark/src/benchmark_register.h @@ -1,6 +1,7 @@ #ifndef BENCHMARK_REGISTER_H #define BENCHMARK_REGISTER_H +#include <limits> #include <vector> #include "check.h" -- 2.30.0