Update to 7.0.0

This commit is contained in:
Sandro Mani 2020-06-20 01:24:55 +02:00
parent 3a3f804e62
commit fb9480e3dd
8 changed files with 140 additions and 108 deletions

1
.gitignore vendored
View File

@ -9,3 +9,4 @@
/mingw-w64-v5.0.3.tar.bz2
/mingw-w64-v5.0.4.tar.bz2
/mingw-w64-v6.0.0.tar.bz2
/mingw-w64-v7.0.0.tar.bz2

View File

@ -1,63 +0,0 @@
diff -rupN mingw-w64-v6.0.0/mingw-w64-tools/widl/include/basetsd.h mingw-w64-v6.0.0-new/mingw-w64-tools/widl/include/basetsd.h
--- mingw-w64-v6.0.0/mingw-w64-tools/widl/include/basetsd.h 2018-09-14 16:16:43.000000000 +0200
+++ mingw-w64-v6.0.0-new/mingw-w64-tools/widl/include/basetsd.h 2019-05-07 17:55:56.077196349 +0200
@@ -36,7 +36,7 @@ extern "C" {
* 64-bit.
*/
-#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__)) && !defined(_WIN64)
+#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__) || defined(__s390x__)) && !defined(_WIN64)
#define _WIN64
#endif
@@ -309,6 +309,10 @@ typedef ULONG_PTR KAFFINITY, *PKAFFINITY
# undef WORDS_BIGENDIAN
# undef BITFIELDS_BIGENDIAN
# undef ALLOW_UNALIGNED_ACCESS
+#elif defined(__s390__)
+# define WORDS_BIGENDIAN
+# define BITFIELDS_BIGENDIAN
+# define ALLOW_UNALIGNED_ACCESS
#elif !defined(RC_INVOKED) && !defined(__WIDL__) && !defined(__midl)
# error Unknown CPU architecture!
#endif
diff -rupN mingw-w64-v6.0.0/mingw-w64-tools/widl/include/winnt.h mingw-w64-v6.0.0-new/mingw-w64-tools/widl/include/winnt.h
--- mingw-w64-v6.0.0/mingw-w64-tools/widl/include/winnt.h 2018-09-14 16:16:43.000000000 +0200
+++ mingw-w64-v6.0.0-new/mingw-w64-tools/widl/include/winnt.h 2019-05-07 17:55:56.078196338 +0200
@@ -2108,6 +2108,36 @@ typedef struct _STACK_FRAME_HEADER
#endif /* __powerpc__ */
+#ifdef __s390__
+
+/*
+ * FIXME:
+ *
+ * There is no official CONTEXT structure defined for the S/390
+ * architecture, so I just made one up.
+ *
+ * This structure is completely dummy, made just to build widl.
+ *
+ */
+
+#define CONTEXT_S390 0x10000000
+
+#define CONTEXT_CONTROL (CONTEXT_S390 | 0x00000001)
+#define CONTEXT_FLOATING_POINT (CONTEXT_S390 | 0x00000002)
+#define CONTEXT_INTEGER (CONTEXT_S390 | 0x00000004)
+
+#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)
+
+#define EXCEPTION_READ_FAULT 0
+#define EXCEPTION_WRITE_FAULT 1
+#define EXCEPTION_EXECUTE_FAULT 8
+
+typedef struct _CONTEXT
+{
+} CONTEXT;
+
+#endif /* __s390__ */
+
#if !defined(CONTEXT_FULL) && !defined(RC_INVOKED)
#error You need to define a CONTEXT for your CPU
#endif

View File

@ -1,8 +1,8 @@
diff -rupN mingw-w64-v6.0.0/mingw-w64-tools/widl/include/windef.h mingw-w64-v6.0.0-new/mingw-w64-tools/widl/include/windef.h
--- mingw-w64-v6.0.0/mingw-w64-tools/widl/include/windef.h 2018-09-14 16:16:43.000000000 +0200
+++ mingw-w64-v6.0.0-new/mingw-w64-tools/widl/include/windef.h 2019-06-04 17:41:05.156136224 +0200
@@ -101,7 +101,7 @@ extern "C" {
#endif /* __cdecl */
diff -rupN --no-dereference mingw-w64-v7.0.0/mingw-w64-tools/widl/include/windef.h mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/windef.h
--- mingw-w64-v7.0.0/mingw-w64-tools/widl/include/windef.h 2019-11-09 06:33:24.000000000 +0100
+++ mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/windef.h 2020-06-20 01:18:23.248691595 +0200
@@ -111,7 +111,7 @@ extern "C" {
#endif
#ifndef __ms_va_list
-# if (defined(__x86_64__) || defined(__aarch64__)) && defined (__GNUC__)

View File

@ -0,0 +1,12 @@
diff -rupN --no-dereference mingw-w64-v7.0.0/mingw-w64-tools/widl/include/winnt.h mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/winnt.h
--- mingw-w64-v7.0.0/mingw-w64-tools/widl/include/winnt.h 2020-06-20 01:18:23.245691600 +0200
+++ mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/winnt.h 2020-06-20 01:18:23.536691074 +0200
@@ -2225,7 +2225,7 @@ typedef struct
DWORD Dr5;
DWORD Dr6;
DWORD Dr7;
-} CONTEXT;
+} CONTEXT, *PCONTEXT;
typedef struct _STACK_FRAME_HEADER
{

103
mingw-w64-tools-s390.patch Normal file
View File

@ -0,0 +1,103 @@
diff -rupN --no-dereference mingw-w64-v7.0.0/mingw-w64-tools/widl/include/basetsd.h mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/basetsd.h
--- mingw-w64-v7.0.0/mingw-w64-tools/widl/include/basetsd.h 2019-11-09 06:33:24.000000000 +0100
+++ mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/basetsd.h 2020-06-20 01:18:22.981692078 +0200
@@ -36,7 +36,7 @@ extern "C" {
* 64-bit.
*/
-#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__)) && !defined(_WIN64)
+#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__) || defined(__s390x__)) && !defined(_WIN64)
#define _WIN64
#endif
@@ -309,6 +309,10 @@ typedef ULONG_PTR KAFFINITY, *PKAFFINITY
# undef WORDS_BIGENDIAN
# undef BITFIELDS_BIGENDIAN
# undef ALLOW_UNALIGNED_ACCESS
+#elif defined(__s390__)
+# define WORDS_BIGENDIAN
+# define BITFIELDS_BIGENDIAN
+# define ALLOW_UNALIGNED_ACCESS
#elif !defined(RC_INVOKED) && !defined(__WIDL__) && !defined(__midl)
# error Unknown CPU architecture!
#endif
diff -rupN --no-dereference mingw-w64-v7.0.0/mingw-w64-tools/widl/include/winnt.h mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/winnt.h
--- mingw-w64-v7.0.0/mingw-w64-tools/widl/include/winnt.h 2019-11-09 06:33:24.000000000 +0100
+++ mingw-w64-v7.0.0-new/mingw-w64-tools/widl/include/winnt.h 2020-06-20 01:18:22.982692077 +0200
@@ -2248,6 +2248,36 @@ typedef struct _STACK_FRAME_HEADER
#endif /* __powerpc__ */
+#ifdef __s390x__
+
+/*
+ * FIXME:
+ *
+ * There is no official CONTEXT structure defined for the S/390
+ * architecture, so I just made one up.
+ *
+ * This structure is completely dummy, made just to build widl.
+ *
+ */
+
+#define CONTEXT_S390X 0x10000000
+
+#define CONTEXT_CONTROL (CONTEXT_S390X | 0x00000001)
+#define CONTEXT_FLOATING_POINT (CONTEXT_S390X | 0x00000002)
+#define CONTEXT_INTEGER (CONTEXT_S390X | 0x00000004)
+
+#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)
+
+#define EXCEPTION_READ_FAULT 0
+#define EXCEPTION_WRITE_FAULT 1
+#define EXCEPTION_EXECUTE_FAULT 8
+
+typedef struct _CONTEXT
+{
+} CONTEXT, *PCONTEXT;
+
+#endif /* __s390x__ */
+
#if !defined(CONTEXT_FULL) && !defined(RC_INVOKED)
#error You need to define a CONTEXT for your CPU
#endif
diff -rupN --no-dereference mingw-w64-v7.0.0/mingw-w64-tools/widl/src/widl.c mingw-w64-v7.0.0-new/mingw-w64-tools/widl/src/widl.c
--- mingw-w64-v7.0.0/mingw-w64-tools/widl/src/widl.c 2019-11-09 06:33:24.000000000 +0100
+++ mingw-w64-v7.0.0-new/mingw-w64-tools/widl/src/widl.c 2020-06-20 01:18:22.982692077 +0200
@@ -102,6 +102,8 @@ enum target_cpu target_cpu = CPU_POWERPC
enum target_cpu target_cpu = CPU_ARM;
#elif defined(__aarch64__)
enum target_cpu target_cpu = CPU_ARM64;
+#elif defined(__s390x__)
+enum target_cpu target_cpu = CPU_S390X;
#else
#error Unsupported CPU
#endif
@@ -294,6 +296,7 @@ static void set_target( const char *targ
{ "armv7a", CPU_ARM },
{ "arm64", CPU_ARM64 },
{ "aarch64", CPU_ARM64 },
+ { "s390x", CPU_S390X }
};
unsigned int i;
@@ -755,6 +758,7 @@ int main(int argc,char *argv[])
else pointer_size = 4;
break;
case CPU_x86_64:
+ case CPU_S390X:
if (pointer_size == 4) target_cpu = CPU_x86;
else pointer_size = 8;
break;
diff -rupN --no-dereference mingw-w64-v7.0.0/mingw-w64-tools/widl/src/widl.h mingw-w64-v7.0.0-new/mingw-w64-tools/widl/src/widl.h
--- mingw-w64-v7.0.0/mingw-w64-tools/widl/src/widl.h 2019-11-09 06:33:24.000000000 +0100
+++ mingw-w64-v7.0.0-new/mingw-w64-tools/widl/src/widl.h 2020-06-20 01:18:22.982692077 +0200
@@ -76,7 +76,7 @@ extern int char_number;
enum target_cpu
{
- CPU_x86, CPU_x86_64, CPU_POWERPC, CPU_ARM, CPU_ARM64, CPU_LAST = CPU_ARM64
+ CPU_x86, CPU_x86_64, CPU_POWERPC, CPU_ARM, CPU_ARM64, CPU_S390X, CPU_LAST = CPU_S390X
};
extern enum target_cpu target_cpu;

View File

@ -1,24 +0,0 @@
diff -rupN mingw-w64-v6.0.0/mingw-w64-tools/widl/Makefile.am mingw-w64-v6.0.0-new/mingw-w64-tools/widl/Makefile.am
--- mingw-w64-v6.0.0/mingw-w64-tools/widl/Makefile.am 2018-09-14 16:16:43.000000000 +0200
+++ mingw-w64-v6.0.0-new/mingw-w64-tools/widl/Makefile.am 2019-05-07 17:55:56.298194052 +0200
@@ -58,7 +58,7 @@ widl_SOURCES = src/widl.h \
include/pathtools.h \
include/winnt.rh
-widl_CPPFLAGS = -I$(top_srcdir)/include -DDEFAULT_INCLUDE_DIR=\"$(includedir)/../$(target)/include\" -DDEFAULT_BINDIR=\"$(bindir)\"
+widl_CPPFLAGS = -I$(top_srcdir)/include -DDEFAULT_INCLUDE_DIR=\"$(prefix)/$(target)/sys-root/mingw/include\" -DDEFAULT_BINDIR=\"$(bindir)\"
widl_CFLAGS = -O3 -g -Wall -Wformat -Wpacked -Wmissing-declarations -Wimplicit-function-declaration -Wmissing-prototypes -Wstrict-aliasing=2
DISTCHECK_CONFIGURE_FLAGS = --host=$(host) --target=$(target)
diff -rupN mingw-w64-v6.0.0/mingw-w64-tools/widl/Makefile.in mingw-w64-v6.0.0-new/mingw-w64-tools/widl/Makefile.in
--- mingw-w64-v6.0.0/mingw-w64-tools/widl/Makefile.in 2018-09-14 16:16:43.000000000 +0200
+++ mingw-w64-v6.0.0-new/mingw-w64-tools/widl/Makefile.in 2019-05-07 17:55:56.299194042 +0200
@@ -368,7 +368,7 @@ widl_SOURCES = src/widl.h \
include/pathtools.h \
include/winnt.rh
-widl_CPPFLAGS = -I$(top_srcdir)/include -DDEFAULT_INCLUDE_DIR=\"$(includedir)/../$(target)/include\" -DDEFAULT_BINDIR=\"$(bindir)\"
+widl_CPPFLAGS = -I$(top_srcdir)/include -DDEFAULT_INCLUDE_DIR=\"$(prefix)/$(target)/sys-root/mingw/include\" -DDEFAULT_BINDIR=\"$(bindir)\"
widl_CFLAGS = -O3 -g -Wall -Wformat -Wpacked -Wmissing-declarations -Wimplicit-function-declaration -Wmissing-prototypes -Wstrict-aliasing=2
DISTCHECK_CONFIGURE_FLAGS = --host=$(host) --target=$(target)
all: all-am

View File

@ -4,8 +4,8 @@
#%%global branch trunk
Name: mingw-w64-tools
Version: 6.0.0
Release: 3%{?dist}
Version: 7.0.0
Release: 1%{?dist}
Summary: Supplementary tools which are part of the mingw-w64 toolchain
# http://sourceforge.net/mailarchive/forum.php?thread_name=5157C0FC.1010309%40users.sourceforge.net&forum_name=mingw-w64-public
@ -24,13 +24,13 @@ Source0: http://sourceforge.net/code-snapshots/git/m/mi/mingw-w64/mingw-w
Source0: http://downloads.sourceforge.net/mingw-w64/mingw-w64-v%{version}.tar.bz2
%endif
# just to make widl to build on s390
Patch0: mingw-w64-tools-2.0.999-s390.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1047727
Patch1: mingw-w64-tools-widl-includedir.patch
Patch0: mingw-w64-tools-s390.patch
# aarch64 does not seem to know about __builtin_ms_va_list
Patch2: mingw-w64-tools-aarch64.patch
Patch1: mingw-w64-tools-aarch64.patch
# fix ppc64le build
Patch2: mingw-w64-tools-ppc64le.patch
BuildRequires: gcc
BuildRequires: mingw32-filesystem >= 95
@ -73,13 +73,13 @@ pushd mingw-w64-tools
%global _configure ../configure
mkdir win32
pushd win32
%configure --target=%{mingw32_target} --program-prefix=%{mingw32_target}-
make %{?_smp_mflags}
%configure --target=%{mingw32_target} --program-prefix=%{mingw32_target}- --with-widl-includedir=%{mingw32_includedir}
%make_build
popd
mkdir win64
pushd win64
%configure --target=%{mingw64_target} --program-prefix=%{mingw64_target}-
make %{?_smp_mflags}
%configure --target=%{mingw64_target} --program-prefix=%{mingw64_target}- --with-widl-includedir=%{mingw64_includedir}
%make_build
popd
popd
popd
@ -87,10 +87,10 @@ popd
%install
pushd mingw-w64-tools
make -C gendef DESTDIR=$RPM_BUILD_ROOT install
make -C genidl DESTDIR=$RPM_BUILD_ROOT install
make -C widl/win32 DESTDIR=$RPM_BUILD_ROOT install
make -C widl/win64 DESTDIR=$RPM_BUILD_ROOT install
%make_install -C gendef
%make_install -C genidl
%make_install -C widl/win32
%make_install -C widl/win64
popd
@ -103,6 +103,9 @@ popd
%changelog
* 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

View File

@ -1 +1 @@
SHA512 (mingw-w64-v6.0.0.tar.bz2) = e3d3663e0cb33a16f90b1a33e81b5a30d26f7e34270b14e865c10068f2a2d32da9ef8cbbb0c3fed9c71429ae11c82152ff3b87d81558929b2a4993dc99cfc11e
SHA512 (mingw-w64-v7.0.0.tar.bz2) = 30e5b2824a24eeb99ab519e3fc134cc9a7f04ee8b853bc8d66a13d1ab74144bf78b93e162bfe6de2a5e61f63c0e620a933b260b02d019cd68cc4b78bd36c67fd