public inbox for
help / color / mirror / Atom feed
Subject: [SCM]  archer-tromey-multi-inferior-3: reverse-20080717-branchpoint-11046-g893a8ca
Date: Thu, 08 Mar 2012 22:21:00 -0000	[thread overview]
Message-ID: <> (raw)

The branch, archer-tromey-multi-inferior-3 has been created
        at  893a8cacef8d67cf493d0fc107447b226e0e1156 (commit)

- Log -----------------------------------------------------------------
commit 893a8cacef8d67cf493d0fc107447b226e0e1156
Author: Tom Tromey <>
Date:   Thu Mar 8 13:02:03 2012 -0700

    make SYMBOL_VALUE_ADDRESS an rvalue
    also introduce SET_SYMBOL_VALUE_ADDRESS
    this prepares the way for us to dynamically offset the address

commit 709416d48cf0a6649fa759d184530255b5800d6e
Author: Tom Tromey <>
Date:   Thu Mar 8 11:02:31 2012 -0700

    move all psymtab-related objects into a struct partial_symbol_info
    this doesn't change where psymtabs (etc) are allocated, it just
    lays the groundwork

commit 38b593f5f725bedd4d072a304367081a0552a5ac
Author: Tom Tromey <>
Date:   Wed Mar 7 14:54:02 2012 -0700

    remove partial_symtab::objfile
    for objfile-splitting to work, there can't be any backlinks
    from the shared data to the objfile; as the objfile is not shared

commit 6bf58d123b6cd89474296460bc8baf65a82e5d64
Author: Tom Tromey <>
Date:   Wed Mar 7 14:01:33 2012 -0700

    work properly when there are per-partial_symtab section_offsets
    this is incomplete due to bad handling in add_psymbol_to_bcache

commit b71aa9cf54b91fec4db768287bd2b49eabfaf2ed
Author: Tom Tromey <>
Date:   Wed Mar 7 13:48:59 2012 -0700

    move crc32 and crc32_p into per-BFD object

commit 493051e8e7c23fd8673521e7868b04bc26078bc6
Author: Tom Tromey <>
Date:   Wed Mar 7 13:43:04 2012 -0700

    Make psymtab's texthigh and textlow address-independent

commit 9db00206d032a5a67bf01f2347026852e3de1c80
Author: Tom Tromey <>
Date:   Wed Mar 7 12:28:20 2012 -0700

    Dynamically relocate partial symbols
    this is a major step toward making psymbols inferior-independent
    now offsets are applied when the psymbol's value is computed
    this is implemented in a somewhat hacky way, for simplicity --
    right now the offsets are applied by the readers, then unapplied
    when the psymbol is created
    but this is actually somewhat wrong; we should not be applying
    the offsets in the readers
    this is a good item for a future fix

commit 43cfe92e669d6b2e3cb482e64e76138350c1457c
Author: Tom Tromey <>
Date:   Wed Mar 7 12:15:10 2012 -0700

    require the 'section' field to be correct for a partial symbol
    this lets us rely on the section when offsetting psymbol addresses

commit f492207a94207a00c4cfc85c66de30f74bc62ed2
Author: Tom Tromey <>
Date:   Wed Mar 7 11:10:04 2012 -0700

    merge some psymbol code
    a cleanup in one function that has two parallel loops

commit d34f731f3d0bc4fc2238720d531ec3edb4bb6e1d
Author: Tom Tromey <>
Date:   Wed Mar 7 09:59:34 2012 -0700

    change partial symbols to use section indices
    now psymbols don't have a direct link back to their objfiles
    this is needed to eventually push psymbols into the per-BFD data

commit da2ce0e9672e435549929c20d310250b5fec292e
Author: Tom Tromey <>
Date:   Wed Mar 7 09:55:51 2012 -0700

    default msymbol section index to -1
    this is a bug fix to an earlier patch
    without this we can't distinguish between an msymbol whose section
    is unknown and one that is in whatever section happens to be at offset 0

commit 1f465600f921b6c8f792202072704659bf59631f
Author: Tom Tromey <>
Date:   Wed Mar 7 09:45:18 2012 -0700

    add an 'sinfo_index' bit to general_symbol_info
    this controls how the obj_section is stored
    currently nothing ever sets this bit; this is just

commit 0490a2f674eef76c9c9bdbd00f56965c7ca5dfca
Author: Tom Tromey <>
Date:   Mon Dec 19 11:54:46 2011 -0700

    make psymtab addrmap independent of offsets
    now we un-bias the PC before using the psymtab addrmap

