Created attachment 910
patch for issues with debug builds of druntime
There are a few issues that you might hit when building a debug build of
druntime. Sorry, if these issues should be in separate reports, but I did not
want to bother everybody with multiple report on these non-urgent changes:
1. The GC invariants in gc.gcx are not thread safe, so I suggest to enable them
only with a separate debug identifier or use one of the existing identifiers.
2. _d_arraycopy always prints debug messages, I guess this should also get some
debug(PRINTF) condition.
3. _d_framehandler and _d_local_unwind assert with a range violation if they
have to unwind more than entry from the handler table. This happens because the
struct DHandlerTable uses a place holder array of length 1, but actually
expands beyond that. The patch takes a pointer to the array to avoid the range
check.
Comment #1 by robert.schadek — 2024-12-07T13:31:18Z