Hopefully someone out there will have some experience with building STLPort on Linux/390. I've just about driven myself crazy on this, but I can't get it to work. I've tried STLport 4.0, 4.5, 4.5.3. I've completely rebuilt gcc 2.95.2 with a patch Martin Blapp pointed me towards. I've completely rebuild glibc 2.2.3. I've turned off all optimization. I've played with the -pthread compile option, the various permutations of -D_REENTRANT and -D_PTHREADS. I get further than I used to, but I'm still dying. If anyone can offer any other suggestions, I'd love to hear them. Here's the latest gdb run.
# LD_LIBRARY_PATH="../../lib:" gdb eh_test GNU gdb 5.0 Copyright 2000 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "s390-slackware-linux"... (gdb) set args -s 100 (gdb) run Starting program: /usr/src/STLport-4.5/test/eh/eh_test -s 100 /usr/src/STLport-4.5/test/eh/eh_test : Exception handling testsuite. Setting 100 as base for random sizes. iteration #0 EH test : algobase [algobase] :testing uninitialized_copy() (weak) ... 101 try successful [algobase] :testing uninitialized_fill() (weak) ... 101 try successful [algobase] :testing uninitialized_fill_n() (weak) ... 101 try successful EH test : algo EH test : testing algo.h [algo] :testing inplace_merge #1() (weak) ... 350 try successful [algo] :testing inplace_merge() #2 (weak) ... 350 try successful [algo] :testing stable_sort() #1 (weak) ... 1336 try successful [algo] :testing stable_sort() #2 (weak) ... 1336 try successful [algo] :testing stable_partition() (weak) ... 345 try successful EH test : vector [vector] :testing n-size constructor (const) ... 95 try successful [vector] :testing pointer range constructor (const) ... 85 try successful [vector] :testing range insertion at random position (weak) ... 180 try successful [vector] :testing range insertion at begin() (weak) ... 180 try successful [vector] :testing range insertion at end() (weak) ... 180 try successful [vector] :testing single insertion at random position (weak) ... 98 try successful [vector] :testing single insertion at begin() (weak) ... 98 try successful [vector] :testing single insertion at end() (weak) ... 98 try successful [vector] :testing n-ary insertion at random position (weak) ... 117 try successful [vector] :testing n-ary insertion at begin() (weak) ... 185 try successful [vector] :testing n-ary insertion at end() (weak) ... 122 try successful [vector] :testing range insertion at random position (weak) ... 192 try successful [vector] :testing vector::reserve() (strong) ... 97 try successful [vector] :testing push_back() method (strong) ... 99 try successful [vector] :testing push_back() method (strong) ... 4 try successful [vector] :testing default constructor (const) ... 1 try successful [vector] :testing n-size with instance constructor (const) ... 44 try successful [vector] :testing iterator range constructor (const) ... 97 try successful [vector] :testing copy constructor (const) ... 97 try successful [vector] :testing assignment operator (weak) ... 144 try successful [vector] :testing assignment operator (weak) ... 64 try successful EH test : bit_vector [bit_vector] :testing single insertion at random position (strong) ... 2 try successful [bit_vector] :testing single insertion at begin() (strong) ... 2 try successful [bit_vector] :testing single insertion at end() (strong) ... 2 try successful [bit_vector] :testing n-ary insertion at random position (strong) ... 2 try successful [bit_vector] :testing n-ary insertion at begin() (strong) ... 2 try successful [bit_vector] :testing n-ary insertion at end() (strong) ... 2 try successful [bit_vector] :testing range insertion at random position (strong) ... 2 try successful [bit_vector] :testing range insertion at begin() (strong) ... 2 try successful [bit_vector] :testing range insertion at end() (strong) ... 2 try successful [bit_vector] :testing BitVector::reserve() (strong) ... 2 try successful [bit_vector] :testing push_back() method (strong) ... 2 try successful [bit_vector] :testing push_back() method (strong) ... 2 try successful [bit_vector] :testing default constructor (const) ... 1 try successful [bit_vector] :testing n-size constructor (const) ... 2 try successful [bit_vector] :testing n-size with instance constructor (const) ... 2 try successful [bit_vector] :testing iterator range constructor (const) ... 2 try successful [bit_vector] :testing copy constructor (const) ... 2 try successful [bit_vector] :testing assignment operator (weak) ... 1 try successful EH test : list [list] :testing single insertion at random position (strong) ... 3 try successful [list] :testing single insertion at begin() (strong) ... 3 try successful [list] :testing single insertion at end() (strong) ... 3 try successful [list] :testing n-ary insertion at random position (weak) ... 187 try successful [list] :testing n-ary insertion at begin() (weak) ... 111 try successful [list] :testing n-ary insertion at end() (weak) ... 171 try successful [list] :testing range insertion at random position (weak) ... 15 try successful [list] :testing range insertion at begin() (weak) ... 15 try successful [list] :testing range insertion at end() (weak) ... 15 try successful [list] :testing pointer range constructor (const) ... 16 try successful [list] :testing range insertion at random position (weak) ... 181 try successful [list] :testing push_front() method (strong) ... 4 try successful [list] :testing push_back() method (strong) ... 4 try successful [list] :testing list::sort() (strong) ... Program received signal SIGSEGV, Segmentation fault. 0x42457c in _STL::_List_base<TestClass, EH_allocator<TestClass> >::clear () (gdb) bt #0 0x42457c in _STL::_List_base<TestClass, EH_allocator<TestClass> >::clear () #1 0x42890e in _STL::_List_base<TestClass, EH_allocator<TestClass> >::~_List_base () #2 0x42897c in _STL::list<TestClass, EH_allocator<TestClass> >::~list () #3 0x424490 in _S_sort__H3Z9TestClassZt12EH_allocator1Z9TestClassZQ24_STLt4less1Z9TestClass _4_STLRQ 24_STLt4list2ZX01ZX11X21_v () #4 0x42933a in _STL::list<TestClass, EH_allocator<TestClass> >::sort () #5 0x42878a in test_list_sort::operator() () #6 0x426f68 in StrongCheck__H2ZQ24_STLt4list2Z9TestClassZt12EH_allocator1Z9TestClassZ14test _list_so rt_RCX01RCX11l_v () #7 0x40b9c8 in test_list () #8 0x4091ae in main () #9 0x402c21ba in __libc_start_main () from /lib/libc.so.6 (gdb) Mark Post