commit 45f301f906328f022ad12b5c739d5b10e97b18bb
Author: Tom Tromey <>
Date:   Mon Dec 19 11:25:38 2011 -0700

    make elfread.c respect SYMFILE_MINSYMS_READ
    this seems mildly questionable
    see the synth_abfd bits in elfread.c

commit d2e47749909c8d4907e39dbf95feedeca67b7c1f
Author: Tom Tromey <>
Date:   Mon Dec 19 10:18:26 2011 -0700

    remove some unnecessary inits from add_psymbol_to_bcache
    just a little cleanup
    perhaps wrong, there is a later patch in the series to further fix this

commit 31a52c1347bea09f14188fd6232d0cff1444a519
Author: Tom Tromey <>
Date:   Mon Dec 19 10:17:26 2011 -0700

    make PSYMBOL_VALUE_ADDRESS an rvalue
    prepare for making psymbols independent of the inferior
    this lets us catch all the places that can set a psymbol's address
    it also lets us later change PSYMBOL_VALUE_ADDRESS to perform

commit ce2f67efa792e205c691a8ed51b3d79860fe13fe
Author: Tom Tromey <>
Date:   Mon Dec 19 08:41:41 2011 -0700

    add PSYMBOL_ accessor variants
    this change does not affect semantics, but it prepares things
    so that we can change how psymbols are represented later on
    it renames a field in struct partial_symbol to ensure that we
    caught all the users

commit 9670ab3de642b2084546ff16f4442329ccbbf43f
Author: Tom Tromey <>
Date:   Mon Dec 12 15:00:23 2011 -0700

    target sections hack
    solib assumes that we will not share BFDs
    	* solib.c (solib_map_sections): Conditionally call
    	(update_solib_list): Conditionally call remove_target_sections.
    	(clear_solib): Conditionally call remove_target_sections.
    	(reload_shared_libraries_1): Conditionally call

commit 690d8b7038437fa39fe437ebbfb89e04f81a790b
Author: Tom Tromey <>
Date:   Thu Dec 8 10:14:08 2011 -0700

    make minsym sharing work
    	* elfread.c (elf_symtab_read): Put the filename in the filename
    	* hppa-hpux-tdep.c (hppa64_hpux_search_dummy_call_sequence): Use
    	(hppa_hpux_find_dummy_bpaddr): Likewise.
    	* jit.c (jit_object_close_impl): Use
    	* minsyms.c (inhibit_hash): New global.
    	(msymbol_objfile): Update.
    	(lookup_minimal_symbol_full): Update.
    	(iterate_over_minimal_symbols): Update.
    	(lookup_minimal_symbol_text): Update.
    	(lookup_minimal_symbol_by_pc_name): Update.
    	(lookup_minimal_symbol_solib_trampoline): Update.
    	(lookup_minimal_symbol_by_pc_section_1): Update.
    	(lookup_minimal_symbol_and_objfile): Update.
    	(prim_record_minimal_symbol_full): Check inhibit_hash.
    	(make_cleanup_discard_minimal_symbols): Update comment.
    	(build_minimal_symbol_hash_tables): Update.
    	(install_minimal_symbols): Check inhibit_hash.  Allocate on
    	per-BFD obstack.  Update.
    	(remove_objfile_from_hash, inhibit_minimal_symbol_registration):
    	New functions.
    	* minsyms.h (inhibit_minimal_symbol_registration): Declare.
    	* objfiles.c (objfiles_bfd_data): New global.
    	(get_objfile_bfd_data, free_objfile_per_bfd_storage)
    	(objfile_bfd_data_free, set_objfile_per_bfd): New functions.
    	(allocate_objfile): Don't initialize filename_cache.  Call
    	terminate_minimal_symbol_table later.  Set per_bfd field.
    	(free_objfile): Call free_objfile_per_bfd_storage.  Update.
    	(have_minimal_symbols): Update.
    	(_initialize_objfiles): Initialize objfiles_bfd_data.
    	* objfiles.h (struct objfile_per_bfd_storage): New.
    	(struct objfile) <per_bfd>: New field.
    	<filename_cache, msymbols, minimal_symbol_count, msymbol_hash,
    	msymbol_demangled_hash>: Remove.
    	(set_objfile_per_bfd): Declare.
    	* symfile.c (syms_from_objfile): Set SYMFILE_MINSYMS_READ and call
    	inhibit_minimal_symbol_registration when needed.
    	(reread_symbols): Likewise.  Update.
    	(allocate_symtab): Update.
    	* symfile.h (enum symfile_add_flags) <SYMFILE_MINSYMS_READ>: New
    	* symmisc.c (print_symbol_bcache_statistics): Update.
    	(print_objfile_statistics): Update.
    	(dump_objfile): Update.
    	(dump_msymbols): Update.
    	* symtab.c (symbol_init_cplus_specific): Remove objfile argument,
    	add obstack argument.
    	(symbol_set_demangled_name): Likewise.
    	(create_demangled_names_hash): Change argument type.
    	(symbol_set_names): Remove objfile argument, add storage and
    	demangled_names_hash arguments.
    	* symtab.h (symbol_set_demangled_name): Update.
    	(SYMBOL_SET_NAMES): Update.
    	(symbol_set_names): Update.
    	(MSYMBOL_SET_NAMES): Update.

