import compiler-rt-11.0.0-1.module+el8.4.0+8598+a071fcd5
This commit is contained in:
		
							parent
							
								
									02b9b7af25
								
							
						
					
					
						commit
						0ee596e79b
					
				| @ -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 | ||||
|  | ||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -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 | ||||
|  | ||||
| @ -1,68 +0,0 @@ | ||||
| From af38074874c605f9e598ae3f7e5d4befa3fe92bb Mon Sep 17 00:00:00 2001 | ||||
| From: serge-sans-paille <sguelton@redhat.com> | ||||
| 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 | ||||
| 
 | ||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								SOURCES/compiler-rt-11.0.0.src.tar.xz.sig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								SOURCES/compiler-rt-11.0.0.src.tar.xz.sig
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -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 | ||||
| # 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 | ||||
| 
 | ||||
| %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 | ||||
| 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 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user