[packages/crossmingw32-gcc] - updated to 10.4.0

qboosh qboosh at pld-linux.org
Wed Jun 28 07:52:01 CEST 2023


commit 9ea3438703b0bc148e6c966f3a993660ba8a09f5
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Wed Jun 28 06:24:40 2023 +0200

    - updated to 10.4.0

 crossmingw32-gcc.spec  |  10 +++-
 gcc-mingw32.patch      | 135 ++++++++++++++++++++++++++++++++++++++++++-------
 gcc-pthreads-w32.patch |  12 ++---
 3 files changed, 131 insertions(+), 26 deletions(-)
---
diff --git a/crossmingw32-gcc.spec b/crossmingw32-gcc.spec
index 6706a42..0827632 100644
--- a/crossmingw32-gcc.spec
+++ b/crossmingw32-gcc.spec
@@ -17,13 +17,13 @@ Summary(pl.UTF-8):	Skrośne narzędzia programistyczne GNU dla MinGW32 - gcc
 Summary(pt_BR.UTF-8):	Utilitários para desenvolvimento de binários da GNU - MinGW32 gcc
 Summary(tr.UTF-8):	GNU geliştirme araçları - MinGW32 gcc
 Name:		crossmingw32-gcc
-Version:	9.5.0
+Version:	10.4.0
 Release:	1
 Epoch:		1
 License:	GPL v3+
 Group:		Development/Languages
 Source0:	https://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz
-# Source0-md5:	34cd76facb562835ff5faca81fead17e
+# Source0-md5:	d307b8748a74939359a5843f859a4dec
 %define		w32api_ver	5.4.2
 #Source1Download: https://osdn.net/projects/mingw/releases/
 Source1:	https://osdn.net/projects/mingw/downloads/74926/w32api-%{w32api_ver}-mingw32-dev.tar.xz
@@ -585,6 +585,7 @@ ln -sf %{archbindir}/%{target}-gcov $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov
 ln -sf %{archbindir}/%{target}-gcov-dump $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov-dump
 ln -sf %{archbindir}/%{target}-gcov-tool $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov-tool
 ln -sf %{archbindir}/%{target}-gfortran $RPM_BUILD_ROOT%{_bindir}/%{target}-gfortran
+ln -sf %{archbindir}/%{target}-lto-dump $RPM_BUILD_ROOT%{_bindir}/%{target}-lto-dump
 
 # DLLs
 install -d $RPM_BUILD_ROOT%{_dlldir}
@@ -635,6 +636,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/%{target}-gcov
 %attr(755,root,root) %{_bindir}/%{target}-gcov-dump
 %attr(755,root,root) %{_bindir}/%{target}-gcov-tool
+%attr(755,root,root) %{_bindir}/%{target}-lto-dump
 %attr(755,root,root) %{archbindir}/%{target}-cpp
 %attr(755,root,root) %{archbindir}/%{target}-gcc
 %attr(755,root,root) %{archbindir}/%{target}-gcc-%{version}
@@ -644,6 +646,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{archbindir}/%{target}-gcov
 %attr(755,root,root) %{archbindir}/%{target}-gcov-dump
 %attr(755,root,root) %{archbindir}/%{target}-gcov-tool
+%attr(755,root,root) %{archbindir}/%{target}-lto-dump
 %{archlibdir}/libgcc_s.a
 %dir %{gccarchdir}
 %dir %{gcclibdir}
@@ -665,6 +668,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/%{target}-gcov.1*
 %{_mandir}/man1/%{target}-gcov-dump.1*
 %{_mandir}/man1/%{target}-gcov-tool.1*
+%{_mandir}/man1/%{target}-lto-dump.1*
 
 %files -n crossmingw32-libgcc-dll
 %defattr(644,root,root,755)
@@ -728,6 +732,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{gcclibdir}/cc1plus
 %{archlibdir}/libstdc++.dll.a
 %{archlibdir}/libstdc++.la
+%{archlibdir}/libstdc++fs.a
+%{archlibdir}/libstdc++fs.la
 %{archlibdir}/libsupc++.la
 %{archlibdir}/libsupc++.a
 %{archincludedir}/c++
diff --git a/gcc-mingw32.patch b/gcc-mingw32.patch
index 5c3c6e8..af1de44 100644
--- a/gcc-mingw32.patch
+++ b/gcc-mingw32.patch
@@ -47,11 +47,11 @@
  // The sized deletes are defined in other files.
  #pragma GCC diagnostic ignored "-Wsized-deallocation"
  
---- gcc-9.5.0/libstdc++-v3/src/filesystem/ops-common.h.orig	2022-05-27 09:21:13.451391769 +0200
-+++ gcc-9.5.0/libstdc++-v3/src/filesystem/ops-common.h	2023-04-16 15:41:54.130017065 +0200
-@@ -106,7 +106,7 @@ namespace __gnu_posix
-   inline int rename(const wchar_t* oldname, const wchar_t* newname)
-   { return _wrename(oldname, newname); }
+--- gcc-10.4.0/libstdc++-v3/src/filesystem/ops-common.h.orig	2023-06-26 19:29:27.267246537 +0200
++++ gcc-10.4.0/libstdc++-v3/src/filesystem/ops-common.h	2023-06-26 20:39:47.401050776 +0200
+@@ -115,7 +115,7 @@ namespace __gnu_posix
+     return -1;
+   }
  
 -  inline int truncate(const wchar_t* path, _off64_t length)
 +  inline int truncate(const wchar_t* path, __off64_t length)