commit c25cd23f3177df17d17a59c7c5748c29cde84d63
Author: Tom Tromey <>
Date:   Wed Dec 7 14:33:30 2011 -0700

    add comment for Ada

commit 875f5d06578084f0dac8924ee5b92e255260f69a
Author: Tom Tromey <>
Date:   Wed Dec 7 14:12:10 2011 -0700

    make minsyms progspace-independent
    still has one FIXME - did not update the symbol readers yet
    	* blockframe.c (find_pc_partial_function_gnu_ifunc): Use
    	* minsyms.c (msymbol_objfile): Make argument const.
    	(frob_address): New function.
    	(lookup_minimal_symbol_by_pc_section_1): Use
    	MSYMBOL_RAW_VALUE_ADDRESS and frob_address.
    	(prim_record_minimal_symbol_full): Subtract offset from address.
    	(compare_minimal_symbols): Use MSYMBOL_RAW_VALUE_ADDRESS.
    	(compact_minimal_symbols): Likewise.
    	(msymbols_sort): Remove.
    	(msymbol_address): New function.
    	* minsyms.h (msymbol_objfile): Update.
    	(msymbols_sort): Remove.
    	(msymbol_address): Declare.
    	* objfiles.c (objfile_relocate1): Don't relocate minsyms.
    	* sh64-tdep.c (sh64_elf_make_msymbol_special): Use
    	* symtab.h (MSYMBOL_VALUE_ADDRESS): Redefine.

commit a903c91858302ea508340f9a511760280d29bf0b
Author: Tom Tromey <>
Date:   Wed Dec 7 13:01:55 2011 -0700

    make MSYMBOL_VALUE_ADDRESS an lvalue
    introduce raw address
    introduce setter
    	* minsyms.c (prim_record_minimal_symbol_full): Use
    	(install_minimal_symbols): Use memset to initialize.
    	* objfiles.c (objfile_relocate1): Use SET_MSYMBOL_VALUE_ADDRESS.
    	* sh64-tdep.c (sh64_elf_make_msymbol_special): Use
    	* symtab.h (MSYMBOL_VALUE_ADDRESS): Make an rvalue.

commit 4c41097bfc5f295dd7a00af39aee927d7a2c45fa
Author: Tom Tromey <>
Date:   Wed Dec 7 12:10:47 2011 -0700

    change minsyms to use indices, not obj_sections
    	* blockframe.c (find_pc_partial_function_gnu_ifunc): Use
    	* breakpoint.c (resolve_sal_pc): Use
    	lookup_minimal_symbol_and_objfile_by_pc.  Update.
    	* elfread.c (elf_gnu_ifunc_record_cache): Use
    	lookup_minimal_symbol_and_objfile_by_pc.  Update.
    	* findvar.c (read_var_value): Use lookup_minimal_symbol_full.
    	* hppa-hpux-tdep.c (hppa64_hpux_in_solib_call_trampoline): Use
    	lookup_minimal_symbol_and_objfile_by_pc.  Update.
    	* linespec.c (minsym_found): Update.
    	* maint.c (maintenance_translate_address): Update.
    	* minsyms.c (lookup_minimal_symbol_full): New function, based on
    	old lookup_minimal_symbol.
    	(lookup_minimal_symbol): Rewrite to use
    	(lookup_minimal_symbol_by_pc_section_1): Update.
    	(lookup_minimal_symbol_and_objfile_by_pc): New function.
    	(prim_record_minimal_symbol_full): Use MSYMBOL_SECTION_INDEX.
    	* minsyms.h (lookup_minimal_symbol_full): Declare.
    	* parse.c (write_exp_msymbol): Update.
    	* printcmd.c (address_info): Update.
    	* spu-tdep.c (spu_catch_start): Update.
    	* symmisc.c (dump_msymbols): Update.
    	* symtab.c (fixup_section): Update.
    	(skip_prologue_sal): Update.
    	* symtab.h (MSYMBOL_OBJ_SECTION): Add objfile parameter.
    	(MSYMBOL_SECTION_INDEX): New macro.

