Bug#926994: unblock: gcc-mingw-w64/21.2 (pre-upload approval request)

2019-04-15 Thread Stephen Kitt

Control: tags -1 - moreinfo

Le 13/04/2019 16:31, Ivo De Decker a écrit :

I had a look at the patches, and they seem like something that would be
acceptable for buster. Please go ahead with the upload to unstable and 
remove

the moreinfo tag from this bug once the builds are done.


The builds are done, but I see you beat me to it ;-).

Thanks,

Stephen



Bug#926994: unblock: gcc-mingw-w64/21.2 (pre-upload approval request)

2019-04-13 Thread Ivo De Decker
Control: tags -1 confirmed moreinfo


Hi Stephen,

On Sat, Apr 13, 2019 at 04:18:44PM +0200, Stephen Kitt wrote:
> On Sat, 13 Apr 2019 13:22:01 +0200, Ivo De Decker  wrote:
> > On Sat, Apr 13, 2019 at 10:26:04AM +0200, Stephen Kitt wrote:
> > > I have a couple of fixes pending upload for gcc-mingw-w64, and I’m
> > > wondering if they’d pass muster for Buster. The attached patches fix,
> > > in order:
> > > 
> > > * #923214 — an ICE hit with external static data members
> > > * #925172 — std::filesystem support is broken in the current Buster
> > >   package
> > > 
> > > I’m requesting approval for these fixes before uploading them to
> > > unstable. The candidate source package would contain only those fixes
> > > plus the result of running "dch -r". Note that because of the way
> > > gcc-mingw-w64 works, this would involve pulling gcc-8 8.3.0-6 (or
> > > whatever version is in unstable when the package is built) in too.  
> > 
> > I haven't looked at the details of these patches yet, but I notice that this
> > doesn't address #923698 (which you set to serious). What's your plan with
> > that one?
> 
> I’m still working on it, it’s taking longer than I hoped to figure out what’s
> broken. I thought it would be worth getting the fixes I do have into the
> archive sooner rather than later, especially since #923214 prevents
> meaningful testing in a number of cases!

OK. That sounds reasonable.

I had a look at the patches, and they seem like something that would be
acceptable for buster. Please go ahead with the upload to unstable and remove
the moreinfo tag from this bug once the builds are done.

Thanks,

Ivo



Bug#926994: unblock: gcc-mingw-w64/21.2 (pre-upload approval request)

2019-04-13 Thread Stephen Kitt
Hi Ivo,

On Sat, 13 Apr 2019 13:22:01 +0200, Ivo De Decker  wrote:
> On Sat, Apr 13, 2019 at 10:26:04AM +0200, Stephen Kitt wrote:
> > I have a couple of fixes pending upload for gcc-mingw-w64, and I’m
> > wondering if they’d pass muster for Buster. The attached patches fix,
> > in order:
> > 
> > * #923214 — an ICE hit with external static data members
> > * #925172 — std::filesystem support is broken in the current Buster
> >   package
> > 
> > I’m requesting approval for these fixes before uploading them to
> > unstable. The candidate source package would contain only those fixes
> > plus the result of running "dch -r". Note that because of the way
> > gcc-mingw-w64 works, this would involve pulling gcc-8 8.3.0-6 (or
> > whatever version is in unstable when the package is built) in too.  
> 
> I haven't looked at the details of these patches yet, but I notice that this
> doesn't address #923698 (which you set to serious). What's your plan with
> that one?

I’m still working on it, it’s taking longer than I hoped to figure out what’s
broken. I thought it would be worth getting the fixes I do have into the
archive sooner rather than later, especially since #923214 prevents
meaningful testing in a number of cases!

Regards,

Stephen


pgp9_pWREFjbI.pgp
Description: OpenPGP digital signature


Bug#926994: unblock: gcc-mingw-w64/21.2 (pre-upload approval request)

2019-04-13 Thread Ivo De Decker
Hi,

