Hi,

I use GCC cross compilers from the RTEMS project. They differ only in nuances
from the official releases.  Between GCC version 4.2.4 and 4.3.3 something
changed in the DWARF debug info. I am unsure if this is cause for trouble. I
tested it with the PowerPC and m68k architectures. Here is the test program
source (test.cpp):

#include <iostream>

extern "C" {

void _start()
{
        /* VOID */
}

}

Command line:

m68k-4.3.3-g++ test.cpp test.cpp -otest-4.3.3.elf
m68k-4.2.4-g++ test.cpp test.cpp -otest-4.2.4.elf

Inspection of the resulting ELF-file with objdump (from Binutils 2.19) produces
the following warnings and errors (samples):

objdump -W test-4.3.3.elf > /dev/null

objdump: Error: Range lists in .debug_info section aren't in ascending order!

objdump: Warning: Range lists in .debug_ranges section start at 0xe8

objdump: Warning: There is an overlap [0x120 - 0x0] in .debug_ranges section.

objdump: Warning: There is a hole [0xe8 - 0x6d8] in .debug_ranges section.

objdump -W test-4.2.4.elf > /dev/null

No warnings and errors.

In the version 4.3.3 there are warnings and an error. The background is
that we have problems to debug applications compiled with the version 4.3.3 due
to invalid line number informations. I am unsure if the above warnings and
errors are connected to this.

Have a nice day!

        Sebastian Huber

-- 
Sebastian Huber, Embedded Brains GmbH

Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany
Phone   : +49 89 18 90 80 79-6
Fax     : +49 89 18 90 80 79-9
E-Mail  : sebastian.hu...@embedded-brains.de
PGP     : Public key available on request

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

Reply via email to