commit b78ca1dfee7b04164ec7a32b78a09fc5026c3986
Author: Tom Tromey <>
Date:   Wed Dec 7 11:36:38 2011 -0700

    introduce new union into ginfo
    	* ada-lang.c (ada_decode_symbol): Update.
    	* symtab.c (fixup_section): Update.
    	* symtab.h (struct general_symbol_info) <sinfo>: New union field.
    	(SYMBOL_OBJ_SECTION): Update.

commit eff45a742cef28d16eb67677f2f9610f42322255
Author: Tom Tromey <>
Date:   Wed Dec 7 11:04:05 2011 -0700

    change minsym representation
    now we do not share macros like SYMBOL_VALUE_ADDRESS
    this is groundwork for letting us change how they work
    	* symtab.h (struct minimal_symbol) <mginfo>: Rename from ginfo.
    	* ada-lang.c (ada_main_name): Update.
    	(ada_lookup_simple_minsym): Update.
    	(ada_make_symbol_completion_list): Update.
    	* ada-tasks.c (read_atcb): Update.
    	(get_known_tasks_addr): Update.
    	* amd64-windows-tdep.c (amd64_skip_main_prologue): Update.
    	* arm-tdep.c (skip_prologue_function): Update.
    	(arm_skip_stub): Update.
    	* arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update.
    	(arm_wince_skip_main_prologue): Update.
    	* auxv.c (ld_so_xfer_auxv): Update.
    	* avr-tdep.c (avr_scan_prologue): Update.
    	* ax-gdb.c (gen_var_ref): Update.
    	* block.c (call_site_for_pc): Update.
    	* blockframe.c (get_pc_function_start): Update.
    	(find_pc_partial_function_gnu_ifunc): Update.
    	* breakpoint.c (create_overlay_event_breakpoint): Update.
    	(create_longjmp_master_breakpoint): Update.
    	(create_std_terminate_master_breakpoint): Update.
    	(create_exception_master_breakpoint): Update.
    	(resolve_sal_pc): Update.
    	* bsd-uthread.c (bsd_uthread_lookup_address): Update.
    	* c-valprint.c (c_val_print): Update.
    	* dbxread.c (find_stab_function_addr): Update.
    	(end_psymtab): Update.
    	* dwarf2loc.c (call_site_to_target_addr): Update.
    	(func_verify_no_selftailcall): Update.
    	(tailcall_dump): Update.
    	(call_site_find_chain_1): Update.
    	(dwarf_expr_reg_to_entry_parameter): Update.
    	* elfread.c (elf_gnu_ifunc_record_cache): Update.
    	(elf_gnu_ifunc_resolve_by_got): Update.
    	* f-valprint.c (info_common_command): Update.
    	* findvar.c (read_var_value): Update.
    	* frame.c (get_prev_frame_1): Update.
    	(inside_main_func): Update.
    	* frv-tdep.c (frv_skip_main_prologue): Update.
    	(frv_frame_this_id): Update.
    	* glibc-tdep.c (glibc_skip_solib_resolver): Update.
    	* gnu-v2-abi.c (gnuv2_value_rtti_type): Update.
    	* gnu-v3-abi.c (gnuv3_rtti_type): Update.
    	(gnuv3_skip_trampoline): Update.
    	* hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline): Update.
    	(hppa64_hpux_in_solib_call_trampoline): Update.
    	(hppa_hpux_skip_trampoline_code): Update.
    	(hppa64_hpux_search_dummy_call_sequence): Update.
    	(hppa_hpux_find_import_stub_for_addr): Update.
    	(hppa_hpux_find_dummy_bpaddr): Update.
    	* hppa-tdep.c (hppa_lookup_stub_minimal_symbol): Update.
    	* i386-tdep.c (i386_skip_main_prologue): Update.
    	(i386_pe_skip_trampoline_code): Update.
    	* ia64-tdep.c (ia64_convert_from_func_ptr_addr): Update.
    	* infcall.c (get_function_name): Update.
    	(call_function_by_hand): Update.
    	* infcmd.c (until_next_command): Update.
    	* jit.c (jit_breakpoint_re_set_internal): Update.
    	(jit_inferior_init): Update.
    	* linespec.c (minsym_found): Update.
    	(check_minsym): Update.
    	* linux-fork.c (info_checkpoints_command): Update.
    	* linux-nat.c (get_signo): Update.
    	* m32c-tdep.c (m32c_return_value): Update.
    	(m32c_m16c_address_to_pointer): Update.
    	(m32c_m16c_pointer_to_address): Update.
    	* m32r-tdep.c (m32r_frame_this_id): Update.
    	* m68hc11-tdep.c (m68hc11_get_register_info): Update.
    	* maint.c (maintenance_translate_address): Update.
    	* minsyms.c (add_minsym_to_hash_table): Update.
    	(add_minsym_to_demangled_hash_table): Update.
    	(msymbol_objfile): Update.
    	(lookup_minimal_symbol): Update.
    	(iterate_over_minimal_symbols): Update.
    	(lookup_minimal_symbol_text): Update.
    	(lookup_minimal_symbol_by_pc_name): Update.
    	(lookup_minimal_symbol_solib_trampoline): Update.
    	(lookup_minimal_symbol_by_pc_section_1): Update.
    	(lookup_minimal_symbol_and_objfile): Update.
    	(prim_record_minimal_symbol_full): Update.
    	(compare_minimal_symbols): Update.
    	(compact_minimal_symbols): Update.
    	(build_minimal_symbol_hash_tables): Update.
    	(install_minimal_symbols): Update.
    	(terminate_minimal_symbol_table): Update.
    	(find_solib_trampoline_target): Update.
    	* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
    	* mips-tdep.c (mips_stub_frame_sniffer): Update.
    	(mips_skip_pic_trampoline_code): Update.
    	* objc-lang.c (selectors_info): Update.
    	(classes_info): Update.
    	(find_methods): Update.
    	(find_imps): Update.
    	(find_objc_msgsend): Update.
    	* objfiles.c (objfile_relocate1): Update.
    	* objfiles.h (ALL_OBJFILE_MSYMBOLS): Update.
    	* obsd-tdep.c (obsd_skip_solib_resolver): Update.
    	* p-valprint.c (pascal_val_print): Update.
    	* parse.c (write_exp_msymbol): Update.
    	* ppc-linux-tdep.c (ppc_linux_spe_context_lookup): Update.
    	* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
    	* printcmd.c (build_address_symbolic): Update.
    	(sym_info): Update.
    	(address_info): Update.
    	* proc-service.c (ps_pglobal_lookup): Update.
    	* psymtab.c (find_pc_sect_psymtab_closer): Update.
    	(find_pc_sect_psymtab): Update.
    	* remote.c (remote_check_symbols): Update.
    	* rs6000-tdep.c (rs6000_skip_main_prologue): Update.
    	(rs6000_skip_trampoline_code): Update.
    	* sh64-tdep.c (sh64_elf_make_msymbol_special): Update.
    	* sol2-tdep.c (sol2_skip_solib_resolver): Update.
    	* solib-dsbt.c (lm_base): Update.
    	(enable_break): Update.
    	* solib-frv.c (lm_base): Update.
    	(main_got): Update.
    	* solib-irix.c (locate_base): Update.
    	* solib-som.c (som_solib_create_inferior_hook): Update.
    	(som_solib_desire_dynamic_linker_symbols): Update.
    	(link_map_start): Update.
    	* solib-spu.c (spu_enable_break): Update.
    	(ocl_enable_break): Update.
    	* solib-svr4.c (elf_locate_base): Update.
    	(enable_break): Update.
    	* spu-tdep.c (spu_get_overlay_table): Update.
    	(spu_catch_start): Update.
    	(flush_ea_cache): Update.
    	* stabsread.c (define_symbol): Update.
    	(scan_file_globals): Update.
    	* stack.c (find_frame_funname): Update.
    	(frame_info): Update.
    	* symfile.c (simple_read_overlay_table): Update.
    	(simple_overlay_update): Update.
    	* symmisc.c (dump_msymbols): Update.
    	* symtab.c (fixup_section): Update.
    	(find_pc_sect_line): Update.
    	(skip_prologue_sal): Update.
    	(search_symbols): Update.
    	(print_msymbol_info): Update.
    	(rbreak_command): Update.
    	(completion_list_objc_symbol): Update.
    	(default_make_symbol_completion_list_break_on): Update.
    	* tracepoint.c (scope_info): Update.
    	* tui/tui-disasm.c (tui_find_disassembly_address): Update.
    	(tui_get_begin_asm_address): Update.
    	* valops.c (find_function_in_inferior): Update.
    	* value.c (value_static_field): Update.
    	(value_fn_field): Update.

