<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Matt Turner <<a href="mailto:mattst88@gmail.com" target="_blank" rel="noreferrer">mattst88@gmail.com</a>> ezt írta (időpont: 2021. szept. 10., P 22:33):<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, Sep 10, 2021 at 10:20 AM Timur Kristóf <<a href="mailto:timur.kristof@gmail.com" rel="noreferrer noreferrer" target="_blank">timur.kristof@gmail.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> We've been recently working on tracking down some "mysterious" crashes<br>
> that some users experienced on distro builds of mesa but we couldn't<br>
> reproduce locally, until we found out about _GLIBCXX_ASSERTIONS=1 which<br>
> seems to be not enabled by default in mesa, but is enabled by a lot of<br>
> distros.<br>
><br>
> I realize that enabling it by default on all mesa builds would have<br>
> performance implications, so I propose to just enable it by default in<br>
> mesa debug builds.<br>
><br>
> What do you think? Would this be okay with the mesa community?<br>
<br>
I've never heard of this before. According to the documentation [1] it is:<br>
<br>
> _GLIBCXX_ASSERTIONS<br>
><br>
> Undefined by default. When defined, enables extra error checking in the form of precondition assertions, such as bounds checking in strings and null pointer checks when dereferencing smart pointers.<br>
<br>
Seems reasonable to enable it for debug builds if we're using C++<br>
features in Mesa that it covers.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">While at it, do you think we should also use any of the other similar macros from the doc?</div><div dir="auto"><br></div><div dir="auto">I think _GLIBCXX_DEBUG and _GLIBCXX_SANITIZE_VECTOR look particularly useful.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
[1] <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_macros.html" rel="noreferrer noreferrer noreferrer" target="_blank">https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_macros.html</a><br>
</blockquote></div></div></div>