Re: git: 790a6be5a169 - main - Export various 128 bit long double functions from libgcc_s.so.1
Date: Mon, 14 Jun 2021 20:38:15 UTC
Dimitry Andric dim at FreeBSD.org wrote on
Mon Jun 14 19:17:40 UTC 2021 :
> The branch main has been updated by dim:
>
> URL:
> https://cgit.FreeBSD.org/src/commit/?id=790a6be5a1699291c6da87871426d0c56dedcc89
>
>
> commit 790a6be5a1699291c6da87871426d0c56dedcc89
> Author: Dimitry Andric <dim at FreeBSD.org>
> AuthorDate: 2021-06-14 19:17:05 +0000
> Commit: Dimitry Andric <dim at FreeBSD.org>
> CommitDate: 2021-06-14 19:17:05 +0000
>
> Export various 128 bit long double functions from libgcc_s.so.1
>
> These were already compiled for some time on aarch64 and riscv, by
> including lib/libcompiler_rt/Makefile.inc, but never exported in the
> shared library. Since gcc exports these under version GCC_4.6.0, we do
> the same.
>
> This review should replace D11482 for now. For e.g. amd64 more work is
> still to be done, as compiler-rt does not seem to support 128 bit long
> double math for that architecture.
Given that "man arch" explicitly reports:
Architecture void * long double time_t
. . .
amd64 8 16 8
. . .
and also:
Architecture float, double long double
. . .
amd64 hard hard, 80 bit
. . .
(so there is guaranteed pad involved), would amd64 having 128
bit long doubles (no pad by default?) be an FreeBSD ABI change,
possibly needing a discussion on freebsd-arch and
freebsd-numerics ? (Or may be it happened and I just do not
remember. Or may be it would take special enabling of the
alternate ABI's use and not be a default configuration.)
(i386 only has "12", not "16", for its "80 bit", so 96 bits:
less pad.)
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)