commit 175e4f204ebf5fe0e08ee70f8353702a9b90f575
Author: Tom Tromey <>
Date:   Mon Dec 5 13:12:42 2011 -0700

    give a registry to BFD
    	* gdb_bfd.h: Include registry.h.  Use DECLARE_REGISTRY.
    	* gdb_bfd.c: Use DEFINE_REGISTRY.
    	(struct gdb_bfd_data): Add REGISTRY_FIELDS.
    	(gdb_bfd_ref): Call bfd_alloc_data.
    	(gdb_bfd_unref): Call bfd_free_data.

commit 3e59dd7b28ac16de9d5dec708e530b623c74588d
Author: Tom Tromey <>
Date:   Mon Dec 5 12:21:42 2011 -0700

    allow indirect access to registry fields
    	* registry.h (struct registry_fields): New.
    	(REGISTRY_FIELDS): Redefine.
    	(REGISTRY_ACCESS_FIELD): New macro.
    	(DEFINE_REGISTRY): Add ACCESS argument.  Update defined

commit c65c64a7d015ec35f0caa7b5c77dc3b1545bca48
Author: Tom Tromey <>
Date:   Mon Dec 5 11:56:29 2011 -0700

    add registry.h, change existing users
    	* solib-svr4.c (_initialize_svr4_solib): Update
    	* solib-dsbt.c (_initialize_dsbt_solib): Update.
    	* registry.h: New file.
    	* python/py-progspace.c (gdbpy_initialize_pspace): Update.
    	* python/py-inferior.c (gdbpy_initialize_inferior): Update.
    	* python/py-auto-load.c (gdbpy_initialize_auto_load): Update.
    	* progspace.h: Include registry.h.  Use DECLARE_REGISTRY.
    	(register_program_space_data, program_space_alloc_data)
    	(clear_program_space_data, set_program_space_data)
    	(program_space_data): Don't declare.
    	* progspace.c: Use DEFINE_REGISTRY.
    	(struct program_space_data, struct
    	program_space_data_registration, struct
    	program_space_data_registry, program_space_data_registry)
    	(register_program_space_data, program_space_alloc_data)
    	(program_space_free_data, clear_program_space_data)
    	(set_program_space_data, program_space_data): Remove.
    	* objfiles.h: Include registry.h.  Use DECLARE_REGISTRY.
    	(struct objfile) <data, num_data>: Replace with REGISTRY_FIELDS.
    	(register_objfile_data_with_cleanup, register_objfile_data)
    	(clear_objfile_data, set_objfile_data, objfile_data): Don't
    	* objfiles.c: Use DEFINE_REGISTRY.
    	(struct objfile_data, struct objfile_data_registration, struct
    	objfile_data_registry, objfile_data_registry)
    	(register_objfile_data_with_cleanup, register_objfile_data)
    	(objfile_alloc_data, objfile_free_data, clear_objfile_data)
    	(set_objfile_data, objfile_data): Remove.
    	(_initialize_objfiles): Update.
    	* jit.c (_initialize_jit): Update.
    	* inflow.c (_initialize_inflow): Update.
    	* inferior.h: Include registry.h.  Use DECLARE_REGISTRY.
    	(struct inferior) <data, num_data>: Replace with REGISTRY_FIELDS.
    	(register_inferior_data_with_cleanup, register_inferior_data)
    	(clear_inferior_data, set_inferior_data, inferior_data): Don't
    	* inferior.c: Use DEFINE_REGISTRY.
    	(struct inferior_data, struct inferior_data_registration, struct
    	inferior_data_registry, inferior_data_registry)
    	(register_inferior_data_with_cleanup, register_inferior_data)
    	(inferior_alloc_data, inferior_free_data  clear_inferior_data)
    	(set_inferior_data, inferior_data): Remove.
    	* auxv.c (_initialize_auxv): Update.
    	* ada-lang.c (_initialize_ada_language): Update.

