Commit Graph

812 Commits

Author SHA1 Message Date
Tom Tromey 77e371c079 start change to progspace independence
This patch starts changing minimal symbols to be independent of the
program space.

Specifically, it adds a new objfile parameter to MSYMBOL_VALUE_ADDRESS
and changes all the code to use it.  This is needed so we can change
gdb to apply the section offset when a minsym's address is computed,
as opposed to baking the offsets into the symbol itself.

A few spots still need the unrelocated address.  For these, we
introduce MSYMBOL_VALUE_RAW_ADDRESS.

As a convenience, we also add the new macro BMSYMBOL_VALUE_ADDRESS,
which computes the address of a bound minimal symbol.  This just does
the obvious thing with the fields.

Note that this change does not actually enable program space
independence.  That requires more changes to gdb.  However, to ensure
that these changes compile properly, this patch does add the needed
section lookup code to MSYMBOL_VALUE_ADDRESS -- it just ensures it has
no effect at runtime by multiplying the offset by 0.

2014-02-26  Tom Tromey  <tromey@redhat.com>

	* ada-lang.c (ada_main_name): Update.
	(ada_add_standard_exceptions): Update.
	* ada-tasks.c (ada_tasks_inferior_data_sniffer): Update.
	* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
	* arm-tdep.c (skip_prologue_function, arm_skip_stub): Update.
	* auxv.c (ld_so_xfer_auxv): Update.
	* avr-tdep.c (avr_scan_prologue): Update.
	* ax-gdb.c (gen_var_ref): Update.
	* blockframe.c (get_pc_function_start)
	(find_pc_partial_function_gnu_ifunc): Update.
	* breakpoint.c (create_overlay_event_breakpoint)
	(create_longjmp_master_breakpoint)
	(create_std_terminate_master_breakpoint)
	(create_exception_master_breakpoint): Update.
	* bsd-uthread.c (bsd_uthread_lookup_address): Update.
	* c-valprint.c (c_val_print): Update.
	* coff-pe-read.c (add_pe_forwarded_sym): Update.
	* common/agent.c (agent_look_up_symbols): Update.
	* dbxread.c (find_stab_function_addr, end_psymtab): Update.
	* dwarf2loc.c (call_site_to_target_addr): Update.
	* dwarf2read.c (dw2_find_pc_sect_symtab): Update.
	* elfread.c (elf_gnu_ifunc_record_cache)
	(elf_gnu_ifunc_resolve_by_got): Update.
	* findvar.c (default_read_var_value): Update.
	* frame.c (inside_main_func): Update.
	* frv-tdep.c (frv_frame_this_id): Update.
	* glibc-tdep.c (glibc_skip_solib_resolver): Update.
	* gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline):
	Update.
	* hppa-hpux-tdep.c (hppa64_hpux_search_dummy_call_sequence)
	(hppa_hpux_find_dummy_bpaddr): Update.
	* hppa-tdep.c (hppa_symbol_address): Update.
	* infcmd.c (until_next_command): Update.
	* jit.c (jit_read_descriptor, jit_breakpoint_re_set_internal):
	Update.
	* linespec.c (minsym_found, add_minsym): Update.
	* linux-nat.c (get_signo): Update.
	* linux-thread-db.c (inferior_has_bug): Update.
	* m32c-tdep.c (m32c_return_value)
	(m32c_m16c_address_to_pointer): Update.
	* m32r-tdep.c (m32r_frame_this_id): Update.
	* m68hc11-tdep.c (m68hc11_get_register_info): Update.
	* machoread.c (macho_resolve_oso_sym_with_minsym): Update.
	* maint.c (maintenance_translate_address): Update.
	* minsyms.c (lookup_minimal_symbol_by_pc_name): Update.
	(frob_address): New function.
	(lookup_minimal_symbol_by_pc_section_1): Use raw addresses,
	frob_address.  Rename parameter to "pc_in".
	(compare_minimal_symbols, compact_minimal_symbols): Use raw
	addresses.
	(find_solib_trampoline_target, minimal_symbol_upper_bound):
	Update.
	* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
	* mips-tdep.c (mips_skip_pic_trampoline_code): Update.
	* objc-lang.c (find_objc_msgsend): Update.
	* objfiles.c (objfile_relocate1): 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)
	(ppc_elfv2_skip_entrypoint): Update.
	* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
	* printcmd.c (build_address_symbolic, msym_info)
	(address_info): Update.
	* proc-service.c (ps_pglobal_lookup): Update.
	* psymtab.c (find_pc_sect_psymtab_closer)
	(find_pc_sect_psymtab, find_pc_sect_symtab_from_partial):
	Change msymbol parameter to bound_minimal_symbol.
	* ravenscar-thread.c (get_running_thread_id): Update.
	* remote.c (remote_check_symbols): Update.
	* sh64-tdep.c (sh64_elf_make_msymbol_special): Use raw
	address.
	* sol2-tdep.c (sol2_skip_solib_resolver): Update.
	* solib-dsbt.c (lm_base): Update.
	* solib-frv.c (lm_base, main_got): Update.
	* solib-irix.c (locate_base): Update.
	* solib-som.c (som_solib_create_inferior_hook)
	(link_map_start): Update.
	* solib-spu.c (spu_enable_break, ocl_enable_break): Update.
	* solib-svr4.c (elf_locate_base, enable_break): Update.
	* spu-tdep.c (spu_get_overlay_table, spu_catch_start)
	(flush_ea_cache): Update.
	* stabsread.c (define_symbol, scan_file_globals): Update.
	* stack.c (find_frame_funname): Update.
	* symfile-debug.c (debug_qf_expand_symtabs_matching)
	(debug_qf_find_pc_sect_symtab): Update.
	* symfile.c (simple_read_overlay_table)
	(simple_overlay_update): Update.
	* symfile.h (struct quick_symbol_functions)
	<find_pc_sect_symtab>: Change type of msymbol to
	bound_minimal_symbol.
	* symmisc.c (dump_msymbols): Update.
	* symtab.c (find_pc_sect_symtab_via_partial)
	(find_pc_sect_psymtab, find_pc_sect_line, skip_prologue_sal)
	(search_symbols, print_msymbol_info): Update.
	* symtab.h (MSYMBOL_VALUE_RAW_ADDRESS): New macro.
	(MSYMBOL_VALUE_ADDRESS): Redefine.
	(BMSYMBOL_VALUE_ADDRESS): New macro.
	* tracepoint.c (scope_info): Update.
	* tui/tui-disasm.c (tui_find_disassembly_address)
	(tui_get_begin_asm_address): Update.
	* valops.c (find_function_in_inferior): Update.
	* value.c (value_static_field, value_fn_field): Update.