@@ -79,8 +79,8 @@
  namespace std _GLIBCXX_VISIBILITY(default)
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
---- gcc-9.5.0/libstdc++-v3/src/c++11/system_error.cc.orig	2022-05-27 09:21:13.447391751 +0200
-+++ gcc-9.5.0/libstdc++-v3/src/c++11/system_error.cc	2023-04-16 20:09:05.676500055 +0200
+--- gcc-10.4.0/libstdc++-v3/src/c++11/system_error.cc.orig	2022-06-28 10:54:32.000000000 +0200
++++ gcc-10.4.0/libstdc++-v3/src/c++11/system_error.cc	2023-06-26 19:29:27.740577306 +0200
 @@ -168,7 +168,7 @@ namespace
  #ifdef EISDIR
        case EISDIR:
@@ -90,16 +90,7 @@
        case ELOOP:
  #endif
  #ifdef EMFILE
-@@ -253,7 +253,7 @@ namespace
- #ifdef ENOTSOCK
-       case ENOTSOCK:
- #endif
--#ifdef ENOTSUP
-+#if defined (ENOTSUP) && (ENOTSUP != ENOSYS)
-       case ENOTSUP:
- #endif
- #ifdef ENOTTY
-@@ -265,7 +265,7 @@ namespace
+@@ -266,10 +266,10 @@ namespace
  #if defined EOPNOTSUPP && (!defined ENOTSUP || EOPNOTSUPP != ENOTSUP)
        case EOPNOTSUPP:
  #endif
@@ -107,4 +98,112 @@
 +#if defined(EOVERFLOW) && (EOVERFLOW != ERANGE)
        case EOVERFLOW:
  #endif
