Scott <
sc...@smedleyfamily.net> wrote:
>
> The symbol appears to be coming from: libstdc++-v3/src/c++11/debug.o
>
> Now that I look more closely, there are 48 different __gnu_debug* symbols in libstdc++.so.
>
> Why is debug code being included in production builds?
It's in the book:
Chapter 30. Debug Mode
By default, libstdc++ is built with efficiency in mind, and
therefore performs little or no error checking that is not required
by the C++ standard. This means that programs that incorrectly use
the C++ standard library will exhibit behavior that is not portable
and may not even be predictable, because they tread into
implementation-specific or undefined behavior. To detect some of
these errors before they can become problematic, libstdc++ offers a
debug mode that provides additional checking of library facilities,
and will report errors in the use of libstdc++ as soon as they can
be detected by emitting a description of the problem to standard
error and aborting the program.
Andrew.