This is the mail archive of the gcc-bugs@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]
Other format: [Raw text]

[Bug sanitizer/55617] static constructors are not being instrumented correctly on darwin


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55617

--- Comment #6 from Alexander Potapenko <glider at google dot com> 2013-01-29 09:59:09 UTC ---
Looking at the disassembly I see that __asan_init is placed into some
__GLOBAL__sub_I_00099_1_cov.cc function, which isn't being called at runtime
(__GLOBAL__sub_I_cov.cc is called instead):

0000000100000d31 <__Z41__static_initialization_and_destruction_0ii>:
   100000d31:   55                      push   %rbp
   100000d32:   48 89 e5                mov    %rsp,%rbp
   100000d35:   48 83 ec 10             sub    $0x10,%rsp
   100000d39:   89 7d fc                mov    %edi,-0x4(%rbp)
   100000d3c:   89 75 f8                mov    %esi,-0x8(%rbp)
   100000d3f:   83 7d fc 01             cmpl   $0x1,-0x4(%rbp)
   100000d43:   75 15                   jne    100000d5a
<__Z41__static_initialization_and_destruction_0ii+0x29>
   100000d45:   81 7d f8 ff ff 00 00    cmpl   $0xffff,-0x8(%rbp)
   100000d4c:   75 0c                   jne    100000d5a
<__Z41__static_initialization_and_destruction_0ii+0x29>
   100000d4e:   48 8d 3d 8b 03 00 00    lea    0x38b(%rip),%rdi        #
1000010e0 <_ret>
   100000d55:   e8 9c 00 00 00          callq  100000df6 <__ZN3c18C1Ev$stub>
   100000d5a:   c9                      leaveq 
   100000d5b:   c3                      retq   

0000000100000d5c <__GLOBAL__sub_I_cov.cc>:
   100000d5c:   55                      push   %rbp
   100000d5d:   48 89 e5                mov    %rsp,%rbp
   100000d60:   be ff ff 00 00          mov    $0xffff,%esi
   100000d65:   bf 01 00 00 00          mov    $0x1,%edi
   100000d6a:   e8 c2 ff ff ff          callq  100000d31
<__Z41__static_initialization_and_destruction_0ii>
   100000d6f:   5d                      pop    %rbp
   100000d70:   c3                      retq   

0000000100000d71 <__GLOBAL__sub_D_00099_0_cov.cc>:
   100000d71:   55                      push   %rbp
   100000d72:   48 89 e5                mov    %rsp,%rbp
   100000d75:   be 01 00 00 00          mov    $0x1,%esi
   100000d7a:   48 8d 3d 1f 03 00 00    lea    0x31f(%rip),%rdi        #
1000010a0 <__ZTI3c18+0x20>
   100000d81:   e8 88 00 00 00          callq  100000e0e
<___asan_unregister_globals$stub>
   100000d86:   5d                      pop    %rbp
   100000d87:   c3                      retq   

0000000100000d88 <__GLOBAL__sub_I_00099_1_cov.cc>:
   100000d88:   55                      push   %rbp
   100000d89:   48 89 e5                mov    %rsp,%rbp
   100000d8c:   e8 6b 00 00 00          callq  100000dfc <___asan_init$stub>
   100000d91:   be 01 00 00 00          mov    $0x1,%esi
   100000d96:   48 8d 3d 03 03 00 00    lea    0x303(%rip),%rdi        #
1000010a0 <__ZTI3c18+0x20>
   100000d9d:   e8 60 00 00 00          callq  100000e02
<___asan_register_globals$stub>
   100000da2:   5d                      pop    %rbp
   100000da3:   c3                      retq


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