This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/13205] New: 64BIT: Segmentation fault in code executed inside std::locale::_Impl::_M_install_facet()
- From: "skasapin at ca dot ibm dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 Nov 2003 19:25:31 -0000
- Subject: [Bug libstdc++/13205] New: 64BIT: Segmentation fault in code executed inside std::locale::_Impl::_M_install_facet()
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The following testcase executes with SEGFAULT in 64-bit mode:
t.C
---
#include <locale>
using namespace std;
struct MyfacetA : public locale::facet {
static locale::id id;
};
locale::id MyfacetA::id;
int main()
{
locale loc;
locale loc2 = locale(loc, new MyfacetA);
return 0;
}
------------------------------------------------
Command:
/opt/cross/bin/powerpc64-linux-g++ -I/opt/cross/include/powerpc64-linux t.C
------------------------------------------------
gdb traceback:
#0 0x0000007fe0388424 in chunk_free () from /lib64/libc.so.6
#1 0x0000007fe03883b4 in free () from /lib64/libc.so.6
#2 0x0000007fe0135514 in operator delete(void*) ()
from /usr/lib64/libstdc++.so.5
#3 0x0000007fe013557c in operator delete[](void*) ()
from /usr/lib64/libstdc++.so.5
#4 0x0000007fe01102b0 in std::locale::_Impl::_M_install_facet(std::locale::id
const*, std::locale::facet*) ()
from /usr/lib64/libstdc++.so.5
#5 0x0000000010000fcc in std::locale::locale<MyfacetA>(std::locale const&,
MyfacetA*)
()
#6 0x0000000010000d8c in main ()
#7 0x0000007fe0333348 in __libc_start_main () from /lib64/libc.so.6
------------------------------------------------
uname -a:
Linux localhost 2.4.21-111-pseries64 #1 SMP Thu Oct 30 23:57:04 UTC 2003 ppc64
unknown
------------------------------------------------
g++ - v trace:
Reading specs from /opt/cross/lib/gcc-lib/powerpc64-linux/3.2.2/specs
Configured with: /usr/src/packages/BUILD/cross-ppc64-gcc-3.2.2/gcc-
3.2.2/configure --enable-languages=c,c++,f77 --prefix=/opt/cross --host=powerpc-
suse-linux --target=powerpc64-linux --enable-threads=posix --disable-nls --
enable-shared --with-headers=/usr/src/packages/BUILD/cross-ppc64-gcc-
3.2.2/include-ppc64-glibc-2.2.5
Thread model: posix
gcc version 3.2.2
/opt/cross/lib/gcc-lib/powerpc64-linux/3.2.2/cc1plus -v -
I/opt/cross/include/powerpc64-linux -D__GNUC__=3 -D__GNUC_MINOR__=2 -
D__GNUC_PATCHLEVEL__=2 -D__GXX_ABI_VERSION=102 -D__PPC__ -D__PPC64__ -
D__powerpc__ -D__powerpc64__ -D__BIG_ENDIAN__ -D__ELF__ -
D__LONG_MAX__=9223372036854775807L -D__PPC__ -D__PPC64__ -D__powerpc__ -
D__powerpc64__ -D__BIG_ENDIAN__ -D__ELF__ -D__LONG_MAX__=9223372036854775807L -
Acpu=powerpc64 -Amachine=powerpc64 -D__NO_INLINE__ -D__STDC_HOSTED__=1 -
D_GNU_SOURCE -D__PIC__ -D__pic__ -D_CALL_SYSV -D_BIG_ENDIAN -D__BIG_ENDIAN__ -
Amachine=bigendian -D_ARCH_PPC64 -D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -
D__unix -Dlinux -D__linux -Asystem=unix -Asystem=posix t.C -D__GNUG__=3 -
D__DEPRECATED -D__EXCEPTIONS -quiet -dumpbase t.C -version -o /tmp/ccAy4W9f.s
GNU CPP version 3.2.2 (cpplib) (PowerPC64 GNU/Linux)
GNU C++ version 3.2.2 (powerpc64-linux)
compiled by GNU C version 3.2.2.
ignoring nonexistent directory "/opt/cross/include/c++/3.2.2"
ignoring nonexistent directory "/opt/cross/include/c++/3.2.2/powerpc64-linux"
ignoring nonexistent directory "/opt/cross/include/c++/3.2.2/backward"
ignoring nonexistent directory "/opt/cross/powerpc64-linux/sys-include"
#include "..." search starts here:
#include <...> search starts here:
/opt/cross/include/powerpc64-linux
/opt/cross/include
/opt/cross/lib/gcc-lib/powerpc64-linux/3.2.2/include
/opt/cross/powerpc64-linux/include
End of search list.
/opt/cross/lib/gcc-lib/powerpc64-linux/3.2.2/../../../../powerpc64-
linux/bin/as -V -Qy -a64 -mppc64 -o /tmp/ccgWWgEx.o /tmp/ccAy4W9f.s
GNU assembler version 2.13.90.0.4 (powerpc64-linux) using BFD version
2.13.90.0.4 20020814
/opt/cross/lib/gcc-lib/powerpc64-linux/3.2.2/collect2 --eh-frame-hdr -V -Qy -m
elf64ppc -dynamic-linker /lib64/ld64.so.1 /opt/cross/lib/gcc-lib/powerpc64-
linux/3.2.2/../../../../powerpc64-linux/lib/crt1.o /opt/cross/lib/gcc-
lib/powerpc64-linux/3.2.2/../../../../powerpc64-
linux/lib/crti.o /opt/cross/lib/gcc-lib/powerpc64-linux/3.2.2/crtbegin.o -
L/opt/cross/lib/gcc-lib/powerpc64-linux/3.2.2 -L/opt/cross/lib/gcc-
lib/powerpc64-linux/3.2.2/../../../../powerpc64-linux/lib -L/opt/cross/lib/gcc-
lib/powerpc64-linux/3.2.2/../../.. -L/lib64 -L/usr/lib64 /tmp/ccgWWgEx.o -
lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /opt/cross/lib/gcc-lib/powerpc64-
linux/3.2.2/crtsavres.o /opt/cross/lib/gcc-lib/powerpc64-
linux/3.2.2/crtend.o /opt/cross/lib/gcc-lib/powerpc64-
linux/3.2.2/../../../../powerpc64-linux/lib/crtn.o
GNU ld version 2.13.90.0.4 20020814
Supported emulations:
elf64ppc
elf32ppclinux
elf32ppc
elf32ppcsim
--
Summary: 64BIT: Segmentation fault in code executed inside
std::locale::_Impl::_M_install_facet()
Product: gcc
Version: 3.2.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: skasapin at ca dot ibm dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC host triplet: powerpc64-linux
GCC target triplet: powerpc64-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13205