This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [rfc] Support overlays with relocated sections
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: uweigand at de dot ibm dot com (Ulrich Weigand)
- Cc: gdb-patches at sourceware dot org
- Date: Fri, 5 Sep 2008 13:39:52 +0200 (CEST)
- Subject: Re: [rfc] Support overlays with relocated sections
> ChangeLog:
>
> * breakpoint.h (struct bp_location): Change type of section
> member to "struct obj_section *".
> * tracepoint.h (struct tracepoint): Likewise.
> * symtab.h (struct general_symbol_info): Replace bfd_section
> member with obj_section.
> (struct symtab_and_line): Change type of section member to
> "struct obj_section *".
> (SYMBOL_BFD_SECTION): Remove macro, replace by ...
> (SYMBOL_OBJ_SECTION): ... this.
>
> * minsym.c (prim_record_minimal_symbol_and_info): Record symbol
> section as obj_section instead of bfd_section.
>
> * ada-lang.c (ada_decode_symbol): Use gsymbol->obj_section
> directly instead of looking of obj_section from bfd_section.
>
> * objfiles.h (find_pc_sect_section): Remove.
> * objfiles.c (find_pc_sect_section): Remove.
> (find_pc_section): Inline find_pc_sect_section code.
>
> * symfile.h (find_pc_overlay): Return struct obj_section *.
> (find_pc_mapped_section): Likewise.
> (section_is_overlay, section_is_mapped): Change type of section
> argument to struct obj_section *.
> (pc_in_mapped_range, pc_in_unmapped_range): Likewise.
> (overlay_mapped_address, overlay_unmapped_address): Likewise.
> (symbol_overlayed_address): Likewise.
> * symtab.h (symbol_overlayed_address): Likewise.
> * symfile.c (overlay_is_mapped): Remove.
> (section_is_mapped): Inline overlay_is_mapped code. Update.
> (overlay_invalidate_all): Update.
> (section_is_overlay): Change section argument to type
> "struct obj_section *". Use bfd_ methods.
> (pc_in_unmapped_range): Likewise. Handle relocated sections.
> (pc_in_mapped_range): Likewise. Handle relocated sections.
> (sections_overlap): Likewise.
> (overlay_unmapped_address): Likewise.
> (overlay_mapped_address): Likewise.
> (symbol_overlayed_address): Likewise.
> (find_pc_overlay): Return struct obj_section *.
> (find_pc_mapped_section): Likewise.
> (list_overlays_command): Update.
> (map_overlay_command, unmap_overlay_command): Update.
> (simple_overlay_update): Update.
>
> * block.h (blockvector_for_pc_sect): Change section argument
> to type "struct obj_section *".
> (block_for_pc_sect): Likewise.
> * block.c (blockvector_for_pc_sect): Change section argument
> to type "struct obj_section *".
> (block_for_pc_sect): Likewise.
> * symtab.h (find_pc_sect_function, find_pc_sect_psymtab,
> find_pc_sect_symtab, find_pc_sect_psymbol, find_pc_sect_line,
> lookup_minimal_symbol_by_pc_section, find_function_start_pc): Likewise.
> (matching_bfd_sections): Rename to ...
> (matching_obj_sections): ... this. Update argument types.
> * blockframe.c (find_pc_sect_function): Likewise.
> * breakpoint.c (describe_other_breakpoints): Likewise.
> (breakpoint_has_pc, check_duplicates_for): Likewise.
> * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Likewise.
> (lookup_minimal_symbol_by_pc_section): Likewise.
> * symtab.c (find_pc_sect_psymtab_closer): Likewise.
> (find_pc_sect_psymtab, find_pc_sect_psymbol, find_pc_sect_symtab,
> find_pc_sect_line, find_function_start_pc): Likewise.
> (matching_bfd_sections): Rename to ...
> (matching_obj_sections): ... this. Update argument types.
>
> * blockframe.c (find_pc_partial_function): Update to section
> type changes. No longer call find_pc_sect_section.
> (cache_pc_function_section): Change to type "struct obj_section *".
> * breakpoint.c (resolve_sal_pc): Update to section type changes.
> * exec.c (xfer_memory): Likewise.
> * findvar.c (read_var_value): Likewise.
> * infcmd.c (jump_command): Likewise.
> * linespec.c (minsym_found): Likewise.
> * maint.c (maintenance_translate_address): Likewise.
> * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Likewise.
> (lookup_solib_trampoline_symbol_by_pc): Likewise.
> * parse.c (write_exp_msymbol): Likewise.
> * printcmd.c (build_address_symbolic): Likewise.
> (address_info, sym_info): Likewise.
> * symmisc.c (dump_msymbols, print_symbol): Likewise.
> * symtab.c (fixup_section): Likewise.
> (fixup_symbol_section, fixup_psymbol_section): Likewise.
> (find_pc_line, find_function_start_sal): Likewise.
> * target.c (memory_xfer_partial): Likewise.
> * hppa-hpux-tdep.c (hppa64_hpux_in_solib_call_trampoline): Likewise.
> * spu-tdep.c (spu_overlay_update): Likewise.
I've checked this in now.
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com