Update to 5.0.2

This commit is contained in:
Kalev Lember 2017-05-17 23:09:15 +02:00
parent e755c4b854
commit 12948ff5d0
4 changed files with 75 additions and 3 deletions

1
.gitignore vendored
View File

@ -21,3 +21,4 @@
/mingw-w64-v5.0-rc2.tar.bz2
/mingw-w64-v5.0.0.tar.bz2
/mingw-w64-v5.0.1.tar.bz2
/mingw-w64-v5.0.2.tar.bz2

View File

@ -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

View File

@ -11,8 +11,8 @@
%global enable_tests 0
Name: mingw-winpthreads
Version: 5.0.1
Release: 2%{?dist}
Version: 5.0.2
Release: 1%{?dist}
Summary: MinGW pthread library
# The main license of winpthreads is MIT, but parts of this library
@ -31,6 +31,9 @@ Source0: http://sourceforge.net/code-snapshots/git/m/mi/mingw-w64/mingw-w
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: mingw32-filesystem >= 95
@ -132,6 +135,8 @@ unzip %{S:0}
%setup -q -n mingw-w64-v%{version}%{?pre:-%{pre}}
%endif
%patch0 -p1
%build
pushd mingw-w64-libraries/winpthreads
@ -207,6 +212,9 @@ find $RPM_BUILD_ROOT -name "*.la" -delete
%changelog
* Wed May 17 2017 Kalev Lember <klember@redhat.com> - 5.0.2-1
- Update to 5.0.2
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (mingw-w64-v5.0.1.tar.bz2) = 73b746f227930597a97f117cf9f9aa19ddabb6090907cf6850864cf30089e5d6e1cd07e257b3b0b9ae0ac762cb24a6f5acf7336c9be48760c975ac038569dcfa
SHA512 (mingw-w64-v5.0.2.tar.bz2) = 430065a822afb9901219b1f86ea221ae70ef7820ea298f51828bf1689a014115dade967a806388b7ee3ed1ea1d6c53970514ec64d0185b5024523093d9e96060