commit bc493e3dca7f53c01116a4031ab3d62c54fcf0de
Author: Tom Tromey <>
Date:   Mon Dec 5 08:49:24 2011 -0700

    introduce bfd cache
    	* windows-nat.c (windows_make_so): Use gdb_bfd_open.
    	* symfile.c (bfd_open_maybe_remote): Use gdb_bfd_open.
    	(symfile_bfd_open): Likewise.
    	(generic_load): Likewise.
    	* solib.c (solib_bfd_fopen): Use gdb_bfd_open.
    	* solib-pa64.c (pa64_solib_create_inferior_hook): Use
    	* solib-darwin.c (darwin_solib_get_all_image_info_addr_at_init):
    	Use gdb_bfd_open.
    	* rs6000-nat.c (add_vmap): Use gdb_bfd_open.
    	* remote-mips.c (mips_load_srec): Use gdb_bfd_open.
    	(pmon_load_fast): Likewise.
    	* remote-m32r-sdi.c (m32r_load): Use gdb_bfd_open.
    	* procfs.c (insert_dbx_link_bpt_in_file): Use gdb_bfd_open.
    	* machoread.c (macho_symfile_read_all_oso): Use gdb_bfd_open.
    	(macho_check_dsym): Likewise.
    	* m32r-rom.c (m32r_load): Use gdb_bfd_open.
    	(m32r_upload_command): Likewise.
    	* gdb_bfd.h (gdb_bfd_cache): Declare.
    	* gdb_bfd.c (struct gdb_bfd_data): New.
    	(gdb_bfd_cache): New global.
    	(struct gdb_bfd_cache_search): New.
    	(hash_bfd): New function.
    	(eq_bfd): Likewise.
    	(gdb_bfd_open): Likewise.
    	(gdb_bfd_ref): Allocate a gdb_bfd_data and attach to the BFD.
    	(gdb_bfd_unref): Remove closed BFD from cache.  Update for
    	* exec.c (exec_file_attach): Use gdb_bfd_open.
    	* dsrec.c (load_srec): Use gdb_bfd_open.

