This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB 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 breakpoints/12435] New: gcc46: prologue skip skips too far


http://sourceware.org/bugzilla/show_bug.cgi?id=12435

           Summary: gcc46: prologue skip skips too far
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: breakpoints
        AssignedTo: unassigned@sourceware.org
        ReportedBy: jan.kratochvil@redhat.com
              Host: x86_64-fedora15-linux-gnu
            Target: x86_64-fedora15-linux-gnu


Created attachment 5209
  --> http://sourceware.org/bugzilla/attachment.cgi?id=5209
naive GDB patch

GDB HEAD
gcc-4.6.0-0.3.fc15.x86_64
->
`break internal_error' (that is the function GDB) is never hit.

./gdb -nx ./gdb -ex 'b internal_error' -ex 'disass internal_error'
Breakpoint 1 at 0x48f3cd: file utils.c, line 1242.
Dump of assembler code for function internal_error:
   0x000000000048f39c <+0>:    push   %rbp
   0x000000000048f39d <+1>:    mov    %rsp,%rbp
   0x000000000048f3a0 <+4>:    sub    $0xf0,%rsp
   0x000000000048f3a7 <+11>:    mov    %rdi,-0xd8(%rbp)
   0x000000000048f3ae <+18>:    mov    %esi,-0xdc(%rbp)
   0x000000000048f3b4 <+24>:    mov    %rcx,-0x98(%rbp)
   0x000000000048f3bb <+31>:    mov    %r8,-0x90(%rbp)
   0x000000000048f3c2 <+38>:    mov    %r9,-0x88(%rbp)
   0x000000000048f3c9 <+45>:    test   %al,%al
   0x000000000048f3cb <+47>:    je     0x48f3ed <internal_error+81>
=== breakponit here
   0x000000000048f3cd <+49>:    movaps %xmm0,-0x80(%rbp)
   0x000000000048f3d1 <+53>:    movaps %xmm1,-0x70(%rbp)
   0x000000000048f3d5 <+57>:    movaps %xmm2,-0x60(%rbp)
   0x000000000048f3d9 <+61>:    movaps %xmm3,-0x50(%rbp)
   0x000000000048f3dd <+65>:    movaps %xmm4,-0x40(%rbp)
   0x000000000048f3e1 <+69>:    movaps %xmm5,-0x30(%rbp)
   0x000000000048f3e5 <+73>:    movaps %xmm6,-0x20(%rbp)
   0x000000000048f3e9 <+77>:    movaps %xmm7,-0x10(%rbp)
   0x000000000048f3ed <+81>:    mov    %rdx,-0xe8(%rbp)
=== jump target
   0x000000000048f3f4 <+88>:    movl   $0x18,-0xc8(%rbp)

.debug_line is weird

Fixed by the naive attached GDB patch but it has heavy regressions.
Maybe GCC should be fixed?
There is still missing the prologue end marker.

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


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