This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
A difficult question about locale_mutex uninitialized
- From: "FCG WANG Baohua" <Baohua dot WANG at alcatel-sbell dot com dot cn>
- To: <gcc-help at gcc dot gnu dot org>, <libstdc++ at gcc dot gnu dot org>, <gcc at gcc dot gnu dot org>
- Cc: "FCG Ke Yu" <Yu dot Ke at alcatel-sbell dot com dot cn>
- Date: Thu, 7 Sep 2006 10:29:32 +0800
- Subject: A difficult question about locale_mutex uninitialized
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.