%define asan_arch x86_64 %ix86 ppc ppc64 %sparc %arm aarch64
%define itm_arch x86_64 %ix86 %arm ppc ppc64 ppc64le s390 s390x %sparc aarch64
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k
-%define lsan_arch x86_64 %ix86 %arm aarch64
+%define lsan_arch x86_64 aarch64
+%define hwasan_arch aarch64
%define ubsan_arch x86_64 %ix86 ppc ppc64 %arm aarch64
%ifarch armv7l
## until here, but at least renaming and patching info files breaks this
BuildRequires: gcc-c++
BuildRequires: zlib-devel
+BuildRequires: xz-devel
%ifarch x86_64
BuildRequires: glibc-devel-32bit
%endif
BuildRequires: configure-dumper
%endif
URL: http://gcc.gnu.org/
-Version: 9.2.0
+Version: 12.2.0
Release: 0
Source: gcc-%{version}.tar.bz2
Source10: gmp-6.1.2.tar.bz2
%post -n libasan -p /sbin/ldconfig
%postun -n libasan -p /sbin/ldconfig
+%package -n libhwasan
+Summary: The GNU Compiler Hardware-assisted Address Sanitizer Runtime Library
+License: MIT
+Group: Development/Languages
+%description -n libhwasan
+The runtime library needed to run programs compiled with the
+-fsanitize=address option of the GNU Compiler Collection (GCC).
+%post -n libhwasan -p /sbin/ldconfig
+%postun -n libhwasan -p /sbin/ldconfig
+
%package -n libtsan
Summary: The GNU Compiler Thread Sanitizer Runtime Library
License: MIT
--without-system-libunwind \
--enable-threads=posix \
--disable-multilib \
+ --disable-cet \
--enable-lto \
%{!?cross: \
--enable-libcc1 \
--target=%{target_arch} \
--host=%{host_arch} \
--build=%{host_arch}
+ }
+
+%{?!cross:
+ # During native compiler build with qemu-accel enabled we have to provide
+ # path to accelerated lto_plugin.so to prevent
+ # error loading plugin: /home/abuild/rpmbuild/BUILD/gcc-12.2.0/obj/./gcc/liblto_plugin.so: wrong ELF class: ELFCLASS32
+ # So we have to update:
+ # - CC_FOR_TARGET
+ # - GCC_FOR_TARGET
+ # - CXX_FOR_TARGET
+ # - RAW_CXX_FOR_TARGET
+ # And provide path to liblto_plugin inside /emul via -B option
+ # Changing configure.ac and adding a dependency from qemu-accel there is not
+ # reasonable, so here we patch a Makefile after configure is competed
+
+ [[ -e '/emul' ]] && \
+ sed -e '/^\(G\?CC_FOR_TARGET\)=\|^\(\(RAW_\)\?CXX_FOR_TARGET\)=/s#\(xg\(cc\|++\)\)#\1 -B/emul%{libsubdir}/#' -i Makefile
}
%{!?gcc_skip_make:
-make BOOT_CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} %{!?cross:%{?gcc_profiledbootstrap:profiledbootstrap}}
+make BOOT_CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} %{!?cross:%{?gcc_profiledbootstrap:profiledbootstrap}} %{?cross:all-host}
%{?gcc_dump_configure:
dump_configure.pl .. . \
--project gcc \
%install
cd obj
-make install DESTDIR=$RPM_BUILD_ROOT
+make install%{?cross:-host} DESTDIR=$RPM_BUILD_ROOT
%{?gcc_dump_configure:
install -D -m 0644 gcc-%{version}-%{release}-%_project-%_repository.db %{buildroot}%{_datadir}/gcc-%{version}-%{release}-%_project-%_repository.db
ln -s gcc %{buildroot}%{_bindir}/cc
mv %{buildroot}%{libsubdir}/libstdc++.so*-gdb.py %{buildroot}%{_datadir}/gcc-%{version}/python/libstdcxx/
-# expose plugins for ar (required for lto builds)
-mkdir -p %{buildroot}%{_prefix}/lib/bfd-plugins
-ln -sf %{libsubdir}/liblto_plugin.so %{buildroot}%{_prefix}/lib/bfd-plugins/liblto_plugin.so
-
# legacy preprocessor
mkdir -p %{buildroot}/lib
ln -s %{_bindir}/cpp %{buildroot}/lib/cpp
%{_bindir}/gcc-ar
%{_bindir}/gcc-nm
%{_bindir}/gcc-ranlib
+%{_bindir}/lto-dump
%{_bindir}/%{target_arch}-gcc
%{_bindir}/%{target_arch}-gcc-%{version}
%{_bindir}/%{target_arch}-gcc-ar
%{libsubdir}/lto1
%{libsubdir}/lto-wrapper
%{libsubdir}/liblto_plugin.so*
-%{_prefix}/lib/bfd-plugins/liblto_plugin.so
+%{libsubdir}/g++-mapper-server
%{libsubdir}/include-fixed/*
%{libsubdir}/include/*.h
%{libsubdir}/*.so
%{libdir}/libasan.so*
%endif
+%ifarch %hwasan_arch
+%files -n libhwasan
+%manifest gcc.manifest
+%license libsanitizer/LICENSE.TXT
+%defattr(-,root,root)
+%{libsubdir}/libhwasan.so*
+%endif
+
%ifarch %lsan_arch
%files -n liblsan
%manifest gcc.manifest
%ifarch x86_64
%files -n gcc-32bit
%defattr(-,root,root)
-%{libsubdir}/32/crt*
%{libsubdir}/32/*.a
%{libsubdir}/32/*.so
%{libsubdir}/32/*.o
%{libsubdir}/32/libasan.so.*
%endif
-%ifarch %lsan_arch
-%files -n liblsan-32bit
-%manifest gcc.manifest
-%license libsanitizer/LICENSE.TXT
-%defattr(-,root,root)
-%{libsubdir}/32/liblsan.so.*
-%endif
-
%ifarch %atomic_arch
%files -n libatomic-32bit
%manifest gcc.manifest
%ifarch %asan_arch
%{libdir}/libasan.a
%endif
+%ifarch %hwasan_arch
+%{libsubdir}/libhwasan.a
+%endif
%ifarch %lsan_arch
%{libdir}/liblsan.a
%endif
%ifarch %asan_arch
%{libsubdir}/32/libasan.a
%endif
-%ifarch %lsan_arch
-%{libsubdir}/32/liblsan.a
-%endif
%ifarch %ubsan_arch
%{libsubdir}/32/libubsan.a
%endif
%define asan_arch x86_64 %ix86 ppc ppc64 %sparc %arm aarch64
%define itm_arch x86_64 %ix86 %arm ppc ppc64 ppc64le s390 s390x %sparc aarch64
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k
-%define lsan_arch x86_64 %ix86 %arm aarch64
+%define lsan_arch x86_64 aarch64
+%define hwasan_arch aarch64
%define ubsan_arch x86_64 %ix86 ppc ppc64 %arm aarch64
%ifarch armv7l
## until here, but at least renaming and patching info files breaks this
BuildRequires: gcc-c++
BuildRequires: zlib-devel
+BuildRequires: xz-devel
%ifarch x86_64
BuildRequires: glibc-devel-32bit
%endif
BuildRequires: configure-dumper
%endif
URL: http://gcc.gnu.org/
-Version: 9.2.0
+Version: 12.2.0
Release: 0
Source: gcc-%{version}.tar.bz2
Source10: gmp-6.1.2.tar.bz2
%post -n libasan -p /sbin/ldconfig
%postun -n libasan -p /sbin/ldconfig
+%package -n libhwasan
+Summary: The GNU Compiler Hardware-assisted Address Sanitizer Runtime Library
+License: MIT
+Group: Development/Languages
+%description -n libhwasan
+The runtime library needed to run programs compiled with the
+-fsanitize=address option of the GNU Compiler Collection (GCC).
+%post -n libhwasan -p /sbin/ldconfig
+%postun -n libhwasan -p /sbin/ldconfig
+
%package -n libtsan
Summary: The GNU Compiler Thread Sanitizer Runtime Library
License: MIT
--without-system-libunwind \
--enable-threads=posix \
--disable-multilib \
+ --disable-cet \
--enable-lto \
%{!?cross: \
--enable-libcc1 \
--target=%{target_arch} \
--host=%{host_arch} \
--build=%{host_arch}
+ }
+
+%{?!cross:
+ # During native compiler build with qemu-accel enabled we have to provide
+ # path to accelerated lto_plugin.so to prevent
+ # error loading plugin: /home/abuild/rpmbuild/BUILD/gcc-12.2.0/obj/./gcc/liblto_plugin.so: wrong ELF class: ELFCLASS32
+ # So we have to update:
+ # - CC_FOR_TARGET
+ # - GCC_FOR_TARGET
+ # - CXX_FOR_TARGET
+ # - RAW_CXX_FOR_TARGET
+ # And provide path to liblto_plugin inside /emul via -B option
+ # Changing configure.ac and adding a dependency from qemu-accel there is not
+ # reasonable, so here we patch a Makefile after configure is competed
+
+ [[ -e '/emul' ]] && \
+ sed -e '/^\(G\?CC_FOR_TARGET\)=\|^\(\(RAW_\)\?CXX_FOR_TARGET\)=/s#\(xg\(cc\|++\)\)#\1 -B/emul%{libsubdir}/#' -i Makefile
}
%{!?gcc_skip_make:
-make BOOT_CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} %{!?cross:%{?gcc_profiledbootstrap:profiledbootstrap}}
+make BOOT_CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} %{!?cross:%{?gcc_profiledbootstrap:profiledbootstrap}} %{?cross:all-host}
%{?gcc_dump_configure:
dump_configure.pl .. . \
--project gcc \
%install
cd obj
-make install DESTDIR=$RPM_BUILD_ROOT
+make install%{?cross:-host} DESTDIR=$RPM_BUILD_ROOT
%{?gcc_dump_configure:
install -D -m 0644 gcc-%{version}-%{release}-%_project-%_repository.db %{buildroot}%{_datadir}/gcc-%{version}-%{release}-%_project-%_repository.db
ln -s gcc %{buildroot}%{_bindir}/cc
mv %{buildroot}%{libsubdir}/libstdc++.so*-gdb.py %{buildroot}%{_datadir}/gcc-%{version}/python/libstdcxx/
-# expose plugins for ar (required for lto builds)
-mkdir -p %{buildroot}%{_prefix}/lib/bfd-plugins
-ln -sf %{libsubdir}/liblto_plugin.so %{buildroot}%{_prefix}/lib/bfd-plugins/liblto_plugin.so
-
# legacy preprocessor
mkdir -p %{buildroot}/lib
ln -s %{_bindir}/cpp %{buildroot}/lib/cpp
%{_bindir}/gcc-ar
%{_bindir}/gcc-nm
%{_bindir}/gcc-ranlib
+%{_bindir}/lto-dump
%{_bindir}/%{target_arch}-gcc
%{_bindir}/%{target_arch}-gcc-%{version}
%{_bindir}/%{target_arch}-gcc-ar
%{libsubdir}/lto1
%{libsubdir}/lto-wrapper
%{libsubdir}/liblto_plugin.so*
-%{_prefix}/lib/bfd-plugins/liblto_plugin.so
+%{libsubdir}/g++-mapper-server
%{libsubdir}/include-fixed/*
%{libsubdir}/include/*.h
%{libsubdir}/*.so
%{libdir}/libasan.so*
%endif
+%ifarch %hwasan_arch
+%files -n libhwasan
+%manifest gcc.manifest
+%license libsanitizer/LICENSE.TXT
+%defattr(-,root,root)
+%{libsubdir}/libhwasan.so*
+%endif
+
%ifarch %lsan_arch
%files -n liblsan
%manifest gcc.manifest
%ifarch x86_64
%files -n gcc-32bit
%defattr(-,root,root)
-%{libsubdir}/32/crt*
%{libsubdir}/32/*.a
%{libsubdir}/32/*.so
%{libsubdir}/32/*.o
%{libsubdir}/32/libasan.so.*
%endif
-%ifarch %lsan_arch
-%files -n liblsan-32bit
-%manifest gcc.manifest
-%license libsanitizer/LICENSE.TXT
-%defattr(-,root,root)
-%{libsubdir}/32/liblsan.so.*
-%endif
-
%ifarch %atomic_arch
%files -n libatomic-32bit
%manifest gcc.manifest
%ifarch %asan_arch
%{libdir}/libasan.a
%endif
+%ifarch %hwasan_arch
+%{libsubdir}/libhwasan.a
+%endif
%ifarch %lsan_arch
%{libdir}/liblsan.a
%endif
%ifarch %asan_arch
%{libsubdir}/32/libasan.a
%endif
-%ifarch %lsan_arch
-%{libsubdir}/32/liblsan.a
-%endif
%ifarch %ubsan_arch
%{libsubdir}/32/libubsan.a
%endif
%define asan_arch x86_64 %ix86 ppc ppc64 %sparc %arm aarch64
%define itm_arch x86_64 %ix86 %arm ppc ppc64 ppc64le s390 s390x %sparc aarch64
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k
-%define lsan_arch x86_64 %ix86 %arm aarch64
+%define lsan_arch x86_64 aarch64
+%define hwasan_arch aarch64
%define ubsan_arch x86_64 %ix86 ppc ppc64 %arm aarch64
%ifarch armv7l
## until here, but at least renaming and patching info files breaks this
BuildRequires: gcc-c++
BuildRequires: zlib-devel
+BuildRequires: xz-devel
%ifarch x86_64
BuildRequires: glibc-devel-32bit
%endif
BuildRequires: configure-dumper
%endif
URL: http://gcc.gnu.org/
-Version: 9.2.0
+Version: 12.2.0
Release: 0
Source: gcc-%{version}.tar.bz2
Source10: gmp-6.1.2.tar.bz2
%post -n libasan -p /sbin/ldconfig
%postun -n libasan -p /sbin/ldconfig
+%package -n libhwasan
+Summary: The GNU Compiler Hardware-assisted Address Sanitizer Runtime Library
+License: MIT
+Group: Development/Languages
+%description -n libhwasan
+The runtime library needed to run programs compiled with the
+-fsanitize=address option of the GNU Compiler Collection (GCC).
+%post -n libhwasan -p /sbin/ldconfig
+%postun -n libhwasan -p /sbin/ldconfig
+
%package -n libtsan
Summary: The GNU Compiler Thread Sanitizer Runtime Library
License: MIT
--without-system-libunwind \
--enable-threads=posix \
--disable-multilib \
+ --disable-cet \
--enable-lto \
%{!?cross: \
--enable-libcc1 \
--target=%{target_arch} \
--host=%{host_arch} \
--build=%{host_arch}
+ }
+
+%{?!cross:
+ # During native compiler build with qemu-accel enabled we have to provide
+ # path to accelerated lto_plugin.so to prevent
+ # error loading plugin: /home/abuild/rpmbuild/BUILD/gcc-12.2.0/obj/./gcc/liblto_plugin.so: wrong ELF class: ELFCLASS32
+ # So we have to update:
+ # - CC_FOR_TARGET
+ # - GCC_FOR_TARGET
+ # - CXX_FOR_TARGET
+ # - RAW_CXX_FOR_TARGET
+ # And provide path to liblto_plugin inside /emul via -B option
+ # Changing configure.ac and adding a dependency from qemu-accel there is not
+ # reasonable, so here we patch a Makefile after configure is competed
+
+ [[ -e '/emul' ]] && \
+ sed -e '/^\(G\?CC_FOR_TARGET\)=\|^\(\(RAW_\)\?CXX_FOR_TARGET\)=/s#\(xg\(cc\|++\)\)#\1 -B/emul%{libsubdir}/#' -i Makefile
}
%{!?gcc_skip_make:
-make BOOT_CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} %{!?cross:%{?gcc_profiledbootstrap:profiledbootstrap}}
+make BOOT_CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} %{!?cross:%{?gcc_profiledbootstrap:profiledbootstrap}} %{?cross:all-host}
%{?gcc_dump_configure:
dump_configure.pl .. . \
--project gcc \
%install
cd obj
-make install DESTDIR=$RPM_BUILD_ROOT
+make install%{?cross:-host} DESTDIR=$RPM_BUILD_ROOT
%{?gcc_dump_configure:
install -D -m 0644 gcc-%{version}-%{release}-%_project-%_repository.db %{buildroot}%{_datadir}/gcc-%{version}-%{release}-%_project-%_repository.db
ln -s gcc %{buildroot}%{_bindir}/cc
mv %{buildroot}%{libsubdir}/libstdc++.so*-gdb.py %{buildroot}%{_datadir}/gcc-%{version}/python/libstdcxx/
-# expose plugins for ar (required for lto builds)
-mkdir -p %{buildroot}%{_prefix}/lib/bfd-plugins
-ln -sf %{libsubdir}/liblto_plugin.so %{buildroot}%{_prefix}/lib/bfd-plugins/liblto_plugin.so
-
# legacy preprocessor
mkdir -p %{buildroot}/lib
ln -s %{_bindir}/cpp %{buildroot}/lib/cpp
%{_bindir}/gcc-ar
%{_bindir}/gcc-nm
%{_bindir}/gcc-ranlib
+%{_bindir}/lto-dump
%{_bindir}/%{target_arch}-gcc
%{_bindir}/%{target_arch}-gcc-%{version}
%{_bindir}/%{target_arch}-gcc-ar
%{libsubdir}/lto1
%{libsubdir}/lto-wrapper
%{libsubdir}/liblto_plugin.so*
-%{_prefix}/lib/bfd-plugins/liblto_plugin.so
+%{libsubdir}/g++-mapper-server
%{libsubdir}/include-fixed/*
%{libsubdir}/include/*.h
%{libsubdir}/*.so
%{libdir}/libasan.so*
%endif
+%ifarch %hwasan_arch
+%files -n libhwasan
+%manifest gcc.manifest
+%license libsanitizer/LICENSE.TXT
+%defattr(-,root,root)
+%{libsubdir}/libhwasan.so*
+%endif
+
%ifarch %lsan_arch
%files -n liblsan
%manifest gcc.manifest
%ifarch x86_64
%files -n gcc-32bit
%defattr(-,root,root)
-%{libsubdir}/32/crt*
%{libsubdir}/32/*.a
%{libsubdir}/32/*.so
%{libsubdir}/32/*.o
%{libsubdir}/32/libasan.so.*
%endif
-%ifarch %lsan_arch
-%files -n liblsan-32bit
-%manifest gcc.manifest
-%license libsanitizer/LICENSE.TXT
-%defattr(-,root,root)
-%{libsubdir}/32/liblsan.so.*
-%endif
-
%ifarch %atomic_arch
%files -n libatomic-32bit
%manifest gcc.manifest
%ifarch %asan_arch
%{libdir}/libasan.a
%endif
+%ifarch %hwasan_arch
+%{libsubdir}/libhwasan.a
+%endif
%ifarch %lsan_arch
%{libdir}/liblsan.a
%endif
%ifarch %asan_arch
%{libsubdir}/32/libasan.a
%endif
-%ifarch %lsan_arch
-%{libsubdir}/32/liblsan.a
-%endif
%ifarch %ubsan_arch
%{libsubdir}/32/libubsan.a
%endif
%define asan_arch x86_64 %ix86 ppc ppc64 %sparc %arm aarch64
%define itm_arch x86_64 %ix86 %arm ppc ppc64 ppc64le s390 s390x %sparc aarch64
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k
-%define lsan_arch x86_64 %ix86 %arm aarch64
+%define lsan_arch x86_64 aarch64
+%define hwasan_arch aarch64
%define ubsan_arch x86_64 %ix86 ppc ppc64 %arm aarch64
%ifarch armv7l
## until here, but at least renaming and patching info files breaks this
BuildRequires: gcc-c++
BuildRequires: zlib-devel
+BuildRequires: xz-devel
%ifarch x86_64
BuildRequires: glibc-devel-32bit
%endif
BuildRequires: configure-dumper
%endif
URL: http://gcc.gnu.org/
-Version: 9.2.0
+Version: 12.2.0
Release: 0
Source: gcc-%{version}.tar.bz2
Source10: gmp-6.1.2.tar.bz2
%post -n libasan -p /sbin/ldconfig
%postun -n libasan -p /sbin/ldconfig
+%package -n libhwasan
+Summary: The GNU Compiler Hardware-assisted Address Sanitizer Runtime Library
+License: MIT
+Group: Development/Languages
+%description -n libhwasan
+The runtime library needed to run programs compiled with the
+-fsanitize=address option of the GNU Compiler Collection (GCC).
+%post -n libhwasan -p /sbin/ldconfig
+%postun -n libhwasan -p /sbin/ldconfig
+
%package -n libtsan
Summary: The GNU Compiler Thread Sanitizer Runtime Library
License: MIT
--without-system-libunwind \
--enable-threads=posix \
--disable-multilib \
+ --disable-cet \
--enable-lto \
%{!?cross: \
--enable-libcc1 \
--target=%{target_arch} \
--host=%{host_arch} \
--build=%{host_arch}
+ }
+
+%{?!cross:
+ # During native compiler build with qemu-accel enabled we have to provide
+ # path to accelerated lto_plugin.so to prevent
+ # error loading plugin: /home/abuild/rpmbuild/BUILD/gcc-12.2.0/obj/./gcc/liblto_plugin.so: wrong ELF class: ELFCLASS32
+ # So we have to update:
+ # - CC_FOR_TARGET
+ # - GCC_FOR_TARGET
+ # - CXX_FOR_TARGET
+ # - RAW_CXX_FOR_TARGET
+ # And provide path to liblto_plugin inside /emul via -B option
+ # Changing configure.ac and adding a dependency from qemu-accel there is not
+ # reasonable, so here we patch a Makefile after configure is competed
+
+ [[ -e '/emul' ]] && \
+ sed -e '/^\(G\?CC_FOR_TARGET\)=\|^\(\(RAW_\)\?CXX_FOR_TARGET\)=/s#\(xg\(cc\|++\)\)#\1 -B/emul%{libsubdir}/#' -i Makefile
}
%{!?gcc_skip_make:
-make BOOT_CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} %{!?cross:%{?gcc_profiledbootstrap:profiledbootstrap}}
+make BOOT_CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} %{!?cross:%{?gcc_profiledbootstrap:profiledbootstrap}} %{?cross:all-host}
%{?gcc_dump_configure:
dump_configure.pl .. . \
--project gcc \
%install
cd obj
-make install DESTDIR=$RPM_BUILD_ROOT
+make install%{?cross:-host} DESTDIR=$RPM_BUILD_ROOT
%{?gcc_dump_configure:
install -D -m 0644 gcc-%{version}-%{release}-%_project-%_repository.db %{buildroot}%{_datadir}/gcc-%{version}-%{release}-%_project-%_repository.db
ln -s gcc %{buildroot}%{_bindir}/cc
mv %{buildroot}%{libsubdir}/libstdc++.so*-gdb.py %{buildroot}%{_datadir}/gcc-%{version}/python/libstdcxx/
-# expose plugins for ar (required for lto builds)
-mkdir -p %{buildroot}%{_prefix}/lib/bfd-plugins
-ln -sf %{libsubdir}/liblto_plugin.so %{buildroot}%{_prefix}/lib/bfd-plugins/liblto_plugin.so
-
# legacy preprocessor
mkdir -p %{buildroot}/lib
ln -s %{_bindir}/cpp %{buildroot}/lib/cpp
%{_bindir}/gcc-ar
%{_bindir}/gcc-nm
%{_bindir}/gcc-ranlib
+%{_bindir}/lto-dump
%{_bindir}/%{target_arch}-gcc
%{_bindir}/%{target_arch}-gcc-%{version}
%{_bindir}/%{target_arch}-gcc-ar
%{libsubdir}/lto1
%{libsubdir}/lto-wrapper
%{libsubdir}/liblto_plugin.so*
-%{_prefix}/lib/bfd-plugins/liblto_plugin.so
+%{libsubdir}/g++-mapper-server
%{libsubdir}/include-fixed/*
%{libsubdir}/include/*.h
%{libsubdir}/*.so
%{libdir}/libasan.so*
%endif
+%ifarch %hwasan_arch
+%files -n libhwasan
+%manifest gcc.manifest
+%license libsanitizer/LICENSE.TXT
+%defattr(-,root,root)
+%{libsubdir}/libhwasan.so*
+%endif
+
%ifarch %lsan_arch
%files -n liblsan
%manifest gcc.manifest
%ifarch x86_64
%files -n gcc-32bit
%defattr(-,root,root)
-%{libsubdir}/32/crt*
%{libsubdir}/32/*.a
%{libsubdir}/32/*.so
%{libsubdir}/32/*.o
%{libsubdir}/32/libasan.so.*
%endif
-%ifarch %lsan_arch
-%files -n liblsan-32bit
-%manifest gcc.manifest
-%license libsanitizer/LICENSE.TXT
-%defattr(-,root,root)
-%{libsubdir}/32/liblsan.so.*
-%endif
-
%ifarch %atomic_arch
%files -n libatomic-32bit
%manifest gcc.manifest
%ifarch %asan_arch
%{libdir}/libasan.a
%endif
+%ifarch %hwasan_arch
+%{libsubdir}/libhwasan.a
+%endif
%ifarch %lsan_arch
%{libdir}/liblsan.a
%endif
%ifarch %asan_arch
%{libsubdir}/32/libasan.a
%endif
-%ifarch %lsan_arch
-%{libsubdir}/32/liblsan.a
-%endif
%ifarch %ubsan_arch
%{libsubdir}/32/libubsan.a
%endif