2014-02-26 12:11:17 -07:00
Tom Tromey 3b7344d5ab use bound_minsym as result for lookup_minimal_symbol et al
This patch changes a few minimal symbol lookup functions to return a
bound_minimal_symbol rather than a pointer to the minsym.  This change
helps prepare gdb for computing a minimal symbol's address at the
point of use.

Note that this changes even those functions that ostensibly search a
single objfile.  That was necessary because, in fact, those functions
can search an objfile and its separate debug objfiles; and it is
important for the caller to know in which objfile the minimal symbol
was actually found.

The bulk of this patch is mechanical.

2014-02-26  Tom Tromey  <tromey@redhat.com>

	* ada-lang.c (ada_update_initial_language): Update.
	(ada_main_name, ada_has_this_exception_support): Update.
	* ada-tasks.c (ada_tasks_inferior_data_sniffer): Update.
	* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
	* arm-tdep.c (arm_skip_stub): Update.
	* auxv.c (ld_so_xfer_auxv): Update.
	* avr-tdep.c (avr_scan_prologue): Update.
	* ax-gdb.c (gen_var_ref): Update.
	* breakpoint.c (struct breakpoint_objfile_data)
	<overlay_msym, longjmp_msym, terminate_msym, exception_msym>: Change
	type to bound_minimal_symbol.
	(create_overlay_event_breakpoint)
	(create_longjmp_master_breakpoint)
	(create_std_terminate_master_breakpoint)
	(create_exception_master_breakpoint): Update.
	* bsd-uthread.c (bsd_uthread_lookup_address): Update.
	* c-exp.y (classify_name): Update.
	* coffread.c (coff_symfile_read): Update.
	* common/agent.c (agent_look_up_symbols): Update.
	* d-lang.c (d_main_name): Update.
	* dbxread.c (find_stab_function_addr, end_psymtab): Update.
	* dec-thread.c (enable_dec_thread): Update.
	* dwarf2loc.c (call_site_to_target_addr): Update.
	* elfread.c (elf_gnu_ifunc_resolve_by_got): Update.
	* eval.c (evaluate_subexp_standard): Update.
	* findvar.c (struct minsym_lookup_data) <result>: Change type
	to bound_minimal_symbol.
	<objfile>: Remove.
	(minsym_lookup_iterator_cb, default_read_var_value): Update.
	* frame.c (inside_main_func): Update.
	* frv-tdep.c (frv_frame_this_id): Update.
	* gcore.c (call_target_sbrk): Update.
	* glibc-tdep.c (glibc_skip_solib_resolver): Update.
	* gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline):
	Update.
	* go-lang.c (go_main_name): Update.
	* hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code)
	(hppa_hpux_find_import_stub_for_addr): Update.
	* hppa-tdep.c (hppa_extract_17,	hppa_lookup_stub_minimal_symbol):
	Update.  Change return type.
	* hppa-tdep.h (hppa_lookup_stub_minimal_symbol): Change return
	type.
	* jit.c (jit_breakpoint_re_set_internal): Update.
	* linux-fork.c (inferior_call_waitpid, checkpoint_command):
	Update.
	* linux-nat.c (get_signo): Update.
	* linux-thread-db.c (inferior_has_bug): Update
	* m32c-tdep.c (m32c_return_value)
	(m32c_m16c_address_to_pointer): Update.
	* m32r-tdep.c (m32r_frame_this_id): Update.
	* m68hc11-tdep.c (m68hc11_get_register_info): Update.
	* machoread.c (macho_resolve_oso_sym_with_minsym): Update.
	* minsyms.c (lookup_minimal_symbol_internal): Rename to
	lookup_minimal_symbol.  Change return type.
	(lookup_minimal_symbol): Remove.
	(lookup_bound_minimal_symbol): Update.
	(lookup_minimal_symbol_text): Change return type.
	(lookup_minimal_symbol_solib_trampoline): Change return type.
	* minsyms.h (lookup_minimal_symbol, lookup_minimal_symbol_text)
	(lookup_minimal_symbol_solib_trampoline): Change return type.
	* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
	* objc-lang.c (lookup_objc_class, lookup_child_selector)
	(value_nsstring, find_imps): Update.
	* obsd-tdep.c (obsd_skip_solib_resolver): Update.
	* p-lang.c (pascal_main_name): Update.
	* ppc-linux-tdep.c (ppc_linux_spe_context_lookup): Update.
	* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
	* proc-service.c (ps_pglobal_lookup): Update.
	* ravenscar-thread.c (get_running_thread_msymbol): Change
	return type.
	(has_ravenscar_runtime, get_running_thread_id): Update.
	* remote.c (remote_check_symbols): Update.
	* sol-thread.c (ps_pglobal_lookup): Update.
	* sol2-tdep.c (sol2_skip_solib_resolver): Update.
	* solib-dsbt.c (lm_base): Update.
	* solib-frv.c (lm_base, frv_relocate_section_addresses):
	Update.
	* solib-irix.c (locate_base): Update.
	* solib-som.c (som_solib_create_inferior_hook)
	(som_solib_desire_dynamic_linker_symbols, link_map_start):
	Update.
	* solib-spu.c (spu_enable_break): Update.
	* solib-svr4.c (elf_locate_base, enable_break): Update.
	* spu-tdep.c (spu_get_overlay_table, spu_catch_start)
	(flush_ea_cache): Update.
	* stabsread.c (define_symbol): Update.
	* symfile.c (simple_read_overlay_table): Update.
	* symtab.c (find_pc_sect_line): Update.
	* tracepoint.c (scope_info): Update.
	* tui-disasm.c (tui_get_begin_asm_address): Update.
	* value.c (value_static_field): Update.
