Bug#907632: [ppc64-el] Breaks building aspectc++

2019-01-02 Thread Reinhard Tartler
No problem at all. Thanks for taking care of the sync for me, Steve!

Reinhard

On January 2, 2019 2:30:50 PM EST, Steve Langasek 
 wrote:
>On Tue, Jan 01, 2019 at 04:32:38PM -0500, Reinhard Tartler wrote:
>> On 12/25/18 11:53 AM, Steve Langasek wrote:
>> > Package: aspectc++
>> > Version: 1:2.2+git20170823-7
>> > Followup-For: Bug #907632
>> > User: ubuntu-de...@lists.ubuntu.com
>> > Usertags: origin-ubuntu disco ubuntu-patch
>> > 
>> > Hello,
>> > 
>> > Based on the bug history, I don't think this is a bug in gcc-8 but
>in
>> > aspectc++ (or in llvm), so I have reassigned.
>> > 
>> > I have also refined the patch provided by Frédéric, to avoid
>repetition in
>> > the code; please find it attached.
>> > 
>> > I have uploaded this patch to Ubuntu, where I confirm it fixes the
>build
>> > failure on ppc64el.
>
>> I've already incorporated Frederic's patch in aspectc++
>1:2.2+git20181008-2,
>> which I've uploaded to unstable on Tue, 23 Oct 2018.
>
>> Maybe it would be appropriate to sync that version over to ubuntu?
>
>Indeed, sorry for overlooking, I missed this because there was an
>Ubuntu
>delta stuck in devel-proposed where I had previously tried to fix up
>the
>llvm-version-related FTBFS.  I've synced this now and it has built fine
>on
>ppc64el.

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



Bug#907632: [ppc64-el] Breaks building aspectc++

2019-01-02 Thread Steve Langasek
On Tue, Jan 01, 2019 at 04:32:38PM -0500, Reinhard Tartler wrote:
> On 12/25/18 11:53 AM, Steve Langasek wrote:
> > Package: aspectc++
> > Version: 1:2.2+git20170823-7
> > Followup-For: Bug #907632
> > User: ubuntu-de...@lists.ubuntu.com
> > Usertags: origin-ubuntu disco ubuntu-patch
> > 
> > Hello,
> > 
> > Based on the bug history, I don't think this is a bug in gcc-8 but in
> > aspectc++ (or in llvm), so I have reassigned.
> > 
> > I have also refined the patch provided by Frédéric, to avoid repetition in
> > the code; please find it attached.
> > 
> > I have uploaded this patch to Ubuntu, where I confirm it fixes the build
> > failure on ppc64el.

> I've already incorporated Frederic's patch in aspectc++ 1:2.2+git20181008-2,
> which I've uploaded to unstable on Tue, 23 Oct 2018.

> Maybe it would be appropriate to sync that version over to ubuntu?

Indeed, sorry for overlooking, I missed this because there was an Ubuntu
delta stuck in devel-proposed where I had previously tried to fix up the
llvm-version-related FTBFS.  I've synced this now and it has built fine on
ppc64el.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developer   https://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


signature.asc
Description: PGP signature


Bug#907632: [ppc64-el] Breaks building aspectc++

2019-01-01 Thread Reinhard Tartler
Hi Steve,

On 12/25/18 11:53 AM, Steve Langasek wrote:
> Package: aspectc++
> Version: 1:2.2+git20170823-7
> Followup-For: Bug #907632
> User: ubuntu-de...@lists.ubuntu.com
> Usertags: origin-ubuntu disco ubuntu-patch
> 
> Hello,
> 
> Based on the bug history, I don't think this is a bug in gcc-8 but in
> aspectc++ (or in llvm), so I have reassigned.
> 
> I have also refined the patch provided by Frédéric, to avoid repetition in
> the code; please find it attached.
> 
> I have uploaded this patch to Ubuntu, where I confirm it fixes the build
> failure on ppc64el.
> 

I've already incorporated Frederic's patch in aspectc++ 1:2.2+git20181008-2,
which I've uploaded to unstable on Tue, 23 Oct 2018.

Maybe it would be appropriate to sync that version over to ubuntu?