On Sat, Apr 13, 2019 at 10:26:04AM +0200, Stephen Kitt wrote:
> I have a couple of fixes pending upload for gcc-mingw-w64, and I’m
> wondering if they’d pass muster for Buster. The attached patches fix,
> in order:
> 
> * #923214 — an ICE hit with external static data members
> * #925172 — std::filesystem support is broken in the current Buster
>   package
> 
> I’m requesting approval for these fixes before uploading them to
> unstable. The candidate source package would contain only those fixes
> plus the result of running "dch -r". Note that because of the way
> gcc-mingw-w64 works, this would involve pulling gcc-8 8.3.0-6 (or
> whatever version is in unstable when the package is built) in too.

I haven't looked at the details of these patches yet, but I notice that this
doesn't address #923698 (which you set to serious). What's your plan with that
one?

Thanks,

Ivo



Bug#926994: unblock: gcc-mingw-w64/21.2 (pre-upload approval request)

2019-04-13 Thread Stephen Kitt
It’s always better *with* the patches...

Stephen
From 4b854c788af23f01c01afbd35a3befb060536297 Mon Sep 17 00:00:00 2001
From: Stephen Kitt 
Date: Tue, 9 Apr 2019 09:01:55 +0200
Subject: [PATCH 1/2] Apply upstream dllimport fix for static data members

Closes: #923214
---
 debian/changelog|  7 +++
 debian/patches/gcc9-pr88568-2.patch | 40 +
 debian/patches/series2  |  3 +--
 3 files changed, 48 insertions(+), 2 deletions(-)
 create mode 100644 debian/patches/gcc9-pr88568-2.patch

diff --git a/debian/changelog b/debian/changelog
index d9b3631..e540504 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+gcc-mingw-w64 (21.2) UNRELEASED; urgency=medium
+
+  * Apply upstream dllimport fix for static data members.
+Closes: #923214.
+
+ -- Stephen Kitt   Thu, 21 Mar 2019 10:45:08 +0100
+
 gcc-mingw-w64 (21.1) unstable; urgency=medium
 
   * Avoid attempting to strip plugins using the target strip; should fix
diff --git a/debian/patches/gcc9-pr88568-2.patch b/debian/patches/gcc9-pr88568-2.patch
new file mode 100644
index 000..3ad3568
--- /dev/null
+++ b/debian/patches/gcc9-pr88568-2.patch
@@ -0,0 +1,40 @@
+2019-03-05  Jakub Jelinek  
+
+	PR c/88568
+	* attribs.c (handle_dll_attribute): Don't clear TREE_STATIC for
+	dllimport on VAR_DECLs with RECORD_TYPE or UNION_TYPE DECL_CONTEXT.
+
+	* g++.dg/other/pr88568.C: New test.
+
+--- a/src/gcc/attribs.c	2019-01-10 11:44:07.122511397 +0100
 b/src/gcc/attribs.c	2019-03-05 13:59:51.745924578 +0100
+@@ -1691,8 +1691,11 @@ handle_dll_attribute (tree * pnode, tree
+ 	 a function global scope, unless declared static.  */
+ 	  if (current_function_decl != NULL_TREE && !TREE_STATIC (node))
+ 	TREE_PUBLIC (node) = 1;
+-	  /* Clear TREE_STATIC because DECL_EXTERNAL is set.  */
+-	  TREE_STATIC (node) = 0;
++	  /* Clear TREE_STATIC because DECL_EXTERNAL is set, unless
++	 it is a C++ static data member.  */
++	  if (DECL_CONTEXT (node) == NULL_TREE
++	  || !RECORD_OR_UNION_TYPE_P (DECL_CONTEXT (node)))
++	TREE_STATIC (node) = 0;
+ 	}
+ 
+   if (*no_add_attrs == false)
+--- a/src/gcc/testsuite/g++.dg/other/pr88568.C	2019-03-05 14:03:20.132509560 +0100
 b/src/gcc/testsuite/g++.dg/other/pr88568.C	2019-03-05 14:01:39.674155860 +0100
+@@ -0,0 +1,13 @@
++// PR c/88568
++// { dg-do compile }
++// { dg-require-dll "" }
++
++struct S {
++  __attribute__((dllimport)) static const char foo[];
++};
++
++int
++foo (int x)
++{
++  return S::foo[x];
++}
diff --git a/debian/patches/series2 b/debian/patches/series2
index 6f5002f..4f7963a 100644
--- a/debian/patches/series2
+++ b/debian/patches/series2
@@ -6,5 +6,4 @@ win-std-filesystem.patch
 hide-path-iostream-operators.patch
 filesystem_error-no-throw-copyable.patch
 overload-distance-and-advance.patch
