gdb: introduce objfile text_section_offset and data_section_offset methods
authorSimon Marchi <simon.marchi@polymtl.ca>
Thu, 23 Jan 2020 22:55:35 +0000 (17:55 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Thu, 23 Jan 2020 22:55:35 +0000 (17:55 -0500)
commitb3b3bada0d514f8e57a04fd333f05d1da94e2304
treefb20ef8071ffa1e058668d0f823d38da07381c70
parentab53f3826242df0f051f9a6fa4b2926687205025
gdb: introduce objfile text_section_offset and data_section_offset methods

The pattern

  objfile->section_offsets[SECT_OFF_TEXT (objfile)]

... appears very often, to get the offset of the text section of an
objfile.  I thought it would be more readable to write it as:

  objfile->text_section_offset ()

... so I added this method and used it where possible.  I also added
data_section_offset, although it is not used as much.

gdb/ChangeLog:

* objfiles.h (ALL_OBJFILE_OSECTIONS): Move up.
(SECT_OFF_DATA): Likewise.
(SECT_OFF_RODATA): Likewise.
(SECT_OFF_TEXT): Likewise.
(SECT_OFF_BSS): Likewise.
(struct objfile) <text_section_offset, data_section_offset>: New
methods.
* amd64-windows-tdep.c (amd64_windows_find_unwind_info): Use
objfile::text_section_offset.
* coff-pe-read.c (add_pe_forwarded_sym): Likewise.
* coffread.c (coff_symtab_read): Likewise.
(enter_linenos): Likewise.
(process_coff_symbol): Likewise.
* ctfread.c (get_objfile_text_range): Likewise.
* dtrace-probe.c (dtrace_probe::get_relocated_address):
Use objfile::data_section_offset.
* dwarf2-frame.c (execute_cfa_program): Use
objfile::text_section_offset.
(dwarf2_frame_find_fde): Likewise.
* dwarf2read.c (create_addrmap_from_index): Likewise.
(create_addrmap_from_aranges): Likewise.
(dw2_find_pc_sect_compunit_symtab): Likewise.
(process_psymtab_comp_unit_reader): Likewise.
(add_partial_symbol): Likewise.
(add_partial_subprogram): Likewise.
(process_full_comp_unit): Likewise.
(read_file_scope): Likewise.
(read_func_scope): Likewise.
(read_lexical_block_scope): Likewise.
(read_call_site_scope): Likewise.
(dwarf2_rnglists_process): Likewise.
(dwarf2_ranges_process): Likewise.
(dwarf2_ranges_read): Likewise.
(dwarf_decode_lines_1): Likewise.
(new_symbol): Likewise.
(dwarf2_fetch_die_loc_sect_off): Likewise.
(dwarf2_per_cu_text_offset): Likewise.
* hppa-bsd-tdep.c (hppabsd_find_global_pointer): Likewise.
* hppa-tdep.c (read_unwind_info): Likewise.
* ia64-tdep.c (ia64_find_unwind_table): Likewise.
* psympriv.h (struct partial_symtab): Likewise.
* psymtab.c (find_pc_sect_psymtab): Likewise.
* solib-svr4.c (enable_break): Likewise.
* stap-probe.c (relocate_address): Use
objfile::data_section_offset.
* xcoffread.c (enter_line_range): Use
objfile::text_section_offset.
(read_xcoff_symtab): Likewise.
17 files changed:
gdb/ChangeLog
gdb/amd64-windows-tdep.c
gdb/coff-pe-read.c
gdb/coffread.c
gdb/ctfread.c
gdb/dtrace-probe.c
gdb/dwarf2-frame.c
gdb/dwarf2read.c
gdb/hppa-bsd-tdep.c
gdb/hppa-tdep.c
gdb/ia64-tdep.c
gdb/objfiles.h
gdb/psympriv.h
gdb/psymtab.c
gdb/solib-svr4.c
gdb/stap-probe.c
gdb/xcoffread.c