2014-02-26 12:11:17 -07:00
Tom Tromey efd66ac669 change minsym representation
In a later patch we're going to change the minimal symbol address
calculation to apply section offsets at the point of use.  To make it
simpler to catch potential problem spots, this patch changes the
representation of minimal symbols and introduces new
minimal-symbol-specific variants of the various accessors.  This is
necessary because it would be excessively ambitious to try to convert
all the symbol types at once.

The core of this change is just renaming a field in minimal_symbol;
the rest is just a fairly mechanical rewording.

2014-02-26  Tom Tromey  <tromey@redhat.com>

	* symtab.h (struct minimal_symbol) <mginfo>: Rename from ginfo.
	(MSYMBOL_VALUE, MSYMBOL_VALUE_ADDRESS, MSYMBOL_VALUE_BYTES)
	(MSYMBOL_BLOCK_VALUE, MSYMBOL_VALUE_CHAIN, MSYMBOL_LANGUAGE)
	(MSYMBOL_SECTION, MSYMBOL_OBJ_SECTION, MSYMBOL_NATURAL_NAME)
	(MSYMBOL_LINKAGE_NAME, MSYMBOL_PRINT_NAME, MSYMBOL_DEMANGLED_NAME)
	(MSYMBOL_SET_LANGUAGE, MSYMBOL_SEARCH_NAME)
	(MSYMBOL_MATCHES_SEARCH_NAME, MSYMBOL_SET_NAMES): New macros.
	* ada-lang.c (ada_main_name): Update.
	(ada_lookup_simple_minsym): Update.
	(ada_make_symbol_completion_list): Update.
	(ada_add_standard_exceptions): Update.
	* ada-tasks.c (read_atcb, ada_tasks_inferior_data_sniffer): Update.
	* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
	* amd64-windows-tdep.c (amd64_skip_main_prologue): Update.
	* arm-tdep.c (skip_prologue_function): Update.
	(arm_skip_stack_protector, 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.
	* btrace.c (ftrace_print_function_name, ftrace_function_switched):
	Update.
	* c-valprint.c (c_val_print): Update.
	* coff-pe-read.c (add_pe_forwarded_sym): Update.
	* coffread.c (coff_symfile_read): Update.
	* common/agent.c (agent_look_up_symbols): 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_symbol_address)
	(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.
	* infcmd.c (until_next_command): Update.
	* jit.c (jit_breakpoint_re_set_internal): Update.
	(jit_inferior_init): Update.
	* linespec.c (minsym_found): Update.
	(add_minsym): Update.
	* linux-fork.c (info_checkpoints_command): Update.
	* linux-nat.c (get_signo): Update.
	* linux-thread-db.c (inferior_has_bug): 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.
	* machoread.c (macho_resolve_oso_sym_with_minsym): 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.
	(minimal_symbol_upper_bound): Update.
	* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
	* mips-tdep.c (mips_stub_frame_sniffer): Update.
	(mips_skip_pic_trampoline_code): Update.
	* msp430-tdep.c (msp430_skip_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 (powerpc_linux_in_dynsym_resolve_code)
	(ppc_linux_spe_context_lookup, ppc_elfv2_skip_entrypoint): 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.
	* python/py-framefilter.c (py_print_frame): Update.
	* ravenscar-thread.c (get_running_thread_id): Update.
	* record-btrace.c (btrace_call_history, btrace_get_bfun_name):
	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.
	* 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.
	(MCOMPLETION_LIST_ADD_SYMBOL): New macro.
	(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.
2014-02-26 12:11:16 -07:00
Yao Qi f73023dd06 Revert previous tweaks
As we migrate to the new to_xfer_partial interface, some of previous
tweaks become unnecessary, we don't have to check traceframe is
selected in each target implementation, so this patch below is
reverted.

  [PATCH] Send qXfer:traceframe-info:read when traceframe is selected.
  https://sourceware.org/ml/gdb-patches/2013-10/msg00752.html

Third, to_traceframe_info is only called when traceframe is selected,
that means it is only called when target is remote, tfile or ctf, so
this patch can be partially reverted,

  https://sourceware.org/ml/gdb-patches/2013-04/msg00000.html

gdb:

2014-02-23  Yao Qi  <yao@codesourcery.com>

	Revert two patches:

	2013-10-25  Yao Qi  <yao@codesourcery.com>

	* remote.c (remote_traceframe_info): Return early if
	traceframe is not selected.

	2013-07-19  Yao Qi  <yao@codesourcery.com>

	* target.c (update_current_target): Change the default action
	of 'to_traceframe_info' from tcomplain to return_zero.
	* target.h (struct target_ops) <to_traceframe_info>: Add more
	comments.
2014-02-23 11:44:28 +08:00
Pedro Alves ba3481708d remote.c: Use the ptid.lwp field to store remote thread ids rather than ptid.tid.
From GDB's perspective, independently of how the target really
implements threads, gdb/remote sees all threads as if kernel/system
threads.  A rationale along theses lines led to gdbserver storing
thread ids in ptid.lwp in all ports.

Because remote.c is currently using ptid.tid, we can't make gdbserver
and gdb share bits of remote-specific code that manipulates ptids
(e.g., write_ptid/read_ptid).

This patch thus makes remote.c use ptid.lwp instead of ptid.tid.

I believe that on the GDB side too, it's best that we standardize on
process_stratum targets using the ptid.lwp field to store thread ids
anyway.  The idea being leave the ptid.tid field free for any
thread_stratum target that might want to sit on top.

Tested on x86_64 Fedora 17, w/ local gdbserver.

gdb/
2014-02-19  Pedro Alves  <palves@redhat.com>

	* remote.c (remote_thread_alive, write_ptid, read_ptid)
	(read_ptid, remote_newthread_step, remote_threads_extra_info)
	(remote_get_ada_task_ptid, append_resumption, remote_stop_ns)
	(threadalive_test, remote_pid_to_str): Use the ptid.lwp field to
	store remote thread ids rather than ptid.tid.
	(_initialize_remote): Adjust.
2014-02-19 18:25:40 +00:00
Tom Tromey 2117c711ae change delegation for to_read_description
This switches to_read_description to the "new normal" delegation
scheme.  This one was a bit trickier than the other changes due to the
way that target_read_description handled delegation.  I examined all
the target implementations of to_read_description and changed the ones
returning NULL to instead delegate.

2014-02-19  Tom Tromey  <tromey@redhat.com>

	* arm-linux-nat.c (arm_linux_read_description): Delegate when
	needed.
	* corelow.c (core_read_description): Delegate when needed.
	* remote.c (remote_read_description): Delegate when needed.
	* target-delegates.c: Rebuild.
	* target.c (target_read_description): Rewrite.
	* target.h (struct target_ops) <to_read_description>: Update
	comment.  Use TARGET_DEFAULT_RETURN.
2014-02-19 07:48:41 -07:00
Tom Tromey 5436ff0304 Add target_ops argument to to_augmented_libraries_svr4_read
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_augmented_libraries_svr4_read>:
	Add argument.
	(target_augmented_libraries_svr4_read): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_augmented_libraries_svr4_read): Add 'self'
	argument.
2014-02-19 07:46:59 -07:00
Tom Tromey 39c49f83b6 Add target_ops argument to to_read_btrace
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_read_btrace>: Add argument.
	* target.c (struct target_ops) <to_read_btrace>: Add argument.
	* remote.c (struct target_ops) <to_read_btrace>: Add 'self'
	argument.
	* amd64-linux-nat.c (amd64_linux_read_btrace): New function.
	(_initialize_amd64_linux_nat): Use it.
	* i386-linux-nat.c (i386_linux_read_btrace): New function.
	(_initialize_i386_linux_nat): Use it.
2014-02-19 07:46:45 -07:00
Tom Tromey 1777056d68 Add target_ops argument to to_teardown_btrace
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_teardown_btrace>: Add argument.
	* target.c (target_teardown_btrace): Add argument.
	* remote.c (remote_teardown_btrace): Add 'self' argument.
	* i386-linux-nat.c (i386_linux_teardown_btrace): Add 'self'
	argument.
	* amd64-linux-nat.c (amd64_linux_teardown_btrace): Add 'self'
	argument.
2014-02-19 07:46:44 -07:00
Tom Tromey 25e95349d8 Add target_ops argument to to_disable_btrace
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_disable_btrace>: Add argument.
	* target.c (target_disable_btrace): Add argument.
	* remote.c (remote_disable_btrace): Add 'self' argument.
	* i386-linux-nat.c (i386_linux_disable_btrace): Add 'self'
	argument.
	* amd64-linux-nat.c (amd64_linux_disable_btrace): Add 'self'
	argument.
2014-02-19 07:46:43 -07:00
Tom Tromey e3c49f88a2 Add target_ops argument to to_enable_btrace
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_enable_btrace>: Add argument.
	* target.c (target_enable_btrace): Add argument.
	* remote.c (remote_enable_btrace): Add 'self' argument.
	* i386-linux-nat.c (i386_linux_enable_btrace): Add 'self'
	argument.
	* amd64-linux-nat.c (amd64_linux_enable_btrace): Add 'self'
	argument.
2014-02-19 07:46:42 -07:00
Tom Tromey fe38f8971f Add target_ops argument to to_can_use_agent
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_can_use_agent>: Add argument.
	(target_can_use_agent): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_can_use_agent): Add 'self' argument.
	* inf-child.c (inf_child_can_use_agent): Add 'self' argument.
2014-02-19 07:46:41 -07:00
Tom Tromey 2c152180b3 Add target_ops argument to to_use_agent
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_use_agent>: Add argument.
	(target_use_agent): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_use_agent): Add 'self' argument.
	* inf-child.c (inf_child_use_agent): Add 'self' argument.