commit 64f73b56d828c5c27a9cd5f2a894cee5607fac59
Author: Tom Tromey <>
Date:   Mon Dec 5 08:14:04 2011 -0700

    fix a couple of bfd leaks
    	* remote-mips.c (mips_load_srec): Use make_cleanup_bfd_close.
    	(pmon_load_fast): Likewise.
    	* m32r-rom.c (m32r_load): Use make_cleanup_bfd_close.
    	(m32r_upload_command): Likewise.
    	* dsrec.c (load_srec): Use make_cleanup_bfd_close.

commit 04b2b573baca5cb2cd3934ad50dd25c9b6d02650
Author: Tom Tromey <>
Date:   Wed Dec 7 10:03:56 2011 -0700

    clean up allocation of bfd filenames
    	* symfile.c (symfile_bfd_open): Don't copy name.
    	(load_command): Open the new BFD before freeing the old.
    	* symfile-mem.c (symbol_file_add_from_memory): Don't copy name.
    	Call gdb_bfd_stash_filename.
    	* spu-linux-nat.c (spu_bfd_open): Don't copy name.
    	* solib-spu.c (spu_bfd_fopen): Don't copy name.  Call
    	* solib-darwin.c (darwin_solib_get_all_image_info_addr_at_init):
    	Free found_pathname.
    	* rs6000-nat.c (add_vmap): Don't copy filename.
    	* remote.c (remote_bfd_open): Call gdb_bfd_stash_filename.
    	* machoread.c (macho_add_oso_symfile): Call
    	(macho_symfile_read_all_oso): Arrange to free archive_name.
    	(macho_check_dsym): Don't copy filename.  Call
    	* jit.c (bfd_open_from_target_memory): Don't copy the filename.
    	* gdb_bfd.c (gdb_bfd_stash_filename): New function.
    	* gdb_bfd.h (gdb_bfd_stash_filename): Declare.
    	* gcore.c (create_gcore_bfd): Call gdb_bfd_stash_filename.
    	* exec.c (exec_close): Don't free the BFD's filename.
    	(exec_file_attach): Don't copy the filename.
    	* corelow.c (core_close): Don't free the BFD's filename.
    	(core_open): Call gdb_bfd_stash_filename.
    	* corefile.c (reopen_exec_file): Remove #if 0 code.

