[LLVMbugs] [Bug 11892] New: generated code crashes powerpc-darwin8

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Jan 30 17:58:23 PST 2012


http://llvm.org/bugs/show_bug.cgi?id=11892

             Bug #: 11892
           Summary: generated code crashes powerpc-darwin8
           Product: new-bugs
           Version: trunk
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: fang at csl.cornell.edu
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


I've built llvm/clang on svn trunk (r149127) on powerpc-darwin8.

Test results page: http://www.csl.cornell.edu/~fang/sw/llvm/

[fangism:~/temp/clang] fang% clang++ --version
clang version 3.1 (trunk)
Target: powerpc-apple-darwin8.11.0
Thread model: posix

I tried to compile a simple C++ program and run it:

[fangism:~/temp/clang] fang% cat settest.cc
#include <set>
using std::set;

int
main(int argc, char* argv[]) {
        std::set<int> foo;
        foo.insert(13);
        return 0;
}

[fangism:~/temp/clang] fang% make
clang++  -c settest.cc -o settest.o
clang++ settest.o -o settest

but it crashes:

[fangism:~/temp/clang] fang% gdb ./settest
GNU gdb 6.3.50-20050815 (Apple version gdb-696) (Sat Oct 20 18:20:28 GMT 2007)
Copyright 2004 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 "powerpc-apple-darwin"...
warning: --arch option not supported in this gdb.
Reading symbols for shared libraries .... done

(gdb) run
Starting program: /Users/fang/temp/clang/settest 
Reading symbols for shared libraries . done

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000008
0x94c4bed4 in std::_Rb_tree_insert_and_rebalance ()
(gdb) where
#0  0x94c4bed4 in std::_Rb_tree_insert_and_rebalance ()
#1  0x00004af8 in std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_insert ()
#2  0x00004558 in std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::insert_unique ()
#3  0x00004360 in std::set<int, std::less<int>, std::allocator<int> >::insert
()
#4  0x00003670 in main ()

the executable correctly links to the system's libstdc++:
[fangism:~/temp/clang] fang% otool -L ./settest
./settest:
        /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current
version 7.4.0)
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version
1.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 88.1.12)

assembly dump:
[fangism:~/temp/clang] fang% otool -t -v -V -p _main ./settest | c++filt
./settest:
(__TEXT,__text) section
_main:
00003600        mfspr   r0,lr
00003604        stw     r31,0xfffc(r1)
00003608        stw     r0,0x8(r1)
0000360c        stwu    r1,0xff60(r1)
00003610        or      r31,r1,r1
00003614        li      r5,0x0
00003618        stw     r5,0x98(r31)
0000361c        stw     r3,0x94(r31)
00003620        stw     r4,0x90(r31)
00003624        addi    r5,r31,0x78
00003628        stw     r3,0x58(r31)
0000362c        or      r3,r5,r5
00003630        stw     r5,0x54(r31)
00003634        stw     r4,0x50(r31)
00003638        bl      0x3dc0  ; symbol stub for: std::set<int,
std::less<int>, std::allocator<int> >::set()
0000363c        li      r3,0xd
00003640        stw     r3,0x74(r31)
00003644        lwz     r3,0x50(r31)
00003648        lwz     r4,0x58(r31)
0000364c        addi    r5,r31,0x68
00003650        addi    r6,r31,0x74
00003654        stw     r3,0x4c(r31)
00003658        or      r3,r5,r5
0000365c        lwz     r5,0x54(r31)
00003660        stw     r4,0x48(r31)
00003664        or      r4,r5,r5
00003668        or      r5,r6,r6
0000366c        bl      0x3da0  ; symbol stub for: std::set<int,
std::less<int>, std::allocator<int> >::insert(int const&)
00003670        b       0x3674
00003674        li      r3,0x0
00003678        stw     r3,0x98(r31)
0000367c        li      r3,0x1
00003680        stw     r3,0x5c(r31)
00003684        addi    r3,r31,0x78
00003688        bl      0x3e00  ; symbol stub for: std::set<int,
std::less<int>, std::allocator<int> >::~set()
0000368c        lwz     r3,0x98(r31)
00003690        addi    r1,r1,0xa0
00003694        lwz     r0,0x8(r1)
00003698        lwz     r31,0xfffc(r1)
0000369c        mtspr   lr,r0
000036a0        blr
000036a4        stw     r3,0x64(r31)
000036a8        stw     r4,0x60(r31)
000036ac        addi    r3,r31,0x78
000036b0        bl      0x3e00  ; symbol stub for: std::set<int,
std::less<int>, std::allocator<int> >::~set()
000036b4        b       0x36b8
000036b8        lwz     r3,0x64(r31)
000036bc        stw     r3,0x44(r31)
000036c0        b       0x36d0
000036c4        stw     r3,0x40(r31)
000036c8        stw     r4,0x3c(r31)
000036cc        bl      0x4220  ; symbol stub for: std::terminate()
000036d0        lwz     r3,0x44(r31)
000036d4        bl      0x39c0  ; symbol stub for: __Unwind_Resume

