binutils/
* dwarf.c (process_debug_info): Support section padding abbrev codes. binutils/testsuite/ * binutils-all/testranges.s (.debug_info): Pad the only CU.
This commit is contained in:
parent
1ecbdee03e
commit
eb7cc02115
4 changed files with 26 additions and 1 deletions
|
@ -1,3 +1,7 @@
|
|||
2009-09-07 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* dwarf.c (process_debug_info): Support section padding abbrev codes.
|
||||
|
||||
2009-09-07 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
* po/binutils.pot: Regenerate.
|
||||
|
|
|
@ -1985,9 +1985,22 @@ process_debug_info (struct dwarf_section *section,
|
|||
abbrev_number = read_leb128 (tags, & bytes_read, 0);
|
||||
tags += bytes_read;
|
||||
|
||||
/* A null DIE marks the end of a list of siblings. */
|
||||
/* A null DIE marks the end of a list of siblings or it may also be
|
||||
a section padding. */
|
||||
if (abbrev_number == 0)
|
||||
{
|
||||
/* Check if it can be a section padding for the last CU. */
|
||||
if (level == 0 && start == end)
|
||||
{
|
||||
unsigned char *chk;
|
||||
|
||||
for (chk = tags; chk < start; chk++)
|
||||
if (*chk != 0)
|
||||
break;
|
||||
if (chk == start)
|
||||
break;
|
||||
}
|
||||
|
||||
--level;
|
||||
if (level < 0)
|
||||
{
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2009-09-07 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* binutils-all/testranges.s (.debug_info): Pad the only CU.
|
||||
|
||||
2009-09-07 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* binutils-all/testranges.s: Replace all .long by .4byte.
|
||||
|
|
|
@ -32,6 +32,10 @@ debugS:
|
|||
.uleb128 0x2 ;# (DIE (0x6d) DW_TAG_subprogram)
|
||||
.ascii "A\0" ;# DW_AT_name
|
||||
.4byte range_sub - range ;# DW_AT_ranges
|
||||
|
||||
;# minimal section alignment on alpha-* is 2, ensure no new invalid CU
|
||||
;# will be started.
|
||||
.balign 2
|
||||
debugE:
|
||||
|
||||
.section .debug_abbrev,"",%progbits
|
||||
|
|
Loading…
Add table
Reference in a new issue