OK, what am I doing wrong here?

Nix nix@esperi.demon.co.uk
Sun Feb 10 16:30:00 GMT 2002


GCC-3.0.3, on i586-pc-linux-gnu, kernel 2.2.20, configured with
`--with-gnu-ld --with-gnu-as --enable-shared --disable-static
--prefix=/usr --verbose', binutils-2.11.92.0.12.3, glibc-2.2.5. I get
rather a lot of test failures.

Every single Java executable in the libjava tests aborts instead of
starting. There are the following libstdc++ failures (all similar
aborts):

FAIL: 19_diagnostics/stdexceptions.cc execution test
FAIL: 21_strings/append.cc execution test
FAIL: 21_strings/ctor_copy_dtor.cc execution test
FAIL: 21_strings/element_access.cc execution test
FAIL: 21_strings/insert.cc execution test
FAIL: 21_strings/substr.cc execution test
FAIL: 22_locale/ctor_copy_dtor.cc execution test
FAIL: 23_containers/bitset_ctor.cc execution test
FAIL: 23_containers/bitset_members.cc execution test
FAIL: 23_containers/vector_element_access.cc execution test
FAIL: 27_io/ios_members.cc execution test

And there are a big bunch of g++ test failures, some of which die with
useful info (scroll down, there's more below this):

FAIL: g++.abi/cxa_vec.C  Execution test
FAIL: g++.brendan/eh1.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/catchptr1.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/fntry1.C  Execution test
FAIL: g++.eh/new1.C  Execution test
FAIL: g++.eh/new2.C  Execution test
FAIL: g++.eh/pdel1.C  Execution test
FAIL: g++.eh/pdel2.C  Execution test
FAIL: g++.eh/ptr1.C  Execution test
FAIL: g++.eh/rethrow1.C  Execution test
FAIL: g++.eh/rethrow2.C  Execution test
FAIL: g++.eh/rethrow3.C  Execution test
FAIL: g++.eh/rethrow4.C  Execution test
FAIL: g++.eh/rethrow5.C  Execution test
FAIL: g++.eh/rethrow6.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/tmpl1.C  Execution test
FAIL: g++.eh/unwind1.C  Execution test
FAIL: g++.eh/vbase1.C  Execution test
FAIL: g++.eh/vbase2.C  Execution test
FAIL: g++.eh/vbase4.C  Execution test
FAIL: g++.ext/instantiate1.C not instantiated (test for errors, line 20)
FAIL: g++.law/weak.C (test for excess errors)
FAIL: g++.martin/new1.C  Execution test
FAIL: g++.mike/dyncast1.C  Execution test
FAIL: g++.mike/dyncast2.C  Execution test
FAIL: g++.mike/eh10.C  Execution test
FAIL: g++.mike/eh12.C  Execution test
FAIL: g++.mike/eh14.C  Execution test
FAIL: g++.mike/eh16.C  Execution test
FAIL: g++.mike/eh17.C  Execution test
FAIL: g++.mike/eh18.C  Execution test
FAIL: g++.mike/eh2.C  Execution test
FAIL: g++.mike/eh21.C  Execution test
FAIL: g++.mike/eh24.C  Execution test
FAIL: g++.mike/eh25.C  Execution test
FAIL: g++.mike/eh26.C  Execution test
FAIL: g++.mike/eh27.C  Execution test
FAIL: g++.mike/eh28.C  Execution test
FAIL: g++.mike/eh29.C  Execution test
FAIL: g++.mike/eh3.C  Execution test
FAIL: g++.mike/eh31.C  Execution test
FAIL: g++.mike/eh33.C  Execution test
FAIL: g++.mike/eh34.C  Execution test
FAIL: g++.mike/eh35.C  Execution test
FAIL: g++.mike/eh36.C  Execution test
FAIL: g++.mike/eh37.C  Execution test
FAIL: g++.mike/eh38.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/eh44.C  Execution test
FAIL: g++.mike/eh47.C  Execution test
FAIL: g++.mike/eh48.C  Execution test
FAIL: g++.mike/eh49.C  Execution test
FAIL: g++.mike/eh5.C  Execution test
FAIL: g++.mike/eh50.C  Execution test
FAIL: g++.mike/eh51.C  Execution test
FAIL: g++.mike/eh6.C  Execution test
FAIL: g++.mike/eh8.C  Execution test
FAIL: g++.mike/p7912.C  Execution test
FAIL: g++.mike/p9706.C  Execution test
FAIL: g++.oliva/delete3.C  Execution test
FAIL: g++.oliva/new1.C  Execution test
FAIL: g++.other/array1.C  Execution test
FAIL: g++.other/eh3.C  Execution test
FAIL: g++.other/init7.C  Execution test
FAIL: g++.other/new7.C  Execution test
FAIL: g++.other/singleton.C  Execution test
FAIL: g++.other/vbase2.C  Execution test
FAIL: g++.pt/fntry1.C  Execution test
FAIL: g++.robertl/eb31.C  Execution test
FAIL: g++.robertl/eb50.C  Execution test
FAIL: g++.robertl/eb66.C  Execution test
FAIL: g++.robertl/eb88.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

Here's the result of a

for name in `find . -perm +a+x -type f`; do
    echo Trying $name; $name && echo '(success)';
done

in the testsuite directory for g++-3. Most abort, but not all:

Trying ./20000722-1.x0
Aborted
Trying ./20000722-1.x1
Aborted
Trying ./20000722-1.x2
Aborted
Trying ./20000722-1.x3
Aborted
Trying ./20000722-1.x4
Aborted
Trying ./20000722-1.x5
Aborted
Trying ./20010123-1.x0
Aborted
Trying ./20010123-1.x1
Aborted
Trying ./20010123-1.x2
Aborted
Trying ./20010123-1.x3
Aborted
Trying ./20010123-1.x4
Aborted
Trying ./20010123-1.x5
Aborted
Trying ./20010123-1.x6
Aborted
Trying ./20010123-1.x7
Aborted
Trying ./loop-2b.x2
Aborted
Trying ./x
foo
Trying ./g++-abi-cxa_vec-C.exe
test 1 failed 3
Segmentation fault
Trying ./g++-brendan-eh1-C.exe
Aborted
Trying ./g++-eh-badalloc1-C.exe
Aborted
Trying ./g++-eh-catch11-C.exe
Aborted
Trying ./g++-eh-catch12-C.exe
Aborted
Trying ./g++-eh-catch3-C.exe
Aborted
Trying ./g++-eh-catch3p-C.exe
Aborted
Trying ./g++-eh-catch4-C.exe
Aborted
Trying ./g++-eh-catch4p-C.exe
Aborted
Trying ./g++-eh-catch5-C.exe
Aborted
Trying ./g++-eh-catch5p-C.exe
Aborted
Trying ./g++-eh-catch6-C.exe
Aborted
Trying ./g++-eh-catch6p-C.exe
Aborted
Trying ./g++-eh-catch7-C.exe
Aborted
Trying ./g++-eh-catch7p-C.exe
Aborted
Trying ./g++-eh-catch8-C.exe
Aborted
Trying ./g++-eh-catch8p-C.exe
Aborted
Trying ./g++-eh-catch9-C.exe
Aborted
Trying ./g++-eh-catch9p-C.exe
Aborted
Trying ./g++-eh-catchptr1-C.exe
Aborted
Trying ./g++-eh-cleanup1-C.exe
stackObj::~stackObj()
Aborted
Trying ./g++-eh-cleanup2-C.exe
in int thrower()
Aborted
Trying ./g++-eh-flow1-C.exe
Aborted
Trying ./g++-eh-fntry1-C.exe
Aborted
Trying ./g++-eh-new1-C.exe
Aborted
Trying ./g++-eh-new2-C.exe
Aborted
Trying ./g++-eh-pdel1-C.exe
Aborted
Trying ./g++-eh-pdel2-C.exe
Aborted
Trying ./g++-eh-ptr1-C.exe
Aborted
Trying ./g++-eh-rethrow1-C.exe
Throwing 1...
A() 1
A(const A&) 2
Aborted
Trying ./g++-eh-rethrow2-C.exe
Throwing 1...
A() 1
A(const A&) 2
Aborted
Trying ./g++-eh-rethrow3-C.exe
2: Throwing
CALLING TERMINATE
Trying ./g++-eh-rethrow4-C.exe
Throwing 1...
A() 1
A(const A&) 2
Aborted
Trying ./g++-eh-rethrow5-C.exe
Throwing 1...
A() 1
A(const A&) 2
Aborted
Trying ./g++-eh-rethrow6-C.exe
A() 0
Throwing I...
A(const A&) 1
Aborted
Trying ./g++-eh-spec1-C.exe
Trying ./g++-eh-spec2-C.exe
Trying ./g++-eh-spec3-C.exe
Trying ./g++-eh-tmpl1-C.exe
Aborted
Trying ./g++-eh-unwind1-C.exe
Aborted
Trying ./g++-eh-vbase1-C.exe
Aborted
Trying ./g++-eh-vbase2-C.exe
Aborted
Trying ./g++-eh-vbase4-C.exe
Aborted
Trying ./g++-law-temps4-C.exe
Aborted
Trying ./g++-martin-new1-C.exe
Aborted
Trying ./g++-mike-dyncast1-C.exe
Aborted
Trying ./g++-mike-dyncast2-C.exe
Aborted
Trying ./g++-mike-eh10-C.exe
Aborted
Trying ./g++-mike-eh12-C.exe
Aborted
Trying ./g++-mike-eh14-C.exe
Aborted
Trying ./g++-mike-eh16-C.exe
Aborted
Trying ./g++-mike-eh17-C.exe
Aborted
Trying ./g++-mike-eh18-C.exe
Aborted
Trying ./g++-mike-eh2-C.exe
Aborted
Trying ./g++-mike-eh21-C.exe
Aborted
Trying ./g++-mike-eh24-C.exe
Aborted
Trying ./g++-mike-eh25-C.exe
Aborted
Trying ./g++-mike-eh26-C.exe
Aborted
Trying ./g++-mike-eh27-C.exe
Aborted
Trying ./g++-mike-eh28-C.exe
Aborted
Trying ./g++-mike-eh29-C.exe
Aborted
Trying ./g++-mike-eh3-C.exe
Aborted
Trying ./g++-mike-eh31-C.exe
Aborted
Trying ./g++-mike-eh33-C.exe
Aborted
Trying ./g++-mike-eh34-C.exe
Aborted
Trying ./g++-mike-eh35-C.exe
Aborted
Trying ./g++-mike-eh36-C.exe
Aborted
Trying ./g++-mike-eh37-C.exe
Aborted
Trying ./g++-mike-eh38-C.exe
Aborted
Trying ./g++-mike-eh39-C.exe
Aborted
Trying ./g++-mike-eh40-C.exe
Aborted
Trying ./g++-mike-eh41-C.exe
Aborted
Trying ./g++-mike-eh42-C.exe
Aborted
Trying ./g++-mike-eh44-C.exe
Aborted
Trying ./g++-mike-eh47-C.exe
Aborted
Trying ./g++-mike-eh48-C.exe
Aborted
Trying ./g++-mike-eh49-C.exe
Aborted
Trying ./g++-mike-eh5-C.exe
Aborted
Trying ./g++-mike-eh50-C.exe
Aborted
Trying ./g++-mike-eh51-C.exe
Aborted
Trying ./g++-mike-eh6-C.exe
Aborted
Trying ./g++-mike-eh8-C.exe
Aborted
Trying ./g++-mike-p7325-C.exe
Trying ./g++-mike-p7912-C.exe
Aborted
Trying ./g++-mike-p9706-C.exe
Aborted
Trying ./g++-oliva-delete3-C.exe
Aborted
Trying ./g++-oliva-expr2-C.exe
Trying ./g++-oliva-ext1-C.exe
Aborted
Trying ./g++-oliva-new1-C.exe
Aborted
Trying ./g++-other-array1-C.exe
Aborted
Trying ./g++-other-eh3-C.exe
Aborted
Trying ./g++-other-empty1-C.exe
Aborted
Trying ./g++-other-init5-C.exe
Aborted
Trying ./g++-other-init7-C.exe
Aborted
Trying ./g++-other-new7-C.exe
Aborted
Trying ./g++-other-singleton-C.exe
Aborted
Trying ./g++-other-vbase2-C.exe
Aborted
Trying ./g++-pt-fntry1-C.exe
Aborted
Trying ./g++-robertl-eb31-C.exe
Aborted
Trying ./g++-robertl-eb50-C.exe
Aborted
Trying ./g++-robertl-eb66-C.exe
Aborted
Trying ./g++-robertl-eb88-C.exe
Aborted
Trying ./g++-robertl-eh990323-1-C.exe
Aborted
Trying ./g++-robertl-eh990323-2-C.exe
Aborted
Trying ./g++-robertl-eh990323-3-C.exe
Aborted
Trying ./g++-robertl-eh990323-4-C.exe
Aborted
Trying ./g++-robertl-eh990323-5-C.exe
Aborted
Trying ./g++-robertl-ice990323-2-C.exe
Aborted
Trying ./formal_protocol-6.x
Segmentation fault


I'm obviously not planning to use this instance of g++ for anything, not
in this state, as its eh is quite obviously buggered; but what's wrong
with it? After my experiences trying to get g++ working on a sparc-linux
box I naturally tend to say `ah!  binutils!  tis thee!' whenever
anything goes wrong with exception handling, but I have nothing to back
this up with.

Anyone seen anything like this?

-- 
`It is to be proven that Linux Kernel is the most stable than MS Windows
 that it uses less stable.' --- Bryan Parkoff being very comprehensible



More information about the Gcc-help mailing list