2014-02-19 07:46:40 -07:00
Tom Tromey a893e81f18 Add target_ops argument to to_traceframe_info
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* tracepoint.c (tfile_traceframe_info): Add 'self' argument.
	* target.h (struct target_ops) <to_traceframe_info>: Add argument.
	(target_traceframe_info): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_traceframe_info): Add 'self' argument.
	* ctf.c (ctf_traceframe_info): Add 'self' argument.
2014-02-19 07:46:39 -07:00
Tom Tromey c686c57f02 Add target_ops argument to to_static_tracepoint_markers_by_strid
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (target_static_tracepoint_markers_by_strid): Add
	argument.
	(struct target_ops) <to_static_tracepoint_markers_by_strid>: Add
	'self' argument.
	* target.c (update_current_target): Update.
	* remote.c (struct target_ops)
	<to_static_tracepoint_markers_by_strid>: Add 'self' argument.
	* linux-nat.c (struct target_ops)
	<to_static_tracepoint_markers_by_strid>: Add 'self' argument.
2014-02-19 07:46:38 -07:00
Tom Tromey 61fc905df3 Add target_ops argument to to_static_tracepoint_marker_at
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_static_tracepoint_marker_at>:
	Add argument.
	(target_static_tracepoint_marker_at): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_static_tracepoint_marker_at): Add 'self'
	argument.
