Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Jun 2014 10:29:46 -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:  <0567DA73-DE37-48F0-BD18-F6498D6083A6@bsdimp.com>
In-Reply-To: <CAJ-Vmo=7VSZQH8NGBvYN015cV7WGcA=S2ELdpnmk798y98ydSQ@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> <EEBA06F7-0CF1-4712-BA61-5951323B541B@bsdimp.com> <CAJ-Vmo=7VSZQH8NGBvYN015cV7WGcA=S2ELdpnmk798y98ydSQ@mail.gmail.com>

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

[-- Attachment #1 --]

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

> On 7 June 2014 12:14, Warner Losh <imp@bsdimp.com> wrote:
>> 
>> 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…
> 
> Cool! The last time I wrangled this, I could only get it to build the
> whole system with the compiler I fed in. It wouldn't build the
> in-source-tree compiler with the external compiler I gave it - using
> the external compiler seemed to totally just negate building the
> toolchain. I'm glad this isn't the case.

It does take many hand-stands to doit...

>> 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.
> 
> I'd personally like to rehash the "build from under Linux" discussion.
> I keep bumping into cases like this where a lot of the work being done
> to make this stuff happen is in line with what we need to be able to
> build FreeBSD under a non-FreeBSD operating system. I'd really like
> _that_ to happen - it'll help migrations _to_ freebsd from other
> projects.

No. Have that as a separate discussion.  That’s a big bike shed of wonder and requires functionality not present in the tree (e.g. actual work). My discussion is “we currently allow X to work, I want to change that to X+Y so we can import Z.” which is much smaller. So go ahead and have your linux discussion, but don’t hijack mine.

Warner

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

iQIcBAEBCgAGBQJTkz36AAoJEGwc0Sh9sBEAeKUP/17Ypc1S2peyeL8AGMx4fNXo
Xci1RFxhKu2I6pqfgO3hrhOblYc0/B9cNfoeKfJD9YqvPXS7+8Mal+8XsKpcukru
CatIz7olwRuQCnYkvugpMUh1+8FltwpJWUjvcTACclGPuHGlHLvqsI6zppj1Dne1
fzY4ss5FiCpmfUptaHztxYLiTj3WSVEo7hVigvJuNyeLxJZiA3nLzh8HcPBvgEd+
I9jQulaI0i8mb/COdzmIUJWfuYJS5aQJAb5OHNjMp6ZyZjFgoxzlOxTPkQAuwmgM
qNbiQp3ALe2N1Uu/5h3FRH/OE7f4Sbwqlb+tzJH31znPl3VArt6aY/rhBTbtGJg7
Py5o0IVUZdZ1oeS72iec+9lWW165HZeSSI40Sf8KLnPyc+H8IcmZsiiP+XddWN+W
LBt8QGNbZ1lNOfLB5sZLBVZmyMeKzH4ejjE3HapHwSY5SAvjYkMDsxlETRfXOMJ6
5H2KJ0FNVxzsIrTgHSSle28/znTLO6uj3j90Hg3tHTbv8EICrcXiM2MmJIQ+G02O
+Bmum0KgxcW/bGPkPBWyy5rG7H97D0g+JH4FA6Z26DUwD2ENCVEyqBU4YYruIvPB
fXWY/DPM8asE41U2QiRmHJWORfCUieJxPNoZgE4RX3uH33yG0Rm4E22b5fnI7/ta
YR8f5r9JSLj0DL44LX83
=ZvSG
-----END PGP SIGNATURE-----
help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0567DA73-DE37-48F0-BD18-F6498D6083A6>