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

--- Comment #16 from Pawel Sikora <pluto at agmk dot net> 2011-03-22 20:03:09 
UTC ---
i've tested the latest 4.5 branch head. it produces less objdump errors
but the core issue still exists. afaics the gdb-7.2 on win32 has problems
with cfi_esacpes before ___main.

_main:
LFB598:
    .loc 1 21 0
    .cfi_startproc
    .cfi_personality 0x0,___gxx_personality_sj0
    .cfi_lsda 0x0,LLSDA598
    leal    4(%esp), %ecx
    .cfi_def_cfa 1, 0
    andl    $-16, %esp
    pushl    -4(%ecx)
    pushl    %ebp
    movl    %esp, %ebp
    .cfi_escape 0x10,0x5,0x2,0x75,0x0
    pushl    %edi
    pushl    %esi
    pushl    %ebx
    pushl    %ecx
    .cfi_escape 0xf,0x3,0x75,0x70,0x6
    subl    $104, %esp
    movl    $___gxx_personality_sj0, -68(%ebp)
    movl    $LLSDA598, -64(%ebp)
    leal    -60(%ebp), %eax
    leal    -24(%ebp), %edx
    movl    %edx, (%eax)
    movl    $L8, %edx
    movl    %edx, 4(%eax)
    movl    %esp, 8(%eax)
    leal    -92(%ebp), %eax
    movl    %eax, (%esp)
    .cfi_escape 0x10,0x3,0x2,0x75,0x74             <==== gdb error.
    .cfi_escape 0x10,0x6,0x2,0x75,0x78             <====
    .cfi_escape 0x10,0x7,0x2,0x75,0x7c             <====
    call    __Unwind_SjLj_Register
    .loc 1 21 0
    call    ___main 


Breakpoint 1, main () at main.cpp:21
21      {
(gdb) disassemble
Dump of assembler code for function main():
   0x0040163c <+0>:     lea    0x4(%esp),%ecx
   0x00401640 <+4>:     and    $0xfffffff0,%esp
   0x00401643 <+7>:     pushl  -0x4(%ecx)
   0x00401646 <+10>:    push   %ebp
   0x00401647 <+11>:    mov    %esp,%ebp
   0x00401649 <+13>:    push   %edi
   0x0040164a <+14>:    push   %esi
   0x0040164b <+15>:    push   %ebx
   0x0040164c <+16>:    push   %ecx
   0x0040164d <+17>:    sub    $0x68,%esp
   0x00401650 <+20>:    movl   $0x40b920,-0x44(%ebp)
   0x00401657 <+27>:    movl   $0x40c03c,-0x40(%ebp)
   0x0040165e <+34>:    lea    -0x3c(%ebp),%eax
   0x00401661 <+37>:    lea    -0x18(%ebp),%edx
   0x00401664 <+40>:    mov    %edx,(%eax)
   0x00401666 <+42>:    mov    $0x401716,%edx
   0x0040166b <+47>:    mov    %edx,0x4(%eax)
   0x0040166e <+50>:    mov    %esp,0x8(%eax)
   0x00401671 <+53>:    lea    -0x5c(%ebp),%eax
   0x00401674 <+56>:    mov    %eax,(%esp)
   0x00401677 <+59>:    Dwarf Error: Cannot find signatured DIE referenced from
DIE at 0x1397e

could someone decrypt these magic cfi_escapes?

Reply via email to