Re: [RFA] DWARF multiple comp unit header support - Revision - Part 1

Jim Blandy
2002-08-15T22:04:33Z

This looks good. Some comments:

Petr Sorfa <petrs@caldera.com> writes:
> 2002-07-12 Petr Sorfa (petrs@caldera.com)
>
> * dwarf2read.c (ABBREV_HASH_SIZE): moved definition
> forward in the code to be defined before
> struct comp_unit_head.
> (comp_unit_head): Added several new members,
> some are being used with this patch, some not.
> offset - Offset of the cu_header in .debug_info
> begin_offset - Base offset of cu_header into program
> next - Next comp unit head in program
> dwarf2_abbrevs - abbreviation tables associated with
> comp unit header.

The members must be documented in the code, and thus need only be
named in the ChangeLog entry.

> *************** struct comp_unit_head
> *** 174,179 ****
> --- 179,194 ----
> unsigned int offset_size; /* size of file offsets; either 4 or 8 */
> unsigned int initial_length_size; /* size of the length field; either
> 4 or 12 */
> +
> + /* New information for the comp unit head so as to keep a list
> + of available ones for a program. */
> + unsigned int offset; /* Offset of the cu_header in .debug_info */
> + char *base_offset; /* Base offset after cu_header into program */
> + char *begin_offset; /* Base offset of cu_header into program */
> + struct comp_unit_head *next; /* Next comp unit head in program */
> +
> + struct abbrev_info *dwarf2_abbrevs[ABBREV_HASH_SIZE]; /* DWARF abbrev
> + table */
> };
>
> /* The line number information for a compilation unit (found in the

These comments need to be much more expansive. It's very important
that data structures be clearly explained. How is "Base offset
*after* cu_header into program" different from "Base offset *of*
cu_header into program"?

Have you compared test suite results with and without this patch?