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:
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