aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2/comp-unit.c
AgeCommit message (Collapse)AuthorFilesLines
2021-05-17Rename dwarf2/comp-unit.hTom Tromey1-246/+0
Simon pointed out that dwarf2/cu.h and dwarf2/comp-unit.h seemingly mean the same thing. He suggested renaming the latter to comp-unit-head.h, which is what this patch does. gdb/ChangeLog 2021-05-17 Tom Tromey <tom@tromey.com> * dwarf2/read.h: Update include. * dwarf2/read.c: Update include. * dwarf2/line-header.c: Update include. * dwarf2/cu.h: Update include. * dwarf2/comp-unit-head.h: Rename from comp-unit.h. * dwarf2/comp-unit-head.c: Rename from comp-unit.c. * Makefile.in (COMMON_SFILES): Update.
2021-04-21Shrink size of dwarf2_per_cu_dataTom Tromey1-3/+4
I noticed some holes in struct dwarf2_per_cu_data. This patch rearranges the type slightly, and shrinks the size of some fields. This reduces it from 136 bytes to 112 bytes (on x86-64). I also reduced the size of the DWARF "version" fields in a couple of spots. It seemed needless to use a short to hold a value that ranges from 2 to 5, and this also helped the goal of shrinking dwarf2_per_cu_data. 2021-04-21 Tom Tromey <tom@tromey.com> * dwarf2/read.h (struct dwarf2_per_cu_data) <dwarf_version>: Now unsigned char. (struct dwarf2_per_cu_data): Rearrange. * dwarf2/comp-unit.h (struct comp_unit_head) <version>: Now unsigned char. (struct comp_unit_head): Rearrange. * dwarf2/comp-unit.c (read_comp_unit_head): Update.
2021-03-18Reimplement dwarf_unit_type_nameTom Tromey1-28/+1
I noticed that dwarf_unit_type_name is nearly identical to get_DW_UT_name from libiberty; but rather than simply replacing it, it seemed better to have it work like the other DWARF constant stringification functions -- return a string showing unrecognized numeric forms rather than nullptr. (The previous code did include numeric values for the recognized constants, but this seems to be not that useful to me.) 2021-03-18 Tom Tromey <tromey@adacore.com> * dwarf2/stringify.c (dwarf_unit_type_name): New function. Use get_DW_UT_name. * dwarf2/stringify.h (dwarf_unit_type_name): Declare. * dwarf2/comp-unit.c (dwarf_unit_type_name): Remove.
2021-01-01Update copyright year range in all GDB filesJoel Brobecker1-1/+1
This commits the result of running gdb/copyright.py as per our Start of New Year procedure... gdb/ChangeLog Update copyright year range in copyright header of all GDB files.
2020-05-29gdb: rename dwarf2_per_objfile variables/fields to per_objfileSimon Marchi1-5/+4
While doing the psymtab-sharing patchset, I avoided renaming variables unnecessarily to avoid adding noise to patches, but I'd like to do it now. Basically, we have these dwarf2 per-something structures: - dwarf2_per_objfile - dwarf2_per_bfd - dwarf2_per_cu_data I named the instances of dwarf2_per_bfd `per_bfd` and most of instances of dwarf2_per_cu_data are called `per_cu`. Most pre-existing instances of dwarf2_per_objfile are named `dwarf2_per_objfile`. For consistency with the other type, I'd like to rename them to just `per_objfile`. The `dwarf2_` prefix is superfluous, since it's already clear we are in dwarf2 code. It also helps reducing the line wrapping by saving 7 precious columns. gdb/ChangeLog: * dwarf2/comp-unit.c, dwarf2/comp-unit.h, dwarf2/index-cache.c, dwarf2/index-cache.h, dwarf2/index-write.c, dwarf2/index-write.h, dwarf2/line-header.c, dwarf2/line-header.h, dwarf2/macro.c, dwarf2/macro.h, dwarf2/read.c, dwarf2/read.h: Rename struct dwarf2_per_objfile variables and fields from `dwarf2_per_objfile` to just `per_objfile` throughout. Change-Id: I3c45cdcc561265e90df82cbd36b4b4ef2fa73aef
2020-02-08Convert read_address to a method on comp_unit_headTom Tromey1-0/+50
This changes read_address to be a method on comp_unit_head. 2020-02-08 Tom Tromey <tom@tromey.com> * dwarf2/read.c (read_address): Move to comp-unit.c. (dwarf2_rnglists_process, dwarf2_ranges_process) (read_attribute_value, dwarf_decode_lines_1) (var_decode_location, decode_locdesc): Update. * dwarf2/comp-unit.c (comp_unit_head::read_address): Move from read.c. Remove "cu" parameter. * dwarf2/comp-unit.h (struct comp_unit_head) <read_address>: New method. Change-Id: Ibd6c7235f2e4d5fd88c272cfd2c3d3328618cc56
2020-02-08Convert read_offset to method on comp_unit_headTom Tromey1-17/+3
This changes one of the read_offset overloads to be a method on comp_unit_head. 2020-02-08 Tom Tromey <tom@tromey.com> * dwarf2/read.c (read_attribute_value, read_indirect_string) (read_indirect_line_string): Update. * dwarf2/comp-unit.c (read_offset): Remove. (read_comp_unit_head): Update. * dwarf2/comp-unit.h (struct comp_unit_head) <read_offset>: New method. (read_offset): Don't declare. Change-Id: Ia595702a5748337b7c031352bc437956baab9990
2020-02-08Create dwarf2/comp-unit.[ch]Tom Tromey1-0/+237
This creates the new files dwarf2/comp-unit.[ch], moving comp_unit_head and helpers to those files. A couple of functions are turned into methods, because it was convenient to do so now. 2020-02-08 Tom Tromey <tom@tromey.com> * Makefile.in (COMMON_SFILES): Add dwarf2/comp-unit.c. * dwarf2/read.c (struct comp_unit_head): Move to dwarf2/comp-unit.h. (enum class rcuh_kind): Move to comp-unit.h. (get_cu_length, offset_in_cu_p): Now methods on comp_unit_head. (read_comp_unit_head, error_check_comp_unit_head) (read_and_check_comp_unit_head): Move to comp-unit.c. (read_offset, dwarf_unit_type_name): Likewise. (create_debug_type_hash_table, read_cutu_die_from_dwo) (cutu_reader::cutu_reader, read_call_site_scope) (find_partial_die, follow_die_offset): Update. * dwarf2/comp-unit.h: New file, from dwarf2read.c. Change-Id: Id961b9674c0081ed061083c8152c38b27b27388a