[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