Dear All: We met a problem when using GCC libstdc++.a on PowerPC-OSE platform(it use cross-compile tool with GCC 3.4.1). When starting our application("core_supervisor"), the OSE operation system always outputs the following message: SEH: System call: ose_mutex_lock SEH: Error: A pointer to an uninitialized mutex (at 0x00b27988) was presented to the kernSEH: Information about current process "core_supervisor" SEH: Pid 0x0001000b bid 0x00010008 progpid 0x00000000 SEH: Callstack backtrace: SEH: FrameAddress ReturnAddress FrameSize SEH: 0x0aa54390 - - SEH: Analyzing pool of faulty process After looked up our system.map file, we found that it always refer the following pointer: .bss 0x00b27988 0x20 /vobs/rtosdev/OSE/gcc_solaris2_powerpc_3.4.2/powerpc-eabi/lib/nof/libstdc++.a(locale_init.o) 0x00b27988 __gnu_internal::locale_mutex I want to know how to find the bug? It is the problem of the libstdc++ or our application ? How to rightly initialize the locale_mutex ? Why it isn't initialized in libstdc++.a under OSE ? thanks a lot.