Yeah - agreed with this whole description & I'd feel comfortable with
either of the proposed additions.

On Wed, Mar 29, 2023 at 2:15 AM Keith Walker via Dwarf-discuss
<dwarf-discuss@lists.dwarfstd.org> wrote:
>
> # Problem
>
>
>
> There is no statement if tables must be contiguous or if
>
> there can be padding between the tables.
>
>
>
> # Background
>
>
>
> Some sections have an implicit assumption that the tables in a section
>
> are contiguous so the section can be processed by serially reading the
>
> section. Sections in this category are:
>
>
>
>   .debug_info (Unit Headers, Section 7.5.1)
>
>   .debug_aranges (Address Lookup Tables, Section 6.1.2)
>
>   .debug_names (Name Index Section Header, Section 6.1.1)
>
>   .debug_frame (Section 6.4.1)
>
>
>
> All other tables may be accessed indirectly via an offset into a section,
>
> so in theory there is no need to ensure the tables are contiguous provided
>
> the tables are only accessed via these offsets.
>
>
>
> However there are use cases when this can be a problem
>
>
>
> - The file is "stripped" to just contain line information (.debug_line /
>
> .debug_line_str). The .debug_line_str was added for exactly this use case.
>
> There is now the assumption that the .debug_line section can be processed
>
> serially.
>
>
>
> - File dump utilities which list the contents of the sections serially.
>
>
>
> Sections with tables which have headers with a unit_length field:
>
>
>
>   .debug_aranges (Section 6.1.2)
>
>   .debug_addr (Section 7.27)
>
>   .debug_info / .debug_info.dwo (Section 7.5.1)
>
>   .debug_line / .debug_line.dwo  (Section 6.2.4)
>
>   .debug_loclists / .debug_loclists.dwo (Section 7.29)
>
>   .debug_names (Section 6.1.1)
>
>   .debug_rnglists / .debug_rnglists.dwo (Section 7.28)
>
>   .debug_str_offsets / .debug_str_offsets.dwo (Section 7.26)
>
>
>
> Sections with tables/contributions without headers:
>
>
>
>   .debug_abbrev / .debug_abbrev.dwo (Section 7.5.3)
>
>   .debug_frame (Section 6.4.1)
>
>   .debug_line_str
>
>   .debug_macro / .debug_macro.dwo (Section 6.3.1)
>
>   .debug_str / .debug_str.dwo
>
>
>
> It is a point for discussion on whether to only require the tables
>
> with a unit_length header field be contiguous, or should all tables be
>
> made contiguous.
>
>
>
> # Proposed Addition:
>
>
>
> 7.34 Contiguous Tables
>
>
>
> Tables which start with a unit_length field must be contiguous with the
>
> preceding table in the section or start of the section if there is no
>
> preceding table.
>
>
>
> # Alternative Proposed Addition:
>
>
>
> 7.34 Contiguous Tables
>
>
>
> Tables must be contiguous with the preceding table in the section or
>
> start of the section if there is no preceding table.
>
> IMPORTANT NOTICE: The contents of this email and any attachments are 
> confidential and may also be privileged. If you are not the intended 
> recipient, please notify the sender immediately and do not disclose the 
> contents to any other person, use it for any purpose, or store or copy the 
> information in any medium. Thank you.
> --
> Dwarf-discuss mailing list
> Dwarf-discuss@lists.dwarfstd.org
> https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss
-- 
Dwarf-discuss mailing list
Dwarf-discuss@lists.dwarfstd.org
https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss

Reply via email to