symbol dump of executable:
[fangism:~/temp/clang] fang% nm settest | c++filt 
00005a98 s EH_frame0
00005ae8 s EH_frame1
00005964 s GCC_except_table0
000059b0 s GCC_except_table24
00005a18 s GCC_except_table41
00005a38 s GCC_except_table45
00005a58 s GCC_except_table58
00005a78 s GCC_except_table62
0000600c D _NXArgc
00006008 D _NXArgv
         U __Unwind_Resume
00004ea0 S __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::deallocate(std::_Rb_tree_node<int>*, unsigned long)
00005030 S __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::allocate(unsigned long, void const*)
00005e00 S __ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeIiEE8allocateEmPKv.eh
00005660 S __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::new_allocator(__gnu_cxx::new_allocator<std::_Rb_tree_node<int> > const&)
00005560 S __gnu_cxx::new_allocator<std::_Rb_tree_node<int> >::new_allocator()
000054f0 S __gnu_cxx::new_allocator<std::_Rb_tree_node<int> >::~new_allocator()
00005950 S __gnu_cxx::new_allocator<int>::destroy(int*)
00004db0 S __gnu_cxx::new_allocator<int>::construct(int*, int const&)
00005020 S __gnu_cxx::new_allocator<int>::new_allocator()
00004f50 S __gnu_cxx::new_allocator<int>::~new_allocator()
000050c0 S __gnu_cxx::new_allocator<std::_Rb_tree_node<int> >::max_size() const
000048f0 S std::_Rb_tree_iterator<int>::operator==(std::_Rb_tree_iterator<int>
const&) const
000047a0 S std::less<int>::operator()(int const&, int const&) const
00004d60 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::get_allocator() const
000047e0 S std::_Identity<int>::operator()(int const&) const
00005410 S std::allocator<std::_Rb_tree_node<int>
>::allocator<int>(std::allocator<int> const&)
00005600 S std::allocator<std::_Rb_tree_node<int>
>::allocator(std::allocator<std::_Rb_tree_node<int> > const&)
00005500 S std::allocator<std::_Rb_tree_node<int>
>::allocator<int>(std::allocator<int> const&)
00005470 S std::allocator<std::_Rb_tree_node<int> >::~allocator()
000054b0 S std::allocator<std::_Rb_tree_node<int> >::~allocator()
00005260 S std::allocator<int>::allocator()
00004f60 S std::allocator<int>::allocator<std::_Rb_tree_node<int>
>(std::allocator<std::_Rb_tree_node<int> > const&)
000052a0 S std::allocator<int>::allocator()
00004fc0 S std::allocator<int>::allocator<std::_Rb_tree_node<int>
>(std::allocator<std::_Rb_tree_node<int> > const&)
00004e00 S std::allocator<int>::~allocator()
00004f10 S std::allocator<int>::~allocator()
00004890 S
std::_Rb_tree_iterator<int>::_Rb_tree_iterator(std::_Rb_tree_node<int>*)
00005c4c S __ZNSt17_Rb_tree_iteratorIiEC1EPSt13_Rb_tree_nodeIiE.eh
00005120 S
std::_Rb_tree_iterator<int>::_Rb_tree_iterator(std::_Rb_tree_node<int>*)
00004b30 S std::_Rb_tree_iterator<int>::operator--()
00005d0c S __ZNSt17_Rb_tree_iteratorIiEmmEv.eh
000046a0 S
std::_Rb_tree_const_iterator<int>::_Rb_tree_const_iterator(std::_Rb_tree_iterator<int>
const&)
00005bec S __ZNSt23_Rb_tree_const_iteratorIiEC1ERKSt17_Rb_tree_iteratorIiE.eh
00004700 S
std::_Rb_tree_const_iterator<int>::_Rb_tree_const_iterator(std::_Rb_tree_iterator<int>
const&)
00004320 S std::set<int, std::less<int>, std::allocator<int> >::insert(int
const&)
00005b2c S __ZNSt3setIiSt4lessIiESaIiEE6insertERKi.eh
000042e0 S std::set<int, std::less<int>, std::allocator<int> >::set()
00005afc S __ZNSt3setIiSt4lessIiESaIiEEC1Ev.eh
00005160 S std::set<int, std::less<int>, std::allocator<int> >::set()
00005e30 S __ZNSt3setIiSt4lessIiESaIiEEC2Ev.eh
000043c0 S std::set<int, std::less<int>, std::allocator<int> >::~set()
00005b5c S __ZNSt3setIiSt4lessIiESaIiEED1Ev.eh
00005680 S std::set<int, std::less<int>, std::allocator<int> >::~set()
00005ef8 S __ZNSt3setIiSt4lessIiESaIiEED2Ev.eh
00004970 S std::pair<std::_Rb_tree_iterator<int>,
bool>::pair(std::_Rb_tree_iterator<int> const&, bool const&)
00005cac S __ZNSt4pairISt17_Rb_tree_iteratorIiEbEC1ERKS1_RKb.eh
000050e0 S std::pair<std::_Rb_tree_iterator<int>,
bool>::pair(std::_Rb_tree_iterator<int> const&, bool const&)
00004630 S std::pair<std::_Rb_tree_const_iterator<int>,
bool>::pair(std::_Rb_tree_const_iterator<int> const&, bool const&)
00005bbc S __ZNSt4pairISt23_Rb_tree_const_iteratorIiEbEC1ERKS1_RKb.eh
00004720 S std::pair<std::_Rb_tree_const_iterator<int>,
bool>::pair(std::_Rb_tree_const_iterator<int> const&, bool const&)
00004d10 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_get_node()
00005da0 S __ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE11_M_get_nodeEv.eh
00004e40 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_put_node(std::_Rb_tree_node<int>*)
00005dd0 S
__ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE11_M_put_nodeEPSt13_Rb_tree_nodeIiE.eh
00005890 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::destroy_node(std::_Rb_tree_node<int>*)
00005fbc S
__ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE12destroy_nodeEPSt13_Rb_tree_nodeIiE.eh
000053a0 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree_impl<std::less<int>,
false>::_Rb_tree_impl(std::allocator<std::_Rb_tree_node<int> > const&,
std::less<int> const&)
00005ec8 S
__ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE13_Rb_tree_implIS3_Lb0EEC1ERKSaISt13_Rb_tree_nodeIiEERKS3_.eh
00005570 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree_impl<std::less<int>,
false>::_Rb_tree_impl(std::allocator<std::_Rb_tree_node<int> > const&,
std::less<int> const&)
00005810 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree_impl<std::less<int>, false>::~_Rb_tree_impl()
00005850 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree_impl<std::less<int>, false>::~_Rb_tree_impl()
00004400 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::insert_unique(int const&)
00005b8c S
__ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE13insert_uniqueERKi.eh
00004bf0 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_create_node(int const&)
00005d6c S
__ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE14_M_create_nodeERKi.eh
00004920 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::begin()
00005c7c S __ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5beginEv.eh
00004780 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_end()
00004800 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_key(std::_Rb_tree_node<int> const*)
00005c1c S
__ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE6_S_keyEPKSt13_Rb_tree_nodeIiE.eh
00004b80 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_key(std::_Rb_tree_node_base const*)
00005d3c S
__ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE6_S_keyEPKSt18_Rb_tree_node_base.eh
00004850 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_left(std::_Rb_tree_node_base*)
00004760 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_begin()
00005780 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_erase(std::_Rb_tree_node<int>*)
00005f8c S
__ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE.eh
00004870 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_right(std::_Rb_tree_node_base*)
00005140 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_value(std::_Rb_tree_node<int> const*)
00004bd0 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_value(std::_Rb_tree_node_base const*)
000049e0 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_insert(std::_Rb_tree_node_base*,
std::_Rb_tree_node_base*, int const&)
00005cdc S
__ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE9_M_insertEPSt18_Rb_tree_node_baseS7_RKi.eh
000051f0 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree(std::less<int> const&, std::allocator<int>
const&)
00005e64 S __ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEEC1ERKS3_RKS4_.eh
000052e0 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree(std::less<int> const&, std::allocator<int>
const&)
00005e94 S __ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEEC2ERKS3_RKS4_.eh
000056c0 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::~_Rb_tree()
00005f28 S __ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED1Ev.eh
00005700 S std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::~_Rb_tree()
00005f58 S __ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev.eh
         U std::__throw_bad_alloc()
         U std::_Rb_tree_decrement(std::_Rb_tree_node_base*)
         U std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*,
