[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <871r644bd2.fsf@oldenburg.str.redhat.com>
Date: Sat, 04 Sep 2021 17:19:21 +0200
From: Florian Weimer <fweimer@...hat.com>
To: Segher Boessenkool <segher@...nel.crashing.org>
Cc: Nathan Chancellor <nathan@...nel.org>,
Linus Torvalds <torvalds@...uxfoundation.org>,
Masahiro Yamada <masahiroy@...nel.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
clang-built-linux <clang-built-linux@...glegroups.com>,
llvm@...ts.linux.dev, linux-toolchains@...r.kernel.org
Subject: Re: [GIT PULL v2] Kbuild updates for v5.15-rc1
* Segher Boessenkool:
> Let me quote the original mail (I had to dig it out of the archives as
> well, no nice threading, too lazy, sorry):
It still doesn't say why. I did see a reference to fleeting reference
to <stdatomic.h> and <float.h>.
My conjecture is that the real reason is avoid atomic emulation
(softatomic?) and softfloat code. It's not related to <stdarg.h> at
all: this header is replaced so that GCC's include subdirectory can be
dropped from the include search path. What I don't know if this is to
avoid obscure linker failures related to libatomic/softfloat (obviously
not great) or run-time failures (worse).
In any case, it would be nice to know what the real motivation is.
After all, <stdatomic.h> is exactly like <stdarg.h> in that it's
possible to use its functionality even without the header file. The
__atomic builtins are even documented in the GCC manual (unlike
<stdatomic.h>), which is why some programmers prefer them over the
standard interface. And then there's the _Atomic keyword itself, whose
use can easily result in calls to libatomic functions, too. So blocking
<stdatomic.h> makes little sense to me.
I don't know enough about softfloat if blocking the inclusion of
<float.h> is worth it.
Thanks,
Florian
Powered by blists - more mailing lists