Compare commits

...

No commits in common. 'c9' and 'i8c' have entirely different histories.
c9 ... i8c

2
.gitignore vendored

@ -1 +1 @@
SOURCES/mingw-w64-v11.0.1.tar.bz2
SOURCES/mingw-w64-v5.0.2.tar.bz2

@ -1 +1 @@
ab23c9af10fb38388ac75145dd9ffed3c64d1eeb SOURCES/mingw-w64-v11.0.1.tar.bz2
bb5409f034abb7c021b3e1c14db433fd253cbb59 SOURCES/mingw-w64-v5.0.2.tar.bz2

@ -0,0 +1,63 @@
From 431ac2a912708546cd7271332e9331399e66bc62 Mon Sep 17 00:00:00 2001
From: Liu Hao <lh_mouse@126.com>
Date: Wed, 3 May 2017 15:52:32 +0800
Subject: [PATCH] winpthreads/src/dll_math.c: Implement `__divmoddi4()' for GCC
7.
GCC targeting i686 _may_ generate an external call to the function in
question when divding a 64-bit (DIMode) integer with another one.
Since we are linking against a fake libgcc, we have to implement it too.
Signed-off-by: Liu Hao <lh_mouse@126.com>
---
.../winpthreads/src/libgcc/dll_math.c | 27 ++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/mingw-w64-libraries/winpthreads/src/libgcc/dll_math.c b/mingw-w64-libraries/winpthreads/src/libgcc/dll_math.c
index e09b481b..aeec0680 100644
--- a/mingw-w64-libraries/winpthreads/src/libgcc/dll_math.c
+++ b/mingw-w64-libraries/winpthreads/src/libgcc/dll_math.c
@@ -120,6 +120,7 @@ u_quad_t __qdivrem(u_quad_t u, u_quad_t v, u_quad_t *rem);
u_quad_t __udivdi3(u_quad_t a, u_quad_t b);
u_quad_t __umoddi3(u_quad_t a, u_quad_t b);
int __ucmpdi2(u_quad_t a, u_quad_t b);
+quad_t __divmoddi4(quad_t a, quad_t b, quad_t *rem);
#endif /* !_LIBKERN_QUAD_H_ */
@@ -546,6 +547,32 @@ __umoddi3(a, b)
(void)__qdivrem(a, b, &r);
return (r);
}
+
+/*
+ * Divide two signed quads.
+ * This function is new in GCC 7.
+ */
+quad_t
+__divmoddi4(a, b, rem)
+ quad_t a, b, *rem;
+{
+ u_quad_t ua, ub, uq, ur;
+ int negq, negr;
+
+ if (a < 0)
+ ua = -(u_quad_t)a, negq = 1, negr = 1;
+ else
+ ua = a, negq = 0, negr = 0;
+ if (b < 0)
+ ub = -(u_quad_t)b, negq ^= 1;
+ else
+ ub = b;
+ uq = __qdivrem(ua, ub, &ur);
+ if (rem)
+ *rem = (negr ? -ur : ur);
+ return (negq ? -uq : uq);
+}
+
#else
static int __attribute__((unused)) dummy;
#endif /*deined (_X86_) && !defined (__x86_64__)*/
--
2.13.0

@ -1,35 +1,45 @@
%global mingw_build_ucrt64 1
%{?mingw_package_header}
%?mingw_package_header
#%%global snapshot_date 20160204
#%%global snapshot_rev 38410ad06264949efcb331f7a63575c6be31c5e4
#%%global snapshot_rev_short %(echo %snapshot_rev | cut -c1-6)
#%%global branch trunk
#%%global pre rc2
# Run the testsuite
%global enable_tests 0
Name: mingw-winpthreads
Version: 11.0.1
Release: 3%{?dist}
Version: 5.0.2
Release: 2%{?dist}
Summary: MinGW pthread library
# The main license of winpthreads is MIT, but parts of this library
# are derived from the "Posix Threads library for Microsoft Windows"
# http://locklessinc.com/articles/pthreads_on_windows/
License: BSD-3-Clause AND MIT AND LicenseRef-Fedora-Public-Domain
License: MIT and BSD
URL: http://mingw-w64.sourceforge.net/
%if 0%{?snapshot_date}
# To regenerate a snapshot:
# Use your regular webbrowser to open https://sourceforge.net/p/mingw-w64/mingw-w64/ci/%{snapshot_rev}/tarball
# This triggers the SourceForge instructure to generate a snapshot
# After that you can pull in the archive with:
# spectool -g mingw-headers.spec
Source0: http://sourceforge.net/code-snapshots/git/m/mi/mingw-w64/mingw-w64.git/mingw-w64-mingw-w64-%{snapshot_rev}.zip
%else
Source0: http://downloads.sourceforge.net/mingw-w64/mingw-w64-v%{version}%{?pre:-%{pre}}.tar.bz2
%endif
# Backported from upstream
Patch0: 0001-winpthreads-src-dll_math.c-Implement-__divmoddi4-for.patch
BuildArch: noarch
BuildRequires: make
BuildRequires: mingw32-filesystem >= 133
BuildRequires: mingw32-filesystem >= 95
BuildRequires: mingw64-filesystem >= 95
BuildRequires: mingw32-gcc-c++
BuildRequires: mingw32-crt
BuildRequires: mingw64-filesystem >= 133
BuildRequires: mingw64-gcc-c++
BuildRequires: mingw64-crt
BuildRequires: ucrt64-filesystem >= 133
BuildRequires: ucrt64-gcc-c++
BuildRequires: ucrt64-crt
%if 0%{?enable_tests}
BuildRequires: wine-wow
@ -50,10 +60,12 @@ Win32 does not, and is unlikely to ever, support pthreads
natively. This project seeks to provide a freely available and
high-quality solution to this problem.
# Win32
%package -n mingw32-winpthreads
Summary: MinGW pthread library for the win32 target
Obsoletes: mingw32-pthreads < 2.8.0-25.20110511cvs
Provides: mingw32-pthreads = 2.8.0-25.20110511cvs
Conflicts: mingw32-headers < 2.0.999-0.22.trunk.20130428
%description -n mingw32-winpthreads
The POSIX 1003.1-2001 standard defines an application programming
@ -69,19 +81,21 @@ Win32 does not, and is unlikely to ever, support pthreads
natively. This project seeks to provide a freely available and
high-quality solution to this problem.
%package -n mingw32-winpthreads-static
Summary: Static version of the MinGW Windows pthreads library
Requires: mingw32-winpthreads = %{version}-%{release}
Obsoletes: mingw32-pthreads-static < 2.8.0-25.20110511cvs
Provides: mingw32-pthreads-static = 2.8.0-25.20110511cvs
%description -n mingw32-winpthreads-static
Static version of the MinGW Windows pthreads library.
# Win64
%package -n mingw64-winpthreads
Summary: MinGW pthread library for the win64 target
Obsoletes: mingw64-pthreads < 2.8.0-25.20110511cvs
Provides: mingw64-pthreads = 2.8.0-25.20110511cvs
Conflicts: mingw64-headers < 2.0.999-0.22.trunk.20130428
%description -n mingw64-winpthreads
The POSIX 1003.1-2001 standard defines an application programming
@ -97,67 +111,42 @@ Win32 does not, and is unlikely to ever, support pthreads
natively. This project seeks to provide a freely available and
high-quality solution to this problem.
%package -n mingw64-winpthreads-static
Summary: Static version of the MinGW Windows pthreads library
Requires: mingw64-winpthreads = %{version}-%{release}
Obsoletes: mingw64-pthreads-static < 2.8.0-25.20110511cvs
Provides: mingw64-pthreads-static = 2.8.0-25.20110511cvs
%description -n mingw64-winpthreads-static
Static version of the MinGW Windows pthreads library.
%package -n ucrt64-winpthreads
Summary: MinGW pthread library for the win64 target
%description -n ucrt64-winpthreads
The POSIX 1003.1-2001 standard defines an application programming
interface (API) for writing multithreaded applications. This interface
is known more commonly as pthreads. A good number of modern operating
systems include a threading library of some kind: Solaris (UI)
threads, Win32 threads, DCE threads, DECthreads, or any of the draft
revisions of the pthreads standard. The trend is that most of these
systems are slowly adopting the pthreads standard API, with
application developers following suit to reduce porting woes.
Win32 does not, and is unlikely to ever, support pthreads
natively. This project seeks to provide a freely available and
high-quality solution to this problem.
%package -n ucrt64-winpthreads-static
Summary: Static version of the MinGW Windows pthreads library
Requires: ucrt64-winpthreads = %{version}-%{release}
%description -n ucrt64-winpthreads-static
Static version of the MinGW Windows pthreads library.
%{?mingw_debug_package}
%?mingw_debug_package
%prep
%autosetup -p1 -n mingw-w64-v%{version}%{?pre:-%{pre}}
%if 0%{?snapshot_date}
rm -rf mingw-w64-v%{version}
mkdir mingw-w64-v%{version}
cd mingw-w64-v%{version}
unzip %{S:0}
%setup -q -D -T -n mingw-w64-v%{version}/mingw-w64-mingw-w64-%{snapshot_rev}
%else
%setup -q -n mingw-w64-v%{version}%{?pre:-%{pre}}
%endif
%patch0 -p1
%build
pushd mingw-w64-libraries/winpthreads
# Filter out -fstack-protector and -lssp from LDFLAGS as libssp is not yet potentially built with the bootstrap gcc
MINGW32_LDFLAGS="`echo %{mingw32_ldflags} | sed 's|-fstack-protector||' | sed 's|-lssp||'`"
MINGW64_LDFLAGS="`echo %{mingw64_ldflags} | sed 's|-fstack-protector||' | sed 's|-lssp||'`"
UCRT64_LDFLAGS="`echo %{ucrt64_ldflags} | sed 's|-fstack-protector||' | sed 's|-lssp||'`"
%mingw_configure
%mingw_make_build
%mingw_make %{?smp_mflags}
popd
%install
pushd mingw-w64-libraries/winpthreads
%mingw_make_install
popd
# Drop all .la files
find %{buildroot} -name "*.la" -delete
%if 0%{?enable_tests}
%check
# Prepare a wine prefix
export WINEPREFIX=/tmp/wine-winpthreads
@ -172,9 +161,19 @@ popd
# Clean up the wine prefix
wineserver --kill || :
rm -rf /tmp/wine-winpthreads
%endif
%install
pushd mingw-w64-libraries/winpthreads
%mingw_make install DESTDIR=$RPM_BUILD_ROOT
popd
# Drop all .la files
find $RPM_BUILD_ROOT -name "*.la" -delete
# Win32
%files -n mingw32-winpthreads
%license COPYING
@ -211,110 +210,10 @@ rm -rf /tmp/wine-winpthreads
%{mingw64_libdir}/libwinpthread.a
%{mingw64_libdir}/libpthread.a
# ucrt64
%files -n ucrt64-winpthreads
%license COPYING
%{ucrt64_bindir}/libwinpthread-1.dll
%{ucrt64_libdir}/libwinpthread.dll.a
%{ucrt64_libdir}/libpthread.dll.a
%{ucrt64_includedir}/pthread.h
%{ucrt64_includedir}/pthread_compat.h
%{ucrt64_includedir}/pthread_signal.h
%{ucrt64_includedir}/pthread_time.h
%{ucrt64_includedir}/pthread_unistd.h
%{ucrt64_includedir}/sched.h
%{ucrt64_includedir}/semaphore.h
%files -n ucrt64-winpthreads-static
%{ucrt64_libdir}/libwinpthread.a
%{ucrt64_libdir}/libpthread.a
%changelog
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 11.0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 11.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Aug 17 2023 Sandro Mani <manisandro@gmail.com> - 11.0.1-1
- Update to 11.0.1
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 11.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sun Apr 30 2023 Sandro Mani <manisandro@gmail.com> - 11.0.0-1
- Update to 11.0.0
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed May 04 2022 Sandro Mani <manisandro@gmail.com> - 10.0.0-2
- Rebuild for standard dll provides move to mingw-crt
- Spec cleanups
* Tue Apr 26 2022 Sandro Mani <manisandro@gmail.com> - 10.0.0-1
- Update to 10.0.0
* Fri Mar 25 2022 Sandro Mani <manisandro@gmail.com> - 9.0.0-7
- Rebuild with mingw-gcc-12
* Fri Mar 25 2022 Sandro Mani <manisandro@gmail.com> - 9.0.0-6
- Rebuild with gcc-12
* Wed Feb 23 2022 Marc-André Lureau <marcandre.lureau@redhat.com> - 9.0.0-5
- Add ucrt64 target (bootstrap=0)
* Wed Feb 23 2022 Marc-André Lureau <marcandre.lureau@redhat.com> - 9.0.0-4
- Add ucrt64 target (bootstrap=1)
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jul 09 2021 Sandro Mani <manisandro@gmail.com> - 9.0.0-1
- Update to 9.0.0
* Mon May 17 2021 Sandro Mani <manisandro@gmail.com> - 8.0.2-1
- Update to 8.0.2
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jan 19 2021 Sandro Mani <manisandro@gmail.com> - 8.0.0-1
- Update to 8.0.0
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sat Jun 20 2020 Sandro Mani <manisandro@gmail.com> - 7.0.0-1
- Update to 7.0.0
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue May 07 2019 Sandro Mani <manisandro@gmail.com> - 6.0.0-1
- Update to 6.0.0
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jul 09 2018 Kalev Lember <klember@redhat.com> - 5.0.4-1
- Update to 5.0.4
* Thu Jun 14 2018 Sandro Mani <manisandro@gmail.com> - 5.0.3-1
- Update to 5.0.3
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Dec 07 2023 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 5.0.2-2
- Rebuilt for MSVSphere 8.8
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

Loading…
Cancel
Save