-#update-path-compare-logic.patch
-#fix-filesystem-path-lexically_normal.patch
+gcc9-pr88568-2.patch
-- 
2.11.0

From e2b9e4ff772453fb81634b9715a83c83deb07d4a Mon Sep 17 00:00:00 2001
From: Stephen Kitt 
Date: Wed, 10 Apr 2019 18:01:26 +0200
Subject: [PATCH 2/2] Explicitly enable std::filesystem

... with the appropriate upstream patch.

Closes: #925172
---
 debian/changelog   |   2 +
 debian/g++-mingw-w64-i686.install.in   |   2 +-
 debian/g++-mingw-w64-x86-64.install.in |   2 +-
 debian/patches/series2 |   1 +
 .../set-shared_ptr-lock-policy-at-build-time.patch | 336 +
 debian/rules   |   8 +-
 6 files changed, 346 insertions(+), 5 deletions(-)
 create mode 100644 debian/patches/set-shared_ptr-lock-policy-at-build-time.patch

diff --git a/debian/changelog b/debian/changelog
index e540504..baee837 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,8 @@ gcc-mingw-w64 (21.2) UNRELEASED; urgency=medium
 
   * Apply upstream dllimport fix for static data members.
 Closes: #923214.
+  * Explicitly enable std::filesystem, with the appropriate upstream
+patch. Closes: #925172.
 
  -- Stephen Kitt   Thu, 21 Mar 2019 10:45:08 +0100
 
diff --git a/debian/g++-mingw-w64-i686.install.in b/debian/g++-mingw-w64-i686.install.in
index e2aea2e..f79b2aa 100644
--- a/debian/g++-mingw-w64-i686.install.in
+++ b/debian/g++-mingw-w64-i686.install.in
@@ -7,5 +7,5 @@ usr/lib/gcc/i686-w64-mingw32/@@VERSION@@*/libstdc++-6.dll
 usr/lib/gcc/i686-w64-mingw32/@@VERSION@@*/libstdc++.a
 usr/lib/gcc/i686-w64-mingw32/@@VERSION@@*/libstdc++.dll.a
 usr/lib/gcc/i686-w64-mingw32/@@VERSION@@*/libstdc++.dll.a-gdb.py
-#usr/lib/gcc/i686-w64-mingw32/@@VERSION@@*/libstdc++fs.a
+usr/lib/gcc/i686-w64-mingw32/@@VERSION@@*/libstdc++fs.a
 usr/lib/gcc/i686-w64-mingw32/@@VERSION@@*/libsupc++.a
diff --git a/debian/g++-mingw-w64-x86-64.install.in b/debian/g++-mingw-w64-x86-64.install.in
index 76b0ea4..544290e 100644
--- a/debian/g++-mingw-w64-x86-64.install.in
+++ b/debian/g++-mingw-w64-x86-64.install.in
@@ -7,5 

Bug#926994: unblock: gcc-mingw-w64/21.2 (pre-upload approval request)

2019-04-13 Thread Stephen Kitt
Package: release.debian.org
Severity: normal
User: release.debian@packages.debian.org
Usertags: unblock

Hi,

I have a couple of fixes pending upload for gcc-mingw-w64, and I’m
wondering if they’d pass muster for Buster. The attached patches fix,
in order:

* #923214 — an ICE hit with external static data members
* #925172 — std::filesystem support is broken in the current Buster
  package

I’m requesting approval for these fixes before uploading them to
unstable. The candidate source package would contain only those fixes
plus the result of running "dch -r". Note that because of the way
gcc-mingw-w64 works, this would involve pulling gcc-8 8.3.0-6 (or
whatever version is in unstable when the package is built) in too.

Regards,

Stephen

unblock gcc-mingw-w64/21.2

-- System Information:
Debian Release: 9.8
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable'), (100, 
'unstable-debug'), (100, 'testing-debug'), (100, 'unstable'), (100, 'testing'), 
(1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-8-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)