From 12948ff5d03ccc4c20abe2128435b146deb2131a Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Wed, 17 May 2017 23:09:15 +0200 Subject: [PATCH] Update to 5.0.2 --- .gitignore | 1 + ...dll_math.c-Implement-__divmoddi4-for.patch | 63 +++++++++++++++++++ mingw-winpthreads.spec | 12 +++- sources | 2 +- 4 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 0001-winpthreads-src-dll_math.c-Implement-__divmoddi4-for.patch diff --git a/.gitignore b/.gitignore index 5bb7ec0..8afb75d 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/0001-winpthreads-src-dll_math.c-Implement-__divmoddi4-for.patch b/0001-winpthreads-src-dll_math.c-Implement-__divmoddi4-for.patch new file mode 100644 index 0000000..afdbee0 --- /dev/null +++ b/0001-winpthreads-src-dll_math.c-Implement-__divmoddi4-for.patch @@ -0,0 +1,63 @@ +From 431ac2a912708546cd7271332e9331399e66bc62 Mon Sep 17 00:00:00 2001 +From: Liu Hao +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 +--- + .../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 + diff --git a/mingw-winpthreads.spec b/mingw-winpthreads.spec index fdd9775..7eb0496 100644 --- a/mingw-winpthreads.spec +++ b/mingw-winpthreads.spec @@ -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 - 5.0.2-1 +- Update to 5.0.2 + * Fri Feb 10 2017 Fedora Release Engineering - 5.0.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/sources b/sources index 6b3c1c1..02431c2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mingw-w64-v5.0.1.tar.bz2) = 73b746f227930597a97f117cf9f9aa19ddabb6090907cf6850864cf30089e5d6e1cd07e257b3b0b9ae0ac762cb24a6f5acf7336c9be48760c975ac038569dcfa +SHA512 (mingw-w64-v5.0.2.tar.bz2) = 430065a822afb9901219b1f86ea221ae70ef7820ea298f51828bf1689a014115dade967a806388b7ee3ed1ea1d6c53970514ec64d0185b5024523093d9e96060