[libcxx-commits] [libcxx] [libc++] Disable _LIBCPP_NODEBUG temporarily (PR #122393)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Jan 16 07:28:00 PST 2025
ldionne wrote:
> I appreciate that it's a big patch & causes a lot of churn to commit/revert - though the number of failures, and the impact of disabling LIBCPP_NODEBUG entirely (substantial regressions in debug info size) seems enough to warrant a revert-to-green to me.
There's a tradeoff. At the moment when we discovered the issues and decided we needed to disable debug info (or revert the patch), it would have taken me (or @philnik777) some time to work through the undoing of the patch and the subsequent ones that had landed, and then additional time to go through our CI to land that revert. If the Clang bugs were pretty straightforward to fix, it could easily not be worth it. I still feel like that was the right call, but that doesn't mean we don't want to go back and partially revert the patch now based on our understanding of the bugs that need fixing. Do you have a clear view of where we stand with respect to fixing those bugs?
> The direct incentive seems to be that we both/all want debug info size reductions. And the folks who care about that most are the folks who work on debug info emission, the ones most suited to fix the bugs... so it feels like incentives are aligned, without the need for this extra time pressure/standing regression/leverage in the project.
I agree that interests are aligned in this case. But everyone's really busy and even important fixes or improvements get delayed (usually indefinitely) in these cases where there's no clear responsibility on someone to fix things, or when a fix is seen only as "nice to have". In my experience, that's an extremely common and recurring theme in LLVM, and it's actually frequent enough to be problematic. So while I would never let a release ship this way, reverting in a way that's too comfortable too quickly has proven to have a stalling effect over and over again. Since I would have to do non-trivial work to make that happen, I made the call not to invest time in doing a detailed revert unless necessary while being willing to revisit that based on our understanding of what's needed to fix Clang.
I think there's a fine line between "ensuring there are incentives to fix something" and "strong-arming into fixing something". I think the former is acceptable and healthy when kept within reason and justified (e.g. in this case the revert was non-trivial), and the later is clearly not. My goal here was to do the former, based on the rationale above.
https://github.com/llvm/llvm-project/pull/122393
More information about the libcxx-commits
mailing list