NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lib/49990: libc++ fails to build with g++ 5.1 due to the following types of errors:



The following reply was made to PR lib/49990; it has been noted by GNATS.

From: Antti Kantee <pooka%iki.fi@localhost>
To: gnats-bugs%NetBSD.org@localhost, lib-bug-people%netbsd.org@localhost, 
 gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost, drakain%gmail.com@localhost
Cc: 
Subject: Re: lib/49990: libc++ fails to build with g++ 5.1 due to the following
 types of errors:
Date: Tue, 23 Jun 2015 16:29:27 +0000

 On 23/06/15 15:05, Martin Husemann wrote:
 > The following reply was made to PR lib/49990; it has been noted by GNATS.
 >
 > From: Martin Husemann <martin%duskware.de@localhost>
 > To: Dave Huang <khym%azeotrope.org@localhost>
 > Cc: gnats-bugs%NetBSD.org@localhost
 > Subject: Re: lib/49990: libc++ fails to build with g++ 5.1 due to the following types of errors:
 > Date: Tue, 23 Jun 2015 17:02:34 +0200
 >
 >   On Tue, Jun 23, 2015 at 09:51:02AM -0500, Dave Huang wrote:
 >   > While they are consistent, I'm not sure what the intent is. If it's
 >   > supposed to be checking for gcc > 3.2, I'm pretty sure that's not the
 >   > way to do it.
 >
 >   Heh, good catch!
 
 Indeed!  I feel a bit blind now.  That clause was probably written by 
 the same people who made it impossible to name anything "Windows 9"...
 
 After having spent quite a few hours trying to figure out where to get 
 gcc 5.1 from and finally settling on installing Manjaro Linux in VM 
 (hint: if the Manjaro root file system mount fails, the VM has 
 insufficient memory), I can now repeat the problem the locally.  I can 
 also confirm that the following patch (boosted with the patch from 
 lib/49989) makes libc++ build with g++ 5.1
 
 (I'm *guessing* it wants to check for gcc > 4.2)
 
 Thanks, Dave!
 
 diff --git a/external/bsd/libc++/dist/libcxxrt/src/exception.cc 
 b/external/bsd/libc++/dist/libcxxrt/src/exception.cc
 index ed5ad2b..647badb 100644
 --- a/external/bsd/libc++/dist/libcxxrt/src/exception.cc
 +++ b/external/bsd/libc++/dist/libcxxrt/src/exception.cc
 @@ -673,7 +673,7 @@ static _Unwind_Reason_Code trace(struct 
 _Unwind_Context *context, void *c)
    * If the failure happened by falling off the end of the stack without 
 finding
    * a handler, prints a back trace before aborting.
    */
 -#if __GNUC__ > 3 && __GNUC_MINOR__ > 2
 +#if (__GNUC__ == 4 && __GNUC_MINOR__ > 2) || __GNUC__ > 4
   extern "C" void *__cxa_begin_catch(void *e) throw();
   #else
   extern "C" void *__cxa_begin_catch(void *e);
 @@ -1189,7 +1189,7 @@ BEGIN_PERSONALITY_FUNCTION(__gxx_personality_v0)
    * pointer to the caught exception, which is either the adjusted 
 pointer (for
    * C++ exceptions) of the unadjusted pointer (for foreign exceptions).
    */
 -#if __GNUC__ > 3 && __GNUC_MINOR__ > 2
 +#if (__GNUC__ == 4 && __GNUC_MINOR__ > 2) || __GNUC__ > 4
   extern "C" void *__cxa_begin_catch(void *e) throw()
   #else
   extern "C" void *__cxa_begin_catch(void *e)
 


Home | Main Index | Thread Index | Old Index