[ANN] --enable-dbgutil: everyone gets a Debug STL!

Stephan Bergmann sbergman at redhat.com
Tue Apr 16 23:43:34 PDT 2013


On 04/15/2013 03:34 PM, Michael Stahl wrote:
> with commit f14f7a2e4568e3e85a0c8860beebd0376c5a8b51 MSVC builds will
> link everything against the debug runtimes (MSVCRTD etc.), which enables
> debug STL and other things.
[...]
> since we have this enabled on other GCC platforms for years i'm not much
> concerned about breakage on MacOSX; it would be helpful though if
> somebody could try what happens when you run the "subsequentcheck" tests
> which apparently isn't possible over SSH.

Another fallout is that, at least in
my Mac OS X 10.7.5, Xcode 4.6.1, --enable-dbgutil --with-macosx-sdk=10.7 
master builds, writing numbers to std streams now suppresses all output 
to those streams, so that e.g., SAL_WARN("foo","bar") only writes 
"warn:foo:" to stderr (not even followed by a newline) and stops as soon 
as it would write the numeric pid.

This is caused by basic_ostream::_M_insert 
(/usr/include/c++/4.2.1/bits/ostream.tcc) catching an exception from 
__check_facet(this->_M_num_put) and setting ios_base::badbit, which in 
turn results from this->_M_num_put unexpectedly being null.  Similar 
problems on (non-debug) Linux had been addressed with long ago with 
consistently exporting _ZGVNSt7num_put* and _ZNSt7num_put* symbols from 
all libraries.

Why _GLIBCXX_DEBUG causes this problem on Mac OS X now, and how to solve 
it, is still unclear to me.

Stephan


More information about the LibreOffice mailing list