2014-02-19 07:46:37 -07:00
Tom Tromey c378d69dff Add target_ops argument to to_set_permissions
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_set_permissions>: Add argument.
	(target_set_permissions): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_set_permissions): Add 'self' argument.
	(remote_start_remote): Update.
2014-02-19 07:46:36 -07:00
Tom Tromey bd7ae0f5ac Add target_ops argument to to_get_tib_address
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* windows-nat.c (windows_get_tib_address): Add 'self' argument.
	* target.h (struct target_ops) <to_get_tib_address>: Add argument.
	(target_get_tib_address): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_get_tib_address): Add 'self' argument.
2014-02-19 07:46:35 -07:00
Tom Tromey d9e68a2c60 Add target_ops argument to to_set_trace_notes
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_set_trace_notes>: Add argument.
	(target_set_trace_notes): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_set_trace_notes): Add 'self' argument.
2014-02-19 07:46:35 -07:00
Tom Tromey 4da384beed Add target_ops argument to to_set_trace_buffer_size
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_set_trace_buffer_size>: Add
	argument.
	(target_set_trace_buffer_size): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_set_trace_buffer_size): Add 'self' argument.
2014-02-19 07:46:34 -07:00
Tom Tromey 736d5b1fc4 Add target_ops argument to to_set_circular_trace_buffer
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_set_circular_trace_buffer>: Add
	argument.
	(target_set_circular_trace_buffer): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_set_circular_trace_buffer): Add 'self'
	argument.
