This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]