std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)
         U std::terminate()
         U operator delete(void*)
         U operator new(unsigned long)
00003504 t ___cxa_atexit
         U ___cxa_begin_catch
         U ___cxa_end_catch
         U ___cxa_rethrow
000024f0 T ___darwin_gcc3_preregister_frame_info
00001000 A ___dso_handle
         U ___gxx_personality_v0
         U ___keymgr_dwarf2_register_sections
         U ___keymgr_global
00006000 D ___progname
         U __cthread_init_routine
00002258 t __dyld_func_lookup
         U __dyld_register_func_for_add_image
         U __dyld_register_func_for_remove_image
         U __init_keymgr
         U __keymgr_get_and_lock_processwide_ptr
         U __keymgr_set_and_unlock_processwide_ptr
00001000 A __mh_execute_header
00001ef4 t __start
         U _abort
00002c60 t _add_routine
00003584 t _atexit
000031e4 t _atexit_common
         U _calloc
00006190 S _catch_exception_raise
00006194 S _catch_exception_raise_state
00006198 S _catch_exception_raise_state_identity
0000266c t _check_cxa_atexit
0000619c S _clock_alarm_reply
000025f4 t _cxa_atexit_check_1
000025cc t _cxa_atexit_check_2
00002f30 t _cxa_atexit_wrapper
00002268 t _darwin_unwind_dyld_add_image_hook
00002350 t _darwin_unwind_dyld_remove_image_hook
         U _dlopen
         U _dlsym
