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

howarth at nitro dot med.uc.edu gcc-bugzilla@gcc.gnu.org
Sat Dec 8 03:25:00 GMT 2012


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

--- Comment #4 from Jack Howarth <howarth at nitro dot med.uc.edu> 2012-12-08 03:14:29 UTC ---
The failing testcase in gdb appears as...

gdb ./covariant3.exe
...
(gdb) br _GLOBAL__sub_I_covariant3.C
Breakpoint 1 at 0x100001ce2: file covariant3.C, line 85.
(gdb) display/i $pc
(gdb) r
Starting program: /Users/howarth/asan_g++_failures/covariant3.exe 
Reading symbols for shared libraries +++++.................................
done

Breakpoint 1, _GLOBAL__sub_I_covariant3.C () at covariant3.C:85
85    }
1: x/i $pc  0x100001ce2 <_GLOBAL__sub_I_covariant3.C+4>:    mov    $0xffff,%esi
(gdb) s
__static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535)
at covariant3.C:85
85    }
1: x/i $pc  0x100001cc1 <__static_initialization_and_destruction_0+14>:    cmpl
  $0x1,-0x4(%rbp)
(gdb) 
42    c18 ret;
1: x/i $pc  0x100001cd0 <__static_initialization_and_destruction_0+29>:    lea 
  0x2029(%rip),%rdi        # 0x100003d00 <ret>
(gdb) 
c18::c18 (this=0x100003d00) at covariant3.C:29
29    struct c18 : c5, virtual c1 {
1: x/i $pc  0x100001ef6 <_ZN3c18C1Ev+12>:    mov    -0x8(%rbp),%rax
(gdb) 
c0::c0 (this=0x100003d00) at covariant3.C:9
9    struct c0 {};
1: x/i $pc  0x100001e36 <_ZN2c0C2Ev+8>:    pop    %rbp
(gdb) 
0x0000000100001f02 in c18::c18 (this=0x100003d00) at covariant3.C:29
29    struct c18 : c5, virtual c1 {
1: x/i $pc  0x100001f02 <_ZN3c18C1Ev+24>:    lea    0x1547(%rip),%rax        #
0x100003450 <_ZTT3c18+16>
(gdb) 
c1::c1 (this=0x100003d08, __vtt_parm=0x100003450) at covariant3.C:10
10    struct c1 : virtual c0 {
1: x/i $pc  0x100001e48 <_ZN2c1C2Ev+16>:    mov    -0x10(%rbp),%rax
(gdb) 

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x000010002000068a
0x0000000100001e60 in c1::c1 (this=0x100003d08, __vtt_parm=0x100003450) at
covariant3.C:10
10    struct c1 : virtual c0 {
1: x/i $pc  0x100001e60 <_ZN2c1C2Ev+40>:    movzbl (%rdx),%edx
(gdb)



More information about the Gcc-bugs mailing list