Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package llvm12 for openSUSE:Factory checked in at 2022-09-08 14:22:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/llvm12 (Old) and /work/SRC/openSUSE:Factory/.llvm12.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm12" Thu Sep 8 14:22:35 2022 rev:12 rq:1001715 version:12.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/llvm12/llvm12.changes 2022-08-07 18:34:10.293195021 +0200 +++ /work/SRC/openSUSE:Factory/.llvm12.new.2083/llvm12.changes 2022-09-08 14:23:15.822614902 +0200 @@ -1,0 +2,10 @@ +Sat Sep 3 15:15:10 UTC 2022 - Aaron Puchert <aaronpuch...@alice-dsl.net> + +- Make sure we keep -DNDEBUG. At some point %{optflags} must have + lost it, perhaps because CMake usually adds it on top. So when + overriding CMAKE_{C,CXX}_FLAGS_RELWITHDEBINFO, we make sure to + take over the other flags. We drop LLVM_ENABLE_ASSERTIONS=OFF, + because that's the default anyway and hasn't helped here. +- Add llvm-glibc-2-36.patch in order to address boo#1202215. + +------------------------------------------------------------------- New: ---- llvm-glibc-2-36.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ llvm12.spec ++++++ --- /var/tmp/diff_new_pack.MONbHD/_old 2022-09-08 14:23:16.878617338 +0200 +++ /var/tmp/diff_new_pack.MONbHD/_new 2022-09-08 14:23:16.882617348 +0200 @@ -117,6 +117,8 @@ Patch14: llvm-do-not-install-static-libraries.patch # PATCH-FIX-UPSTREAM tablegen-test-link-static.patch -- https://reviews.llvm.org/D74588 Patch15: tablegen-test-link-static.patch +# Cherry pick patch from LLVM 15: https://github.com/llvm/llvm-project/issues/56421 +Patch17: llvm-glibc-2-36.patch Patch20: llvm_build_tablegen_component_as_shared_library.patch Patch21: tests-use-python3.patch Patch22: llvm-better-detect-64bit-atomics-support.patch @@ -576,6 +578,10 @@ %patch10 -p2 popd +pushd compiler-rt-%{_version}.src +%patch17 -p2 +popd + pushd lld-%{_version}.src %patch26 -p1 # lld got a compile-time dependency on libunwind that we don't want. (https://reviews.llvm.org/D86805) @@ -707,7 +713,6 @@ -DLLVM_POLLY_BUILD:BOOL=OFF \ -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD:BOOL=OFF \ -DLLVM_INCLUDE_TESTS:BOOL=OFF \ - -DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_TARGETS_TO_BUILD=Native \ -DCLANG_ENABLE_ARCMT:BOOL=OFF \ -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=OFF \ @@ -792,14 +797,13 @@ -DCMAKE_LINKER=%{_bindir}/ld \ %endif %ifarch %arm ppc s390 %{ix86} - -DCMAKE_C_FLAGS_RELWITHDEBINFO="-g1" \ - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-g1" \ + -DCMAKE_C_FLAGS_RELWITHDEBINFO="-O2 -g1 -DNDEBUG" \ + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O2 -g1 -DNDEBUG" \ %endif -DENABLE_LINKER_BUILD_ID=ON \ -DLLVM_TABLEGEN="${LLVM_TABLEGEN}" \ -DCLANG_TABLEGEN="${CLANG_TABLEGEN}" \ -DLLVM_ENABLE_RTTI:BOOL=ON \ - -DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_PIC=ON \ -DLLVM_BINUTILS_INCDIR=%{_includedir} \ -DLLVM_TARGETS_TO_BUILD=${TARGETS_TO_BUILD} \ ++++++ llvm-glibc-2-36.patch ++++++ >From 9cf13067cb5088626ba7ee1ec4c42ec59c7995a0 Mon Sep 17 00:00:00 2001 From: Fangrui Song <i...@maskray.me> Date: Mon, 11 Jul 2022 12:53:34 -0700 Subject: [PATCH] [sanitizer] Remove #include <linux/fs.h> to resolve fsconfig_command/mount_attr conflict with glibc 2.36 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is generally not a good idea to mix usage of glibc headers and Linux UAPI headers (https://sourceware.org/glibc/wiki/Synchronizing_Headers). In glibc since 7eae6a91e9b1670330c9f15730082c91c0b1d570 (milestone: 2.36), sys/mount.h defines `fsconfig_command` which conflicts with linux/mount.h: .../usr/include/linux/mount.h:95:6: error: redeclaration of ???enum fsconfig_command??? Remove #include <linux/fs.h> which pulls in linux/mount.h. Expand its 4 macros manually. Android sys/mount.h doesn't define BLKBSZGET and it still needs linux/fs.h. In the long term we should move Linux specific definitions to sanitizer_platform_limits_linux.cpp but this commit is easy to cherry pick into older compiler-rt releases. Fix https://github.com/llvm/llvm-project/issues/56421 Reviewed By: #sanitizers, vitalybuka, zatrazz Differential Revision: https://reviews.llvm.org/D129471 --- .../sanitizer_platform_limits_posix.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp index 4bd425435d56d..3a94b260686f1 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp +++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp @@ -73,7 +73,9 @@ #include <sys/vt.h> #include <linux/cdrom.h> #include <linux/fd.h> +#if SANITIZER_ANDROID #include <linux/fs.h> +#endif #include <linux/hdreg.h> #include <linux/input.h> #include <linux/ioctl.h> @@ -876,10 +878,10 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT; unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT; #endif - unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS; - unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION; - unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS; - unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION; + unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long); + unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long); + unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long); + unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long); unsigned IOCTL_GIO_CMAP = GIO_CMAP; unsigned IOCTL_GIO_FONT = GIO_FONT; unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP;