Compare commits

...

2 Commits

2 changed files with 48 additions and 19 deletions

View File

@ -0,0 +1,24 @@
diff -ru gcc-10.1.0/libstdc++-v3/include/bits/atomic_futex.h gcc-10.1.0.patched/libstdc++-v3/include/bits/atomic_futex.h
--- gcc-10.1.0/libstdc++-v3/include/bits/atomic_futex.h 2020-05-07 12:50:02.000000000 +0200
+++ gcc-10.1.0.patched/libstdc++-v3/include/bits/atomic_futex.h 2020-06-08 18:18:38.544259479 +0200
@@ -49,7 +49,7 @@
_GLIBCXX_BEGIN_NAMESPACE_VERSION
#ifdef _GLIBCXX_HAS_GTHREADS
-#if defined(_GLIBCXX_HAVE_LINUX_FUTEX) && ATOMIC_INT_LOCK_FREE > 1
+#if defined(_GLIBCXX_HAVE_LINUX_FUTEX)
struct __atomic_futex_unsigned_base
{
// Returns false iff a timeout occurred.
diff -ru gcc-10.1.0/libstdc++-v3/src/c++11/futex.cc gcc-10.1.0.patched/libstdc++-v3/src/c++11/futex.cc
--- gcc-10.1.0/libstdc++-v3/src/c++11/futex.cc 2020-05-07 12:50:02.000000000 +0200
+++ gcc-10.1.0.patched/libstdc++-v3/src/c++11/futex.cc 2020-06-08 18:19:20.413501894 +0200
@@ -24,7 +24,7 @@
#include <bits/atomic_futex.h>
#ifdef _GLIBCXX_HAS_GTHREADS
-#if defined(_GLIBCXX_HAVE_LINUX_FUTEX) && ATOMIC_INT_LOCK_FREE > 1
+#if defined(_GLIBCXX_HAVE_LINUX_FUTEX)
#include <chrono>
#include <climits>
#include <syscall.h>

View File

@ -39,7 +39,7 @@
%define majver %(echo %version | cut -d. -f 1-2)
Name: gcc
Version: 10.1.0
Version: 10.2.0
Release: 1mamba
Summary: GNU Compiler Collection (C, C++, Fortran, Go, Ada)
Group: Applications/Development
@ -67,6 +67,7 @@ Patch14: gcc-4.8.0-libffi-texinfo.patch
Patch15: gcc-4.9.0-upstream-fixes-1.patch
Patch16: gcc-4.9.2-arm-lra-bootstrap.patch
Patch19: gcc-7.1.0-cross-ftbfs-ucontet_t.patch
Patch20: gcc-10.1.0-arm-provide-futex-atomic-functions.patch
License: GPL
## AUTOBUILDREQ-BEGIN
## AUTOBUILDREQ-END
@ -105,19 +106,12 @@ BuildRequires: glibc-devel >= 2.5
BuildRequires: tetex >= 3.0
BuildRequires: libgtk2-devel >= 2.8.17
BuildRequires: libalsa-devel >= 1.0.11
%if "%{?disable_jack}" != "1"
BuildRequires: dssi-devel >= 0.9
BuildRequires: libjack-devel >= 0.101.1
%endif
%if "%{?disable_gjdoc}" != "1"
BuildRequires: antlr
%endif
BuildRequires: libcairo-devel >= 1.4.10
BuildRequires: libxcb-util-devel >= 0.2
BuildRequires: libisl-devel >= 0.14
#% endif
#% else
# BuildRequires: cross-%{target_cpu}-glibc%{?glibc_require_append} >= 2.5
%else
BuildRequires: cross-%{target_cpu}-glibc%{?glibc_require_append} >= 2.5
%endif
Requires(post):%{__install_info}
@ -600,6 +594,7 @@ Cross Platform gcc for %{_target_platform}.
%patch11 -p1
%ifarch arm
%patch20 -p1
# workaround for gcc-go
cp libgo/go/internal/syscall/unix/{getrandom_linux_arm.go,dummy.go}
%endif
@ -659,6 +654,13 @@ case %{_target_platform} in
ADDITIONAL_OPTS="--with-slibdir=$slibdir --enable-multilib"
%endif
;;
aarch64-*)
%if "%{_target_platform}" != "%{_host}"
ADDITIONAL_OPTS="--with-slibdir=/usr/%{_target_platform}/lib64"
%else
ADDITIONAL_OPTS="--with-slibdir=$slibdir"
%endif
;;
*)
echo "Error: target not supported."
exit 1
@ -729,9 +731,6 @@ CROSS_SYSTEM_HEADER_DIR=/usr/%{_target_platform}/include \
--x-libraries=%{_libdir} \
--with-system-zlib \
--with-isl \
%if "%{?disable_jack}" == "1"
--disable-dssi \
%endif
%if "%{_target_platform}" != "%{_host}"
--enable-symvers=gnu \
--disable-libsanitizer \
@ -843,7 +842,7 @@ mv %{buildroot}%{_prefix}/lib32/libstdc++.so.*-gdb.py %{buildroot}%{_datadir}/gd
#done)
# fix permissions
#chmod 755 %{buildroot}/%{_lib}/libgcc_s.so.1
chmod 755 %{buildroot}/%{_libdir}/libgcc_s.so.1
#cp gcc/doc/*.pdf ../gcc-%{version}%{?gcc_extraver}/gcc/doc/
%else # target_platform != host
@ -936,7 +935,7 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
%{_bindir}/%{_target_platform}-gcov
%dir %{_libdir}/gcc
%{_libdir}/gcc/*
%ifarch x86_64
%ifarch x86_64 aarch64
%exclude %{_libdir}/gcc/%{_target_platform}/%{version}/32/*
%endif
%dir %{_prefix}/libexec/gcc/%{_target_platform}/%{version}
@ -1074,7 +1073,7 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
%files -n libasan
%defattr(-,root,root)
%{_libdir}/libasan.so.*
%ifarch x86_64
%ifarch x86_64 aarch64
%{_libdir}/libtsan.so.*
%endif
@ -1084,14 +1083,14 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
%{_libdir}/libasan.la
%{_libdir}/libasan.so
%{_libdir}/libasan_preinit.o
%ifarch x86_64
%ifarch x86_64 aarch64
%{_libdir}/libtsan.a
%{_libdir}/libtsan.la
%{_libdir}/libtsan.so
%{_libdir}/libtsan_preinit.o
%endif
%ifarch x86_64
%ifarch x86_64 aarch64
%files -n liblsan
%defattr(-,root,root)
%{_libdir}/liblsan.so.*
@ -1254,7 +1253,7 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
%endif
%endif # disable_fortran != 1
%ifnarch arm
%ifnarch arm aarch64
%files -n libquadmath
%defattr(-,root,root)
%{_libdir}/libquadmath.so.*
@ -1466,6 +1465,12 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
%endif # cross-platform
%changelog
* Fri Jul 24 2020 Automatic Build System <autodist@mambasoft.it> 10.2.0-1mamba
- automatic version update by autodist
* Mon Jun 08 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 10.1.0-2mamba
- arm: added patch to provide futex atomic functions _M_futex_notify_all and _M_futex_wait_until (armv7)
* Mon May 11 2020 Automatic Build System <autodist@mambasoft.it> 10.1.0-1mamba
- automatic version update by autodist