This is definitely a mismatch between your C++ compiler, and your C++
runtime and/or development libraries. This should also explain the memory
corruption.
I think you mentioned what operating system you're running in the
beginning
of the thread, but I forgot.
Are you using a C++ compiler from your base OS build, or did you install
the
C++ compiler yourself? And where do your C++ libraries come from?
Basically, you need to look at your C++ environment. Something is not
right
there.
C++ is quite sensitive to version mismatches between the C++ compiler and
C++ libraries. If your C++ compiler version does not EXACTLY match your
C++
runtime libraries, this is what you'll get.
There is no hardware cause for memory corruption, and certainly no other
evidence of it.
It appears that my g++ version and the libraries are matching (3.3.2 and
so.32.0), but I've also asked at the OpenBSD sparc list for a bit of help on
the OS side to determine if everything is in order. I have not made any
changes to the stock compiler on the system; it is the default OpenBSD 3.6
install (patched to stable, but there were not any compiler updates to be
applied).
I'm not really sure what you're asking for, so I've included what I imagine
is pertinent information. Again, programming is not really my
thing--however, I can provide any specific information that you explicitly
request.
Thanks,
Seth
$uname -a
OpenBSD simeon.ckure.com 3.6 GENERIC#0 sparc64
$ls -all /usr/lib/lib*c++*
-r--r--r-- 1 root wheel 1382798 Nov 12 03:20 /usr/lib/libstdc++.a
-r--r--r-- 1 root wheel 695944 Nov 12 03:20 /usr/lib/libstdc++.so.32.0
-r--r--r-- 1 root wheel 211998 Nov 12 03:20 /usr/lib/libsupc++.a
$g++ -v
Reading specs from /usr/lib/gcc-lib/sparc64-unknown-openbsd3.6/3.3.2/specs
Configured with:
Thread model: single
gcc version 3.3.2 (propolice)