diff --git a/.compiler-rt.metadata b/.compiler-rt.metadata index 9720322..2d5b128 100644 --- a/.compiler-rt.metadata +++ b/.compiler-rt.metadata @@ -1,2 +1,2 @@ -ee6077b4728b3c750e476938cead11cea45b49ff SOURCES/compiler-rt-10.0.1.src.tar.xz +be3e79fb93cd99135643a191f27c49449bf9c0ee SOURCES/compiler-rt-11.0.0.src.tar.xz 32fa4b0193960f05064f2ab31b5a89c7cf48a0b9 SOURCES/hans-gpg-key.asc diff --git a/.gitignore b/.gitignore index 9107e04..df8205a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/compiler-rt-10.0.1.src.tar.xz +SOURCES/compiler-rt-11.0.0.src.tar.xz SOURCES/hans-gpg-key.asc diff --git a/SOURCES/0001-Fix-strict-aliasing-warning-in-msan.cpp.patch b/SOURCES/0001-Fix-strict-aliasing-warning-in-msan.cpp.patch deleted file mode 100644 index b1f41e8..0000000 --- a/SOURCES/0001-Fix-strict-aliasing-warning-in-msan.cpp.patch +++ /dev/null @@ -1,68 +0,0 @@ -From af38074874c605f9e598ae3f7e5d4befa3fe92bb Mon Sep 17 00:00:00 2001 -From: serge-sans-paille -Date: Thu, 28 May 2020 17:50:31 +0200 -Subject: [PATCH] Fix strict aliasing warning in msan.cpp - -Use internal_memcpy instead. - -Differential Revision: https://reviews.llvm.org/D80732 ---- - compiler-rt/lib/msan/msan.cpp | 21 ++++++++++++++------- - 1 file changed, 14 insertions(+), 7 deletions(-) - -diff --git compiler-rt.orig/lib/msan/msan.cpp compiler-rt/lib/msan/msan.cpp -index 7095ee1bf20..8c789901adc 100644 ---- compiler-rt.orig/lib/msan/msan.cpp -+++ compiler-rt/lib/msan/msan.cpp -@@ -617,34 +617,41 @@ u32 __msan_get_umr_origin() { - } - - u16 __sanitizer_unaligned_load16(const uu16 *p) { -- *(uu16 *)&__msan_retval_tls[0] = *(uu16 *)MEM_TO_SHADOW((uptr)p); -+ internal_memcpy(&__msan_retval_tls[0], (void *)MEM_TO_SHADOW((uptr)p), -+ sizeof(uu16)); - if (__msan_get_track_origins()) - __msan_retval_origin_tls = GetOriginIfPoisoned((uptr)p, sizeof(*p)); - return *p; - } - u32 __sanitizer_unaligned_load32(const uu32 *p) { -- *(uu32 *)&__msan_retval_tls[0] = *(uu32 *)MEM_TO_SHADOW((uptr)p); -+ internal_memcpy(&__msan_retval_tls[0], (void *)MEM_TO_SHADOW((uptr)p), -+ sizeof(uu32)); - if (__msan_get_track_origins()) - __msan_retval_origin_tls = GetOriginIfPoisoned((uptr)p, sizeof(*p)); - return *p; - } - u64 __sanitizer_unaligned_load64(const uu64 *p) { -- __msan_retval_tls[0] = *(uu64 *)MEM_TO_SHADOW((uptr)p); -+ internal_memcpy(&__msan_retval_tls[0], (void *)MEM_TO_SHADOW((uptr)p), -+ sizeof(uu64)); - if (__msan_get_track_origins()) - __msan_retval_origin_tls = GetOriginIfPoisoned((uptr)p, sizeof(*p)); - return *p; - } - void __sanitizer_unaligned_store16(uu16 *p, u16 x) { -- u16 s = *(uu16 *)&__msan_param_tls[1]; -- *(uu16 *)MEM_TO_SHADOW((uptr)p) = s; -+ static_assert(sizeof(uu16) == sizeof(u16), "incompatible types"); -+ u16 s; -+ internal_memcpy(&s, &__msan_param_tls[1], sizeof(uu16)); -+ internal_memcpy((void *)MEM_TO_SHADOW((uptr)p), &s, sizeof(uu16)); - if (s && __msan_get_track_origins()) - if (uu32 o = __msan_param_origin_tls[2]) - SetOriginIfPoisoned((uptr)p, (uptr)&s, sizeof(s), o); - *p = x; - } - void __sanitizer_unaligned_store32(uu32 *p, u32 x) { -- u32 s = *(uu32 *)&__msan_param_tls[1]; -- *(uu32 *)MEM_TO_SHADOW((uptr)p) = s; -+ static_assert(sizeof(uu32) == sizeof(u32), "incompatible types"); -+ u32 s; -+ internal_memcpy(&s, &__msan_param_tls[1], sizeof(uu32)); -+ internal_memcpy((void *)MEM_TO_SHADOW((uptr)p), &s, sizeof(uu32)); - if (s && __msan_get_track_origins()) - if (uu32 o = __msan_param_origin_tls[2]) - SetOriginIfPoisoned((uptr)p, (uptr)&s, sizeof(s), o); --- -2.25.2 - diff --git a/SOURCES/compiler-rt-10.0.1.src.tar.xz.sig b/SOURCES/compiler-rt-10.0.1.src.tar.xz.sig deleted file mode 100644 index 98c8843..0000000 Binary files a/SOURCES/compiler-rt-10.0.1.src.tar.xz.sig and /dev/null differ diff --git a/SOURCES/compiler-rt-11.0.0.src.tar.xz.sig b/SOURCES/compiler-rt-11.0.0.src.tar.xz.sig new file mode 100644 index 0000000..9889fc6 Binary files /dev/null and b/SOURCES/compiler-rt-11.0.0.src.tar.xz.sig differ diff --git a/SPECS/compiler-rt.spec b/SPECS/compiler-rt.spec index 534444c..0d36a83 100644 --- a/SPECS/compiler-rt.spec +++ b/SPECS/compiler-rt.spec @@ -1,7 +1,3 @@ -%ifarch s390 s390x -# only limited set of libs available on s390(x) and the existing ones (stats, ubsan) don't provide debuginfo -%global debug_package %{nil} -%endif #%%global rc_ver 6 %global baserelease 1 @@ -15,23 +11,17 @@ %global optflags %(echo %{optflags} -Dasm=__asm__) Name: compiler-rt -Version: 10.0.1 +Version: 11.0.0 Release: %{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist} Summary: LLVM "compiler-rt" runtime libraries License: NCSA or MIT URL: http://llvm.org -%if 0%{?rc_ver:1} -Source0: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{crt_srcdir}.tar.xz -Source1: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{crt_srcdir}.tar.xz.sig -%else -Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{crt_srcdir}.tar.xz -Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{crt_srcdir}.tar.xz.sig -%endif +Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{crt_srcdir}.tar.xz +Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{crt_srcdir}.tar.xz.sig Source2: https://prereleases.llvm.org/%{version}/hans-gpg-key.asc Patch0: 0001-PATCH-std-thread-copy.patch -Patch1: 0001-Fix-strict-aliasing-warning-in-msan.cpp.patch # RHEL-specific patches Patch100: 0001-Drop-fno-stack-protector-from-the-compiler-flags.patch @@ -39,6 +29,7 @@ Patch100: 0001-Drop-fno-stack-protector-from-the-compiler-flags.patch BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake +BuildRequires: ninja-build BuildRequires: python3 # We need python3-devel for pathfix.py. BuildRequires: python3-devel @@ -59,7 +50,7 @@ pathfix.py -i %{__python3} -pn lib/hwasan/scripts/hwasan_symbolize %build mkdir -p _build cd _build -%cmake .. \ +%cmake .. -GNinja \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DLLVM_CONFIG_PATH:FILEPATH=%{_bindir}/llvm-config-%{__isa_bits} \ \ @@ -70,11 +61,11 @@ cd _build %endif -DCOMPILER_RT_INCLUDE_TESTS:BOOL=OFF # could be on? -make %{?_smp_mflags} +%ninja_build %install cd _build -make install DESTDIR=%{buildroot} +%ninja_install # move blacklist/abilist files to where clang expect them mkdir -p %{buildroot}%{_libdir}/clang/%{version}/share @@ -90,40 +81,27 @@ for i in *.a *.so do ln -s ../$i linux/$i done -popd -# multilib support: also create symlink from lib to lib64 -# fixes rhbz#1678240 -%ifarch %{ix86} -%post -if test "`uname -m`" = x86_64 -then - cd %{_libdir}/clang/%{version}/lib - mkdir -p ../../../../lib64/clang/%{version}/lib - for i in *.a *.so - do - ln -s ../../../../%{_lib}/clang/%{version}/lib/$i ../../../../lib64/clang/%{version}/lib/$i - done -fi - -%preun - -if test "`uname -m`" = x86_64 -then - cd %{_libdir}/clang/%{version}/lib - for i in *.a *.so - do - rm ../../../../lib64/clang/%{version}/lib/$i - done - rmdir -p ../../../../lib64/clang/%{version}/lib 2>/dev/null 1>/dev/null || : -fi +# multilib support: also create symlink from lib to lib64, fixes rhbz#1678240 +# the symlinks will be dangling if the 32 bits version is not installed, but that should be fine +%ifarch x86_64 +mkdir -p %{buildroot}/%{_exec_prefix}/lib/clang/%{version}/lib/linux +for i in *.a *.so +do + target=`echo "$i" | sed -e 's/x86_64/i386/'` + ln -s ../../../../../lib/clang/%{version}/lib/$target ../../../../%{_lib}/clang/%{version}/lib/linux/ +done + %endif + +popd %check #make check-all -C _build %files +%license LICENSE.TXT %{_includedir}/* %{_libdir}/clang/%{version} %ifarch x86_64 aarch64 @@ -131,6 +109,12 @@ fi %endif %changelog +* Thu Oct 29 2020 sguelton@redhat.com - 11.0.0-1 +- 11.0.0 final release + +* Mon Sep 21 2020 sguelton@redhat.com - 11.0.0-0.1.rc2 +- 11.0.0-rc2 Release + * Fri Jul 24 2020 sguelton@redhat.com - 10.0.1-1 - 10.0.1 release