Looks OK from the NetBSD point of view.
Mon, Oct 26
Sun, Oct 25
Sat, Oct 24
Fri, Oct 23
Wed, Oct 21
Tue, Oct 20
Host a LLVM buildbot for DragonFly first, otherwise it will be even not ever build-tested.
Mon, Oct 19
Sun, Oct 18
Please leave builtins intact. ubsan might work, but removing it too is fine.
Sat, Oct 17
Please, First remove unused + unusable code for already introduced OS. At most cutting it to ubsan.
This contains unrelated code to ubsan/dragonflybsd. While there can you remove unsupported code for other OSs you introduced? That was never operational?
Thu, Oct 15
Wed, Oct 14
Tue, Oct 13
Mon, Oct 12
FWIW, PTHREAD_KILL is strongly discouraged on linux. But if the situation is different on freebsd, then fine.
Sat, Oct 10
+ @bsdjhb John, could you have a look?
Tue, Oct 6
Mon, Oct 5
Sun, Oct 4
Can we rename the register names in the darwin plugin?
Fri, Oct 2
Confirmed to work.
Sep 17 2020
Sep 16 2020
Sep 14 2020
Sep 12 2020
std::atomic_is_lock_free or an reimplementation of it (without pulling C++ runtime), testing a type and asserting that in runtime or build time that it is lockfree.
I've verified that this symbol has unlikely any clashes with 3rd party software now. https://grep.app/search?q=ATTR_INLINE&case=true&words=true
Sep 10 2020
Sep 9 2020
These "linux" files will be ported to BSD so we might pick better names now.
Sep 8 2020
Please note that ncurses is not the only supported curses library. NetBSD uses its original BSD curses for LLVM projects.
Sep 5 2020
Does not work how?
Also GCC does the same thing of not instrumenting user defined sections.
Aug 25 2020
Aug 6 2020
Jul 20 2020
Will adding attribute((no_sanitize("address"))) to your global solve the problem you are trying to solve?
(sorry for being too terse last time)
Jun 3 2020
Jun 2 2020
May 28 2020
It looks fine to me, but I will defer it to @dvyukov
May 14 2020
OK, we will need to live with -Wno*.
May 13 2020
It should already be buildable out of the box. The missing prototypes warning is opt-in. I am not particularly in favour of changes motivated solely by an external build system that explicitly opts in to warnings that don't make sense for a particular compilation unit.
I'm guessing that this is explicitly enabling the missing prototypes warning. I'm not a huge fan of that for compilation units that don't have public headers, it makes the code more complex and doesn't catch any bugs. It's valuable only when you have a public header and want to ensure that it's in sync with the implementation.
May 12 2020
will be "stuck" making sure that libatomic builds on GCC forever.
I rewrote this code again to support GCC. This time without removal of _Atomic().
it's quite easy to define a C++ template that switches from lock-free to having an inline lock
To give some background (please correct me if I'm wrong): This is initially motivated by having snmalloc working on NetBSD.
- drop ABI change in __atomic_compare_exchange_##n
May 11 2020
Without looking at the details, this generally seems fine... but why is this desirable? The commit message should have that information. If there's not really a reason then I'd rather leave it alone and not change something that's fine.
I don't think that this should be including <stdatomic.h>. These routines are used to implement interfaces in <stdatomic.h> and it would be completely valid for a conforming implementation to use _Generic macros to directly call these functions from things in <stdatomic.h> that we then depend call, giving a circular dependency.
I don't particularly object to moving this to using the GCC builtins, since clang supports both the GCC ones and the __c11 ones, but the only two valid implementations of the routines in this file are to use compiler builtins or inline assembly.