Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Oct 2017 01:38:15 -0700
From:      "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.com>
To:        Marius Strobl <marius@freebsd.org>
Cc:        Mark Linimon <linimon@lonesome.com>, "A. Wilcox" <AWilcox@Wilcox-Tech.com>, Gerald Pfeifer <gerald@pfeifer.com>, freebsd-sparc64@FreeBSD.org, freebsd-arch@freebsd.org
Subject:   Re: future of sparc64 (was: Making C++11 a hard requirement for FreeBSD)
Message-ID:  <B4C63F25-0169-4E44-A9FD-52615149DBFE@gmail.com>
In-Reply-To: <20171023203952.GB51868@alchemy.franken.de>
References:  <CANCZdfq5=KRp4NYKsc15gyS9C7CxrBFxcKQLPwnb_0oPb15vJw@mail.gmail.com> <20171005234149.GE8557@spindle.one-eyed-alien.net> <59D6CA6C.1040502@Wilcox-Tech.com> <20171007174124.GA20810@lonesome.com> <20171010211428.GA51868@alchemy.franken.de> <CB71FA85-BBE1-4633-990C-4AB10A91D071@gmail.com> <20171023203952.GB51868@alchemy.franken.de>

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

--Apple-Mail=_0E8A217C-E1ED-42DE-BD64-A66B5FF8FD14
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


> On Oct 23, 2017, at 13:39, Marius Strobl <marius@freebsd.org> wrote:
>=20
> On Sun, Oct 22, 2017 at 10:47:03PM -0700, Ngie Cooper (yaneurabeya) =
wrote:
>>=20
>>> On Oct 10, 2017, at 14:14, Marius Strobl <marius@freebsd.org> wrote:
>>>=20
>>> On Sat, Oct 07, 2017 at 12:41:24PM -0500, Mark Linimon wrote:
>>>>=20
>>>> All gccs > 4.9 fail to build.  Looking at the logs AFAICT the =
failure
>>>> is a floating-point exception as soon as the first built binary is =
run
>>>> during the internal testing.
>>>=20
>>> The most plausible cause for that is executables and/or dynamic =
libraries
>>> not installing the user trap handlers as specified by the libc 64 =
psABI,
>>> i. e. not call __sparc_utrap_setup(). Do the ports GCCs use their =
own CRT
>>> nowadays? Do they no longer link libc last? Please provide their =
linker
>>> invocation. Also, please provide the backtrace of a minimal program
>>> exhibiting that problem.
>>=20
>> An idea occurred to me (after having dealt with building things over, =
and over, and over, this weekend): since we can?t rely on the ABI on =
^/head to be stable, why don?t we produce working dynamic/static =
toolchains on HEAD-1 in ports, then require them for the areas that =
can?t bootstrap (yet, or at all?) with clang? We?ve already done that =
with some of our code that?s been deorbited from base (like rsh, etc). I =
don?t see why making a toolchain based on a stable ABI for architectures =
that will migrate or will be killed off needs to be a huge undertaking =
(politically), and needs to hold us back from making progress using a =
compiler that implements an almost 7 year old C++ spec.
>=20
> To be honest, I've no idea what your proposal has to do with the =
above,
> what it actually is about or why rsh(1) would be a viable example in
> this case given that rsh(1) hardly is a bootstrapping tool. However,
> ABI changes (the above wasn't about a change in ABI, btw.) are just
> one good example why an external toolchain would be a PITA as system
> compiler. Think of when we e. g. turned on TLS in the base compiler
> configurations after having added TLS support to rtld(1). The next
> buildworld ensured that not only the compiler used TLS, but also that
> an rtld(1) capable of TLS will be in place. Now with a similar future
> change and an external toolchain built on HEAD - 1, some additional
> magic would be needed to ensure that binaries built for HEAD use the
> expected ABI and all HEAD components are in sync.
>=20
> Generally, I'm fine with moving to an external toolchain for the
> system compiler, but only if it will also be the default for x86
> so the life of tier-2 architectures won't become even harder - both
> politically and technically - as it is now.

(Replying to single-message in thread, since the rest seem to follow the =
same flow of expressed confusion)

Distilling down my scatterbrained message before: I was suggesting =
building a cross-compiler with an appropriate target/host tuple as a =
package, then allowing users to install that package, instead of =
building the toolchain from scratch every time. This is what you =
suggested is being worked on by bapt@.

Someone should have realized that gcc 4.2.1 is a dead end at the point =
anyhow, and clang will need to be bootstrapped from a c++11 capable =
compiler (which gcc 4.2.1 is not by any means), right? Which means that =
making binary packages work for the toolchain is a must for 2nd tier =
architectures if clang is the target compiler (MK_CLANG_BOOTSTRAP=3D=3Dyes=
), which is the eventual end-goal.

Cheers,
-Ngie

--Apple-Mail=_0E8A217C-E1ED-42DE-BD64-A66B5FF8FD14
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE5bk3FaGcY5rvqmb79YOpJmkwhhUFAln25PcACgkQ9YOpJmkw
hhXMyw//fRWmIsq7s/Mss/sFxhJcuofiGlFqbOqiMtztbEf5NUX+llTMolcSYL/d
5Hdcndc0mbGfNCaHr12Li6HKZlgsyJt2DPUmNPP86OB1gY9nWiUd0oVp+T/0tury
AzwRI3yo9Q/ODQxAXw8j+eJWyVX+vEWw8lPflq4ziKw+s5aWKBPJe53EKd0CxvD4
CpMy2R0JoCdppNVyCBWU5jYMB4WbGSYNIIjINmObj0vmPsQKC6UDnOpOGe5jZ+3i
b2+SGSYjEkXIoylGjFpu8V6/PnviRFEwb08+3dWuD4RNYeONA68+N+BAa0TQJMCm
DSbjwOaFj2k+mgab7D44dfEiTI6p5ztokCfM/pStRBeSwOW9V0EZ2hk4ZVn8ezAV
TZDZ+GTV+oKHzpHQdl9MrJEyiDn8FizgepA7KzEw6iVJ9LPjLTwkFs0STzmQkZbO
tRtGiwXkkhJbiUXFJlhrFDFMefUyGhEq1/dgP1UqVmJCDMkTmYOcqp4V0AFtqEeY
rYAaGaYeWZZIO44qhxaQxpWgZuZkpvH47rhUcV3iRv/Qtx1LpgDSL/TlNsb7jNQY
bhluxWHkjUfr6FaiigVsGW+X+jhJsrUKb2CY6qxLyzRI+FPHlm+taO63sNDPrM0V
H7nYXzFK3ut0JrDE8pnhW229dR6W8MM3Wr5t6AKxkK9WGXLbRLU=
=0YG3
-----END PGP SIGNATURE-----

--Apple-Mail=_0E8A217C-E1ED-42DE-BD64-A66B5FF8FD14--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B4C63F25-0169-4E44-A9FD-52615149DBFE>