2014-02-19 07:46:33 -07:00
Tom Tromey 37b2573848 Add target_ops argument to to_set_disconnected_tracing
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_set_disconnected_tracing>: Add
	argument.
	(target_set_disconnected_tracing): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_set_disconnected_tracing): Add 'self' argument.
2014-02-19 07:46:32 -07:00
Tom Tromey 0e67620a27 Add target_ops argument to to_get_min_fast_tracepoint_insn_len
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops)
	<to_get_min_fast_tracepoint_insn_len>: Add argument.
	(target_get_min_fast_tracepoint_insn_len): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_get_min_fast_tracepoint_insn_len): Add 'self'
	argument.
2014-02-19 07:46:31 -07:00
Tom Tromey 88ee6f45bb Add target_ops argument to to_get_raw_trace_data
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_get_raw_trace_data>: Add
	argument.
	(target_get_raw_trace_data): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_get_raw_trace_data): Add 'self' argument.
2014-02-19 07:46:30 -07:00
Tom Tromey 181e3713eb Add target_ops argument to to_upload_trace_state_variables
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_upload_trace_state_variables>:
	Add argument.
	(target_upload_trace_state_variables): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_upload_trace_state_variables): Add 'self'
	argument.
	(remote_start_remote): Update.
2014-02-19 07:46:29 -07:00
Tom Tromey ab6617cc1b Add target_ops argument to to_upload_tracepoints
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_upload_tracepoints>: Add
	argument.
	(target_upload_tracepoints): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_upload_tracepoints): Add 'self' argument.
	(remote_start_remote): Update.
2014-02-19 07:46:28 -07:00
Tom Tromey dc3decafdd Add target_ops argument to to_save_trace_data
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_save_trace_data>: Add argument.
	(target_save_trace_data): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_save_trace_data): Add 'self' argument.
