This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 3.0 PATCH: Enable shared libstdc++ v3 on Tru64 UNIX
Richard Henderson writes:
> On Mon, May 28, 2001 at 09:32:10PM +0200, Rainer Orth wrote:
> > Since C++ exception handling on Tru64 seems pretty broken right now (many
> > tests are failing with unaligned access errors) ...
>
> Ug. Did they turn on unaligned access checks by default for 5.1?
> That's the dynamic linker choaking.
No, they didn't. It's still the same as on V4.0F:
% uac p
parent printing is on
fixup is on
sigbus is off
Yet those failures are still unique to V5.1.
I've just posted the testsuite results for V4.0F (with gcc as bootstrap
compiler and shared libstdc++ enabled) and V5.1 (with cc as bootstrap
compiler, my -oldas/__X_FLOAT patch
http://gcc.gnu.org/ml/gcc-patches/2001-05/msg01951.html
that is necessary to bootstrap on V5.1 and shared libstdc++ support):
V4.0F:
http://gcc.gnu.org/ml/gcc-testresults/2001-05/msg00702.html
V5.1:
http://gcc.gnu.org/ml/gcc-testresults/2001-05/msg00701.html
Here are the testsuite differences; I always meant to investigate them in
detail:
--- 4.0f-gcc-shared/mail-report.log Mon May 28 21:30:25 2001
+++ 5.1-oldas-cc-shared/mail-report.log Mon May 28 19:49:26 2001
@@ -1,11 +1,13 @@
cat <<'EOF' |
-Native configuration is alpha-dec-osf4.0f
+Native configuration is alpha-dec-osf5.1
=== libstdc++-v3 tests ===
Running target unix
FAIL: 21_strings/capacity.cc (test for excess errors)
+FAIL: 21_strings/ctor_copy_dtor.cc execution test
+FAIL: 21_strings/insert.cc execution test
FAIL: 22_locale/codecvt_unicode_char.cc (test for excess errors)
FAIL: 22_locale/codecvt_unicode_wchar_t.cc (test for excess errors)
FAIL: 22_locale/codecvt_wchar_t_char.cc execution test
@@ -13,13 +15,14 @@
FAIL: 22_locale/ctype_char_members.cc execution test
FAIL: 22_locale/numpunct.cc (test for excess errors)
XPASS: 26_numerics/c99_classification_macros_c.cc (test for excess errors)
+FAIL: 26_numerics/complex_inserters_extractors.cc execution test
FAIL: 27_io/fpos.cc execution test
FAIL: 27_io/istream_seeks.cc execution test
=== libstdc++-v3 Summary ===
-# of expected passes 217
-# of unexpected failures 9
+# of expected passes 214
+# of unexpected failures 12
# of unexpected successes 1
# of expected failures 7
=== g++ tests ===
@@ -33,24 +36,68 @@
FAIL: g++.dg/special/conpr-3.C execution test
FAIL: g++.dg/special/conpr-1.C execution test
FAIL: g++.abi/cxa_vec.C Execution test
+FAIL: g++.eh/badalloc1.C Execution test
+FAIL: g++.eh/catch11.C Execution test
+FAIL: g++.eh/catch12.C Execution test
+FAIL: g++.eh/catch3.C Execution test
+FAIL: g++.eh/catch3p.C Execution test
+FAIL: g++.eh/catch4.C Execution test
+FAIL: g++.eh/catch4p.C Execution test
+FAIL: g++.eh/catch5.C Execution test
+FAIL: g++.eh/catch5p.C Execution test
+FAIL: g++.eh/catch6.C Execution test
+FAIL: g++.eh/catch6p.C Execution test
+FAIL: g++.eh/catch7.C Execution test
+FAIL: g++.eh/catch7p.C Execution test
+FAIL: g++.eh/catch8.C Execution test
+FAIL: g++.eh/catch8p.C Execution test
+FAIL: g++.eh/catch9.C Execution test
+FAIL: g++.eh/catch9p.C Execution test
+FAIL: g++.eh/cleanup1.C Execution test
+FAIL: g++.eh/cleanup2.C Execution test
+FAIL: g++.eh/flow1.C Execution test
+FAIL: g++.eh/spec1.C Execution test
+FAIL: g++.eh/spec2.C Execution test
+FAIL: g++.eh/spec3.C Execution test
+FAIL: g++.eh/unwind1.C Execution test
+FAIL: g++.eh/vbase2.C Execution test
FAIL: g++.ext/instantiate1.C not instantiated (test for errors, line 20)
FAIL: g++.ext/instantiate1.C not instantiated (test for errors, line 22)
FAIL: g++.ext/instantiate2.C not instantiated (test for errors, line 19)
FAIL: g++.ext/instantiate3.C not instantiated (test for errors, line 13)
FAIL: g++.law/code-gen5.C (test for excess errors)
+FAIL: g++.mike/eh10.C Execution test
+FAIL: g++.mike/eh2.C Execution test
+FAIL: g++.mike/eh23.C Execution test
+FAIL: g++.mike/eh33.C Execution test
+FAIL: g++.mike/eh39.C Execution test
+FAIL: g++.mike/eh40.C Execution test
+FAIL: g++.mike/eh41.C Execution test
+FAIL: g++.mike/eh42.C Execution test
+FAIL: g++.mike/eh6.C Execution test
FAIL: g++.mike/p9706.C Execution test
XPASS: g++.oliva/delete3.C Execution test
XPASS: g++.other/crash27.C (test for excess errors)
+FAIL: g++.other/eh3.C Execution test
+FAIL: g++.other/init7.C Execution test
FAIL: g++.other/mangle3.C (test for excess errors)
+FAIL: g++.robertl/eb50.C Execution test
+FAIL: g++.robertl/eb66.C Execution test
+FAIL: g++.robertl/eh990323-1.C Execution test
+FAIL: g++.robertl/eh990323-2.C Execution test
+FAIL: g++.robertl/eh990323-3.C Execution test
+FAIL: g++.robertl/eh990323-4.C Execution test
+FAIL: g++.robertl/eh990323-5.C Execution test
+FAIL: g++.robertl/ice990323-2.C Execution test
=== g++ Summary ===
-# of expected passes 6423
-# of unexpected failures 14
+# of expected passes 6379
+# of unexpected failures 58
# of unexpected successes 2
# of expected failures 107
# of untested testcases 19
-/amnt/figaro/volumes/obj-gcc/gcc/obj.alpha/gcc-3.0-20010523/4.0f-gcc-shared/gcc/testsuite/../g++ version 3.0 20010523 (prerelease)
+/amnt/figaro/volumes/obj-gcc/gcc/obj.alpha/gcc-3.0-20010523/5.1-oldas-cc-shared/gcc/testsuite/../g++ version 3.0 20010523 (prerelease)
=== g77 tests ===
@@ -101,6 +148,18 @@
XPASS: gcc.c-torture/execute/loop-2b.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
XPASS: gcc.c-torture/execute/loop-2b.c execution, -O3 -g
XPASS: gcc.c-torture/execute/loop-2b.c execution, -Os
+FAIL: gcc.c-torture/execute/va-arg-5.c execution, -O0
+FAIL: gcc.c-torture/execute/va-arg-5.c execution, -O1
+FAIL: gcc.c-torture/execute/va-arg-5.c execution, -O2
+FAIL: gcc.c-torture/execute/va-arg-5.c execution, -O3 -fomit-frame-pointer
+FAIL: gcc.c-torture/execute/va-arg-5.c execution, -O3 -g
+FAIL: gcc.c-torture/execute/va-arg-5.c execution, -Os
+FAIL: gcc.c-torture/execute/va-arg-6.c execution, -O0
+FAIL: gcc.c-torture/execute/va-arg-6.c execution, -O1
+FAIL: gcc.c-torture/execute/va-arg-6.c execution, -O2
+FAIL: gcc.c-torture/execute/va-arg-6.c execution, -O3 -fomit-frame-pointer
+FAIL: gcc.c-torture/execute/va-arg-6.c execution, -O3 -g
+FAIL: gcc.c-torture/execute/va-arg-6.c execution, -Os
FAIL: gcc.c-torture/execute/ieee/20000320-1.c execution, -O0
FAIL: gcc.c-torture/execute/ieee/20000320-1.c execution, -O1
FAIL: gcc.c-torture/execute/ieee/20000320-1.c execution, -O2
@@ -115,6 +174,14 @@
FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c execution, -O3 -g
FAIL: gcc.c-torture/execute/ieee/fp-cmp-2.c execution, -Os
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c execution, -O0
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c execution, -O1
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c execution, -O2
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c execution, -O3 -fomit-frame-pointer
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c execution, -O3 -fomit-frame-pointer -funroll-loops
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c execution, -O3 -g
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-3.c execution, -Os
FAIL: gcc.c-torture/execute/ieee/fp-cmp-4.c execution, -O0
FAIL: gcc.c-torture/execute/ieee/fp-cmp-4.c execution, -O1
FAIL: gcc.c-torture/execute/ieee/fp-cmp-4.c execution, -O2
@@ -143,13 +210,13 @@
=== gcc Summary ===
-# of expected passes 14997
-# of unexpected failures 57
+# of expected passes 14977
+# of unexpected failures 77
# of unexpected successes 18
# of expected failures 81
# of unresolved testcases 21
# of unsupported tests 56
-/amnt/figaro/volumes/obj-gcc/gcc/obj.alpha/gcc-3.0-20010523/4.0f-gcc-shared/gcc/xgcc version 3.0 20010523 (prerelease)
+/amnt/figaro/volumes/obj-gcc/gcc/obj.alpha/gcc-3.0-20010523/5.1-oldas-cc-shared/gcc/xgcc version 3.0 20010523 (prerelease)
=== objc tests ===
@@ -160,12 +227,12 @@
# of expected passes 145
# of expected failures 1
-/amnt/figaro/volumes/obj-gcc/gcc/obj.alpha/gcc-3.0-20010523/4.0f-gcc-shared/gcc/xgcc version 3.0 20010523 (prerelease)
+/amnt/figaro/volumes/obj-gcc/gcc/obj.alpha/gcc-3.0-20010523/5.1-oldas-cc-shared/gcc/xgcc version 3.0 20010523 (prerelease)
Compiler version: 3.0 20010523 (prerelease)
-Platform: alpha-dec-osf4.0f
-configure flags: --host=alpha-dec-osf4.0f --prefix=/vol/gcc --with-local-prefix=/vol/gcc
+Platform: alpha-dec-osf5.1
+configure flags: --host=alpha-dec-osf5.1 --prefix=/vol/gcc --with-local-prefix=/vol/gcc
EOF
-Mail -s "Results for 3.0 20010523 (prerelease) testsuite on alpha-dec-osf4.0f" gcc-testresults@gcc.gnu.org &&
+Mail -s "Results for 3.0 20010523 (prerelease) testsuite on alpha-dec-osf5.1" gcc-testresults@gcc.gnu.org &&
true
> I suppose I might be able to work around this... I'd really rather
> not have to fall back to sjlj exceptions. It's too bad that the
> assembler is too lame to generate pc-relative relocations. (Nor
> are there plans to ever fix this, sez compaq. Sigh.)
I've just single-stepped the first EH test that fails with
Unaligned access pid=452631 <g++-eh-badalloc1> va=0x14000223c pc=0x120008c98 ra=0x120007270 inst=0xa41d8078
under a version of gdb hacked to work on V5.1. Here's what I found: in the
call chain
main -> _Z8fn_throwv (i.e. fn_throw()) -> __cxa_allocate_exception
on entry to __cxa_allocate_exception, thrown_size = 5368846320, so malloc
returns NULL ;-) I haven't looked further what might have caused this.
Rainer
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University
Email: ro@TechFak.Uni-Bielefeld.DE