http://d.puremagic.com/issues/show_bug.cgi?id=3387

           Summary: gdb: symbols in the backtrace are not demangled
           Product: D
           Version: 1.047
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: nob...@puremagic.com
        ReportedBy: llu...@gmail.com


--- Comment #0 from Leandro Lucarella <llu...@gmail.com> 2009-10-12 13:04:56 
PDT ---
In DMD 1.046 or older, the backtrace were broken but the symbol were demangled
(using the D GDB patch at least).

Starting at version 1.047, the symbols are not demangled anymore in GDB.

Same test program as bug 136:

--------
void main() {
    static int i = 0;
    while (i++ < 10)
        main();
    *(cast(int *)0) = 0;
}
--------

DMD evolution:

1.046
=====
--------------------
GNU gdb (GDB) 7.0.50.20090919
[...]
Reading symbols from /home/luca/tesis/dmd-1.049/dmd/linux/bug136...done.
(gdb) bt
No stack.
(gdb) run
Starting program: /home/luca/tesis/dmd-1.049/dmd/linux/bug136 
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x08049b12 in D main ()
Current language:  auto
The current source language is "auto; currently asm".
(gdb) bt
#0  0x08049b12 in D main ()
#1  0xbffff4d4 in ?? ()
#2  0xbffff4a0 in ?? ()
#3  0x08049b0c in D main ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
--------------------


1.047
=====
--------------------
GNU gdb (GDB) 7.0.50.20090919
[...]
Reading symbols from /home/luca/tesis/dmd-1.049/dmd/linux/bug136...done.
(gdb) run
Starting program: /home/luca/tesis/dmd-1.049/dmd/linux/bug136 
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x08049b12 in _Dmain () at bin/bug136.d:6
6        *(cast(int *)0) = 0;
Current language:  auto
The current source language is "auto; currently d".
(gdb) bt
#0  0x08049b12 in _Dmain () at bin/bug136.d:6
#1  0xbffff4d4 in ?? ()
#2  0xbffff4a0 in ?? ()
#3  0x08049b0c in _Dmain () at bin/bug136.d:5
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
--------------------


1.049
=====
--------------------
--------------------
GNU gdb (GDB) 7.0.50.20090919
[...]
Reading symbols from /home/luca/tesis/dmd-1.049/dmd/linux/bug136...done.
(gdb) run
Starting program: /home/luca/tesis/dmd-1.049/dmd/linux/bug136 
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x08049b12 in _Dmain () at bin/bug136.d:6
6        *(cast(int *)0) = 0;
Current language:  auto
The current source language is "auto; currently d".
(gdb) bt
#0  0x08049b12 in _Dmain () at bin/bug136.d:6
#1  0x08049b0c in _Dmain () at bin/bug136.d:5
#2  0x08049b0c in _Dmain () at bin/bug136.d:5
#3  0x08049b0c in _Dmain () at bin/bug136.d:5
#4  0x08049b0c in _Dmain () at bin/bug136.d:5
#5  0x08049b0c in _Dmain () at bin/bug136.d:5
#6  0x08049b0c in _Dmain () at bin/bug136.d:5
#7  0x08049b0c in _Dmain () at bin/bug136.d:5
#8  0x08049b0c in _Dmain () at bin/bug136.d:5
#9  0x08049b0c in _Dmain () at bin/bug136.d:5
#10 0x08049b0c in _Dmain () at bin/bug136.d:5
#11 0x08057599 in main ()
--------------------

The backtrace looks nice in DMD 1.049 but the symbols can't be demangled by
GDB.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to