2014-02-19 07:46:27 -07:00
Tom Tromey 4011015ba2 Add target_ops argument to to_get_trace_state_variable_value
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* tracepoint.c (tfile_get_trace_state_variable_value): Add 'self'
	argument.
	* target.h (struct target_ops)
	<to_get_trace_state_variable_value>: Add argument.
	(target_get_trace_state_variable_value): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_get_trace_state_variable_value): Add 'self'
	argument.
	* ctf.c (ctf_get_trace_state_variable_value): Add 'self' argument.
2014-02-19 07:46:26 -07:00
Tom Tromey bd4c67938f Add target_ops argument to to_trace_find
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* tracepoint.c (tfile_trace_find): Add 'self' argument.
	* target.h (struct target_ops) <to_trace_find>: Add argument.
	(target_trace_find): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_trace_find): Add 'self' argument.
	* ctf.c (ctf_trace_find): Add 'self' argument.
2014-02-19 07:46:25 -07:00
Tom Tromey 74499f1bf2 Add target_ops argument to to_trace_stop
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_trace_stop>: Add argument.
	(target_trace_stop): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_trace_stop): Add 'self' argument.
2014-02-19 07:46:24 -07:00
Tom Tromey db90e85c81 Add target_ops argument to to_get_tracepoint_status
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* tracepoint.c (tfile_get_tracepoint_status): Add 'self' argument.
	* target.h (struct target_ops) <to_get_tracepoint_status>: Add
	argument.
	(target_get_tracepoint_status): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_get_tracepoint_status): Add 'self' argument.
2014-02-19 07:46:23 -07:00
Tom Tromey 8bd200f160 Add target_ops argument to to_get_trace_status
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* tracepoint.c (tfile_get_trace_status): Add 'self' argument.
	* target.h (struct target_ops) <to_get_trace_status>: Add
	argument.
	(target_get_trace_status): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_get_trace_status): Add 'self' argument.
	(remote_start_remote, remote_can_download_tracepoint): Update.
	* ctf.c (ctf_get_trace_status): Add 'self' argument.
2014-02-19 07:46:22 -07:00
Tom Tromey e2d1aae372 Add target_ops argument to to_trace_start
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_trace_start>: Add argument.
	(target_trace_start): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_trace_start): Add 'self' argument.
2014-02-19 07:46:21 -07:00
Tom Tromey 583f9a86a4 Add target_ops argument to to_trace_set_readonly_regions
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_trace_set_readonly_regions>:
	Add argument.
	(target_trace_set_readonly_regions): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_trace_set_readonly_regions): Add 'self'
	argument.
2014-02-19 07:46:20 -07:00
Tom Tromey 780b049caa Add target_ops argument to to_disable_tracepoint
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_disable_tracepoint>: Add
	argument.
	(target_disable_tracepoint): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_disable_tracepoint): Add 'self' argument.
2014-02-19 07:46:19 -07:00
Tom Tromey 46670d57e3 Add target_ops argument to to_enable_tracepoint
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_enable_tracepoint>: Add
	argument.
	(target_enable_tracepoint): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_enable_tracepoint): Add 'self' argument.
2014-02-19 07:46:18 -07:00
Tom Tromey 559d2b81f0 Add target_ops argument to to_download_trace_state_variable
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_download_trace_state_variable>:
	Add argument.
	(target_download_trace_state_variable): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_download_trace_state_variable): Add 'self'
	argument.
2014-02-19 07:46:18 -07:00
Tom Tromey a52a8357cf Add target_ops argument to to_can_download_tracepoint
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_can_download_tracepoint>: Add
	argument.
	(target_can_download_tracepoint): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_can_download_tracepoint): Add 'self' argument.
2014-02-19 07:46:17 -07:00
Tom Tromey 548f7808ad Add target_ops argument to to_download_tracepoint
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_download_tracepoint>: Add
	argument.
	(target_download_tracepoint): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_download_tracepoint): Add 'self' argument.
2014-02-19 07:46:16 -07:00
Tom Tromey ecae04e1df Add target_ops argument to to_trace_init
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_trace_init>: Add argument.
	(target_trace_init): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_trace_init): Add 'self' argument.
2014-02-19 07:46:15 -07:00
Tom Tromey fab5aa7c3f Add target_ops argument to to_fileio_readlink
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_fileio_readlink>: Add argument.
	* target.c (target_fileio_readlink): Add argument.
	* remote.c (remote_hostio_readlink): Add 'self' argument.
	* inf-child.c (inf_child_fileio_readlink): Add 'self' argument.