000061a0 S _do_mach_notify_dead_name
000061a4 S _do_mach_notify_no_senders
000061a8 S _do_mach_notify_port_deleted
000061ac S _do_mach_notify_send_once
000061b0 S _do_seqnos_mach_notify_dead_name
000061b4 S _do_seqnos_mach_notify_no_senders
000061b8 S _do_seqnos_mach_notify_port_deleted
000061bc S _do_seqnos_mach_notify_send_once
00006004 D _environ
         U _errno
         U _exit
00002738 t _find_atexit_10_3
         U _free
00002970 t _get_globals
         U _mach_init_routine
00003600 T _main
00005ab4 S _main.eh
         U _malloc
000030c8 t _our_atexit
00006010 d _pointer_to__darwin_gcc3_preregister_frame_info
000061c0 S _receive_samples
00002dac t _run_routines
         U _strcmp
00002240 t dyld_stub_binding_helper
00001ec0 T start

Indirect symbols:
[fangism:~/temp/clang] fang% otool -I -V ./settest | c++filt
./settest:
Indirect symbols for (__TEXT,__symbol_stub) 0 entries
address    index name
Indirect symbols for (__TEXT,__picsymbol_stub) 0 entries
address    index name
Indirect symbols for (__TEXT,__symbol_stub1) 2 entries
address    index name
0x000036e0   162 _exit
0x000036f0   149 ___keymgr_dwarf2_register_sections
Indirect symbols for (__TEXT,__picsymbolstub1) 85 entries
address    index name
0x00003840   157 _abort
0x00003860   152 __dyld_register_func_for_add_image
0x00003880   153 __dyld_register_func_for_remove_image
0x000038a0   155 __keymgr_get_and_lock_processwide_ptr
0x000038c0   154 __init_keymgr
0x000038e0   163 _free
0x00003900   156 __keymgr_set_and_unlock_processwide_ptr
0x00003920   158 _calloc
0x00003940   159 _dlopen
0x00003960   165 _malloc
0x00003980   160 _dlsym
0x000039a0   166 _strcmp
0x000039c0   138 __Unwind_Resume
0x000039e0    28 __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::deallocate(std::_Rb_tree_node<int>*, unsigned long)
0x00003a00    29 __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::allocate(unsigned long, void const*)
0x00003a20    31 __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::new_allocator(__gnu_cxx::new_allocator<std::_Rb_tree_node<int> > const&)
0x00003a40    32 __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::new_allocator()
0x00003a60    33 __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::~new_allocator()
0x00003a80    34 __gnu_cxx::new_allocator<int>::destroy(int*)
0x00003aa0    35 __gnu_cxx::new_allocator<int>::construct(int*, int const&)
0x00003ac0    36 __gnu_cxx::new_allocator<int>::new_allocator()
0x00003ae0    37 __gnu_cxx::new_allocator<int>::~new_allocator()
0x00003b00    38 __gnu_cxx::new_allocator<std::_Rb_tree_node<int> >::max_size()
const
0x00003b20    39
std::_Rb_tree_iterator<int>::operator==(std::_Rb_tree_iterator<int> const&)
const
0x00003b40    40 std::less<int>::operator()(int const&, int const&) const
0x00003b60    41 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::get_allocator() const
0x00003b80    42 std::_Identity<int>::operator()(int const&) const
0x00003ba0    43 std::allocator<std::_Rb_tree_node<int>
>::allocator<int>(std::allocator<int> const&)
0x00003bc0    44 std::allocator<std::_Rb_tree_node<int>
>::allocator(std::allocator<std::_Rb_tree_node<int> > const&)
0x00003be0    45 std::allocator<std::_Rb_tree_node<int>
>::allocator<int>(std::allocator<int> const&)
0x00003c00    46 std::allocator<std::_Rb_tree_node<int> >::~allocator()
0x00003c20    47 std::allocator<std::_Rb_tree_node<int> >::~allocator()
0x00003c40    48 std::allocator<int>::allocator()
0x00003c60    49 std::allocator<int>::allocator<std::_Rb_tree_node<int>
>(std::allocator<std::_Rb_tree_node<int> > const&)
0x00003c80    50 std::allocator<int>::allocator()
0x00003ca0    51 std::allocator<int>::allocator<std::_Rb_tree_node<int>
>(std::allocator<std::_Rb_tree_node<int> > const&)
0x00003cc0    52 std::allocator<int>::~allocator()
0x00003ce0    53 std::allocator<int>::~allocator()
0x00003d00    54
std::_Rb_tree_iterator<int>::_Rb_tree_iterator(std::_Rb_tree_node<int>*)
0x00003d20    56
std::_Rb_tree_iterator<int>::_Rb_tree_iterator(std::_Rb_tree_node<int>*)
0x00003d40    57 std::_Rb_tree_iterator<int>::operator--()
0x00003d60    59
std::_Rb_tree_const_iterator<int>::_Rb_tree_const_iterator(std::_Rb_tree_iterator<int>
const&)
0x00003d80    61
std::_Rb_tree_const_iterator<int>::_Rb_tree_const_iterator(std::_Rb_tree_iterator<int>
const&)
0x00003da0    62 std::set<int, std::less<int>, std::allocator<int>
>::insert(int const&)
0x00003dc0    64 std::set<int, std::less<int>, std::allocator<int> >::set()
0x00003de0    66 std::set<int, std::less<int>, std::allocator<int> >::set()
0x00003e00    68 std::set<int, std::less<int>, std::allocator<int> >::~set()
0x00003e20    70 std::set<int, std::less<int>, std::allocator<int> >::~set()
0x00003e40    72 std::pair<std::_Rb_tree_iterator<int>,
bool>::pair(std::_Rb_tree_iterator<int> const&, bool const&)
0x00003e60    74 std::pair<std::_Rb_tree_iterator<int>,
bool>::pair(std::_Rb_tree_iterator<int> const&, bool const&)
0x00003e80    75 std::pair<std::_Rb_tree_const_iterator<int>,
bool>::pair(std::_Rb_tree_const_iterator<int> const&, bool const&)
0x00003ea0    77 std::pair<std::_Rb_tree_const_iterator<int>,
bool>::pair(std::_Rb_tree_const_iterator<int> const&, bool const&)
0x00003ec0    78 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_get_node()
0x00003ee0    80 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_put_node(std::_Rb_tree_node<int>*)
0x00003f00    82 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::destroy_node(std::_Rb_tree_node<int>*)
0x00003f20    84 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree_impl<std::less<int>,
false>::_Rb_tree_impl(std::allocator<std::_Rb_tree_node<int> > const&,
std::less<int> const&)
0x00003f40    86 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree_impl<std::less<int>,
false>::_Rb_tree_impl(std::allocator<std::_Rb_tree_node<int> > const&,
std::less<int> const&)
0x00003f60    87 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree_impl<std::less<int>, false>::~_Rb_tree_impl()
0x00003f80    88 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree_impl<std::less<int>, false>::~_Rb_tree_impl()
0x00003fa0    89 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::insert_unique(int const&)
0x00003fc0    91 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_create_node(int const&)
0x00003fe0    93 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::begin()
0x00004000    95 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_end()
0x00004020    96 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_key(std::_Rb_tree_node<int> const*)
0x00004040    98 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_key(std::_Rb_tree_node_base const*)
0x00004060   100 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_left(std::_Rb_tree_node_base*)
0x00004080   101 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_begin()
0x000040a0   102 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_erase(std::_Rb_tree_node<int>*)
0x000040c0   104 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_right(std::_Rb_tree_node_base*)
0x000040e0   105 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_value(std::_Rb_tree_node<int> const*)
0x00004100   106 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_value(std::_Rb_tree_node_base const*)
0x00004120   107 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_insert(std::_Rb_tree_node_base*,
std::_Rb_tree_node_base*, int const&)
0x00004140   109 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree(std::less<int> const&, std::allocator<int>
const&)
0x00004160   111 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree(std::less<int> const&, std::allocator<int>
const&)
0x00004180   113 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::~_Rb_tree()
0x000041a0   115 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::~_Rb_tree()
0x000041c0   139 std::__throw_bad_alloc()
0x000041e0   140 std::_Rb_tree_decrement(std::_Rb_tree_node_base*)
0x00004200   141 std::_Rb_tree_insert_and_rebalance(bool,
std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)
0x00004220   142 std::terminate()
0x00004240   143 operator delete(void*)
0x00004260   144 operator new(unsigned long)
0x00004280   145 ___cxa_begin_catch
0x000042a0   146 ___cxa_end_catch
0x000042c0   147 ___cxa_rethrow
Indirect symbols for (__DATA,__nl_symbol_ptr) 6 entries
address    index name
0x00006014   164 _mach_init_routine
0x00006018   161 _errno
0x0000601c   151 __cthread_init_routine
0x00006020   150 ___keymgr_global
0x00006024   118 ___dso_handle
0x00006028   148 ___gxx_personality_v0
Indirect symbols for (__DATA,__la_symbol_ptr) 87 entries
address    index name
0x0000602c   162 _exit
0x00006030   149 ___keymgr_dwarf2_register_sections
0x00006034   157 _abort
0x00006038   152 __dyld_register_func_for_add_image
0x0000603c   153 __dyld_register_func_for_remove_image
0x00006040   155 __keymgr_get_and_lock_processwide_ptr
0x00006044   154 __init_keymgr
0x00006048   163 _free
0x0000604c   156 __keymgr_set_and_unlock_processwide_ptr
0x00006050   158 _calloc
0x00006054   159 _dlopen
0x00006058   165 _malloc
0x0000605c   160 _dlsym
0x00006060   166 _strcmp
0x00006064   138 __Unwind_Resume
0x00006068    28 __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::deallocate(std::_Rb_tree_node<int>*, unsigned long)
0x0000606c    29 __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::allocate(unsigned long, void const*)
0x00006070    31 __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::new_allocator(__gnu_cxx::new_allocator<std::_Rb_tree_node<int> > const&)
0x00006074    32 __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::new_allocator()
0x00006078    33 __gnu_cxx::new_allocator<std::_Rb_tree_node<int>
>::~new_allocator()
0x0000607c    34 __gnu_cxx::new_allocator<int>::destroy(int*)
0x00006080    35 __gnu_cxx::new_allocator<int>::construct(int*, int const&)
0x00006084    36 __gnu_cxx::new_allocator<int>::new_allocator()
0x00006088    37 __gnu_cxx::new_allocator<int>::~new_allocator()
0x0000608c    38 __gnu_cxx::new_allocator<std::_Rb_tree_node<int> >::max_size()
const
0x00006090    39
std::_Rb_tree_iterator<int>::operator==(std::_Rb_tree_iterator<int> const&)
const
0x00006094    40 std::less<int>::operator()(int const&, int const&) const
0x00006098    41 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::get_allocator() const
0x0000609c    42 std::_Identity<int>::operator()(int const&) const
0x000060a0    43 std::allocator<std::_Rb_tree_node<int>
>::allocator<int>(std::allocator<int> const&)
0x000060a4    44 std::allocator<std::_Rb_tree_node<int>
>::allocator(std::allocator<std::_Rb_tree_node<int> > const&)
0x000060a8    45 std::allocator<std::_Rb_tree_node<int>
>::allocator<int>(std::allocator<int> const&)
0x000060ac    46 std::allocator<std::_Rb_tree_node<int> >::~allocator()
0x000060b0    47 std::allocator<std::_Rb_tree_node<int> >::~allocator()
0x000060b4    48 std::allocator<int>::allocator()
0x000060b8    49 std::allocator<int>::allocator<std::_Rb_tree_node<int>
>(std::allocator<std::_Rb_tree_node<int> > const&)
0x000060bc    50 std::allocator<int>::allocator()
0x000060c0    51 std::allocator<int>::allocator<std::_Rb_tree_node<int>
>(std::allocator<std::_Rb_tree_node<int> > const&)
0x000060c4    52 std::allocator<int>::~allocator()
0x000060c8    53 std::allocator<int>::~allocator()
0x000060cc    54
std::_Rb_tree_iterator<int>::_Rb_tree_iterator(std::_Rb_tree_node<int>*)
0x000060d0    56
std::_Rb_tree_iterator<int>::_Rb_tree_iterator(std::_Rb_tree_node<int>*)
0x000060d4    57 std::_Rb_tree_iterator<int>::operator--()
0x000060d8    59
std::_Rb_tree_const_iterator<int>::_Rb_tree_const_iterator(std::_Rb_tree_iterator<int>
const&)
0x000060dc    61
std::_Rb_tree_const_iterator<int>::_Rb_tree_const_iterator(std::_Rb_tree_iterator<int>
const&)
0x000060e0    62 std::set<int, std::less<int>, std::allocator<int>
>::insert(int const&)
0x000060e4    64 std::set<int, std::less<int>, std::allocator<int> >::set()
0x000060e8    66 std::set<int, std::less<int>, std::allocator<int> >::set()
0x000060ec    68 std::set<int, std::less<int>, std::allocator<int> >::~set()
0x000060f0    70 std::set<int, std::less<int>, std::allocator<int> >::~set()
0x000060f4    72 std::pair<std::_Rb_tree_iterator<int>,
bool>::pair(std::_Rb_tree_iterator<int> const&, bool const&)
0x000060f8    74 std::pair<std::_Rb_tree_iterator<int>,
bool>::pair(std::_Rb_tree_iterator<int> const&, bool const&)
0x000060fc    75 std::pair<std::_Rb_tree_const_iterator<int>,
bool>::pair(std::_Rb_tree_const_iterator<int> const&, bool const&)
0x00006100    77 std::pair<std::_Rb_tree_const_iterator<int>,
bool>::pair(std::_Rb_tree_const_iterator<int> const&, bool const&)
0x00006104    78 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_get_node()
0x00006108    80 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_put_node(std::_Rb_tree_node<int>*)
0x0000610c    82 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::destroy_node(std::_Rb_tree_node<int>*)
0x00006110    84 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree_impl<std::less<int>,
false>::_Rb_tree_impl(std::allocator<std::_Rb_tree_node<int> > const&,
std::less<int> const&)
0x00006114    86 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree_impl<std::less<int>,
false>::_Rb_tree_impl(std::allocator<std::_Rb_tree_node<int> > const&,
std::less<int> const&)
0x00006118    87 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree_impl<std::less<int>, false>::~_Rb_tree_impl()
0x0000611c    88 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree_impl<std::less<int>, false>::~_Rb_tree_impl()
0x00006120    89 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::insert_unique(int const&)
0x00006124    91 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_create_node(int const&)
0x00006128    93 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::begin()
0x0000612c    95 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_end()
0x00006130    96 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_key(std::_Rb_tree_node<int> const*)
0x00006134    98 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_key(std::_Rb_tree_node_base const*)
0x00006138   100 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_left(std::_Rb_tree_node_base*)
0x0000613c   101 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_begin()
0x00006140   102 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_erase(std::_Rb_tree_node<int>*)
0x00006144   104 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_right(std::_Rb_tree_node_base*)
0x00006148   105 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_value(std::_Rb_tree_node<int> const*)
0x0000614c   106 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_S_value(std::_Rb_tree_node_base const*)
0x00006150   107 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_M_insert(std::_Rb_tree_node_base*,
std::_Rb_tree_node_base*, int const&)
0x00006154   109 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree(std::less<int> const&, std::allocator<int>
const&)
0x00006158   111 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::_Rb_tree(std::less<int> const&, std::allocator<int>
const&)
0x0000615c   113 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::~_Rb_tree()
0x00006160   115 std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>,
std::allocator<int> >::~_Rb_tree()
0x00006164   139 std::__throw_bad_alloc()
0x00006168   140 std::_Rb_tree_decrement(std::_Rb_tree_node_base*)
0x0000616c   141 std::_Rb_tree_insert_and_rebalance(bool,
std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)
0x00006170   142 std::terminate()
0x00006174   143 operator delete(void*)
0x00006178   144 operator new(unsigned long)
0x0000617c   145 ___cxa_begin_catch
0x00006180   146 ___cxa_end_catch
0x00006184   147 ___cxa_rethrow

Let me know if there's any additional information I can provide to help debug
this.
I also get the same results as above with release-3.0.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list