Best,
Reinhard



Bug#907632: [ppc64-el] Breaks building aspectc++

2018-12-25 Thread Steve Langasek
Package: aspectc++
Version: 1:2.2+git20170823-7
Followup-For: Bug #907632
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu disco ubuntu-patch

Hello,

Based on the bug history, I don't think this is a bug in gcc-8 but in
aspectc++ (or in llvm), so I have reassigned.

I have also refined the patch provided by Frédéric, to avoid repetition in
the code; please find it attached.

I have uploaded this patch to Ubuntu, where I confirm it fixes the build
failure on ppc64el.

Cheers,
-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developer   https://www.debian.org/
slanga...@ubuntu.com vor...@debian.org
diff -Nru aspectc++-2.2+git20170823/debian/control 
aspectc++-2.2+git20170823/debian/control
--- aspectc++-2.2+git20170823/debian/control2018-08-24 23:29:52.0 
-0500
+++ aspectc++-2.2+git20170823/debian/control2018-12-25 10:15:09.0 
-0600
@@ -1,8 +1,7 @@
 Source: aspectc++
 Section: devel
 Priority: optional
-Maintainer: Ubuntu Developers 
-XSBC-Original-Maintainer: Reinhard Tartler 
+Maintainer: Reinhard Tartler 
 Build-Depends: debhelper (>= 9), libxml2-dev, docbook-to-man, zlib1g-dev, 
libedit-dev, llvm-4.0-dev, libclang-4.0-dev
 Build-Depends-Indep: doxygen, graphviz, gsfonts
 Standards-Version: 4.0.0
diff -Nru aspectc++-2.2+git20170823/debian/patches/ppc64el-no-float128.patch 
aspectc++-2.2+git20170823/debian/patches/ppc64el-no-float128.patch
--- aspectc++-2.2+git20170823/debian/patches/ppc64el-no-float128.patch  
1969-12-31 18:00:00.0 -0600
+++ aspectc++-2.2+git20170823/debian/patches/ppc64el-no-float128.patch  
2018-12-25 10:15:01.0 -0600
@@ -0,0 +1,23 @@
+Description: adjust ppc64el compiler options for compatibility with gcc-8
+ gcc-8 now uses -mfloat128 by default on ppc64el, which results in
+ incompatible type definitions being passed in to llvm.  Override this by
+ explicitly passing -mno-float128 on ppc64el.
+Author: Frédéric Bonnard 
+Bug-Debian: https://bugs.debian.org/907632
+Last-Modified: 2018-12-25
+
+Index: aspectc++-2.2+git20170823/Ag++/PumaConfigFile.cc
+===
+--- aspectc++-2.2+git20170823.orig/Ag++/PumaConfigFile.cc
 aspectc++-2.2+git20170823/Ag++/PumaConfigFile.cc
+@@ -118,7 +118,10 @@
+ config_command_str = "\"" + _config.cc_bin() + "\" "
+ + _config.optvec().getString(
+ (OptionItem::OPT_GCC | OptionItem::OPT_CONFIG))
++#ifdef __powerpc__ && __powerpc64__ && __LITTLE_ENDIAN__
+++ " -mno-float128 "
++#endif
+ + " -E -dM -v -x c++ \"" + empty_file_name + "\"";
+   }
+ 
+   // get c compiler output
diff -Nru aspectc++-2.2+git20170823/debian/patches/series 
aspectc++-2.2+git20170823/debian/patches/series
--- aspectc++-2.2+git20170823/debian/patches/series 2018-06-25 
09:59:10.0 -0500
+++ aspectc++-2.2+git20170823/debian/patches/series 2018-12-25 
10:12:04.0 -0600
@@ -1,2 +1,3 @@
 0001-lexertl-Fix-FTBFS-with-gcc-8.patch
 auto-gitignore
+ppc64el-no-float128.patch


Bug#907632: [ppc64-el] Breaks building aspectc++

2018-09-11 Thread Frédéric Bonnard
Hi Reinhard,

