Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Jun 2014 10:14:15 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Adrian Chadd <adrian@FreeBSD.org>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>, Ian Lepore <ian@freebsd.org>, Olavi Kumpulainen <olavi.m.kumpulainen@gmail.com>
Subject:   Re: C++ exceptions in freebsd-arm doesn't seem to work
Message-ID:  <EEBA06F7-0CF1-4712-BA61-5951323B541B@bsdimp.com>
In-Reply-To: <CAJ-VmomsNogAzk8j6ob8aA%2BmJeiO5TEF=FQnq=mNzsVPyt23xw@mail.gmail.com>
References:  <BEAC4CFB-EC4F-456D-8173-2E34CCE3A2C1@gmail.com> <1402156516.20883.154.camel@revolution.hippie.lan> <CAJ-VmomsNogAzk8j6ob8aA%2BmJeiO5TEF=FQnq=mNzsVPyt23xw@mail.gmail.com>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]

On Jun 7, 2014, at 10:07 AM, Adrian Chadd <adrian@FreeBSD.org> wrote:

>> Sadly, all I can do is confirm what you say:  C++ exceptions don't work
>> on ARM EABI, not with clang and not with gcc.  The only combo that works
>> is gcc and OABI, but with that combo you lose hardware floating point.
>> 
>> There are rumours that this may be fixed in clang 3.5, but we apparently
>> can't import 3.5 because it can't be bootstrapped using gcc 4.2.  I
>> haven't had time yet to learn how to build clang 3.5 out-of-tree to
>> confirm that exceptions work there.
>> 
> 
> If only we had a way to tell our build system to build the in-src-tree
> compiler suite using an external compiler toolchain. That'd make those
> problems go away.

We do. It isn’t perfect, and you’d have to bootstrap either a new gcc or a 3.4 clang first to do it though. The automation of the bootstrapping isn’t present, and is what I’m working on…

Of course, it doesn’t solve all the problems, just means we have more tools to deploy.

3.5 is also quite experimental as well.

But there’s been no real talk about the right path forward: just FUD and hand wringing on the lists. We do need to have a real discussion about this. Not the lame pot-shots that have happened to date: what versions do we support upgrading from, what configurations, etc. If we had that discussion, then we wouldn’t even need what Adrian suggests. We’d just say you have to have FreeBSD 9.2 or newer with clang 3.3 (or is it clang 3.4) to bootstrap, and if you want to use other tools, you are on your own. This would break updating from 8.x, but that’s likely OK. Be we need to have this discussion.

Warner


[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTkzpXAAoJEGwc0Sh9sBEA7XoQALVPY/5QURxbiAmycyO7eegS
oS2+szDbEwfnBifMdJcso7tVrv0O6du9qwehWW24RD+2cI4hiUfW3ji5xEYcNr02
mojjjXrCiicwYI0nnGYv1OkL8onlPLJI5N4m4rcMbflv8WqYhVxJGSFfZmpVYvwT
JdSAfcyDvv4fvnRyrsNOMp/p3v/SMmUu0xNgxT76eHb3IhJcrKIVqENNqJ1kA7rN
c06kzwiXNtoTdCeQs3kix5R3QDy9plTmrAf0Y+TLRRQtVWV+CooxZsfOz9joywV8
ZLOnrC0Lpu7Dd3f+6BO76h881arBDuauFIG1sRmtzb8C8U8hInLVLyVEOT6HgR0d
tShzW2tYyY4F9cQEqXdbemqUyqKboEaT8eY2BNx4AW4tSW8qfJnm2QOOJsPkds9U
oxBxWtldaq/CfJi3h6j31OahC0a1Nqa5eeUs0tN+9ELaB96jEwQtwrhWGtYucM9i
YKTIH4m0vAgJ+so5nVLnPHBP9t6NbzKj6WoMons0BM7BwK+tiUMgAl5E9zWLgpjd
GwMOjUd8JMcsC8t9t/HvuTucoGPqnYb+jLeiBYqgij+r1KwOHOksQwM9XBmBlJAO
I7GNSFWvry512MpOtGwrvqNi1Zx52GUhIlLWW4MJofTzb2IGYhQaG5aU1x0V83g2
Kpr6ZdNhqlZltSMbdM4G
=sSDP
-----END PGP SIGNATURE-----
help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EEBA06F7-0CF1-4712-BA61-5951323B541B>