On 2018-Aug-1, at 12:57 AM, Konstantin Belousov <kib at freebsd.org> wrote: > > On Tue, Jul 31, 2018 at 06:46:31PM -0700, Mark Millard via freebsd-amd64 > wrote: >>> Author: mmacy >>> Date: Mon Jul 2 19:48:38 2018 >>> New Revision: 335873 >>> URL: >>> https://svnweb.freebsd.org/changeset/base/335873 >>> >>> >>> Log: >>> inline atomics and allow tied modules to inline locks >>> >>> - inline atomics in modules on i386 and amd64 (they were always >>> inline on other arches) >>> - allow modules to opt in to inlining locks by specifying >>> MODULE_TIED=1 in the makefile >> >> I recently found the following about ABI incompatibilities >> between clang and gcc relative to C11 language based >> atomics: >> >> https://bugs.llvm.org/show_bug.cgi?id=26462 >> >> 26462 ??? GCC/clang C11 _Atomic incompatibility >> >> >> So are there implications about building the kernel >> vs. modules that overall mix the toolchains once >> modules are loaded? Do the toolchains need to match, >> at least for amd64 and i386 TARGET_ARCH 's? > This is irrelevant since kernel does not use C11 atomics, we roll > our own version, which tries to follow C11 model. > > Lack of the ABI for atomics is one of the reason to not use compiler > C11 atomics in kernel and C runtime.
Thanks for the information: good to know. There are other things around that use C11 atomics, such as in: src/contrib/ofed/librdmacm/ (This is part of why https://reviews.freebsd.org/D16585 is out for updating stdatomic.h (and sys/cdefs.h ): so that fairly modern gcc vintages can build world with such involved.) === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar) _______________________________________________ freebsd-amd64@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-amd64 To unsubscribe, send any mail to "freebsd-amd64-unsubscr...@freebsd.org"