2014-02-19 07:46:14 -07:00
Tom Tromey dbbca37d38 Add target_ops argument to to_fileio_unlink
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_fileio_unlink>: Add argument.
	* target.c (target_fileio_unlink): Add argument.
	* remote.c (remote_hostio_unlink): Add 'self' argument.
	(remote_file_delete): Update.
	* inf-child.c (inf_child_fileio_unlink): Add 'self' argument.
2014-02-19 07:46:13 -07:00
Tom Tromey df39ea259c Add target_ops argument to to_fileio_close
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_fileio_close>: Add argument.
	* target.c (target_fileio_close): Add argument.
	* remote.c (remote_hostio_close): Add 'self' argument.
	(remote_hostio_close_cleanup): Update.
	(remote_bfd_iovec_close, remote_file_put, remote_file_get):
	Update.
	* inf-child.c (inf_child_fileio_close): Add 'self' argument.
2014-02-19 07:46:13 -07:00
Tom Tromey a3be983cee Add target_ops argument to to_fileio_pread
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_fileio_pread>: Add argument.
	* target.c (target_fileio_pread): Add argument.
	* remote.c (remote_hostio_pread): Add 'self' argument.
	(remote_bfd_iovec_pread, remote_file_get): Update.
	* inf-child.c (inf_child_fileio_pread): Add 'self' argument.
2014-02-19 07:46:12 -07:00
Tom Tromey 0d866f62e8 Add target_ops argument to to_fileio_pwrite
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_fileio_pwrite>: Add argument.
	* target.c (target_fileio_pwrite): Add argument.
	* remote.c (remote_hostio_pwrite): Add 'self' argument.
	(remote_file_put): Update.
	* inf-child.c (inf_child_fileio_pwrite): Add 'self' argument.
2014-02-19 07:46:11 -07:00
Tom Tromey cd89758676 Add target_ops argument to to_fileio_open
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_fileio_open>: Add argument.
	* target.c (target_fileio_open): Add argument.
	* remote.c (remote_hostio_open): Add 'self' argument.
	(remote_bfd_iovec_open): Add 'self' argument.
	(remote_file_put): Add 'self' argument.
	(remote_file_get): Add 'self' argument.
	* inf-child.c (inf_child_fileio_open): Add 'self' argument.
2014-02-19 07:46:10 -07:00
Tom Tromey 78eff0ec9d Add target_ops argument to to_can_run_breakpoint_commands
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_can_run_breakpoint_commands>:
	Add argument.
	(target_can_run_breakpoint_commands): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_can_run_breakpoint_commands): Add 'self'
	argument.
	(remote_insert_breakpoint): Add 'self' argument.
	(remote_insert_hw_breakpoint): Add 'self' argument.
	(remote_can_run_breakpoint_commands): Add 'self' argument.
2014-02-19 07:46:09 -07:00
Tom Tromey efcc2da70e Add target_ops argument to to_supports_evaluation_of_breakpoint_conditions
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops)
	<to_supports_evaluation_of_breakpoint_conditions>: Add argument.
	(target_supports_evaluation_of_breakpoint_conditions): Add
	argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_supports_cond_breakpoints): Add 'self'
	argument.
	(remote_insert_breakpoint): Add 'self' argument.
	(remote_insert_hw_breakpoint): Add 'self' argument.
	(remote_supports_cond_breakpoints): Add 'self' argument.
2014-02-19 07:46:08 -07:00
Tom Tromey 6de37a3aae Add target_ops argument to to_supports_string_tracing
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops) <to_supports_string_tracing>: Add
	argument.
	(target_supports_string_tracing): Add argument.
	* target.c (update_current_target): Update.
	* remote.c (remote_supports_string_tracing): Add 'self' argument.
2014-02-19 07:46:07 -07:00
Tom Tromey 2bfc0540a2 Add target_ops argument to to_supports_disable_randomization
2014-02-19  Tom Tromey  <tromey@redhat.com>

	* target.h (struct target_ops)
	<to_supports_disable_randomization>: Add argument.
	* target.c (find_default_supports_disable_randomization): Add
	argument.
	(target_supports_disable_randomization): Add argument.
	(find_default_supports_disable_randomization): Add 'self'
	argument.
	* remote.c (extended_remote_supports_disable_randomization): Add
	'self' argument.
	(remote_supports_disable_randomization): Add 'self' argument.
	(extended_remote_create_inferior): Update.
	* linux-nat.c (linux_nat_supports_disable_randomization): Add
	'self' argument.
2014-02-19 07:46:07 -07:00