I took some time to try to analyze this and I see that ac++ processes
files based on llvm (it's compiled with 4.0) using puma.cfg which
is more or less an outpout of g++ defaults (g++ -E -dM -v -x c++
"/dev/null") with for example does #define __float128 __ieee128 which is
POWER specific.
Some sources parsed by ac++ includes c++ headers from libstdc++ .. that
make use of __float128 if support is enabled.

Since gcc-8, on ppc64el, -mfloat128 is default and __float128 is used,
based on __ieee128.
__ieee128 is gcc related and not known by llvm backend (same for
__KC__) and ac++ fails.

Though clang is able to compile with -mfloat128 (not a default option)
and deal with __float128 on ppc64el and we could workaround the gcc
definition of __float128 but I couldn't find a way to make clang
compiler instance to have knowledge of __float128 (I played a bit with
AspectC++/ACProject.cc)

The upstream which has more knowledge could fix this and take advantage
of float128 on ppc64el.
What I propose in the meantime is the following patch that just sticks to
the previous behaviour of gcc that, is -mno-float128 by default.

---
--- a/Ag++/PumaConfigFile.cc
+++ b/Ag++/PumaConfigFile.cc
@@ -118,7 +118,11 @@
 config_command_str = "\"" + _config.cc_bin() + "\" "
 + _config.optvec().getString(
 (OptionItem::OPT_GCC | OptionItem::OPT_CONFIG))
+#ifdef __powerpc__ && __powerpc64__ && __LITTLE_ENDIAN__
++ " -mno-float128 -E -dM -v -x c++ \"" + empty_file_name + "\"";
+#else
 + " -E -dM -v -x c++ \"" + empty_file_name + "\"";
+#endif
   }
 
   // get c compiler output
---

F.

On Thu, 30 Aug 2018 08:11:27 -0400, Reinhard Tartler  
wrote:
> Package: gcc-8
> Version: 8.2.0-4
> Affects: aspectc++
> X-Debbugs-CC: debian-powe...@lists.debian.org
> 
> Relevant part from 
> https://buildd.debian.org/status/fetch.php?pkg=aspectc%2B%2B=ppc64el=1%3A2.2%2Bgit20170823-8=1535500793=0
> 
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/src/PrePrintVisitor.Icc:19:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreSemIterator.h:24:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreTreeIterator.h:24:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreTree.h:26:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Token.h:26:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Location.h:25:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Filename.h:26:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Printable.h:25:
> In file included from /usr/include/c++/8/iostream:39:
> In file included from /usr/include/c++/8/ostream:38:
> In file included from /usr/include/c++/8/ios:38:
> In file included from /usr/include/c++/8/iosfwd:40:
> In file included from /usr/include/c++/8/bits/postypes.h:40:
> In file included from /usr/include/c++/8/cwchar:44:
> In file included from /usr/include/wchar.h:30:
> /usr/include/powerpc64le-linux-gnu/bits/floatn.h:72:52: error: unknown 
> machine mode '__KC__'
> typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__)));
>^
> /usr/include/powernpc64le-linux-gnu/bits/floatn.h:84:9: error: unknown type 
> name '__ieee128'
> typedef __float128 _Float128;
> ^
> :431:20: note: expanded from here
> #define __float128 __ieee128
>^
> 
> If you look at 
> https://buildd.debian.org/status/logs.php?pkg=aspectc%2B%2B=ppc64el,
> you'll see that 1:2.2+git20170823-7 did build successfully. There are no 
> relevant
> upstream code changes, but it was built with gcc-7, which works fine. 
> 1:2.2+git20170823-8 uses gcc-8,
> and that breaks.
> 
> Also it seems this bug seems to affect the architecture ppc64-el only.
> 
> Any ideas, hints and suggestions are much appreciated.
> 
> Best,
> -rt
> 


pgppHarQTxu4Y.pgp
Description: PGP signature


Bug#907632: [ppc64-el] Breaks building aspectc++

2018-09-09 Thread Matthias Klose
Control: tags -1 + moreinfo

GCC 8 is configured now with quadmath support on ppc64el.  There shouldn't be
any other differences.  But having the preprocessed source and the command line
options used for the build would be useful.

