[cfe-dev] libc++ std::cerr on GNU/Linux

Bruce Stephens bruce.r.stephens at gmail.com
Wed Feb 29 09:15:14 PST 2012


David Chisnall <theraven-Ae9UE+oIsuU at public.gmane.org> writes:

> Two replies so far, and everyone seems to be assuming you're talking
> about libcxxrt, not libc++.  For future reference, calling libc++
> libcxx apparently confuses people...

I've changed the subject line. Probably my own fault; the directory I
checked out libc++ to is called libcxx.

> As to the bug, I've seen crashes like this before when doing the
> FreeBSD and Solaris ports.  As I recall, that exception is thrown when
> the locale_t is NULL.  In this case, I would expect you to be using
> the C locale.

I'm not. At least, LANG is set to en_GB.UTF-8. Setting it to C, en_GB,
unsetting it, doesn't seem to change the crash.

> I believe on glibc that this is generated by calling __cloc(), so this
> may be a good place to look.

OK. I'm still not seeing anything obvious: if I include <locale> then I
can create a locale (and the destructor seems to complete fine).

ldd shows I'm linking against libstdc++.so.6 and librt.so.1 as well as
libc++.so.1. Is that expected, or should I not be linking against
libstdc++?

	linux-vdso.so.1 =>  (0x00007fffe9976000)
	libc++.so.1 => /usr/local/lib/libc++.so.1 (0x00007fced02e2000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fced0043000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fcecfe2c000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcecfaa5000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fcecf7a1000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fcecf584000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fcecf37c000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fced065b000)

[...]




More information about the cfe-dev mailing list