Yao Qi
b55fbac484
Remove target_read_live_memory
...
As we move code on reading unavailable memory to target side, GDB core
side doesn't need the "switching momentarily out of tfind mode" dance.
The target remote knows how to read live memory (through remote_ops).
Remove set_traceframe_number and
make_cleanup_restore_traceframe_number, since they are no longer used.
gdb:
2014-03-22 Yao Qi <yao@codesourcery.com>
* remote.c (target_read_live_memory): Remove.
(memory_xfer_live_readonly_partial): Rename it to
remote_xfer_live_readonly_partial. Remove argument 'object'.
All callers updated. Call remote_read_bytes_1
instead of target_read_live_memory.
* tracepoint.c (set_traceframe_number): Remove.
(make_cleanup_restore_traceframe_number): Likewise .
* tracepoint.h (set_traceframe_number): Remove declaration.
(make_cleanup_restore_traceframe_number): Likewise.
2014-03-22 18:31:41 +08:00
Yao Qi
9217e74e90
Factor remote_read_bytes.
...
This patch moves code in remote_read_bytes on reading from the remote
stub to a new function remote_read_bytes_1.
gdb:
2014-03-22 Yao Qi <yao@codesourcery.com>
* remote.c (remote_read_bytes): Move code on reading from the
remote stub to ...
(remote_read_bytes_1): ... here. New function.
2014-03-22 18:31:36 +08:00
Yao Qi
8acf9577e5
Move the traceframe_available_memory code from memory_xfer_partial_1 down to the targets
...
As a follow-up to
[PATCH 7/8] Adjust read_value_memory to use to_xfer_partial
https://sourceware.org/ml/gdb-patches/2014-02/msg00384.html
this patch moves traceframe_available_memory down to the target side.
After this patch, the gdb core code is cleaner, and code on handling
unavailable memory is moved to remote/tfile/ctf targets.
In details, this patch moves traceframe_available_memory code from
memory_xfer_partial_1 to remote target only, so remote target still
uses traceframe_info mechanism to check unavailable memory, and use
remote_ops to read them from read-only sections. We don't use
traceframe_info mechanism for tfile and ctf target, because it is
fast to iterate all traceframes from trace file, so the summary
information got from traceframe_info is not necessary.
This patch also moves two functions to remote.c from target.c,
because they are only used in remote.c. I'll clean them up in another
patch.
gdb:
2014-03-22 Yao Qi <yao@codesourcery.com>
* ctf.c (ctf_xfer_partial): Check the return value of
exec_read_partial_read_only, if it is not TARGET_XFER_OK,
return TARGET_XFER_UNAVAILABLE.
* tracefile-tfile.c (tfile_xfer_partial): Likewise.
* target.c (target_read_live_memory): Move it to remote.c.
(memory_xfer_live_readonly_partial): Likewise.
(memory_xfer_partial_1): Move some code to remote_read_bytes.
* remote.c (target_read_live_memory): Moved from target.c.
(memory_xfer_live_readonly_partial): Likewise.
(remote_read_bytes): New, factored out from
memory_xfer_partial_1.
2014-03-22 18:31:30 +08:00
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