- #ifdef EOWNERDEAD
+-#ifdef EOWNERDEAD
++#if defined(EOWNERDEAD) && (!defined EILSEQ || EOWNERDEAD != EILSEQ)
+       case EOWNERDEAD:
+ #endif
+ #ifdef EPERM
+--- gcc-10.4.0/libgfortran/io/io.h.orig	2022-06-28 10:54:30.000000000 +0200
++++ gcc-10.4.0/libgfortran/io/io.h	2023-06-27 16:00:06.467225258 +0200
+@@ -291,7 +291,7 @@ typedef enum
+ unit_share;
+ 
+ typedef enum
+-{ CC_LIST, CC_FORTRAN, CC_NONE,
++{ CC_LIST, CC_FORTRAN, CC_NONE_,
+   CC_UNSPECIFIED
+ }
+ unit_cc;
+--- gcc-10.4.0/libgfortran/io/transfer.c.orig	2022-06-28 10:54:30.000000000 +0200
++++ gcc-10.4.0/libgfortran/io/transfer.c	2023-06-27 18:46:33.802431279 +0200
+@@ -388,7 +388,7 @@ read_sf (st_parameter_dt *dtp, size_t *l
+       q = fbuf_getc (dtp->u.p.current_unit);
+       if (q == EOF)
+ 	break;
+-      else if (dtp->u.p.current_unit->flags.cc != CC_NONE
++      else if (dtp->u.p.current_unit->flags.cc != CC_NONE_
+ 	       && (q == '\n' || q == '\r'))
+ 	{
+ 	  /* Unexpected end of line. Set the position.  */
+@@ -3660,7 +3660,7 @@ next_record_r (st_parameter_dt *dtp, int
+ 	    }
+ 	  break;
+ 	}
+-      else if (dtp->u.p.current_unit->flags.cc != CC_NONE)
++      else if (dtp->u.p.current_unit->flags.cc != CC_NONE_)
+ 	{
+ 	  do
+ 	    {
+@@ -4026,7 +4026,7 @@ next_record_w (st_parameter_dt *dtp, int
+       else
+ 	{
+ 	  /* Skip newlines for CC=CC_NONE.  */
+-	  const int len = (dtp->u.p.current_unit->flags.cc == CC_NONE)
++	  const int len = (dtp->u.p.current_unit->flags.cc == CC_NONE_)
+ 	    ? 0
+ #ifdef HAVE_CRLF
+ 	    : 2;
+@@ -4034,7 +4034,7 @@ next_record_w (st_parameter_dt *dtp, int
+ 	    : 1;
+ #endif
+ 	  fbuf_seek (dtp->u.p.current_unit, 0, SEEK_END);
+-	  if (dtp->u.p.current_unit->flags.cc != CC_NONE)
++	  if (dtp->u.p.current_unit->flags.cc != CC_NONE_)
+ 	    {
+ 	      char *p = fbuf_alloc (dtp->u.p.current_unit, len);
+ 	      if (!p)
+--- gcc-10.4.0/libgfortran/io/open.c.orig	2022-06-28 10:54:30.000000000 +0200
++++ gcc-10.4.0/libgfortran/io/open.c	2023-06-27 18:46:19.772507286 +0200
+@@ -63,7 +63,7 @@ static const st_option cc_opt[] =
+ {
+   { "list", CC_LIST },
+   { "fortran", CC_FORTRAN },
+-  { "none", CC_NONE },
++  { "none", CC_NONE_ },
+   { NULL, 0}
+ };
+ 
+@@ -354,8 +354,8 @@ new_unit (st_parameter_open *opp, gfc_un
+     flags->status = STATUS_UNKNOWN;
+ 
+   if (flags->cc == CC_UNSPECIFIED)
+-    flags->cc = flags->form == FORM_UNFORMATTED ? CC_NONE : CC_LIST;
+-  else if (flags->form == FORM_UNFORMATTED && flags->cc != CC_NONE)
++    flags->cc = flags->form == FORM_UNFORMATTED ? CC_NONE_ : CC_LIST;
++  else if (flags->form == FORM_UNFORMATTED && flags->cc != CC_NONE_)
+     {
+       generate_error (&opp->common, LIBERROR_OPTION_CONFLICT,
+ 	  "CARRIAGECONTROL parameter conflicts with UNFORMATTED form in "
+--- gcc-10.4.0/libgfortran/io/read.c.orig	2022-06-28 10:54:30.000000000 +0200
++++ gcc-10.4.0/libgfortran/io/read.c	2023-06-27 18:46:49.979010309 +0200
+@@ -1275,7 +1275,7 @@ read_x (st_parameter_dt *dtp, size_t n)
+       q = fbuf_getc (dtp->u.p.current_unit);
+       if (q == EOF)
+ 	break;
+-      else if (dtp->u.p.current_unit->flags.cc != CC_NONE
++      else if (dtp->u.p.current_unit->flags.cc != CC_NONE_
+ 	       && (q == '\n' || q == '\r'))
+ 	{
+ 	  /* Unexpected end of line. Set the position.  */
+--- gcc-10.4.0/libgfortran/io/inquire.c.orig	2022-06-28 10:54:30.000000000 +0200
++++ gcc-10.4.0/libgfortran/io/inquire.c	2023-06-27 18:46:57.988966916 +0200
+@@ -489,7 +489,7 @@ inquire_via_unit (st_parameter_inquire *
+ 		case CC_LIST:
+ 		  p = "LIST";
+ 		  break;
+-		case CC_NONE:
++		case CC_NONE_:
+ 		  p = "NONE";
+ 		  break;
+ 		case CC_UNSPECIFIED:
+--- gcc-10.4.0/libstdc++-v3/src/filesystem/ops.cc.orig	2022-06-28 10:54:32.000000000 +0200
++++ gcc-10.4.0/libstdc++-v3/src/filesystem/ops.cc	2023-06-27 19:57:41.412644984 +0200
+@@ -971,7 +971,7 @@ fs::permissions(const path& p, perms prm
+     err = errno;
+ #else
+   if (nofollow && is_symlink(st))
+-    ec = std::make_error_code(std::errc::operation_not_supported);
++    ec = std::make_error_code(std::errc::function_not_supported);
+   else if (posix::chmod(p.c_str(), static_cast<mode_t>(prms)))
+     err = errno;
+ #endif
diff --git a/gcc-pthreads-w32.patch b/gcc-pthreads-w32.patch
index 6589e6f..e17da84 100644
--- a/gcc-pthreads-w32.patch
+++ b/gcc-pthreads-w32.patch
@@ -18,9 +18,9 @@
    else
      return (objc_thread_t) 1;
  }
---- gcc-9.5.0/libstdc++-v3/include/std/thread.orig	2022-05-27 09:21:13.435391692 +0200
-+++ gcc-9.5.0/libstdc++-v3/include/std/thread	2023-04-21 22:05:23.125021761 +0200
-@@ -279,7 +279,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+--- gcc-10.4.0/libstdc++-v3/include/std/thread.orig	2022-06-28 10:54:31.000000000 +0200
++++ gcc-10.4.0/libstdc++-v3/include/std/thread	2023-06-26 20:52:28.956925074 +0200
+@@ -299,7 +299,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
      // can't safely use __gthread_equal on default-constructed values (nor
      // the non-zero value returned by this_thread::get_id() for
      // single-threaded programs using GNU libc). Assume EqualityComparable.
@@ -28,8 +28,8 @@
 +    return __x._M_thread.p == __y._M_thread.p;
    }
  
-   inline bool
-@@ -291,7 +291,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ #if __cpp_lib_three_way_comparison
+@@ -316,7 +316,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
    {
      // Pthreads doesn't define any way to do this, so we just have to
      // assume native_handle_type is LessThanComparable.
@@ -38,7 +38,7 @@
    }
  
    inline bool
-@@ -314,7 +314,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+@@ -340,7 +340,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
      {
        size_t
        operator()(const thread::id& __id) const noexcept
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/crossmingw32-gcc.git/commitdiff/9ea3438703b0bc148e6c966f3a993660ba8a09f5



More information about the pld-cvs-commit mailing list