On 30.08.2018 14:11, Reinhard Tartler wrote:
> Package: gcc-8
> Version: 8.2.0-4
> Affects: aspectc++
> X-Debbugs-CC: debian-powe...@lists.debian.org
> 
> Relevant part from 
> https://buildd.debian.org/status/fetch.php?pkg=aspectc%2B%2B=ppc64el=1%3A2.2%2Bgit20170823-8=1535500793=0
> 
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/src/PrePrintVisitor.Icc:19:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreSemIterator.h:24:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreTreeIterator.h:24:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreTree.h:26:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Token.h:26:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Location.h:25:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Filename.h:26:
> In file included from 
> /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Printable.h:25:
> In file included from /usr/include/c++/8/iostream:39:
> In file included from /usr/include/c++/8/ostream:38:
> In file included from /usr/include/c++/8/ios:38:
> In file included from /usr/include/c++/8/iosfwd:40:
> In file included from /usr/include/c++/8/bits/postypes.h:40:
> In file included from /usr/include/c++/8/cwchar:44:
> In file included from /usr/include/wchar.h:30:
> /usr/include/powerpc64le-linux-gnu/bits/floatn.h:72:52: error: unknown 
> machine mode '__KC__'
> typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__)));
>^
> /usr/include/powernpc64le-linux-gnu/bits/floatn.h:84:9: error: unknown type 
> name '__ieee128'
> typedef __float128 _Float128;
> ^
> :431:20: note: expanded from here
> #define __float128 __ieee128
>^
> 
> If you look at 
> https://buildd.debian.org/status/logs.php?pkg=aspectc%2B%2B=ppc64el,
> you'll see that 1:2.2+git20170823-7 did build successfully. There are no 
> relevant
> upstream code changes, but it was built with gcc-7, which works fine. 
> 1:2.2+git20170823-8 uses gcc-8,
> and that breaks.
> 
> Also it seems this bug seems to affect the architecture ppc64-el only.
> 
> Any ideas, hints and suggestions are much appreciated.
> 
> Best,
> -rt
> 



Bug#907632: [ppc64-el] Breaks building aspectc++

2018-08-30 Thread Reinhard Tartler
Package: gcc-8
Version: 8.2.0-4
Affects: aspectc++
X-Debbugs-CC: debian-powe...@lists.debian.org

Relevant part from 
https://buildd.debian.org/status/fetch.php?pkg=aspectc%2B%2B=ppc64el=1%3A2.2%2Bgit20170823-8=1535500793=0

In file included from 
/build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/src/PrePrintVisitor.Icc:19:
In file included from 
/build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreSemIterator.h:24:
In file included from 
/build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreTreeIterator.h:24:
In file included from 
/build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreTree.h:26:
In file included from 
/build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Token.h:26:
In file included from 
/build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Location.h:25:
In file included from 
/build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Filename.h:26:
In file included from 
/build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Printable.h:25:
In file included from /usr/include/c++/8/iostream:39:
In file included from /usr/include/c++/8/ostream:38:
In file included from /usr/include/c++/8/ios:38:
In file included from /usr/include/c++/8/iosfwd:40:
In file included from /usr/include/c++/8/bits/postypes.h:40:
In file included from /usr/include/c++/8/cwchar:44:
In file included from /usr/include/wchar.h:30:
/usr/include/powerpc64le-linux-gnu/bits/floatn.h:72:52: error: unknown machine 
mode '__KC__'
typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__)));
   ^
/usr/include/powernpc64le-linux-gnu/bits/floatn.h:84:9: error: unknown type 
name '__ieee128'
typedef __float128 _Float128;
^
:431:20: note: expanded from here
#define __float128 __ieee128
   ^

If you look at 
https://buildd.debian.org/status/logs.php?pkg=aspectc%2B%2B=ppc64el,
you'll see that 1:2.2+git20170823-7 did build successfully. There are no 
relevant
upstream code changes, but it was built with gcc-7, which works fine. 
1:2.2+git20170823-8 uses gcc-8,
and that breaks.

Also it seems this bug seems to affect the architecture ppc64-el only.

Any ideas, hints and suggestions are much appreciated.

Best,
-rt