public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 00/38] Start reorganization of DWARF code
@ 2020-01-23  0:57 Tom Tromey
  2020-01-23  0:57 ` [PATCH 08/38] Remove die_info_ptr typedef Tom Tromey
                   ` (38 more replies)
  0 siblings, 39 replies; 48+ messages in thread
From: Tom Tromey @ 2020-01-23  0:57 UTC (permalink / raw)
  To: gdb-patches

Most of the DWARF-related code in gdb is in one file, dwarf2read.c --
the single largest source file in gdb proper (I didn't check the
libraries).  As a consequence it is disorganized.

I've thought for a while that dwarf2read.c should be split up, and
this series is the start of this project.  This series does several
things:

* Splits some code out of dwarf2read.c into new files;
* In one or two cases, unifies code that is duplicated;
* Moves all the DWARF-related code to a subdirectory;
* Cleans up various APIs in small ways (like turning functions into
  methods on the appropriate class);
* Fixes a few minor bugs (I got distracted mid-series by moving hash
  tables off the objfile obstack, a gdb practice that's bothered me
  for years).

This series only shrinks dwarf2read.c from 26279 lines to 24744.  So,
there's clearly still much more to do.  The line number program state
machine or the macro-reading code seem like good candidates for
splitting out.

Tested by the buildbot.

Tom


^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2020-02-08 20:45 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-23  0:57 [PATCH 00/38] Start reorganization of DWARF code Tom Tromey
2020-01-23  0:57 ` [PATCH 08/38] Remove die_info_ptr typedef Tom Tromey
2020-01-23  0:57 ` [PATCH 01/38] Create dwarf2/leb.[ch] Tom Tromey
2020-01-23  0:57 ` [PATCH 11/38] Move DWARF code to dwarf2/ subdirectory Tom Tromey
2020-01-27 13:41   ` Christian Biesinger via gdb-patches
2020-01-28  3:12     ` Tom Tromey
2020-01-23  0:57 ` [PATCH 06/38] Change some attribute functions to be methods Tom Tromey
2020-01-23  0:57 ` [PATCH 26/38] Change line_table methods to return unique_xmalloc_ptr Tom Tromey
2020-01-23  0:57 ` [PATCH 34/38] Convert read_offset to method on comp_unit_head Tom Tromey
2020-01-23  0:57 ` [PATCH 21/38] Use htab_up in abbrev_table Tom Tromey
2020-01-23  0:57 ` [PATCH 02/38] Create dwarf2/section.[ch] Tom Tromey
2020-01-23  0:57 ` [PATCH 15/38] Change dwarf2_per_objfile::type_unit_groups to htab_up Tom Tromey
2020-01-23  0:57 ` [PATCH 36/38] Move two more functions to dwarf2/leb.h Tom Tromey
2020-01-23  0:57 ` [PATCH 33/38] Create dwarf2/comp-unit.[ch] Tom Tromey
2020-01-23  0:57 ` [PATCH 23/38] Change dwarf2_per_objfile::quick_file_names_table to htab_up Tom Tromey
2020-01-23  0:57 ` [PATCH 27/38] Move DWARF line_header to new file Tom Tromey
2020-01-23  0:57 ` [PATCH 05/38] Create dwarf2/attribute.[ch] Tom Tromey
2020-01-23  0:57 ` [PATCH 38/38] Remove "keep" parameter from cutu_reader constructor Tom Tromey
2020-02-08 17:36   ` Simon Marchi
2020-01-23  0:57 ` [PATCH 32/38] Move read_offset_1 to leb.c Tom Tromey
2020-01-23  0:57 ` [PATCH 13/38] Remove DWARF queue-related globals Tom Tromey
2020-01-23  0:57 ` [PATCH 22/38] Minor simplification in abbrev_table::read Tom Tromey
2020-01-23  0:57 ` [PATCH 35/38] Convert read_address to a method on comp_unit_head Tom Tromey
2020-01-23  0:57 ` [PATCH 16/38] Change dwarf2_per_objfile::line_header_hash to htab_up Tom Tromey
2020-01-23  0:57 ` [PATCH 07/38] Change attr_form_is_block to be a method Tom Tromey
2020-01-23  0:57 ` [PATCH 19/38] Change dwarf2_per_objfile::die_type_hash to htab_up Tom Tromey
2020-01-23  0:57 ` [PATCH 31/38] Convert dwarf2_section_size to a method Tom Tromey
2020-01-23  0:57 ` [PATCH 17/38] Don't allocate DWO file hash on obstack Tom Tromey
2020-01-23  0:57 ` [PATCH 24/38] Move dwarf_always_disassemble to dwarf2/loc.c Tom Tromey
2020-01-23  0:57 ` [PATCH 09/38] Don't declare die_info in dwarf2read.h Tom Tromey
2020-01-23  0:57 ` [PATCH 20/38] Minor cleanups in abbrev_table Tom Tromey
2020-01-23  0:57 ` [PATCH 30/38] Unify read_initial_length implementations Tom Tromey
2020-01-27 13:31   ` Christian Biesinger via gdb-patches
2020-01-28  0:54     ` Tom Tromey
2020-01-23  0:57 ` [PATCH 12/38] Introduce die_info::has_children Tom Tromey
2020-01-23  0:57 ` [PATCH 04/38] Create dwarf2/abbrev.[ch] Tom Tromey
2020-01-23  0:57 ` [PATCH 10/38] Remove die_reader_specs::comp_dir Tom Tromey
2020-01-23  0:57 ` [PATCH 28/38] Move dwarf2_per_cu_data::imported_symtabs earlier Tom Tromey
2020-01-23  0:57 ` [PATCH 25/38] Change file_full_name and file_file_name methods Tom Tromey
2020-01-27 13:31   ` Christian Biesinger via gdb-patches
2020-01-23  0:57 ` [PATCH 14/38] Change dwarf2_per_objfile::signatured_types to be htab_up Tom Tromey
2020-02-08 16:55   ` Simon Marchi
2020-01-23  0:57 ` [PATCH 18/38] Change dwp_file to use htab_up Tom Tromey
2020-01-23  1:12 ` [PATCH 03/38] Change section functions to be methods of dwarf2_section_info Tom Tromey
2020-01-23  1:21 ` [PATCH 29/38] Add some methods to dwarf2_per_cu_data Tom Tromey
2020-01-23  2:34 ` [PATCH 37/38] Simplify "want_partial_unit" handling Tom Tromey
2020-02-08 17:38 ` [PATCH 00/38] Start reorganization of DWARF code Simon Marchi
2020-02-08 20:45   ` Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).