commit 6e5b3537ff9dbe6abe8fa725a837c61eeea74f33
Author: Tom Tromey <>
Date:   Mon Dec 5 08:11:48 2011 -0700

    change gdb to refcount bfd everywhere
    	* cli/cli-dump.c: Include gdb_bfd.h.
    	(bfd_openw_with_cleanup): Use gdb_bfd_ref.
    	(bfd_openr_with_cleanup): Likewise.
    	* windows-nat.c (windows_make_so): Use gdb_bfd_ref,
    	* utils.c: Include gdb_bfd.h.
    	(do_bfd_close_cleanup): Use gdb_bfd_unref.
    	* symfile.c: Include gdb_bfd.h.
    	(separate_debug_file_exists): Use gdb_bfd_unref.
    	(bfd_open_maybe_remote): Use gdb_bfd_ref.
    	(symfile_bfd_open): Use gdb_bfd_ref, gdb_bfd_unref.
    	(generic_load): Use gdb_bfd_ref.
    	(reread_symbols): Use gdb_bfd_unref.
    	* symfile-mem.c: Include gdb_bfd.h.
    	(symbol_file_add_from_memory): Use make_cleanup_bfd_close.
    	* spu-linux-nat.c (spu_bfd_open): Use gdb_bfd_ref, gdb_bfd_unref.
    	* solib.c: Include gdb_bfd.h.
    	(solib_bfd_fopen): Use gdb_bfd_ref.
    	(solib_bfd_open): Use gdb_bfd_unref.
    	(free_so_symbols): Use gdb_bfd_unref.
    	(reload_shared_libraries_1): Use gdb_bfd_unref.
    	* solib-spu.c: Include gdb_bfd.h.
    	(spu_bfd_fopen): Use gdb_bfd_ref, gdb_bfd_unref.
    	* solib-pa64.c (pa64_solib_create_inferior_hook): Use gdb_bfd_ref,
    	* solib-frv.c: Include gdb_bfd.h.
    	(enable_break2): Use gdb_bfd_unref.
    	* solib-dsbt.c: Include gdb_bfd.h.
    	(enable_break2): Use gdb_bfd_unref.
    	* solib-darwin.c: Include gdb_bfd.h.
    	(darwin_solib_get_all_image_info_addr_at_init): Use gdb_bfd_ref,
    	(darwin_bfd_open): Use gdb_bfd_unref.
    	* rs6000-nat.c (add_vmap): Use gdb_bfd_ref, gdb_bfd_unref.
    	* remote-mips.c: Include gdb_bfd.h.
    	(mips_load_srec): Use gdb_bfd_ref.
    	(pmon_load_fast): Use gdb_bfd_ref.
    	* remote-m32r-sdi.c: Include gdb_bfd.h.
    	(m32r_load): Use gdb_bfd_ref.
    	* record.c: Include gdb_bfd.h.
    	(record_save_cleanups): Use gdb_bfd_unref.
    	(cmd_record_save): Use gdb_bfd_unref.
    	* procfs.c (insert_dbx_link_bpt_in_file): Use gdb_bfd_ref,
    	* objfiles.h (gdb_bfd_close_or_warn): Remove.
    	(gdb_bfd_ref, gdb_bfd_unref): Move to gdb_bfd.h.
    	* objfiles.c: Include gdb_bfd.h.
    	(free_objfile): Use gdb_bfd_unref.
    	(gdb_bfd_close_or_warn, gdb_bfd_ref, gdb_bfd_unref): Move to
    	* machoread.c (macho_add_oso_symfile): Use gdb_bfd_unref.
    	(macho_symfile_read_all_oso): Use gdb_bfd_ref, gdb_bfd_unref.
    	(macho_check_dsym): Likewise.
    	* m32r-rom.c: Include gdb_bfd.h.
    	(m32r_load): Use gdb_bfd_ref.
    	(m32r_upload_command): Use gdb_bfd_ref.
    	* jit.c: Include gdb_bfd.h.
    	(jit_bfd_try_read_symtab): Use gdb_bfd_ref, gdb_bfd_unref.
    	* gdb_bfd.h: New file.
    	* gdb_bfd.c: New file.
    	* gcore.c: Include gdb_bfd.h.
    	(create_gcore_bfd): Use gdb_bfd_ref.
    	(do_bfd_delete_cleanup): Use gdb_bfd_unref.
    	(gcore_command): Use gdb_bfd_unref.
    	* exec.c: Include gdb_bfd.h.
    	(exec_close): Use gdb_bfd_unref.
    	(exec_close_1): Use gdb_bfd_unref.
    	(exec_file_attach): Use gdb_bfd_ref.
    	* elfread.c: Include gdb_bfd.h.
    	(build_id_verify): Use gdb_bfd_unref.
    	* dsrec.c: Include gdb_bfd.h.
    	(load_srec): Use gdb_bfd_ref.
    	* corelow.c: Include gdb_bfd.h.
    	(core_close): Use gdb_bfd_unref.
    	(core_open): Use gdb_bfd_ref.
    	* bfd-target.c: Include gdb_bfd.h.
    	(target_bfd_xclose): Use gdb_bfd_unref.
    	(target_bfd_reopen): Use gdb_bfd_ref.
    	* (SFILES): Add gdb_bfd.c.
    	(HFILES_NO_SRCDIR): Add gdb_bfd.h.
    	(COMMON_OBS): Add gdb_bfd.o.


Repository for Project Archer.

             reply	other threads:[~2012-03-08 22:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-08 22:21 tromey [this message]
2013-02-26 18:50 tromey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).