old-cross-binutils/gdb/ChangeLog

8513 lines
313 KiB
Text
Raw Normal View History

2013-08-07 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (recursively_compute_inclusions): Add
"immediate_parent" argument. Set symtab's "user" field
if not set.
(compute_symtab_includes): Update.
2013-08-07 Tom Tromey <tromey@redhat.com>
* linespec.c (convert_linespec_to_sals): Use maybe_add_address
when adding label symbols.
2013-08-07 Raunaq Bathija <raunaq12@in.ibm.com>
Ulrich Weigand <uweigand@de.ibm.com>
* configure.tgt (powerpc64-*-aix*): Match powerpc64 running aix.
* configure.host (powerpc64-*-aix*): Likewise.
2013-08-07 Raunaq Bathija <raunaq12@in.ibm.com>
Ulrich Weigand <uweigand@de.ibm.com>
* gdb_ptrace.h: Use ptrace64 instead of ptrace if HAVE_PTRACE64
is defined.
* rs6000-nat.c: Check for __ld_info64_ if compiling 64 BIT gdb.
(rs6000_ptrace32): Call ptrace64 instead of ptrace if present.
(rs6000_ptrace64): Call ptace64 instead of ptracex if present.
* configure.ac: Check for ptrace64.
* configure, config.in: Regenerate.
2013-08-07 Raunaq Bathija <raunaq12@in.ibm.com>
Ulrich Weigand <uweigand@de.ibm.com>
* aixthread.c: Call ptrace64 instead of ptracex if defined.
Call ptrace64 instead of ptrace if defined.
Add macro addr_ptr to take care of ptrace address argument.
(pdc_read_regs): Likewise.
(pdc_write_regs): Likewise.
(aix_thread_resume): Likewise.
(fetch_regs_kernel_thread): Likewise.
(store_regs_kernel_thread): Likewise.
2013-08-07 Anton Blanchard <anton@samba.org>
* MAINTAINERS: Add myself to Write After Approval.
2013-08-05 Tom Tromey <tromey@redhat.com>
* aix-thread.c (_initialize_aix_thread): Use
complete_target_initialization.
* bsd-uthread.c (_initialize_bsd_uthread): Use
complete_target_initialization.
* dec-thread.c (_initialize_dec_thread): Use
complete_target_initialization.
* ravenscar-thread.c (_initialize_ravenscar): Use
complete_target_initialization.
* sol-thread.c (_initialize_sol_thread): Use
complete_target_initialization.
* spu-multiarch.c (_initialize_spu_multiarch): Use
complete_target_initialization.
remove msymbol_objfile This is another patch in my ongoing series to "split" objfile to share more read-only data across inferiors. See http://sourceware.org/gdb/wiki/ObjfileSplitting When symbols are finally shared, there will be no back-link from the symbol to its containing objfile, because there may be more than one such objfile. So, all such back-links must be removed. One hidden back-link is the msymbol_objfile function. Since (eventually) a symbol may appear in more than one objfile, trying to look up the objfile given just a symbol cannot work. This patch removes msymbol_objfile in favor of using a bound minimal symbol. It introduces a new function to make this conversion simpler in some spots. The bonus of this patch is that using msymbol_objfile is slower than simply looking up the owning objfile in the first place. Built and regtested on x86-64 Fedora 18. * ada-exp.y (write_var_or_type): Use bound_minimal_symbol. * ada-lang.c (ada_lookup_simple_minsym): Return bound_minimal_symbol. * ada-lang.h (ada_lookup_simple_minsym): Update. * c-exp.y (variable): Use lookup_bound_minimal_symbol. * f-exp.y (variable): Use lookup_bound_minimal_symbol. * go-exp.y (variable): Use lookup_bound_minimal_symbol. * jv-exp.y (push_expression_name): Use lookup_bound_minimal_symbol. * m2-exp.y (variable): Use lookup_bound_minimal_symbol. * minsyms.c (msymbol_objfile): Remove. (lookup_minimal_symbol_internal): New function, from lookup_minimal_symbol. (lookup_minimal_symbol): Rewrite using lookup_minimal_symbol_internal. (lookup_bound_minimal_symbol): New function. * minsyms.h (msymbol_objfile): Remove. (lookup_bound_minimal_symbol): Declare. * p-exp.y (variable): Use lookup_bound_minimal_symbol. * parse.c (write_exp_msymbol): Change parameter to a bound_minimal_symbol. (write_dollar_variable): Use lookup_bound_minimal_symbol. * parser-defs.h (write_exp_msymbol): Update. * printcmd.c (address_info): Use lookup_bound_minimal_symbol. * symfile.c (simple_read_overlay_table): Use lookup_bound_minimal_symbol. * symtab.c (skip_prologue_sal): Don't use msymbol_objfile. (search_symbols): Likewise. (print_msymbol_info): Take a bound_minimal_symbol argument. (symtab_symbol_info, rbreak_command): Update. * symtab.h (struct symbol_search) <msymbol>: Change type to bound_minimal_symbol. * valops.c (find_function_in_inferior): Use lookup_bound_minimal_symbol. * value.c (value_fn_field): Use lookup_bound_minimal_symbol.
2013-08-05 15:51:02 +00:00
2013-08-05 Tom Tromey <tromey@redhat.com>
* ada-exp.y (write_var_or_type): Use bound_minimal_symbol.
* ada-lang.c (ada_lookup_simple_minsym): Return
bound_minimal_symbol.
* ada-lang.h (ada_lookup_simple_minsym): Update.
* c-exp.y (variable): Use lookup_bound_minimal_symbol.
* f-exp.y (variable): Use lookup_bound_minimal_symbol.
* go-exp.y (variable): Use lookup_bound_minimal_symbol.
* jv-exp.y (push_expression_name): Use lookup_bound_minimal_symbol.
* m2-exp.y (variable): Use lookup_bound_minimal_symbol.
* minsyms.c (msymbol_objfile): Remove.
(lookup_minimal_symbol_internal): New function, from
lookup_minimal_symbol.
(lookup_minimal_symbol): Rewrite using
lookup_minimal_symbol_internal.
(lookup_bound_minimal_symbol): New function.
* minsyms.h (msymbol_objfile): Remove.
(lookup_bound_minimal_symbol): Declare.
* p-exp.y (variable): Use lookup_bound_minimal_symbol.
* parse.c (write_exp_msymbol): Change parameter to a
bound_minimal_symbol.
(write_dollar_variable): Use lookup_bound_minimal_symbol.
* parser-defs.h (write_exp_msymbol): Update.
* printcmd.c (address_info): Use lookup_bound_minimal_symbol.
* symfile.c (simple_read_overlay_table): Use
lookup_bound_minimal_symbol.
* symtab.c (skip_prologue_sal): Don't use msymbol_objfile.
(search_symbols): Likewise.
(print_msymbol_info): Take a bound_minimal_symbol argument.
(symtab_symbol_info, rbreak_command): Update.
* symtab.h (struct symbol_search) <msymbol>: Change type
to bound_minimal_symbol.
* valops.c (find_function_in_inferior): Use
lookup_bound_minimal_symbol.
* value.c (value_fn_field): Use lookup_bound_minimal_symbol.
gdb/ Code cleanup. * remote.c (cleanup_sigint_signal_handler): Rename the declaration to ... (async_cleanup_sigint_signal_handler): ... this. (initialize_sigint_signal_handler): Remove declaration. (handle_remote_sigint): Rename the declaration to ... (async_handle_remote_sigint): ... this. (handle_remote_sigint_twice): Rename the declaration to ... (async_handle_remote_sigint_twice): ... this. (async_remote_interrupt, async_remote_interrupt_twice) (remote_interrupt): Remove the declarations. (remote_interrupt_twice): Rename the declaration ... (sync_remote_interrupt_twice): ... this. (sigint_remote_twice_token): Rename the variable to ... (async_sigint_remote_twice_token): ... this. (sigint_remote_token): Rename the variable to ... (async_sigint_remote_token): ... this. (initialize_sigint_signal_handler): Rename the function to ... (async_initialize_sigint_signal_handler): ... this. Update the name inside. (handle_remote_sigint): Rename the function to ... (async_handle_remote_sigint): ... this. Update the names inside. (handle_remote_sigint_twice): Rename the function to ... (async_handle_remote_sigint_twice): ... this. Update the names inside. (cleanup_sigint_signal_handler): Rename the function to ... (async_cleanup_sigint_signal_handler): ... this. (remote_interrupt): Rename the function to ... (sync_remote_interrupt): this. Update the names inside. (remote_interrupt_twice): Rename the function to ... (sync_remote_interrupt_twice): this. Update the names inside. (remote_terminal_inferior, remote_terminal_ours, remote_wait_as) (_initialize_remote): Update the names inside.
2013-08-05 15:03:06 +00:00
2013-08-05 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup.
* remote.c (cleanup_sigint_signal_handler): Rename the declaration
to ...
(async_cleanup_sigint_signal_handler): ... this.
(initialize_sigint_signal_handler): Remove declaration.
(handle_remote_sigint): Rename the declaration to ...
(async_handle_remote_sigint): ... this.
(handle_remote_sigint_twice): Rename the declaration to ...
(async_handle_remote_sigint_twice): ... this.
(async_remote_interrupt, async_remote_interrupt_twice)
(remote_interrupt): Remove the declarations.
(remote_interrupt_twice): Rename the declaration ...
(sync_remote_interrupt_twice): ... this.
(sigint_remote_twice_token): Rename the variable to ...
(async_sigint_remote_twice_token): ... this.
(sigint_remote_token): Rename the variable to ...
(async_sigint_remote_token): ... this.
(initialize_sigint_signal_handler): Rename the function to ...
(async_initialize_sigint_signal_handler): ... this. Update the name
inside.
(handle_remote_sigint): Rename the function to ...
(async_handle_remote_sigint): ... this. Update the names inside.
(handle_remote_sigint_twice): Rename the function to ...
(async_handle_remote_sigint_twice): ... this. Update the names inside.
(cleanup_sigint_signal_handler): Rename the function to ...
(async_cleanup_sigint_signal_handler): ... this.
(remote_interrupt): Rename the function to ...
(sync_remote_interrupt): this. Update the names inside.
(remote_interrupt_twice): Rename the function to ...
(sync_remote_interrupt_twice): this. Update the names inside.
(remote_terminal_inferior, remote_terminal_ours, remote_wait_as)
(_initialize_remote): Update the names inside.
2013-08-02 Tom Tromey <tromey@redhat.com>
PR symtab/15719:
* breakpoint.c (update_watchpoint, watchpoint_check)
(watch_command_1): Update.
* eval.c (fetch_subexp_value): Add "preserve_errors"
parameter.
* ppc-linux-nat.c (check_condition): Update.
* value.h (fetch_subexp_value): Update.
2013-08-02 Andrew Burgess <aburgess@broadcom.com>
* mi/mi-interp.c (mi_interpreter_resume): Remove call to
add_file_handler.
2013-08-01 Doug Evans <dje@google.com>
PR symtab/15691
* dwarf2read.c (struct dwarf2_per_cu_data): New member tu_read.
(fill_in_sig_entry_from_dwo_entry): Reorganize asserts.
Add assert of sig_entry->dwo_unit == NULL.
(lookup_dwo_signatured_type): Don't assign TU to a DWO if the TU
had already been read.
(read_signatured_type): Set per_cu.tu_read.
PR symtab/15695
* valops.c (value_struct_elt): Add missing call to check_typedef.
(value_find_oload_method_list): Ditto.
* symtab.c (do_free_search_symbols_cleanup): Change arg to,
effectively, struct symbol_search **.
(make_cleanup_free_search_symbols): Change arg to struct
symbol_search **. All callers updated.
(compare_search_syms): Compare symtab file name and block as well.
(search_symbols_equal): New function.
(sort_search_symbols_remove_dups): Renamed from sort_search_symbols.
New args new_head, new_tail. Result is now void. Remove dups after
sorting the symbols.
(search_symbols): Sort all found symbols once, after all have been
found, and remove duplicates. Simplify cleanup tracking of result.
* symtab.h (make_cleanup_free_search_symbols): Update prototype.
Further workarounds for binutils/15021.
* dwarf2read.c (recursively_compute_inclusions): Change type of result
parameter to VEC (symtab_ptr) **. New parameter all_type_symtabs.
Watch for duplicate symtabs coming from type units.
(compute_symtab_includes): Update call to
recursively_compute_inclusions. Build vector of included symtabs
instead of per_cus.
* symtab.h (symtab_ptr): New typedef.
(DEF_VEC_P (symtab_ptr)): New VEC type.
* linespec.c (symtab_p): Delete. All uses updated to use symtab_ptr
instead.
2013-08-01 Andrew Burgess <aburgess@broadcom.com>
* cli/cli-script.c (script_from_file): Remove use of
error_pre_print.
* main.c (captured_main): Remove use of error_pre_print and
quit_pre_print.
* utils.c (error_pre_print, quit_pre_print): Remove.
* utils.h (error_pre_print, quit_pre_print): Likewise.
2013-08-01 Yao Qi <yao@codesourcery.com>
* mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Parse argv
with mi_getopt.
(mi_cmd_stack_list_variables): Likewise.
2013-07-31 Andrew Burgess <aburgess@broadcom.com>
* exceptions.c (deprecated_throw_reason): Remove.
* exceptions.h (deprecated_throw_reason): Remove.
2013-07-31 Andrew Burgess <aburgess@broadcom.com>
* remote-mips.c (mips_error): Replace use of
deprecated_throw_reason with throw_verror. Use the error message
passed to mips_error as the error message for throw_verror.
2013-07-31 Andrew Burgess <aburgess@broadcom.com>
* monitor.c (monitor_interrupt_query): Replace use of
deprecated_throw_reason with quit.
* nto-procfs.c (interrupt_query): Likewise.
* remote-fileio.c (remote_fileio_sig_exit): Likewise.
* remote-mips.c (mips_kill): Likewise.
* remote.c (interrupt_query): Likewise.
2013-07-31 Andrew Burgess <aburgess@broadcom.com>
* utils.c (internal_verror): Replace use of deprecated_throw_reason
with call to fatal.
2013-07-31 Pedro Alves <pedro@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* tracepoint.c (trace_dump_command): Select the current frame.
2013-07-30 Doug Evans <dje@google.com>
* dwarf2read.c (process_queue): Add type signature to debug output.
2013-07-30 Andrew Burgess <aburgess@broadcom.com>
* value.c (value_fetch_lazy): Mark optimized out values as such
rather than raising an error.
2013-07-30 Andrew Burgess <aburgess@broadcom.com>
* value.c (value_fetch_lazy): Ensure parent value is not lazy
before checking which bits of the parent, not the child, value are
valid.
2013-07-30 Muhammad Bilal <mbilal@codesorcery.com>
PR gdb/15715
* top.c: Include "filenames.h".
(set_history_filename): New function.
(init_main): Install it as set hook of the "set history filename"
command.
2013-07-30 Sanimir Agovic <sanimir.agovic@intel.com>
* dwarf2read.c (dwarf2_get_ref_die_offset): Constify struct
attribute parameter.
(dwarf2_const_value_data): Constify struct attribute parameter.
(dwarf2_const_value): Constify struct attribute parameter.
(dwarf2_const_value_attr): Constify struct attribute parameter.
(lookup_die_type): Constify struct attribute parameter.
(dwarf2_get_attr_constant_value): Constify struct attribute parameter.
(follow_die_ref_or_sig): Constify struct attribute parameter.
(follow_die_ref): Constify struct attribute parameter.
(follow_die_sig): Constify struct attribute parameter.
(get_DW_AT_signature_type): Constify struct attribute parameter.
(get_type_unit_group): Constify struct attribute parameter.
(fill_in_loclist_baton): Constify struct attribute parameter.
(dwarf2_symbol_mark_computed): Constify struct attribute parameter.
(type_unit_group): Constify struct attribute parameter.
2013-07-30 Sanimir Agovic <sanimir.agovic@intel.com>
* dwarf2read.c (attr_form_is_block): Make argument const.
(attr_form_is_section_offset): Make argument const.
(attr_form_is_constant): Make argument const.
(attr_form_is_ref): Make argument const.
2013-07-30 Sanimir Agovic <sanimir.agovic@intel.com>
* dwarf2read.c (attr_is_ref): Rename to attr_form_is_ref.
All uses updated.
(attr_form_is_ref): Moved below attr_form_is_constant.
2013-07-29 Doug Evans <dje@google.com>
* main.c (captured_command_loop): Tweak comment.
* target.c (target_async_permitted_1): Fix comment.
* symtab.c (iterate_over_some_symtabs): Add comment.
* symtab.c (iterate_over_some_symtabs): Fix indentation.
2013-07-27 Yao Qi <yao@codesourcery.com>
* NEWS: Mention that GDBserver now supports hardware
watchpoints on the MIPS GNU/Linux target.
2013-07-27 Yao Qi <yao@codesourcery.com>
* Makefile.in (HFILES_NO_SRCDIR): Add
common/mips-linux-watch.h.
(mips-linux-watch.o): New rule.
* common/mips-linux-watch.c: New.
* common/mips-linux-watch.h: New.
* config/mips/linux.mh (NATDEPFILES): Add mips-linux-watch.o
* mips-linux-nat.c: Include mips-linux-watch.h.
(W_BIT, R_BIT, I_BIT, W_MASK, R_MASK, I_MASK, IRW_MASK): Move
to common/mips-linux-watch.h.
(MAX_DEBUG_REGISTER): Likewise.
(enum pt_watch_style): Likewise.
(struct mips32_watch_regs): Likewise.
(struct mips64_watch_regs): Likewise.
(struct pt_watch_regs): Likewise.
(struct mips_watchpoint): Likewise.
(mips_linux_watch_get_irw_mask): Move to
common/mips-linux-watch.c.
(get_reg_mask, mips_linux_watch_get_num_valid): Likewise.
(mips_linux_watch_get_watchlo): Likewise.
(mips_linux_watch_set_watchlo): Likewise.
(mips_linux_watch_get_watchhi): Likewise.
(mips_linux_watch_set_watchhi): Likewise.
(mips_linux_read_watch_registers): Likewise.
(mips_linux_watch_type_to_irw): Likewise.
(mips_linux_stopped_data_address, fill_mask): Likewise.
(mips_linux_watch_try_one_watch): Likewise.
(mips_linux_watch_populate_regs): Likewise.
gdb/ * mips-linux-nat.c (get_irw_mask): Rename to ... (mips_linux_watch_get_irw_mask): ... this. Rename parameter 'set' to 'n'. Update function comment. All callers changed. (get_reg_mask): Rename parameter 'set' to 'n'. Update function comment. All callers changed. (get_num_valid): Rename to ... (mips_linux_watch_get_num_valid): ... this. Rename parameter 'set' to 'n'. Update function comment. All callers changed. (get_watchlo): Rename to ... (mips_linux_watch_get_watchlo): ... this. Rename parameter 'set' to 'n'. Update function comment. All callers changed. (set_watchlo): Rename to ... (mips_linux_watch_set_watchlo): ... this. Rename parameter 'set' to 'n'. Update function comment. All callers changed. (get_watchhi): Rename to ... (mips_linux_watch_get_watchhi): ... this. Update function comment. All callers changed. (set_watchhi): Rename to ... (mips_linux_watch_set_watchhi): ... this. Update function comment. All callers changed. (mips_linux_read_watch_registers): Update function comment. Add new parameters 'lwpid', 'watch_readback', and 'watch_readback_valid'. Update. (type_to_irw): Rename to ... (mips_linux_watch_type_to_irw): ... this. Update function comment. All callers changed. (fill_mask): Update function comment. (try_one_watch): Rename to ... (mips_linux_watch_try_one_watch): ... this. Change the type of parameter 'irw' from 'unsigned' to 'uint32_t'. (populate_regs_from_watches): Rename to ... (mips_linux_watch_populate_regs): ... this. Add parameter 'current_watches'. All callers changed.
2013-07-27 07:32:40 +00:00
2013-07-27 Yao Qi <yao@codesourcery.com>
* mips-linux-nat.c (get_irw_mask): Rename to ...
(mips_linux_watch_get_irw_mask): ... this. Rename parameter
'set' to 'n'. Update function comment. All callers changed.
(get_reg_mask): Rename parameter 'set' to 'n'. Update
function comment. All callers changed.
(get_num_valid): Rename to ...
(mips_linux_watch_get_num_valid): ... this. Rename parameter
'set' to 'n'. Update function comment. All callers changed.
(get_watchlo): Rename to ...
(mips_linux_watch_get_watchlo): ... this. Rename parameter
'set' to 'n'. Update function comment. All callers changed.
(set_watchlo): Rename to ...
(mips_linux_watch_set_watchlo): ... this. Rename parameter
'set' to 'n'. Update function comment. All callers changed.
(get_watchhi): Rename to ...
(mips_linux_watch_get_watchhi): ... this. Update function
comment. All callers changed.
(set_watchhi): Rename to ...
(mips_linux_watch_set_watchhi): ... this. Update function
comment. All callers changed.
(mips_linux_read_watch_registers): Update function comment.
Add new parameters 'lwpid', 'watch_readback', and
'watch_readback_valid'. Update.
(type_to_irw): Rename to ...
(mips_linux_watch_type_to_irw): ... this. Update function
comment. All callers changed.
(fill_mask): Update function comment.
(try_one_watch): Rename to ...
(mips_linux_watch_try_one_watch): ... this. Change the type
of parameter 'irw' from 'unsigned' to 'uint32_t'.
(populate_regs_from_watches): Rename to ...
(mips_linux_watch_populate_regs): ... this. Add parameter
'current_watches'. All callers changed.
2013-07-27 Yao Qi <yao@codesourcery.com>
* mips-linux-nat.c (MAX_DEBUG_REGISTER): Move it earlier in
the code.
(PTRACE_SET_WATCH_REGS, enum pt_watch_style): Remove.
(struct mips32_watch_regs, struct mips64_watch_regs): Remove.
(struct pt_watch_regs): Likewise.
[!PTRACE_GET_WATCH_REGS] (PTRACE_SET_WATCH_REGS): New macro.
[!PTRACE_GET_WATCH_REGS] (enum pt_watch_style): New.
[!PTRACE_GET_WATCH_REGS] (struct mips32_watch_regs): New.
[!PTRACE_GET_WATCH_REGS] (struct mips64_watch_regs): New.
[!PTRACE_GET_WATCH_REGS] (struct pt_watch_regs): New.
2013-07-27 Yao Qi <yao@codesourcery.com>
* breakpoint.h: Include break-common.h.
(enum target_hw_bp_type): Move to ...
* common/break-common.h: ... here. New.
GDB kills itself instead of interrupting inferior When GDB is run with IO redirected to a pipe, the 'interrupt' command causes it to kill its own process group instead of the inferior's. The problem manifests itself in async mode, native debugging: $ cat | gdb <file> (gdb) set target-async on (gdb) run & (gdb) interrupt A debugging session is active. Inferior 1 [process 20584] will be killed. Quit anyway? (y or n) [answered Y; input not from terminal] In this case, GDB tells that its stdin isn't a tty and doesn't save the inferior's process group in inflow.c:terminal_init_inferior_with_pgrp. The 'interrupt' command tries to 'kill' the inferior's process group in `inf-ptrace.c:inf_ptrace_stop`, but since that wasn't saved in the first place, GDB kills process group 0, meaning, its own process group. When GDB is used from a frontend, that means killing its own process group including the frontend and possibly the X session. This was originally seen with SublimeGDB: https://github.com/quarnster/SublimeGDB/issues/29. The patch makes GDB save the inferior pgid regardless of having a terminal, as pgid is used not only to reset foreground process group, but also to interrupt the inferior process. It also adds a regression test. Luckily, we can emulate not having a terminal with "set interactive-mode off", avoiding the need of special magic to spawn gdb with a pipe. Tested on x86_64 Fedora 17. gdb/ 2013-07-26 Cyril Nikolaev <cyril@nichtverstehen.de> * inflow.c (terminal_init_inferior_with_pgrp): Save inferior process group regardless of having tty on stdin. gdb/testsuite/ 2013-07-26 Pedro Alves <palves@redhat.com> * gdb.base/interrupt-noterm.c, gdb.base/interrupt-noterm.exp: New files.
2013-07-26 11:15:45 +00:00
2013-07-26 Cyril Nikolaev <cyril@nichtverstehen.de>
* inflow.c (terminal_init_inferior_with_pgrp): Save inferior
process group regardless of having tty on stdin.
2013-07-25 20:53:07 +00:00
2013-07-25 Doug Evans <dje@google.com>
* linux-fork.h (detach_fork): Delete.
remove pop_target This patch fixes the target double-close problem (PR remote/15266), and in the process removes pop_target entire (PR remote/15256). The first issue is that pop_target calls target_close. However, it then calls unpush_target, which also calls target_close. This means targets must be able to be closed twice. Not only is this strange, but it also directly contradicts the contract of to_xclose targets. (We currently have just a single such target, and it is never pushed; but I plan to add more, and so this latent bug is triggered.) The second issue is that it seems to me that calling pop_target is often unsafe. This is what cropped up in 15256, where the remote target assumed that it could pop_target -- but there was another target higher on the stack, leading to confusion. But, it is always just as easy to call unpush_target as it is to call pop_target; and it is also safer. So, removing pop_target seemed like an improvement. Finally, this adds an assertion to target_close to ensure that no currently-pushed target can be closed. Built and regtested on x86-64 Fedora 18; both natively and using the native-gdbserver board file. PR remote/15256, PR remote/15266: * bfd-target.c (target_bfd_reopen): Initialize to_magic. * monitor.c (monitor_detach): Use unpush_target. * remote-m32r-sdi.c (m32r_detach): Use unpush_target. * remote-mips.c (mips_detach): Use unpush_target. Don't call mips_close. * remote-sim.c (gdbsim_detach): Use unpush_target. * target.c (pop_target): Remove. (pop_all_targets_above): Don't call target_close. (target_close): Assert that the target is unpushed. * target.h (pop_target): Don't declare. * tracepoint.c (tfile_open): Use unpush_target.
2013-07-25 14:34:51 +00:00
2013-07-25 Tom Tromey <tromey@redhat.com>
PR remote/15256, PR remote/15266:
* bfd-target.c (target_bfd_reopen): Initialize to_magic.
* monitor.c (monitor_detach): Use unpush_target.
* remote-m32r-sdi.c (m32r_detach): Use unpush_target.
* remote-mips.c (mips_detach): Use unpush_target. Don't
call mips_close.
* remote-sim.c (gdbsim_detach): Use unpush_target.
* target.c (pop_target): Remove.
(pop_all_targets_above): Don't call target_close.
(target_close): Assert that the target is unpushed.
* target.h (pop_target): Don't declare.
* tracepoint.c (tfile_open): Use unpush_target.
2013-07-25 Tom Tromey <tromey@redhat.com>
* linux-thread-db.c (init_thread_db_ops): Call
complete_target_initialization.
(_initialize_thread_db): Don't call add_target.
* target.c (complete_target_initialization): New function.
(add_target_with_completer): Call it.
* target.h (complete_target_initialization): Declare.
2013-07-25 Mark Kettenis <kettenis@gnu.org>
* hppa-tdep.h (enum hppa_regnum): Add members for all space registers.
* hppaobsd-tdep.c (HPPAOBSD_SIZEOF_GREGS): Add comment.
(HPPANBSD_SIZEOF_GREGS): New define.
(hppaobsd_supply_gregset): Handle additional registers.
* hppabsd-nat.c (hppabsd_gregset_supplies_p): Adjust to indicate
we provide more registers now.
(hppabsd_supply_gregset): Supply additional registers.
(hppabsd_collect_gregset): Collect additional registers.
2013-07-25 Mark Kettenis <kettenis@gnu.org>
* hppabsd-tdep.c: Include "dwarf2-frame.h".
(hppabsd_dwarf2_frame_init_reg): New function.
(hppabsd_init_abi): Hook in the DWARF CFI frame unwinder.
2013-07-25 Andrew Burgess <aburgess@broadcom.com>
* mi/mi-main.c (output_register): Make MI 'r' format use standard
'z' format code. Remove error for optimized out values, standard
code will handle these fine.
2013-07-25 Andrew Burgess <aburgess@broadcom.com>
* NEWS: Mention new 'z' formatter.
* printcmd.c (print_scalar_formatted): Add new 'z' formatter.
(_initialize_printcmd): Mention 'z' formatter in help text of the
'x' command.
2013-07-24 Maciej W. Rozycki <macro@codesourcery.com>
* mips-tdep.c (micromips_deal_with_atomic_sequence): Correct
formatting.
2013-07-24 Sergio Durigan Junior <sergiodj@redhat.com>
* breakpoint.c (create_longjmp_master_breakpoint): Check if probe
interface can evaluate arguments. Fallback to the old mode if it
cannot.
(create_exception_master_breakpoint): Likewise.
* elfread.c (elf_can_evaluate_probe_arguments): New function.
(struct sym_probe_fns elf_probe_fns): Export function above to the
probe interface.
* probe.c (can_evaluate_probe_arguments): New function.
* probe.h (struct probe_ops) <can_evaluate_probe_arguments>: New
function pointer.
(can_evaluate_probe_arguments): New function prototype.
* solib-svr4.c (svr4_create_solib_event_breakpoints): Check if
probe interface can evaluate arguments. Fallback to the old mode
if it cannot.
* stap-probe.c (stap_get_probe_argument_count): Check if probe
interface can evaluate arguments. Warning the user if it cannot.
(stap_can_evaluate_probe_arguments): New function.
(struct probe_ops stap_probe_ops): Export function above to the
probe interface.
* symfile.h (struct sym_probe_fns) <can_evaluate_probe_arguments>:
New function pointer.
2013-07-24 Luis Machado <lgustavo@codesourcery.com>
* Makefile.in (SFILES): Add common/target-common.c.
Add common/target-common.h to headers.
(COMMON_OBS): Add target-common.o.
(target-common.o): New target.
* linux-nat.h (resume_kind): Move to common/target-common.h.
* target.c (target_waitstatus_to_string): Move to
common/target-common.c.
* target.h: Include target-common.h.
(target_waitkind): Move to common/target-common.h.
(target_waitstatus): Likewise.
(TARGET_WNOHANG): Likewise.
* common/target-common.c: New file.
* common/target-common.h: New file.
2013-07-24 Doug Evans <dje@google.com>
* dwarf2read.c (lookup_dwo_cutu): Change missing DWO complaint to
a warning.
2013-07-23 Yao Qi <yao@codesourcery.com>
* i386-tdep.c (i386_in_stack_tramp_p): Remove unused
parameter 'gdbarch'.
(i386_stack_tramp_frame_sniffer): Caller update.
* i386-linux-tdep.c (i386_linux_core_read_xcr0): Remove
parameter 'gdbarch' and 'target'.
(i386_linux_core_read_description): Caller update.
* amd64-linux-tdep.c (amd64_linux_core_read_description):
Likewise.
* i386-linux-tdep.h (i386_linux_core_read_xcr0): Update
declaration.
2013-07-23 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (init_cutu_and_read_dies): Revert patch from
2013-07-22.
2013-07-22 Doug Evans <dje@google.com>
* exec.h (remove_target_sections): Delete arg abfd.
* exec.c (exec_close): Update call to remove_target_sections.
(remove_target_sections): Delete arg abfd.
* solib.c (update_solib_list): Ditto.
(reload_shared_libraries_1): Ditto.
(clear_solib): Ditto, and unconditionally call remove_target_sections.
* target.h (struct target_section): Rename key to owner.
All uses updated.
2013-07-22 Tom Tromey <tromey@redhat.com>
* solib-som.c (som_open_symbol_file_object): Call do_cleanups.
2013-07-22 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (init_cutu_and_read_dies): Remove 'free_cu_cleanup'.
Simplify cleanup handling.
2013-07-22 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (dwarf_decode_line_header): Call do_cleanups
on all return paths.
2013-07-22 Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
* ppc-linux-nat.c (PPC_DEBUG_FEATURE_DATA_BP_DAWR): New define.
(ppc_linux_region_ok_for_hw_watchpoint): Add checking to use the new
DAWR interface for longer ranges hardware watchpoint (up to 512 bytes).
2013-07-22 Phil Muldoon <pmuldoon@redhat.com>
* top.c (print_gdb_version): Add help, apropos description and
url to online documentation.
2013-07-19 Hui Zhu <hui@codesourcery.com>
PR gdb/15692
* mi/mi-cmd-break.c (mi_argv_to_format): Handle double quotes.
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.
* valops.c (read_value_memory): Call
traceframe_available_memory unconditionally.
2013-07-18 Yao Qi <yao@codesourcery.com>
* coffread.c (coff_symfile_read): Iterate over minimal symbols,
if the name is prefixed by "__imp_" or "_imp_", look for minimal
symbol without prefix. If found, set its type to
'mst_solib_trampoline'.
2013-07-17 Doug Evans <dje@google.com>
* NEWS: Mention "set print raw frame-arguments".
* gdbcmd.h (setprintrawlist, showprintrawlist): Declare.
* stack.c (print_raw_frame_arguments): New static global.
(print_frame_arg): Set opts.raw from print_raw_frame_arguments.
(_initialize_stack): New command "set/show print raw frame-arguments".
* valprint.c (setprintrawlist, showprintrawlist): New globals.
(set_print_raw, show_print_raw): New functions.
(_initialize_valprint): New prefix command "set/show print raw".
* valprint.h (value_print_options): Improve comments.
* cli/cli-cmds.c (init_cmd_lists): Delete unnecessary initialization
of all *list variables.
* gdbcmd.h (togglelist): Delete.
* cli/cli-cmds.c (togglelist): Delete.
(init_cmd_lists): Update.
* cli/cli-cmds.h (togglelist): Delete.
2013-07-17 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (dwarf2_per_objfile_free): Clear
dwarf2_per_objfile.
2013-07-16 Doug Evans <dje@google.com>
* nto-tdep.c (nto_relocate_section_addresses): Update,
target_section.bfd deleted.
* ppc64-tdep.c (ppc64_convert_from_func_ptr_addr): Ditto.
* s390-tdep.c (s390_load): Ditto.
* solib-aix.c (solib_aix_relocate_section_addresses): Ditto.
2013-07-16 Andrew Burgess <aburgess@broadcom.com>
* common/format.c (parse_format_string): Add checks for NULL
character before calling strchr.
2013-07-16 Doug Evans <dje@google.com>
* solist.h (target_so_ops.find_and_open_solib): Clarify usage of
temp_pathname argument.
* nto-tdep.c (nto_find_and_open_solib): Fix setting of temp_pathname
when opening the file fails.
* target.h (struct target_section): Delete member bfd.
All users updated to use the_bfd_section->owner instead.
* exec.c (add_to_section_table): Assert bfd is expected value.
Remove initialization of target_section.bfd.
(remove_target_sections): Update.
(section_table_available_memory): Update.
(section_table_xfer_memory_partial): Update.
(print_section_info): Update.
(exec_set_section_address): Update.
* record-full.c (record_full_core_xfer_partial): Update.
* solib-svr4.c (svr4_relocate_section_addresses): Update.
* solib-target.c (solib_target_relocate_section_addresses): Update.
* symfile.c (build_section_addr_info_from_section_table): Update.
* target.c (memory_xfer_live_readonly_partial): Update.
(memory_xfer_partial_1): Update.
2013-07-15 Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
* ppc-linux-nat.c: Since the new PowerPC specific ptrace interface is
now available for embedded (BookE) and server (BookS) processors,
correct mentions of 'booke' and adjust comments accordingly in order to
avoid confusion. Rename struct 'booke_debug_info' to 'hwdebug_info'.
(have_ptrace_booke_interface): Rename function and variable
'have_ptrace_booke_interface' to 'have_ptrace_hwdebug_interface'.
Rename struct 'booke_debug_info' to 'hwdebug_info'. Update all uses.
(booke_cmp_hw_point): Rename function 'booke_cmp_hw_point' to
'hwdebug_point_cmp'. Update all uses.
(booke_find_thread_points_by_tid): Rename function
'booke_find_thread_points_by_tid' to
'hwdebug_find_thread_points_by_tid'. Update all uses.
(booke_insert_point): Rename function 'booke_insert_point' to
'hwdebug_insert_point'. Update all uses.
(booke_remove_point): Rename function 'booke_remove_point' to
'hwdebug_remove_point'. Update all uses.
2013-07-15 Maciej W. Rozycki <macro@codesourcery.com>
* mips-tdep.c (mips_gdbarch_init): Replace hardcoded magic
numbers with enum values.
2013-07-15 Ali Anwar <ali_anwar@codesourcery.com>
PR threads/13217
* thread.c (thread_apply_all_command): Check for valid threads
and thread count.
(thread_array_cleanup): New struct.
(set_thread_refcount): New function.
2013-07-11 Andrew Burgess <aburgess@broadcom.com>
* infcmd.c (default_print_one_register_info): Reuse function
print_hex_chars.
2013-07-10 Tom Tromey <tromey@redhat.com>
* Makefile.in (GDB_WARN_CFLAGS_NO_DEFS, ADA_EXP_C): New macros.
(ada-exp.o): New target.
2013-07-10 Sergio Durigan Junior <sergiodj@redhat.com>
* mt-tdep.c (mt_registers_info): Call
get_no_prettyformat_print_options instead of
get_raw_print_options (regression by last patch from Doug
Evans).
ada-lang.c:coerce_unspec_val_to_type: Preserve laziness. ada-lang.c:coerce_unspec_val_to_type does: if (value_lazy (val) || TYPE_LENGTH (type) > TYPE_LENGTH (value_type (val))) result = allocate_value_lazy (type); else { result = allocate_value (type); memcpy (value_contents_raw (result), value_contents (val), TYPE_LENGTH (type)); } set_value_component_location (result, val); set_value_bitsize (result, value_bitsize (val)); set_value_bitpos (result, value_bitpos (val)); set_value_address (result, value_address (val)); set_value_optimized_out (result, value_optimized_out (val)); Notice that before value_optimized_out was made to auto-fetch lazy values, VAL would end up still lazy if it was lazy on entry. It's not really a problem here if VAL is lazy, and VAL->optimized_out is 0, because RESULT is also left lazy. IOW, this just wants to copy the VAL->optimized_out flag to RESULT->optimized_out, nothing else. As a side-effect of the change in value_optimized_out, the following testcase now regresses. Consider: type Small is range -64 .. 63; for Small'Size use 7; type Arr is array (1..10) of Small; pragma Pack (Arr); type Arr_Ptr is access Arr; An_Arr_Ptr : Arr_Ptr := new Arr'(10, 20, 30, 40, 50, 60, 62, 63, -23, 42); Trying to print one element of An_Arr_Ptr yields: (gdb) p an_arr_ptr(3) Cannot access memory at address 0x0 The patch adds the value_optimized_out_const function for that, allowing us to avoid trying to fetch a value at a dummy address. (I found this out by grepping for set_value_optimized_out and trying to convert the uses I found to instead allocate the value with allocate_optimized_out_value.) Tested on x86_64 Fedora 17. gdb/ 2013-07-09 Pedro Alves <palves@redhat.com> * ada-lang.c (coerce_unspec_val_to_type): Use value_optimized_out_const. * value.c (value_optimized_out_const): New function. * value.h (value_optimized_out_const): New declaration.
2013-07-10 00:34:38 +00:00
2013-07-09 Pedro Alves <palves@redhat.com>
Checked in by Joel Brobecker <brobecker@adacore.com>.
* ada-lang.c (coerce_unspec_val_to_type): Use
value_optimized_out_const.
* value.c (value_optimized_out_const): New function.
* value.h (value_optimized_out_const): New declaration.
2013-07-09 Doug Evans <dje@google.com>
* defs.h (enum val_prettyformat): Renamed from val_prettyprint.
Enum values rename as well. All uses updated.
* valprint.h (value_print_options): Rename member pretty to
pretty format. Rename member prettyprint_arrays to
prettyformat_arrays. Rename member prettyprint_structs to
prettyformat_structs. All uses updated.
(get_no_prettyformat_print_options): Renamed from
get_raw_print_options.
* valprint.c (get_no_prettyformat_print_options): Renamed from
get_raw_print_options. All callers updated.
(show_prettyformat_structs): Renamed from show_prettyprint_structs.
All callers updated.
(show_prettyformat_arrays): Renamed from show_prettyprint_arrays.
All callers updated.
(_initialize_valprint): Improve help text for "set print pretty" and
"set print arrays".
2013-07-09 Andrew Burgess <aburgess@broadcom.com>
* value.c (value_bits_valid): Revert previous change, and change
by Pedro on 2013-07-04, due to regressions in
gdb.dwarf2/implptr.exp and gdb.dwarf2/pieces.exp.
2013-07-08 Andrew Burgess <aburgess@broadcom.com>
Pedro Alves <palves@redhat.com>
* value.c (value_bits_valid): If the value is not lval_computed
or has no check validity handler then the answer is the
optimized_out flag, otherwise defer to the handler.
2013-07-06 Eli Zaretskii <eliz@gnu.org>
* top.c (print_gdb_configuration): Explain in output of
--configuration what does "relocatable" mean.
* main.c (print_gdb_help): Regroup options in the --help text.
See http://sourceware.org/ml/gdb-patches/2013-04/msg00362.html for
the relevant discussions.
2013-07-06 Yao Qi <yao@codesourcery.com>
* breakpoint.h (struct breakpoint_ops) <create_breakpoints_sal>:
Remove parameter 'lsal'.
* breakpoint.c (create_breakpoint): Move local variable 'lsal'
to inner block. Caller update.
(base_breakpoint_create_breakpoints_sal): Update.
(bkpt_create_breakpoints_sal): Likewise.
(tracepoint_create_breakpoints_sal): Likewise.
(strace_marker_create_breakpoints_sal): Get 'lsal' from the
element 0 of vector 'canonical->sals'.
2013-07-05 Luis Machado <lgustavo@codesourcery.com>
* rs6000-tdep.c (rs6000_stab_reg_to_regnum): Return the real
register number instead of the pseudo register one.
(rs6000_dwarf2_reg_to_regnum): Likewise.
2013-07-04 Pedro Alves <palves@redhat.com>
* findvar.c (value_of_register): Use allocate_optimized_out_value
if the register has been optimized out, instead of
set_value_optimized_out.
* frame-unwind.c (frame_unwind_got_optimized): Use
allocate_optimized_out_value.
2013-07-04 Pedro Alves <palves@redhat.com>
* value.c (value_bits_valid): If the value is not lval_computed,
or doesn't have a check_validity hook, assume the value is entirely
valid.
2013-07-04 Andrew Burgess <aburgess@broadcom.com>
* stack.c (read_frame_arg): No longer fetch lazy values.
* value.c (value_optimized_out): If the value is not already
marked optimized out, and is lazy then fetch it.
(value_primitive_field): Move optimized out check to later in the
function, after we have loaded any lazy values.
(value_fetch_lazy): Use optimized out flag directly rather than
calling optimized_out method.
2013-07-04 Andrew Burgess <aburgess@broadcom.com>
* valops.c: Don't include "user-regs.h".
(value_fetch_lazy): Moved to value.c.
* value.c: Include "user-regs.h".
(value_fetch_lazy): Moved from valops.c.
2013-07-04 Yao Qi <yao@codesourcery.com>
Revert:
2013-06-27 Yao Qi <yao@codesourcery.com>
* common/create-version.sh: Update comments. Handle the case
that TARGET_ALIAS is empty.
On mainline/development, also link GDBserver with -lmcheck. This factors --enable-libmcheck related bits from GDB's configure.ac and makes GDBserver use them too. Specifically, the 'development' global is moved to a separate script to it can be sourced by both GDB and GDBserver, and the --enable-libmcheck/--disable-libmcheck bits proper are moved to a new m4 file. I started out by defining 'development' in the m4 file, but in the end decided against it, as a separate script has the advantage that changing it in release branches does not require regenerating configure, unlike today. I had also started out by making the new GDB_AC_LIBMCHECK itself handle the yes/no default fallback depending on release/developement, but since I had split out 'development' to a separate script, and, GDB needs the python checks anyway (hence we'd need to do the python checks in gdb's configure.ac, and pass in a 'default lmcheck yes/no' parameter to GDB_AC_LIBMCHECK anyway), I ended up keeping GDB_AC_LIBMCHECK isolated from the 'development' global. IOW, it's the caller's business to handle it. Tested on x86_64 Fedora 17. Built GDB and GDBserver with and without --enable-libmcheck, and observed --enable-libmcheck overrides the disablement of -lmcheck caused by python supporting threads, and that GDBserver links with -lmcheck when expected. Also observed that changing the 'development' global, and issuing "make" triggers a relink, and '-lmcheck' is included or not from the link accordingly. gdb/ 2013-07-03 Pedro Alves <palves@redhat.com> * Makefile.in (config.status): Depend on development.sh. (aclocal_m4_deps): Add libmcheck.m4. * acinclude.m4: Include libmcheck.m4. * configure.ac: Source development.sh instead of setting 'development' here. --enable-libmcheck/--disable-libmcheck code factored out to GDB_AC_LIBMCHECK. Run it. * development.sh: New file. * libmcheck.m4: New file. * configure: Regenerate. gdb/gdbserver/ 2013-07-03 Pedro Alves <palves@redhat.com> * Makefile.in (config.status): Depend on development.sh. * acinclude.m4: Include libmcheck.m4. * configure: Regenerate.
2013-07-03 13:25:46 +00:00
2013-07-03 Pedro Alves <palves@redhat.com>
* Makefile.in (config.status): Depend on development.sh.
(aclocal_m4_deps): Add libmcheck.m4.
* acinclude.m4: Include libmcheck.m4.
* configure.ac: Source development.sh instead of setting
'development' here. --enable-libmcheck/--disable-libmcheck code
factored out to GDB_AC_LIBMCHECK. Run it.
* development.sh: New file.
* libmcheck.m4: New file.
* configure: Regenerate.
2013-07-02 Tom Tromey <tromey@redhat.com>
* contrib/ari/update-web-ari.sh: Update for version.in change.
2013-07-02 16:58:51 +00:00
2013-07-02 Tom Tromey <tromey@redhat.com>
* common/ptid.h: Comment fixes.
2013-07-01 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (dwarf2_get_dwz_file): Return NULL if
.gnu_debugaltlink not found. Use bfd_get_alt_debug_link_info.
(dwarf2_read_index, create_all_comp_units): Update.
2013-07-01 Tom Tromey <tromey@redhat.com>
* configure.ac (build_warnings): Add -Wold-style-definition.
* configure: Rebuild.
* machoread.c (_initialize_machoread): Use "(void)".
* macrocmd.c (macro_inform_no_debuginfo): Fix formatting;
use "(void)".
2013-07-01 Tom Tromey <tromey@redhat.com>
* configure.ac (build_warnings): Add -Wold-style-declaration.
* configure: Rebuild.
* dsrec.c (make_srec): Use "static const", not "const static".
* h8300-tdep.c (h8300_breakpoint_from_pc): Use "static const",
not "const static".
* mi/mi-parse.c (mi_no_values, mi_simple_values, mi_all_values):
Use "static const", not "const static".
* mn10300-tdep.c (mn10300_breakpoint_from_pc): Use "static const",
not "const static".
* moxie-tdep.c (moxie_breakpoint_from_pc): Use "static const",
not "const static".
* rs6000-tdep.c (rs6000_breakpoint_from_pc): Use "static const",
not "const static".
* v850-tdep.c (v850_breakpoint_from_pc): Use "static const",
not "const static".
(v850_dbtrap_breakpoint_from_pc): Likewise.
* xstormy16-tdep.c (xstormy16_breakpoint_from_pc): Use "static const",
not "const static".
2013-07-01 Tom Tromey <tromey@redhat.com>
* configure.ac (build_warnings): Add -Wmissing-parameter-type.
* configure: Rebuild.
Normalize on PATH_MAX instead of MAXPATHLEN throughout. With the pathmax gnulib module in place, we can use PATH_MAX consistently throughout, instead of the current mixbag of PATH_MAX and MAXPATHLEN uses. It's no longer necessary to include sys/param.h (supposedly, I can't check all ports touched here) for MAXPATHLEN. Don't remove sys/param.h from GDB's configure.ac, as later tests in the file use HAVE_SYS_PARAM_H checks. Tested on x86_64 Fedora 17. Also cross-built for --host=i686-w64-mingw32, and --host=i586-pc-msdosdjgpp. gdb/ 2013-07-01 Pedro Alves <palves@redhat.com> * defs.h: Include "pathmax.h". * utils.c: Don't include sys/param.h. (gdb_realpath): Remove code that checks for MAXPATHLEN. * solib-ia64-hpux.c (ia64_hpux_handle_load_event): Use PATH_MAX instead of MAXPATHLEN. * solib-sunos.c: Don't include sys/param.h. * xcoffread.c: Don't include sys/param.h. * bsd-kvm.c: Don't include sys/param.h. * darwin-nat.c: Don't include sys/param.h. (darwin_pid_to_exec_file): Use PATH_MAX instead of MAXPATHLEN. * darwin-nat-info.c: Don't include sys/param.h. * fbsd-nat.c (fbsd_pid_to_exec_file): Use PATH_MAX instead of MAXPATHLEN. * i386obsd-nat.c: Don't include sys/param.h. * inf-child.c: Don't include sys/param.h. (inf_child_fileio_readlink): Use PATH_MAX instead of MAXPATHLEN. * linux-fork.c: Don't include sys/param.h. (fork_save_infrun_state): Use PATH_MAX instead of MAXPATHLEN. * linux-nat.c: Don't include sys/param.h. (linux_child_pid_to_exec_file, linux_proc_pending_signals) (linux_proc_pending_signals): Use PATH_MAX instead of MAXPATHLEN. * m68klinux-nat.c: Don't include sys/param.h. * nbsd-nat.c: Don't include sys/param.h. (nbsd_pid_to_exec_file): Use PATH_MAX instead of MAXPATHLEN. * ppc-linux-nat.c: Don't include sys/param.h. * rs6000-nat.c: Don't include sys/param.h. * spu-linux-nat.c. Don't include sys/param.h. * windows-nat.c: Don't include sys/param.h. * xtensa-linux-nat.c: Don't include sys/param.h. * config/i386/nm-fbsd.h: Don't include sys/param.h. gdb/gdbserver/ 2013-07-01 Pedro Alves <palves@redhat.com> * server.h: Include "pathmax.h". * linux-low.c: Don't include sys/param.h. (linux_pid_exe_is_elf_64_file): Use PATH_MAX instead of MAXPATHLEN. * win32-low.c: Don't include sys/param.h. (win32_create_inferior): Use PATH_MAX instead of MAXPATHLEN.
2013-07-01 11:28:30 +00:00
2013-07-01 Pedro Alves <palves@redhat.com>
* defs.h: Include "pathmax.h".
* utils.c: Don't include sys/param.h.
(gdb_realpath): Remove code that checks for MAXPATHLEN.
* solib-ia64-hpux.c (ia64_hpux_handle_load_event): Use PATH_MAX
instead of MAXPATHLEN.
* solib-sunos.c: Don't include sys/param.h.
* xcoffread.c: Don't include sys/param.h.
* bsd-kvm.c: Don't include sys/param.h.
* darwin-nat.c: Don't include sys/param.h.
(darwin_pid_to_exec_file): Use PATH_MAX instead of MAXPATHLEN.
* darwin-nat-info.c: Don't include sys/param.h.
* fbsd-nat.c (fbsd_pid_to_exec_file): Use PATH_MAX instead of
MAXPATHLEN.
* i386obsd-nat.c: Don't include sys/param.h.
* inf-child.c: Don't include sys/param.h.
(inf_child_fileio_readlink): Use PATH_MAX instead of MAXPATHLEN.
* linux-fork.c: Don't include sys/param.h.
(fork_save_infrun_state): Use PATH_MAX instead of MAXPATHLEN.
* linux-nat.c: Don't include sys/param.h.
(linux_child_pid_to_exec_file, linux_proc_pending_signals)
(linux_proc_pending_signals): Use PATH_MAX instead of MAXPATHLEN.
* m68klinux-nat.c: Don't include sys/param.h.
* nbsd-nat.c: Don't include sys/param.h.
(nbsd_pid_to_exec_file): Use PATH_MAX instead of MAXPATHLEN.
* ppc-linux-nat.c: Don't include sys/param.h.
* rs6000-nat.c: Don't include sys/param.h.
* spu-linux-nat.c. Don't include sys/param.h.
* windows-nat.c: Don't include sys/param.h.
* xtensa-linux-nat.c: Don't include sys/param.h.
* config/i386/nm-fbsd.h: Don't include sys/param.h.
2013-07-01 Pedro Alves <palves@redhat.com>
* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add pathmax.
* gnulib/Makefile.in (aclocal_m4_deps): Add import/m4/pathmax.m4.
* gnulib/aclocal.m4: Regenerate.
* gnulib/config.in: Regenerate.
* gnulib/configure: Regenerate.
* gnulib/import/pathmax.h: New file.
* gnulib/import/Makefile.am: Regenerate.
* gnulib/import/Makefile.in: Regenerate.
* gnulib/import/m4/gnulib-cache.m4: Regenerate.
* gnulib/import/m4/gnulib-comp.m4: Regenerate.
* gnulib/import/m4/pathmax.m4: New file.
2013-07-01 Pedro Alves <palves@redhat.com>
* configure.ac (GDBINIT): Define, depending on host.
* go32-nat.c (init_go32_ops): Don't override gdbinit here.
* top.c (PATH_MAX): Delete fallback definition.
(GDBINIT_FILENAME): Delete.
(gdbinit): Reimplement as const char array set to the GDBINIT
string constant.
* top.h (gdbinit): Make const.
* configure, config.in: Regenerate.
2013-07-01 Pedro Alves <palves@redhat.com>
* cli/cli-cmds.c (source_script): Make 'file' parameter const.
* cli/cli-cmds.h (source_script): Likewise.
* exceptions.c (catch_command_errors_const): New function.
* exceptions.h (catch_command_errors_const): Declare.
* main.c (get_init_files): Make parameters const, and adjust.
(captured_main): Make 'system_gdbinit', 'home_gdbinit' and
'local_gdbinit' locals const. Adjust to use
catch_command_errors_const.
(print_gdb_help): Make 'system_gdbinit', 'home_gdbinit' and
'local_gdbinit' locals const.
2013-07-01 Pedro Alves <palves@redhat.com>
* defs.h: Don't check HAVE_UNISTD_H before including <unistd.h>.
(STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Delete.
* tracepoint.c: Don't check HAVE_UNISTD_H before including
<unistd.h>.
2013-07-01 Pedro Alves <palves@redhat.com>
Import the "unistd" gnulib module.
* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add "unistd".
* gnulib/Makefile.in (aclocal_m4_deps): Add import/m4/off_t.m4,
import/m4/ssize_t.m4, import/m4/sys_types_h.m4 and
import/m4/unistd_h.m4.
* gnulib/aclocal.m4: Renenerate.
* gnulib/config.in: Renenerate.
* gnulib/configure: Renenerate.
* gnulib/import/Makefile.am: Renenerate.
* gnulib/import/Makefile.in: Renenerate.
* gnulib/import/m4/gnulib-cache.m4: Renenerate.
* gnulib/import/m4/gnulib-comp.m4: Renenerate.
* gnulib/import/m4/off_t.m4: New file.
* gnulib/import/m4/ssize_t.m4: New file.
* gnulib/import/m4/sys_types_h.m4: New file.
* gnulib/import/m4/unistd_h.m4: New file.
* gnulib/import/sys_types.in.h: New file.
* gnulib/import/unistd.c: New file.
* gnulib/import/unistd.in.h: New file.
2013-07-01 Pedro Alves <palves@redhat.com>
* utils.c <pathconf/_PC_PATH_MAX use>: Check if _PC_PATH_MAX is
defined instead of checking HAVE_UNISTD_H.
2013-07-01 Pedro Alves <palves@redhat.com>
Reimport gnulib from scratch.
* gnulib/Makefile.in (aclocal_m4_deps): Remove reference to
import/m4/onceonly.m4.
* gnulib/aclocal.m4: Renegerate.
* gnulib/config.in: Renegerate.
* gnulib/configure: Renegerate.
* gnulib/import/Makefile.in: Renegerate.
* gnulib/import/extra/update-copyright: Renegerate.
* gnulib/import/m4/onceonly.m4: Delete.
2013-07-01 Pedro Alves <palves@redhat.com>
* tui/tui-regs.c (pagination_enabled): Delete declaration.
2013-06-30 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup.
* remote.c (async_remote_interrupt_twice): Make it static.
* remote.h (async_remote_interrupt_twice): Remove the declaration.
2013-06-29 Sergio Durigan Junior <sergiodj@redhat.com>
* ia64-linux-tdep.c: Include <ctype.h>.
(ia64_linux_stap_is_single_operand): New function.
(ia64_linux_init_abi): Initialize SystemTap related attributes.
2013-06-28 Tom Tromey <tromey@redhat.com>
* Makefile.in (version.c): Use version.in, not
common/version.in.
* common/create-version.sh: Likewise.
* common/version.in: Move...
* version.in: ...here.
2013-06-28 Pedro Alves <palves@redhat.com>
* infrun.c (set_observer_mode): Don't declare pagination_enabled
here.
* utils.h (pagination_enabled): Declare.
2013-06-28 Pedro Alves <palves@redhat.com>
* infrun.c (non_stop, non_stop_1, set_non_stop, show_non_stop):
Move higher up in file.
2013-06-28 Tom Tromey <tromey@redhat.com>
* tracepoint.c (deprecated_readline_begin_hook)
(deprecated_readline_hook, deprecated_readline_end_hook): Don't
declare.
[PR tui/14880] Fetch values before comparing their contents. PR tui/14880 shows a reproducer that triggers this assertion: int value_available_contents_eq (const struct value *val1, int offset1, const struct value *val2, int offset2, int length) { int idx1 = 0, idx2 = 0; /* This routine is used by printing routines, where we should already have read the value. Note that we only know whether a value chunk is available if we've tried to read it. */ gdb_assert (!val1->lazy && !val2->lazy); (top-gdb) bt #0 internal_error (file=0x88a26c "../../src/gdb/value.c", line=549, string=0x88a220 "%s: Assertion `%s' failed.") at ../../src/gdb/utils.c:844 #1 0x000000000057b9cd in value_available_contents_eq (val1=0x10fa900, offset1=0, val2=0x10f9e10, offset2=0, length=8) at ../../src/gdb/value.c:549 #2 0x00000000004fd756 in tui_get_register (frame=0xd5c430, data=0x109a548, regnum=0, changedp=0x109a560) at ../../src/gdb/tui/tui-regs.c:736 #3 0x00000000004fd111 in tui_check_register_values (frame=0xd5c430) at ../../src/gdb/tui/tui-regs.c:521 #4 0x0000000000501884 in tui_check_data_values (frame=0xd5c430) at ../../src/gdb/tui/tui-windata.c:234 #5 0x00000000004f976f in tui_selected_frame_level_changed_hook (level=1) at ../../src/gdb/tui/tui-hooks.c:222 #6 0x00000000006f0681 in select_frame (fi=0xd5c430) at ../../src/gdb/frame.c:1490 #7 0x00000000005dd94b in up_silently_base (count_exp=0x0) at ../../src/gdb/stack.c:2268 #8 0x00000000005dd985 in up_command (count_exp=0x0, from_tty=1) at ../../src/gdb/stack.c:2280 #9 0x00000000004dc5cf in do_cfunc (c=0xd3f720, args=0x0, from_tty=1) at ../../src/gdb/cli/cli-decode.c:113 #10 0x00000000004df664 in cmd_func (cmd=0xd3f720, args=0x0, from_tty=1) at ../../src/gdb/cli/cli-decode.c:1888 #11 0x00000000006e43e1 in execute_command (p=0xc7e6c2 "", from_tty=1) at ../../src/gdb/top.c:489 The fix is to fetch the value before comparing the contents. The comment additions to value.h explain why it can't be value_available_contents_eq itself that fetches the contents. Tested on x86_64 Fedora 17. gdb/ 2013-06-28 Pedro Alves <palves@redhat.com> PR tui/14880 * tui/tui-regs.c (tui_get_register): Fetch register value contents before checking whether they're available. * value.c (value_available_contents_eq): Change comment. * value.h (value_available_contents_eq): Expand comment.
2013-06-28 12:36:48 +00:00
2013-06-28 Pedro Alves <palves@redhat.com>
PR tui/14880
* tui/tui-regs.c (tui_get_register): Fetch value contents before
checking if they're available.
* value.c (value_available_contents_eq): Change comment.
* value.h (value_available_contents_eq): Expand comment.
2013-06-27 Tom Tromey <tromey@redhat.com>
* target.c (find_run_target): Remove.
* target.h (find_run_target): Remove.
2013-06-27 Tom Tromey <tromey@redhat.com>
* corelow.c (core_gdbarch): Now static.
2013-06-27 Tom Tromey <tromey@redhat.com>
* target.c (target_struct_index): Remove.
2013-06-27 Pedro Alves <palves@redhat.com>
* infrun.c: Remove comment describing the 'stepping over runtime
loader dynamic symbol resolution code' mechanism; moved to
gdbint.texinfo.
2013-06-27 Pedro Alves <palves@redhat.com>
* exceptions.c (catch_command_errors): Remove spurious space.
* exceptions.h (catch_command_errors): Second parameter is "arg",
not "command".
2013-06-27 Yao Qi <yao@codesourcery.com>
* common/create-version.sh: Update comments. Handle the case
that TARGET_ALIAS is empty.
2013-06-26 Pedro Alves <palves@redhat.com>
* infrun.c (SOLIB_IN_DYNAMIC_LINKER): Delete macro and describing
comment.
2013-06-26 Pedro Alves <palves@redhat.com>
* infrun.c: Update comments on stepping over runtime loader
dynamic symbol resolution code.
2013-06-26 Sergio Durigan Junior <sergiodj@redhat.com>
* ax-gdb.h (union exp_element): Forward declare.
* parser-defs.h: Include expression.h.
2013-06-26 Maciej W. Rozycki <macro@codesourcery.com>
* mips-tdep.c (fetch_mips_16): Use unmake_compact_addr.
2013-06-26 Dmitry Kozlov <ddk@codesourcery.com>
* tracepoint.c (trace_save): Extend tsave to save starttime, stoptime.
2013-06-26 Dmitry Kozlov <ddk@codesourcery.com>
Fix trace-status to output proper start-time and stop-time.
* tracepoint.c (trace_status_command): Fix type of printf arg to
prevent improper type conversion.
(trace_status_mi): Likewise.
2013-06-26 Maciej W. Rozycki <macro@codesourcery.com>
* mips-tdep.c (mips_next_pc): Fix a typo.
2013-06-26 Maciej W. Rozycki <macro@codesourcery.com>
* mips-tdep.c (micromips_scan_prologue): Fix a typo.
gdb/ 2013-06-26 Pedro Alves <pedro@codesourcery.com> Yao Qi <yao@codesourcery.com> * gdb.texinfo (GDB/MI Tracepoint Commands): Document -trace-frame-collected. gdb: 2013-06-26 Pedro Alves <pedro@codesourcery.com> Yao Qi <yao@codesourcery.com> * mi/mi-cmds.c (mi_cmds): Register -trace-frame-collected. * mi/mi-cmds.h (mi_cmd_trace_frame_collected): Declare. * mi/mi-main.c (print_variable_or_computed): New function. (mi_cmd_trace_frame_collected): New function. * tracepoint.c (find_trace_state_variable_by_number): New. (struct traceframe_info): Move to tracepoint.h (struct collection_list): Likewise. (do_collect_symbol): Include locals and arguments in the wholly collected variables list. (clear_collection_list): Clear wholly collected variables list and computed variables list. (append_exp): New function. (encode_actions_1): Include variables in the wholly collected variables list. Include memory ranges and full-fledged expressions in the computed expressions list. (encode_actions): Move some code to ... Return the cleanup chain. (encode_actions_rsp): ... here. New function. (get_traceframe_location, get_traceframe_info): Remove static. * tracepoint.h (struct memrange): Moved from tracepoint.c. (struct collection_list): Moved from tracepoint.c. Add two new fields 'wholly_collected' and 'computed'. (find_trace_state_variable_by_number): Declare. (encode_actions): Adjust declaration. (encode_actions_rsp): Declare. (get_traceframe_info, get_traceframe_location): Declare. * NEWS: Mention new MI command -trace-frame-collected.
2013-06-26 08:17:27 +00:00
2013-06-26 Pedro Alves <pedro@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* mi/mi-cmds.c (mi_cmds): Register -trace-frame-collected.
* mi/mi-cmds.h (mi_cmd_trace_frame_collected): Declare.
* mi/mi-main.c (print_variable_or_computed): New function.
(mi_cmd_trace_frame_collected): New function.
* tracepoint.c (find_trace_state_variable_by_number): New.
(struct traceframe_info): Move to tracepoint.h
(struct collection_list): Likewise.
(do_collect_symbol): Include locals and arguments in the
collected variables list.
(clear_collection_list): Clear wholly collected variables list
and computed variables list.
(append_exp): New function.
(encode_actions_1): Include variables in the wholly
collected variables list. Include memory ranges and
full-fledged expressions in the computed expressions list.
(encode_actions): Move some code to ...
Return the cleanup chain.
(encode_actions_rsp): ... here. New function.
(get_traceframe_location, get_traceframe_info): Remove static.
* tracepoint.h (struct memrange): Moved from tracepoint.c.
(struct collection_list): Moved from tracepoint.c. Add two
new fields 'wholly_collected' and 'computed'.
(find_trace_state_variable_by_number): Declare.
(encode_actions): Adjust declaration.
(encode_actions_rsp): Declare.
(get_traceframe_info, get_traceframe_location): Declare.
* NEWS: Mention new MI command -trace-frame-collected.
2013-06-26 Pedro Alves <pedro@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* ctf.c (ctf_traceframe_info): Push trace state variables
present in the trace data into the traceframe info object.
* breakpoint.c (DEF_VEC_I): Remove.
* common/filestuff.c (DEF_VEC_I): Likewise.
* dwarf2loc.c (DEF_VEC_I): Likewise.
* mi/mi-main.c (DEF_VEC_I): Likewise.
* common/gdb_vecs.h (DEF_VEC_I): Define vector for int.
* features/traceframe-info.dtd: Add tvar element and its
attributes.
* tracepoint.c (free_traceframe_info): Free vector 'tvars'.
(build_traceframe_info): Push trace state variables present in
the trace data into the traceframe info object.
(traceframe_info_start_tvar): New function.
(tvar_attributes): New.
(traceframe_info_children): Add "tvar" element.
* tracepoint.h (struct traceframe_info) <tvars>: New field.
* NEWS: Mention the change in GDB and GDBserver.
2013-06-26 Pedro Alves <pedro@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* tracepoint.c (trace_dump_command): Move code to ...
(get_traceframe_location): ... here. New.
2013-06-26 Pedro Alves <pedro@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* tracepoint.c (trace_dump_command): GDB emits an error
instead of a warning when a traceframe is not selected.
2013-06-26 Pedro Alves <pedro@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* tracepoint.c (tracepoint_list, stepping_list): Remove.
(clear_collection_list): Free fields 'aexpre_list' and 'list'
in collection_list.
(do_clear_collection_list, init_collection_list): New.
(encode_actions): Add local variables 'tracepoint_list' and
'stepping_list'. Call init_collection_list and make cleanup
which calls do_clear_collection_list. Don't call
clear_collection_list.
(_initialize_tracepoint): Delete references to
'tracepoint_list' and 'stepping_list'.
2013-06-25 Tom Tromey <tromey@redhat.com>
* common/create-version.sh (date): Use "$", not "$$" in sed
expression.
2013-06-25 Kevin Buettner <kevinb@redhat.com>
* NEWS (New targets): Add entry for TI MSP430.
2013-06-25 Yao Qi <yao@codesourcery.com>
* remote.c (remote_start_remote): Move code to upload tsv
earlier.
2013-06-25 Yao Qi <yao@codesourcery.com>
Hui Zhu <hui@codesourcery.com>
Pedro Alves <palves@redhat.com>
PR breakpoints/15075
PR breakpoints/15434
* breakpoint.c (bpstat_stop_status): Call
b->ops->after_condition_true.
(update_dprintf_command_list): Don't append "continue" command
to the command list of dprintf breakpoint.
(base_breakpoint_after_condition_true): New function.
(base_breakpoint_ops): Add base_breakpoint_after_condition_true.
(dprintf_after_condition_true): New function.
(initialize_breakpoint_ops): Set dprintf_after_condition_true.
* breakpoint.h (breakpoint_ops): Add after_condition_true.
2013-06-24 Kevin Buettner <kevinb@redhat.com>
* Makefile.in (ALL_TARGET_OBS): Add msp430-tdep.o.
(ALLDEPFILES): Add msp430-tdep.c.
* configure.tgt (msp430*-*-elf): New target.
* msp430-tdep.c: New file.
bfd/ * elfxx-mips.h (_bfd_mips_elf_get_synthetic_symtab): New prototype. * elf32-mips.c (elf_backend_plt_sym_val): Remove macro. (bfd_elf32_get_synthetic_symtab): New macro. * elfxx-mips.c (plt_entry): New structure. (mips_elf_link_hash_entry): Add use_plt_entry member. (mips_elf_link_hash_table): Rename plt_entry_size member to plt_mips_entry_size. Add plt_comp_entry_size, plt_mips_offset, plt_comp_offset, plt_got_index entries and plt_header_is_comp members. (STUB_LW_MICROMIPS, STUB_MOVE_MICROMIPS): New macros. (STUB_LUI_MICROMIPS, STUB_JALR_MICROMIPS): Likewise. (STUB_ORI_MICROMIPS, STUB_LI16U_MICROMIPS): Likewise. (STUB_LI16S_MICROMIPS): Likewise. (MICROMIPS_FUNCTION_STUB_NORMAL_SIZE): Likewise. (MICROMIPS_FUNCTION_STUB_BIG_SIZE): Likewise. (micromips_o32_exec_plt0_entry): New variable. (mips16_o32_exec_plt_entry): Likewise. (micromips_o32_exec_plt_entry): Likewise. (mips_elf_link_hash_newfunc): Initialize use_plt_entry. (mips_elf_output_extsym): Update to use gotplt_union's plist member rather than offset. (mips_elf_gotplt_index): Likewise. Remove the VxWorks restriction. Use MIPS_ELF_GOT_SIZE to calculate GOT address. (mips_elf_count_got_symbols): Update to use gotplt_union's plist member rather than offset. (mips_elf_calculate_relocation): Handle MIPS16/microMIPS PLT entries. (_bfd_mips_elf_create_dynamic_sections): Don't set PLT sizes here. (mips_elf_make_plt_record): New function. (_bfd_mips_elf_check_relocs): Update comment. Record occurences of JAL relocations that might need a PLT entry. (_bfd_mips_elf_adjust_dynamic_symbol): Update to use gotplt_union's plist member rather than offset. Set individual PLT entry sizes here. Handle MIPS16/microMIPS PLT entries. Don't set the symbol's value in the symbol table for PLT references here. Don't set the PLT or PLT GOT section sizes here. (mips_elf_estimate_stub_size): Handle microMIPS stubs. (mips_elf_allocate_lazy_stub): Likewise. (mips_elf_lay_out_lazy_stubs): Likewise. Define a _MIPS_STUBS_ magic symbol. (mips_elf_set_plt_sym_value): New function. (_bfd_mips_elf_size_dynamic_sections): Set PLT header size and PLT and PLT GOT section sizes here. Set the symbol values in the symbol table for PLT references here. Handle microMIPS annotation of the _PROCEDURE_LINKAGE_TABLE_ magic symbol. (_bfd_mips_elf_finish_dynamic_symbol): Update to use gotplt_union's plist member rather than offset. Handle MIPS16/microMIPS PLT entries. Handle microMIPS stubs. (_bfd_mips_vxworks_finish_dynamic_symbol): Update to use gotplt_union's plist member rather than offset. Use MIPS_ELF_GOT_SIZE to calculate GOT address. (mips_finish_exec_plt): Handle microMIPS PLT. Return status. (_bfd_mips_elf_finish_dynamic_sections): Handle result from mips_finish_exec_plt. (_bfd_mips_elf_link_hash_table_create): Update to use gotplt_union's plist member rather than offset. (_bfd_mips_elf_get_synthetic_symtab): New function. include/elf/ * mips.h (ELF_ST_IS_MIPS_PLT): Respect STO_MIPS16 setting. (ELF_ST_SET_MIPS_PLT): Likewise. gdb/ * mips-tdep.c (mips_elf_make_msymbol_special): Handle MIPS16 and microMIPS synthetic symbols. ld/ * emulparams/elf32btsmip.sh: Arrange for .got.plt to be placed as close to .plt as possible. * scripttempl/elf.sc: Handle $INITIAL_READWRITE_SECTIONS and $PLT_NEXT_DATA variables. ld/testsuite/ * ld-mips-elf/jalx-2.dd: Update for microMIPS PLT support. * ld-mips-elf/pic-and-nonpic-3a.dd: Update for the _MIPS_STUBS_ magic symbol. * ld-mips-elf/pic-and-nonpic-3b.dd: Likewise. * ld-mips-elf/pic-and-nonpic-6-n32.dd: Likewise. * ld-mips-elf/pic-and-nonpic-6-n64.dd: Likewise. * ld-mips-elf/pic-and-nonpic-6-o32.dd: Likewise. * ld-mips-elf/stub-dynsym-1-10000.d: Likewise. * ld-mips-elf/stub-dynsym-1-2fe80.d: Likewise. * ld-mips-elf/stub-dynsym-1-7fff.d: Likewise. * ld-mips-elf/stub-dynsym-1-8000.d: Likewise. * ld-mips-elf/stub-dynsym-1-fff0.d: Likewise. * ld-mips-elf/tlslib-o32.d: Likewise. opcodes/ * mips-dis.c (is_mips16_plt_tail): New function. (print_insn_mips16): Handle MIPS16 PLT entry's GOT slot address word. (is_compressed_mode_p): Handle MIPS16/microMIPS PLT entries.
2013-06-24 23:55:46 +00:00
2013-06-24 Maciej W. Rozycki <macro@codesourcery.com>
* mips-tdep.c (mips_elf_make_msymbol_special): Handle MIPS16 and
microMIPS synthetic symbols.
* objfiles.h (pc_in_section): New prototype. (in_plt_section): Remove name argument, replace prototype with static inline function. * mips-tdep.h: Include "objfiles.h". (in_mips_stubs_section): New function. * hppa-tdep.h (gdbarch_tdep): Remove name argument of in_solib_call_trampoline member. (hppa_in_solib_call_trampoline): Remove name argument. * objfiles.c (pc_in_section): New function. (in_plt_section): Remove function. * mips-linux-tdep.c: Include "objfiles.h". (mips_linux_in_dynsym_stub): Call in_mips_stubs_section. Remove name argument. Return 1 rather than the low 16-bit halfword of any instruction examined. (mips_linux_in_dynsym_resolve_code): Update mips_linux_in_dynsym_stub call accordingly. * mips-tdep.c (mips_stub_frame_sniffer): Use in_mips_stubs_section rather than an equivalent hand-coded sequence. * hppa-hpux-tdep.c (in_opd_section): Remove function. (hppa32_hpux_in_solib_call_trampoline): Remove name argument. (hppa64_hpux_in_solib_call_trampoline): Likewise. (hppa64_hpux_find_global_pointer): Use pc_in_section rather than in_opd_section. * hppa-tdep.c (hppa_stub_unwind_sniffer): Remove name argument on call to tdep->in_solib_call_trampoline. (hppa_in_solib_call_trampoline): Remove name argument, update according to in_plt_section change. (hppa_skip_trampoline_code): Update according to in_plt_section change. * aarch64-tdep.c (aarch64_stub_unwind_sniffer): Likewise. * arm-symbian-tdep.c (arm_symbian_skip_trampoline_code): Likewise. * arm-tdep.c (arm_stub_unwind_sniffer): Likewise. * hppa-linux-tdep.c (hppa_linux_find_global_pointer): Likewise. * hppabsd-tdep.c (hppabsd_find_global_pointer): Likewise. * nios2-tdep.c (nios2_stub_frame_sniffer): Likewise. * nto-tdep.c (nto_relocate_section_addresses): Likewise. * s390-tdep.c (s390_stub_frame_sniffer): Likewise. * sh-tdep.c (sh_stub_unwind_sniffer): Likewise. * solib-dsbt.c (dsbt_in_dynsym_resolve_code): Likewise. * solib-frv.c (frv_in_dynsym_resolve_code): Likewise. * solib-svr4.c (svr4_in_dynsym_resolve_code): Likewise. * solib-target.c (solib_target_in_dynsym_resolve_code): Likewise. * sparc-tdep.c (sparc_analyze_prologue): Likewise. * tic6x-tdep.c (tic6x_stub_unwind_sniffer): Likewise.
2013-06-24 22:18:32 +00:00
2013-06-24 Maciej W. Rozycki <macro@codesourcery.com>
* objfiles.h (pc_in_section): New prototype.
(in_plt_section): Remove name argument, replace prototype with
static inline function.
* mips-tdep.h: Include "objfiles.h".
(in_mips_stubs_section): New function.
* hppa-tdep.h (gdbarch_tdep): Remove name argument of
in_solib_call_trampoline member.
(hppa_in_solib_call_trampoline): Remove name argument.
* objfiles.c (pc_in_section): New function.
(in_plt_section): Remove function.
* mips-linux-tdep.c: Include "objfiles.h".
(mips_linux_in_dynsym_stub): Call in_mips_stubs_section. Remove
name argument. Return 1 rather than the low 16-bit halfword of
any instruction examined.
(mips_linux_in_dynsym_resolve_code): Update
mips_linux_in_dynsym_stub call accordingly.
* mips-tdep.c (mips_stub_frame_sniffer): Use in_mips_stubs_section
rather than an equivalent hand-coded sequence.
* hppa-hpux-tdep.c (in_opd_section): Remove function.
(hppa32_hpux_in_solib_call_trampoline): Remove name argument.
(hppa64_hpux_in_solib_call_trampoline): Likewise.
(hppa64_hpux_find_global_pointer): Use pc_in_section rather than
in_opd_section.
* hppa-tdep.c (hppa_stub_unwind_sniffer): Remove name argument
on call to tdep->in_solib_call_trampoline.
(hppa_in_solib_call_trampoline): Remove name argument, update
according to in_plt_section change.
(hppa_skip_trampoline_code): Update according to in_plt_section
change.
* aarch64-tdep.c (aarch64_stub_unwind_sniffer): Likewise.
* arm-symbian-tdep.c (arm_symbian_skip_trampoline_code):
Likewise.
* arm-tdep.c (arm_stub_unwind_sniffer): Likewise.
* hppa-linux-tdep.c (hppa_linux_find_global_pointer): Likewise.
* hppabsd-tdep.c (hppabsd_find_global_pointer): Likewise.
* nios2-tdep.c (nios2_stub_frame_sniffer): Likewise.
* nto-tdep.c (nto_relocate_section_addresses): Likewise.
* s390-tdep.c (s390_stub_frame_sniffer): Likewise.
* sh-tdep.c (sh_stub_unwind_sniffer): Likewise.
* solib-dsbt.c (dsbt_in_dynsym_resolve_code): Likewise.
* solib-frv.c (frv_in_dynsym_resolve_code): Likewise.
* solib-svr4.c (svr4_in_dynsym_resolve_code): Likewise.
* solib-target.c (solib_target_in_dynsym_resolve_code): Likewise.
* sparc-tdep.c (sparc_analyze_prologue): Likewise.
* tic6x-tdep.c (tic6x_stub_unwind_sniffer): Likewise.
2013-06-24 Joel Brobecker <brobecker@adacore.com>
* common/create-version.sh: Fix expansion of $host_alias
and $target_alias in generation of HOST_NAME and TARGET_NAME
(resp.).
don't keep a gdb-specific date Right now there are two nightly commits to update a file in the tree with the current date. One commit is for BFD, one is for gdb. It seems unnecessary to me to do this twice. We can make do with a single such commit. This patch changes gdb in a minimal way to reuse the BFD date -- it extracts it from bfd/version.h and changes version.in to use the placeholder string "DATE" for those times when a date is wanted. I propose removing the cron job that updates the version on trunk, and then check in this patch. For release branches, we can keep the cron job, but just tell it to rewrite bfd/version.h. I believe this is a simple change in the crontab -- the script will work just fine on this file. This also moves version.in and version.h into common/, to reflect their shared status; and updates gdbserver to use version.h besides. * common/create-version.sh: New file. * Makefile.in (version.c): Use bfd/version.h, common/version.in, create-version.sh. (HFILES_NO_SRCDIR): Use common/version.h. * version.in: Move to ... * common/version.in: ... here. Replace date with "DATE". * version.h: Move to ... * common/version.h: ... here. gdbserver: * Makefile.in (version.c): Use bfd/version.h, common/version.in, create-version.sh. (version.o): Remove. * gdbreplay.c: Include version.h. (version, host_name): Don't declare. * server.h: Include version.h. (version, host_name): Don't declare. doc: * Makefile.in (POD2MAN1, POD2MAN5): Use version.subst. (GDBvn.texi): Use version.subst. (version.subst): New target. (mostlyclean): Remove version.subst.
2013-06-24 15:06:27 +00:00
2013-06-24 Tom Tromey <tromey@redhat.com>
* common/create-version.sh: New file.
* Makefile.in (version.c): Use bfd/version.h, common/version.in,
create-version.sh.
(HFILES_NO_SRCDIR): Use common/version.h.
* version.in: Move to ...
* common/version.in: ... here. Replace date with "DATE".
* version.h: Move to ...
* common/version.h: ... here.
2013-06-21 Joel Brobecker <brobecker@adacore.com>
* gdb/gnulib/Makefile.in: Update date in copyright header.
* gdb/gnulib/configure.ac: Ditto.
* gdb/gnulib/update-gnulib.sh: Ditto.
2013-06-21 Joel Brobecker <brobecker@adacore.com>
* copyright.py (EXCLUDE_LIST): Replace "gdb/gnulib" by
"gdb/gnulib/import".
2013-06-21 Will Newton <will.newton@linaro.org>
* doublest.c (ldfrexp): Remove function.
(convert_doublest_to_floatformat): Call frexpl instead of
ldfrexp.
2013-06-21 Will Newton <will.newton@linaro.org>
* gnulib/update-gnulib.sh(IMPORTED_GNULIB_MODULES): Add frexpl.
* gnulib/aclocal.m4: Regenerate.
* gnulib/config.in: Regenerate.
* gnulib/configure: Regenerate.
* gnulib/import/Makefile.am: Update.
* gnulib/import/Makefile.in: Update.
* gnulib/import/m4/gnulib-cache.m4: Update.
* gnulib/import/m4/gnulib-comp.m4: Update.
* gnulib/import/float+.h: Import.
* gnulib/import/float.c: Import.
* gnulib/import/float.in.h: Import.
* gnulib/import/fpucw.h: Import.
* gnulib/import/frexp.c: Import.
* gnulib/import/frexpl.c: Import.
* gnulib/import/isnan.c: Import.
* gnulib/import/isnand-nolibm.h: Import.
* gnulib/import/isnand.c: Import.
* gnulib/import/isnanl-nolibm.h: Import.
* gnulib/import/isnanl.c: Import.
* gnulib/import/itold.c: Import.
* gnulib/import/m4/exponentd.m4: Import.
* gnulib/import/m4/exponentl.m4: Import.
* gnulib/import/m4/float_h.m4: Import.
* gnulib/import/m4/fpieee.m4: Import.
* gnulib/import/m4/frexp.m4: Import.
* gnulib/import/m4/frexpl.m4: Import.
* gnulib/import/m4/isnand.m4: Import.
* gnulib/import/m4/isnanl.m4: Import.
* gnulib/import/m4/math_h.m4: Import.
* gnulib/import/math.c: Import.
* gnulib/import/math.in.h: Import.
2013-06-21 Jan Kratochvil <jan.kratochvil@redhat.com>
* common/linux-btrace.c (cpu_supports_btrace): Remove variable vendor,
replace strcmp with signature_INTEL_ebx, signature_INTEL_ecx and
signature_INTEL_edx comparisons.
2013-06-20 Doug Evans <dje@google.com>
symtab/15652
* dwarf2read.c (try_open_dwop_file): New arg search_cwd.
All callers updated.
(open_dwp_file): If we can't find the dwp file, search the basename
in debug-file-directory.
* dwarf2read.c (struct dwp_file): Fix comment.
(open_and_init_dwp_file): Set dwp_file->name to bfd's file name.
* source.c (openp): Document OPF_TRY_CWD_FIRST+OPF_SEARCH_IN_PATH
better.
2013-06-20 Yao Qi <yao@codesourcery.com>
* breakpoint.c (create_breakpoint): Fix code indentation.
2013-06-20 Yao Qi <yao@codesourcery.com>
* breakpoint.c (create_breakpoints_sal_default): Remove
parameter 'lsal'. Update declaration.
(bkpt_create_breakpoints_sal): Caller update.
(tracepoint_create_breakpoints_sal): Likewise.
2013-06-20 00:39:11 +00:00
2013-06-20 Pedro Alves <pedro@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* NEWS: Mention the new option '--skip-unavailable' of command
-data-list-register-values.
* mi/mi-main.c (mi_cmd_data_list_register_values): Accept the
--skip-unavailable option. Adjust to use output_register.
(output_register): Add new 'skip_unavailable' parameter.
Handle it.
gdb: clean up x86 cpuid implementations We've currently got 3 files doing open coded implementations of cpuid. Each has its own set of workarounds and varying levels of how well they're written and are generally hardcoded to specific cpuid functions. If you try to build the latest gdb as a PIE on an i386 system, the build will fail because one of them lacks PIC workarounds (wrt ebx). Specifically, we have: common/linux-btrace.c: two copies of cpuid asm w/specific args, one has no workarounds while the other implicitly does to avoid memcpy go32-nat.c: two copies of cpuid asm w/specific args, one has workarounds to avoid memcpy gdb/testsuite/gdb.arch/i386-cpuid.h: one general cpuid asm w/many workarounds copied from older gcc Fortunately, that last header there is pretty damn good -- it handles lots of edge cases, the code is nice & tight (uses gcc asm operands rather than manual movs), and is already almost a general library type header. It's also the basis of what is now the public cpuid.h that is shipped with gcc-4.3+. So what I've done is pull that test header out and into gdb/common/ (not sure if there's a better place), synced to the version found in gcc-4.8.0, put a wrapper API around it, and then cut over all the existing call points to this new header. Since the func already has support for "is cpuid supported on this proc", it makes it trivial to push the i386/x86_64 ifdefs down into this wrapper API too. Now it can be safely used for all targets and gcc will elide the unused code for us. I've verified the gdb.arch testsuite still passes, and this code compiles for an armv7a host as well as x86_64. The go32-nat code has been left ifdef-ed out until someone can test & verify the new stuff works (and if it doesn't, figure out how to make the new code work). URL: https://bugs.gentoo.org/467806 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-06-19 22:29:36 +00:00
2013-06-19 Mike Frysinger <vapier@gentoo.org>
* Makefile.in (HFILES_NO_SRCDIR): Add common/i386-cpuid.h and
common/i386-gcc-cpuid.h.
* common/i386-cpuid.h: New wrapper header around i386-gcc-cpuid.h.
* common/i386-gcc-cpuid.h: Rename from testsuite/gdb.arch/i386-cpuid.h.
Copy the latest version from upstream gcc.
* common/linux-btrace.c: Include i386-cpuid.h.
(intel_supports_btrace): Delete x86 ifdefs and replace inline asm with
call to i386_cpuid.
(cpu_supports_btrace): Likewise.
* go32-nat.c: Include i386-cpuid.h.
(go32_sysinfo): Add (disabled) calls to i386_cpuid with comments.
2013-06-19 Doug Evans <dje@google.com>
* symfile.c (symfile_bfd_open): Delete unnecessary declaration.
(get_section_index): Ditto.
2013-06-19 Tom Tromey <tromey@redhat.com>
* breakpoint.c (_initialize_breakpoint): Remove trailing \n from
"dprintf" help.
2013-06-18 Doug Evans <dje@google.com>
* dwarf2read.c (dw2_symtab_iter_next): Check value of cu_index
before using it.
(dw2_expand_symtabs_matching): Fix symbol kind validity check.
Move test of cu_index closer to use. Print complaint if cu_index
is bad.
[Darwin] Fix cleanup leak in machoread.c:macho_symfile_read This patch fixes a cleanup leak in macho_symfile_read (symbol_table): symbol_table = (asymbol **) xmalloc (storage_needed); make_cleanup (xfree, symbol_table); Unfortunately, fixing the leak alone triggers a crash which occurs while loading the symbols from an executable: % gdb (gdb) file g_exe [SIGSEGV] The crash is caused by the fact that performing the cleanup right after the call to macho_symtab_read, as currently done, is too early. Indeed, references to this symbol_table get saved in the oso_vector global during the call to macho_symtab_read via calls to macho_register_oso, and those references then get accessed later on, when processing all the OSOs that got pushed (see call to macho_symfile_read_all_oso). This patch prevents this by using one single cleanup queue for the entire function, rather than having additional separate cleanup queues (Eg: for the handling of the minimal symbols), thus preventing the premature free'ing of the minimal_symbols array. Secondly, this patch takes this opportunity for avoiding the use of the oso_vector global, thus making it simpler to track its lifetime. gdb/ChangeLog: * machoread.c (oso_vector): Delete this global. (macho_register_oso): Add new parameter "oso_vector_ptr". Use it instead of the "oso_vector" global. (macho_symtab_read, macho_symfile_read_all_oso): Likewise. (macho_symfile_read): Use a local oso_vector, to be free'ed at the end of this function, in place of the old "oso_vector" global. Update various function calls accordingly. Use one single cleanup chain for the entire function.
2013-06-18 23:35:37 +00:00
2013-06-18 Joel Brobecker <brobecker@adacore.com>
* machoread.c (oso_vector): Delete this global.
(macho_register_oso): Add new parameter "oso_vector_ptr".
Use it instead of the "oso_vector" global.
(macho_symtab_read, macho_symfile_read_all_oso): Likewise.
(macho_symfile_read): Use a local oso_vector, to be free'ed
at the end of this function, in place of the old "oso_vector"
global. Update various function calls accordingly. Use one
single cleanup chain for the entire function.
do not use dwarf2_per_objfile in dwarf2_per_objfile_free. This patch fixes a case of multiple calls freeing the same data while free-ing objfiles that have child objfiles (separate debug info, as is the case on Darwin targets). Following the code, free_objfile_separate_debug iterates over all child objfiles of the parent objfile, calling free_objfile: for (child = objfile->separate_debug_objfile; child;) { struct objfile *next_child = child->separate_debug_objfile_link; free_objfile (child); child = next_child; } This causes, among other things, the free'ing of the child objfile's private data: /* Discard any data modules have associated with the objfile. The function still may reference objfile->obfd. */ objfile_free_data (objfile); This indirectly calls(back) dwarf2_per_objfile_free, which tries to free the dwarf2read-specific data by using the dwarf2_per_objfile global, eg: for (ix = 0; ix < dwarf2_per_objfile->n_comp_units; ++ix) Even if we were lucky enough the first time around that this global actually corresponds to the objfile being destroyed, the global will still have the same value at the second iteration, and thus become dangling. Indeed, after dwarf2_per_objfile_free returns eventually back to free_objfile, free_objfile then deallocates its objfile_obstack, where the dwarf2_per_objfile is allocated. Ironically, there should be no need to access that global at all, here, since the data is passed as an argument of the callback. And it looks like the dwo/dwp/[...]-handling code is in fact already using that argument, rather than the global. This patch thus fixes the problem by doing the same, replacing all references to DWARF2_PER_OBJFILE by uses of DATA instead. gdb/ChangeLog: * dwarf2read.c (dwarf2_per_objfile): Replace uses of DWARF2_PER_OBJFILE by uses of DATA instead.
2013-06-18 23:35:24 +00:00
2013-06-18 Joel Brobecker <brobecker@adacore.com>
* dwarf2read.c (dwarf2_per_objfile_free): Replace uses of
do not use dwarf2_per_objfile in dwarf2_per_objfile_free. This patch fixes a case of multiple calls freeing the same data while free-ing objfiles that have child objfiles (separate debug info, as is the case on Darwin targets). Following the code, free_objfile_separate_debug iterates over all child objfiles of the parent objfile, calling free_objfile: for (child = objfile->separate_debug_objfile; child;) { struct objfile *next_child = child->separate_debug_objfile_link; free_objfile (child); child = next_child; } This causes, among other things, the free'ing of the child objfile's private data: /* Discard any data modules have associated with the objfile. The function still may reference objfile->obfd. */ objfile_free_data (objfile); This indirectly calls(back) dwarf2_per_objfile_free, which tries to free the dwarf2read-specific data by using the dwarf2_per_objfile global, eg: for (ix = 0; ix < dwarf2_per_objfile->n_comp_units; ++ix) Even if we were lucky enough the first time around that this global actually corresponds to the objfile being destroyed, the global will still have the same value at the second iteration, and thus become dangling. Indeed, after dwarf2_per_objfile_free returns eventually back to free_objfile, free_objfile then deallocates its objfile_obstack, where the dwarf2_per_objfile is allocated. Ironically, there should be no need to access that global at all, here, since the data is passed as an argument of the callback. And it looks like the dwo/dwp/[...]-handling code is in fact already using that argument, rather than the global. This patch thus fixes the problem by doing the same, replacing all references to DWARF2_PER_OBJFILE by uses of DATA instead. gdb/ChangeLog: * dwarf2read.c (dwarf2_per_objfile): Replace uses of DWARF2_PER_OBJFILE by uses of DATA instead.
2013-06-18 23:35:24 +00:00
DWARF2_PER_OBJFILE by uses of DATA instead.
2013-06-18 Tom Tromey <tromey@redhat.com>
* break-catch-sig.c (signal_catchpoint_explains_signal): Add 'sig'
argument.
* breakpoint.c (bpstat_explains_signal): Add 'sig' argument.
Special case signals other than GDB_SIGNAL_TRAP.
(explains_signal_watchpoint): New function.
(base_breakpoint_explains_signal): Add 'sig' argument.
(initialize_breakpoint_ops): Set 'explains_signal' method for
watchpoints.
* breakpoint.h (struct breakpoint_ops) <explains_signal>: Add
signal argument.
(bpstat_explains_signal): Likewise.
* infrun.c (handle_syscall_event, handle_inferior_event): Update.
2013-06-18 Tom Tromey <tromey@redhat.com>
* python/py-inferior.c (gdbpy_selected_inferior): Don't incref.
2013-06-18 Tom Tromey <tromey@redhat.com>
* python/python.c (finish_python_initialization): Decref
'pythondir' on failure path as well.
Fix PR symtab/15391 PR symtab/15391 is a failure with the DW_OP_GNU_implicit_pointer feature. I tracked it down to a logic error in read_pieced_value. The code truncates this_size_bits according to the type size and offset too early -- it should do it after taking bits_to_skip into account. This patch fixes the bug. While testing this, I also tripped across a latent bug because indirect_pieced_value does not sign-extend where needed. This patch fixes this bug as well. Finally, Pedro pointed out that a previous version implemented sign extension incorrectly. This version introduces a new gdb_sign_extend function for this. A couple of notes on this function: * It has the gdb_ prefix to avoid clashes with various libraries that felt free to avoid proper namespacing. There is a "sign_extend" function in a Tile GX header, in an SOM-related BFD header (and in sh64-tdep.c and as a macro in arm-wince-tdep.c, but those are ours...) * I looked at all the sign extensions in gdb and didn't see ones that I felt comfortable converting to use this function; in large part because I don't have a good way to test the conversion. Built and regtested on x86-64 Fedora 18. New test cases included; this required a minor addition to the DWARF assembler. Note that the DWARF CU made by implptrpiece.exp uses a funny pointer size in order to show the sign-extension bug on all platforms. * dwarf2loc.c (read_pieced_value): Truncate this_size_bits after taking bits_to_skip into account. Sign extend byte_offset. * utils.h (gdb_sign_extend): Declare. * utils.c (gdb_sign_extend): New function. * gdb.dwarf2/implptrpiece.exp: New file. * gdb.dwarf2/implptrconst.exp (d): New variable. Print d. * lib/dwarf2.exp (Dwarf::_location): Handle DW_OP_piece.
2013-06-18 18:11:19 +00:00
2013-06-18 Tom Tromey <tromey@redhat.com>
PR symtab/15391:
* dwarf2loc.c (read_pieced_value): Truncate this_size_bits
after taking bits_to_skip into account. Sign extend byte_offset.
* utils.h (gdb_sign_extend): Declare.
* utils.c (gdb_sign_extend): New function.
2013-06-18 Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2read.c (write_psymtabs_to_index): Ignore NULL PSYMTAB.
2013-06-17 Pierre Muller <muller@sourceware.org>
* corelow.c (core_open): Print GDB signal name instead of target
signal number.
2013-06-17 04:39:15 +00:00
2013-06-17 Mike Frysinger <vapier@gentoo.org>
* .gitignore: Add /gcore.
2013-06-13 Doug Evans <dje@google.com>
* dwarf2read.c (try_open_dwop_file): Work around behaviour of
OPF_TRY_CWD_FIRST to not search path if the file contains a '/'.
2013-06-12 Phil Muldoon <pmuldoon@redhat.com>
* stack.c (backtrace_command_1): Fix indentation.
2013-06-11 Joel Brobecker <brobecker@adacore.com>
* window-nat.c (thread_rec): Add missing empty line after
local variable declaration.
2013-06-11 Joel Brobecker <brobecker@adacore.com>
* windows-nat.c (thread_rec): Revert format used to print
error code returned by SuspendThread from %d back to %u.
2013-06-11 Joel Brobecker <brobecker@adacore.com>
* windows-nat.c (windows_continue): Add "0x" prefix for thread
ID in debug trace.
(get_windows_debug_event): Likewise, for all debug traces.
2013-06-11 Joel Brobecker <brobecker@adacore.com>
* window-nat.c (thread_rec): Add thread ID in SuspendThread
warning message.
2013-06-08 Pedro Alves <pedro@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* mi/mi-main.c (get_register): Remove declaration.
(output_register): Declare.
(mi_cmd_data_list_register_values): Remove local variable
'tuple_cleanup'. Move some code into output_register.
(get_register): Renamed to ...
(output_register): ... this. Output the register's
"number" ui_out tuple here.
Fix formating in copyright headers. File list found with: $ grep "along with this program" * -A 1 -rn \ | grep "*/" \ | grep -v "along with this program" \ | sed 's,-[0-9]\+-.*,,g' Tested on x86_64 Fedora 17. gdb/ 2013-06-07 Pedro Alves <palves@redhat.com> * darwin-nat.c: Fix formating in copyright header. * darwin-nat.h: Likewise. * gnu-nat.c: Likewise. * machoread.c: Likewise. gdb/testsuite/ 2013-06-07 Pedro Alves <palves@redhat.com> * gdb.ada/info_types.c: Fix formating in copyright header. * gdb.base/break-on-linker-gcd-function.cc: Likewise. * gdb.base/float.c: Likewise. * gdb.base/inferior-died.c: Likewise. * gdb.base/interp.c: Likewise. * gdb.base/jit-main.c: Likewise. * gdb.base/jit-solib.c: Likewise. * gdb.base/long_long.c: Likewise. * gdb.base/longjmp.c: Likewise. * gdb.base/nextoverexit.c: Likewise. * gdb.base/pr11022.c: Likewise. * gdb.base/prelink-lib.c: Likewise. * gdb.base/prelink.c: Likewise. * gdb.base/prologue.c: Likewise. * gdb.base/restore.c: Likewise. * gdb.base/sigchld.c: Likewise. * gdb.base/solib-search-lib1.c: Likewise. * gdb.base/solib-search-lib2.c: Likewise. * gdb.base/solib-search.c: Likewise. * gdb.base/solib-search.h: Likewise. * gdb.base/whatis.c: Likewise. * gdb.cp/abstract-origin.cc: Likewise. * gdb.cp/anon-struct.cc: Likewise. * gdb.cp/baseenum.cc: Likewise. * gdb.cp/bs15503.cc: Likewise. * gdb.cp/call-c-1.c: Likewise. * gdb.cp/call-c.cc: Likewise. * gdb.cp/class2.cc: Likewise. * gdb.cp/classes.cc: Likewise. * gdb.cp/cttiadd.cc: Likewise. * gdb.cp/cttiadd1.cc: Likewise. * gdb.cp/cttiadd2.cc: Likewise. * gdb.cp/cttiadd3.cc: Likewise. * gdb.cp/derivation.cc: Likewise. * gdb.cp/derivation2.cc: Likewise. * gdb.cp/dispcxx.cc: Likewise. * gdb.cp/exception.cc: Likewise. * gdb.cp/gdb2384-base.cc: Likewise. * gdb.cp/gdb2384-base.h: Likewise. * gdb.cp/gdb2384.cc: Likewise. * gdb.cp/gdb2495.cc: Likewise. * gdb.cp/mb-inline.h: Likewise. * gdb.cp/mb-inline1.cc: Likewise. * gdb.cp/mb-inline2.cc: Likewise. * gdb.cp/member-name.cc: Likewise. * gdb.cp/member-ptr.cc: Likewise. * gdb.cp/misc.cc: Likewise. * gdb.cp/namespace1.cc: Likewise. * gdb.cp/nextoverthrow.cc: Likewise. * gdb.cp/pr-574.cc: Likewise. * gdb.cp/pr9631.cc: Likewise. * gdb.cp/printmethod.cc: Likewise. * gdb.cp/psmang1.cc: Likewise. * gdb.cp/psmang2.cc: Likewise. * gdb.cp/psymtab-parameter.cc: Likewise. * gdb.cp/ptype-flags.cc: Likewise. * gdb.cp/ref-params.cc: Likewise. * gdb.cp/ref-types.cc: Likewise. * gdb.cp/smartp.cc: Likewise. * gdb.cp/try_catch.cc: Likewise. * gdb.cp/userdef.cc: Likewise. * gdb.cp/using-crash.cc: Likewise. * gdb.cp/virtfunc.cc: Likewise. * gdb.cp/virtfunc2.cc: Likewise. * gdb.dwarf2/callframecfa.S: Likewise. * gdb.dwarf2/dw2-ranges.c: Likewise. * gdb.dwarf2/dw2-ranges2.c: Likewise. * gdb.dwarf2/dw2-ranges3.c: Likewise. * gdb.dwarf2/dw2-restore.S: Likewise. * gdb.dwarf2/pieces.S: Likewise. * gdb.dwarf2/valop.S: Likewise. * gdb.java/jnpe.java: Likewise. * gdb.mi/mi-stepn.c: Likewise. * gdb.mi/mi-var-cp.cc: Likewise. * gdb.mi/mi-var-rtti.cc: Likewise. * gdb.mi/ns-stale-regcache.c: Likewise. * gdb.mi/pr11022.c: Likewise. * gdb.mi/solib-lib.c: Likewise. * gdb.mi/solib-main.c: Likewise. * gdb.python/py-arch.c: Likewise. * gdb.python/py-block.c: Likewise. * gdb.python/py-breakpoint.c: Likewise. * gdb.python/py-events.c: Likewise. * gdb.python/py-evthreads.c: Likewise. * gdb.python/py-explore.c: Likewise. * gdb.python/py-explore.cc: Likewise. * gdb.python/py-finish-breakpoint.c: Likewise. * gdb.python/py-finish-breakpoint2.cc: Likewise. * gdb.python/py-symbol.c: Likewise. * gdb.threads/execl.c: Likewise. * gdb.threads/execl1.c: Likewise.
2013-06-07 14:39:33 +00:00
2013-06-07 Pedro Alves <palves@redhat.com>
* darwin-nat.c: Fix formating in copyright header.
* darwin-nat.h: Likewise.
* gnu-nat.c: Likewise.
* machoread.c: Likewise.
[GDBserver] Multi-process + multi-arch This patch makes GDBserver support multi-process + biarch. Currently, if you're debugging more than one process at once with a single gdbserver (in extended-remote mode), then all processes must have the same architecture (e.g., 64-bit vs 32-bit). Otherwise, you see this: Added inferior 2 [Switching to inferior 2 [<null>] (<noexec>)] Reading symbols from /home/pedro/gdb/tests/main32...done. Temporary breakpoint 2 at 0x4004cf: main. (2 locations) Starting program: /home/pedro/gdb/tests/main32 warning: Selected architecture i386 is not compatible with reported target architecture i386:x86-64 warning: Architecture rejected target-supplied description Remote 'g' packet reply is too long: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090cfffff0000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000b042f7460000000000020000230000002b0000002b0000002b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007f03000000000000ffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000801f00003b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ... etc, etc ... Even though the process was running a 32-bit program, GDBserver sent back to GDB a register set in 64-bit layout. A patch (http://sourceware.org/ml/gdb-patches/2012-11/msg00228.html) a while ago made GDB track a target_gdbarch per inferior, and as consequence, fetch a target description per-inferior. This patch is the GDBserver counterpart, that makes GDBserver keep track of each process'es XML target description and register layout. So in the example above, GDBserver will send the correct register set in 32-bit layout to GDB. A new "struct target_desc" object (tdesc for short) is added, that holds the target description and register layout information about each process. Each `struct process_info' holds a pointer to a target description. The regcache also gains a pointer to a target description, mainly for convenience, and parallel with GDB (and possible future support for programs that flip processor modes). The low target's arch_setup routines are responsible for setting the process'es correct tdesc. This isn't that much different to how things were done before, except that instead of detecting the inferior process'es architecture and calling the corresponding init_registers_FOO routine, which would change the regcache layout globals and recreate the threads' regcaches, the regcache.c globals are gone, and the init_registers_$BAR routines now each initialize a separate global struct target_desc object (one for each arch variant GDBserver supports), and so all the init_registers_$BAR routines that are built into GDBserver are called early at GDBserver startup time (similarly to how GDB handles its built-in target descriptions), and then the arch_setup routine is responsible for making process_info->tdesc point to one of these target description globals. The regcache module is all parameterized to get the regcache's layout from the tdesc object instead of the old register_bytes, etc. globals. The threads' regcaches are now created lazily. The old scheme where we created each of them when we added a new thread doesn't work anymore, because we add the main thread/lwp before we see it stop for the first time, and it is only when we see the thread stop for the first time that we have a chance of determining the inferior's architecture (through the_low_target.arch_setup). Therefore when we add the main thread we don't know which architecture/tdesc its regcache should have. This patch makes the gdb.multi/multi-arch.exp test now pass against (extended-remote) GDBserver. It currently fails, without this patch. The IPA also uses the regcache, so it gains a new global struct target_desc pointer, which points at the description of the process it is loaded in. Re. the linux-low.c & friends changes. Since the register map etc. may differ between processes (64-bit vs 32-bit) etc., the linux_target_ops num_regs, regmap and regset_bitmap data fields are no longer sufficient. A new method is added in their place that returns a pointer to a new struct that includes all info linux-low.c needs to access registers of the current inferior. The patch/discussion that originally introduced linux-low.c:disabled_regsets mentions that the disabled_regsets set may be different per mode (in a biarch setup), and indeed that is cleared whenever we start a new (first) inferior, so that global is moved as well behind the new `struct regs_info'. On the x86 side: I simply replaced the i387-fp.c:num_xmm_registers global with a check for 64-bit or 32-bit process, which is equivalent to how the global was set. This avoided coming up with some more general mechanism that would work for all targets that use this module (GNU/Linux, Windows, etc.). Tested: GNU/Linux IA64 GNU/Linux MIPS64 GNU/Linux PowerPC (Fedora 16) GNU/Linux s390x (Fedora 16) GNU/Linux sparc64 (Debian) GNU/Linux x86_64, -m64 and -m32 (Fedora 17) Cross built, and smoke tested: i686-w64-mingw32, under Wine. GNU/Linux TI C6x, by Yao Qi. Cross built but otherwise not tested: aarch64-linux-gnu arm-linux-gnu m68k-linux nios2-linux-gnu sh-linux-gnu spu tilegx-unknown-linux-gnu Completely untested: GNU/Linux Blackfin GNU/Linux CRIS GNU/Linux CRISv32 GNU/Linux TI Xtensa GNU/Linux M32R LynxOS QNX NTO gdb/gdbserver/ 2013-06-07 Pedro Alves <palves@redhat.com> * Makefile.in (OBS): Add tdesc.o. (IPA_OBJS): Add tdesc-ipa.o. (tdesc-ipa.o): New rule. * ax.c (gdb_eval_agent_expr): Adjust register_size call to new interface. * linux-low.c (new_inferior): Delete. (disabled_regsets, num_regsets): Delete. (linux_add_process): Adjust to set the new per-process new_inferior flag. (linux_detach_one_lwp): Adjust to call regcache_invalidate_thread. (linux_wait_for_lwp): Adjust. Only call arch_setup if the event was a stop. When calling arch_setup, switch the current inferior to the thread that got an event. (linux_resume_one_lwp): Adjust to call regcache_invalidate_thread. (regsets_fetch_inferior_registers) (regsets_store_inferior_registers): New regsets_info parameter. Adjust to use it. (linux_register_in_regsets): New regs_info parameter. Adjust to use it. (register_addr, fetch_register, store_register): New usrregs_info parameter. Adjust to use it. (usr_fetch_inferior_registers, usr_store_inferior_registers): New parameter regs_info. Adjust to use it. (linux_fetch_registers): Get the current inferior's regs_info, and adjust to use it. (linux_store_registers): Ditto. [HAVE_LINUX_REGSETS] (initialize_regsets_info): New. (initialize_low): Don't initialize the target_regsets here. Call initialize_low_arch. * linux-low.h (target_regsets): Delete declaration. (struct regsets_info): New. (struct usrregs_info): New. (struct regs_info): New. (struct process_info_private) <new_inferior>: New field. (struct linux_target_ops): Delete the num_regs, regmap, and regset_bitmap fields. New field regs_info. [HAVE_LINUX_REGSETS] (initialize_regsets_info): Declare. * i387-fp.c (num_xmm_registers): Delete. (i387_cache_to_fsave, i387_fsave_to_cache): Adjust find_regno calls to new interface. (i387_cache_to_fxsave, i387_cache_to_xsave, i387_fxsave_to_cache) (i387_xsave_to_cache): Adjust find_regno calls to new interface. Infer the number of xmm registers from the regcache's target description. * i387-fp.h (num_xmm_registers): Delete. * inferiors.c (add_thread): Don't install the thread's regcache here. * proc-service.c (gregset_info): Fetch the current inferior's regs_info. Adjust to use it. * regcache.c: Include tdesc.h. (register_bytes, reg_defs, num_registers) (gdbserver_expedite_regs): Delete. (get_thread_regcache): If the thread doesn't have a regcache yet, create one, instead of aborting gdbserver. (regcache_invalidate_one): Rename to ... (regcache_invalidate_thread): ... this. (regcache_invalidate_one): New. (regcache_invalidate): Only invalidate registers of the current process. (init_register_cache): Add target_desc parameter, and use it. (new_register_cache): Ditto. Assert the target description has a non zero registers_size. (regcache_cpy): Add assertions. Adjust. (realloc_register_cache, set_register_cache): Delete. (registers_to_string, registers_from_string): Adjust. (find_register_by_name, find_regno, find_register_by_number) (register_cache_size): Add target_desc parameter, and use it. (free_register_cache_thread, free_register_cache_thread_one) (regcache_release, register_cache_size): New. (register_size): Add target_desc parameter, and use it. (register_data, supply_register, supply_register_zeroed) (supply_regblock, supply_register_by_name, collect_register) (collect_register_as_string, collect_register_by_name): Adjust. * regcache.h (struct target_desc): Forward declare. (struct regcache) <tdesc>: New field. (init_register_cache, new_register_cache): Add target_desc parameter. (regcache_invalidate_thread): Declare. (regcache_invalidate_one): Delete declaration. (regcache_release): Declare. (find_register_by_number, register_cache_size, register_size) (find_regno): Add target_desc parameter. (gdbserver_expedite_regs, gdbserver_xmltarget): Delete declarations. * remote-utils.c: Include tdesc.h. (outreg, prepare_resume_reply): Adjust. * server.c: Include tdesc.h. (gdbserver_xmltarget): Delete declaration. (get_features_xml, process_serial_event): Adjust. * server.h [IN_PROCESS_AGENT] (struct target_desc): Forward declare. (struct process_info) <tdesc>: New field. (ipa_tdesc): Declare. * tdesc.c: New file. * tdesc.h: New file. * tracepoint.c: Include tdesc.h. [IN_PROCESS_AGENT] (ipa_tdesc): Define. (get_context_regcache): Adjust to pass ipa_tdesc down. (do_action_at_tracepoint): Adjust to get the register cache size from the context regcache's description. (traceframe_walk_blocks): Adjust to get the register cache size from the current trace frame's description. (traceframe_get_pc): Adjust to get current trace frame's description and pass it down. (gdb_collect): Adjust to get the register cache size from the IPA's description. * linux-amd64-ipa.c (tdesc_amd64_linux): Declare. (gdbserver_xmltarget): Delete. (initialize_low_tracepoint): Set the ipa's target description. * linux-i386-ipa.c (tdesc_i386_linux): Declare. (initialize_low_tracepoint): Set the ipa's target description. * linux-x86-low.c: Include tdesc.h. [__x86_64__] (is_64bit_tdesc): New. (ps_get_thread_area, x86_get_thread_area): Use it. (i386_cannot_store_register): Rename to ... (x86_cannot_store_register): ... this. Use is_64bit_tdesc. (i386_cannot_fetch_register): Rename to ... (x86_cannot_fetch_register): ... this. Use is_64bit_tdesc. (x86_fill_gregset, x86_store_gregset): Adjust register_size calls to new interface. (target_regsets): Rename to ... (x86_regsets): ... this. (x86_get_pc, x86_set_pc): Adjust register_size calls to new interface. (x86_siginfo_fixup): Use is_64bit_tdesc. [__x86_64__] (tdesc_amd64_linux, tdesc_amd64_avx_linux) (tdesc_x32_avx_linux, tdesc_x32_linux) (tdesc_i386_linux, tdesc_i386_mmx_linux, tdesc_i386_avx_linux): Declare. (x86_linux_update_xmltarget): Delete. (I386_LINUX_XSAVE_XCR0_OFFSET): Define. (have_ptrace_getfpxregs, have_ptrace_getregset): New. (AMD64_LINUX_USER64_CS): New. (x86_linux_read_description): New, based on x86_linux_update_xmltarget. (same_process_callback): New. (x86_arch_setup_process_callback): New. (x86_linux_update_xmltarget): New. (x86_regsets_info): New. (amd64_linux_regs_info): New. (i386_linux_usrregs_info): New. (i386_linux_regs_info): New. (x86_linux_regs_info): New. (x86_arch_setup): Reimplement. (x86_install_fast_tracepoint_jump_pad): Use is_64bit_tdesc. (x86_emit_ops): Ditto. (the_low_target): Adjust. Install x86_linux_regs_info, x86_cannot_fetch_register, and x86_cannot_store_register. (initialize_low_arch): New. * linux-ia64-low.c (tdesc_ia64): Declare. (ia64_fetch_register): Adjust. (ia64_usrregs_info, regs_info): New globals. (ia64_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-sparc-low.c (tdesc_sparc64): Declare. (sparc_fill_gregset_to_stack, sparc_store_gregset_from_stack): Adjust. (sparc_arch_setup): New function. (sparc_regsets_info, sparc_usrregs_info, regs_info): New globals. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-ppc-low.c (tdesc_powerpc_32l, tdesc_powerpc_altivec32l) (tdesc_powerpc_cell32l, tdesc_powerpc_vsx32l) (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_altivec32l) (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_e500l) (tdesc_powerpc_64l, tdesc_powerpc_altivec64l) (tdesc_powerpc_cell64l, tdesc_powerpc_vsx64l) (tdesc_powerpc_isa205_64l, tdesc_powerpc_isa205_altivec64l) (tdesc_powerpc_isa205_vsx64l): Declare. (ppc_cannot_store_register, ppc_collect_ptrace_register) (ppc_supply_ptrace_register, parse_spufs_run, ppc_get_pc) (ppc_set_pc, ppc_get_hwcap): Adjust. (ppc_usrregs_info): Forward declare. (!__powerpc64__) ppc_regmap_adjusted: New global. (ppc_arch_setup): Adjust to the current process'es target description. (ppc_fill_vsxregset, ppc_store_vsxregset, ppc_fill_vrregset) (ppc_store_vrregset, ppc_fill_evrregset, ppc_store_evrregse) (ppc_store_evrregset): Adjust. (target_regsets): Rename to ... (ppc_regsets): ... this, and make static. (ppc_usrregs_info, ppc_regsets_info, regs_info): New globals. (ppc_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-s390-low.c (tdesc_s390_linux32, tdesc_s390_linux32v1) (tdesc_s390_linux32v2, tdesc_s390_linux64, tdesc_s390_linux64v1) (tdesc_s390_linux64v2, tdesc_s390x_linux64, tdesc_s390x_linux64v1) (tdesc_s390x_linux64v2): Declare. (s390_collect_ptrace_register, s390_supply_ptrace_register) (s390_fill_gregset, s390_store_last_break): Adjust. (target_regsets): Rename to ... (s390_regsets): ... this, and make static. (s390_get_pc, s390_set_pc): Adjust. (s390_get_hwcap): New target_desc parameter, and use it. [__s390x__] (have_hwcap_s390_high_gprs): New global. (s390_arch_setup): Adjust to set the current process'es target description. Don't adjust the regmap. (s390_usrregs_info, s390_regsets_info, regs_info): New globals. [__s390x__] (s390_usrregs_info_3264, s390_regsets_info_3264) (regs_info_3264): New globals. (s390_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-mips-low.c (tdesc_mips_linux, tdesc_mips_dsp_linux) (tdesc_mips64_linux, tdesc_mips64_dsp_linux): Declare. [__mips64] (init_registers_mips_linux) (init_registers_mips_dsp_linux): Delete defines. [__mips64] (tdesc_mips_linux, tdesc_mips_dsp_linux): New defines. (have_dsp): New global. (mips_read_description): New, based on mips_arch_setup. (mips_arch_setup): Reimplement. (get_usrregs_info): New function. (mips_cannot_fetch_register, mips_cannot_store_register) (mips_get_pc, mips_set_pc, mips_fill_gregset, mips_store_gregset) (mips_fill_fpregset, mips_store_fpregset): Adjust. (target_regsets): Rename to ... (mips_regsets): ... this, and make static. (mips_regsets_info, mips_dsp_usrregs_info, mips_usrregs_info) (dsp_regs_info, regs_info): New globals. (mips_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-arm-low.c (tdesc_arm, tdesc_arm_with_iwmmxt) (tdesc_arm_with_vfpv2, tdesc_arm_with_vfpv3, tdesc_arm_with_neon): Declare. (arm_fill_vfpregset, arm_store_vfpregset): Adjust. (arm_read_description): New, with bits factored from arm_arch_setup. (arm_arch_setup): Reimplement. (target_regsets): Rename to ... (arm_regsets): ... this, and make static. (arm_regsets_info, arm_usrregs_info, regs_info): New globals. (arm_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-m68k-low.c (tdesc_m68k): Declare. (target_regsets): Rename to ... (m68k_regsets): ... this, and make static. (m68k_regsets_info, m68k_usrregs_info, regs_info): New globals. (m68k_regs_info): New function. (m68k_arch_setup): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-sh-low.c (tdesc_sharch): Declare. (target_regsets): Rename to ... (sh_regsets): ... this, and make static. (sh_regsets_info, sh_usrregs_info, regs_info): New globals. (sh_regs_info, sh_arch_setup): New functions. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-bfin-low.c (tdesc_bfin): Declare. (bfin_arch_setup): New function. (bfin_usrregs_info, regs_info): New globals. (bfin_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-cris-low.c (tdesc_cris): Declare. (cris_arch_setup): New function. (cris_usrregs_info, regs_info): New globals. (cris_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-cris-low.c (tdesc_crisv32): Declare. (cris_arch_setup): New function. (cris_regsets_info, cris_usrregs_info, regs_info): New globals. (cris_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-m32r-low.c (tdesc_m32r): Declare. (m32r_arch_setup): New function. (m32r_usrregs_info, regs_info): New globals. (m32r_regs_info): Adjust. (initialize_low_arch): New function. * linux-tic6x-low.c (tdesc_tic6x_c64xp_linux) (tdesc_tic6x_c64x_linux, tdesc_tic6x_c62x_linux): Declare. (tic6x_usrregs_info): Forward declare. (tic6x_read_description): New function, based on ... (tic6x_arch_setup): ... this. Reimplement. (target_regsets): Rename to ... (tic6x_regsets): ... this, and make static. (tic6x_regsets_info, tic6x_usrregs_info, regs_info): New globals. (tic6x_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-xtensa-low.c (tdesc_xtensa): Declare. (xtensa_fill_gregset, xtensa_store_gregset): Adjust. (target_regsets): Rename to ... (xtensa_regsets): ... this, and make static. (xtensa_regsets_info, xtensa_usrregs_info, regs_info): New globals. (xtensa_arch_setup, xtensa_regs_info): New functions. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-nios2-low.c (tdesc_nios2_linux): Declare. (nios2_arch_setup): Set the current process'es tdesc. (target_regsets): Rename to ... (nios2_regsets): ... this. (nios2_regsets_info, nios2_usrregs_info, regs_info): New globals. (nios2_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-aarch64-low.c (tdesc_aarch64): Declare. (aarch64_arch_setup): Set the current process'es tdesc. (target_regsets): Rename to ... (aarch64_regsets): ... this. (aarch64_regsets_info, aarch64_usrregs_info, regs_info): New globals. (aarch64_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-tile-low.c (tdesc_tilegx, tdesc_tilegx32): Declare globals. (target_regsets): Rename to ... (tile_regsets): ... this. (tile_regsets_info, tile_usrregs_info, regs_info): New globals. (tile_regs_info): New function. (tile_arch_setup): Set the current process'es tdesc. (the_low_target): Adjust. (initialize_low_arch): New function. * spu-low.c (tdesc_spu): Declare. (spu_create_inferior, spu_attach): Set the new process'es tdesc. * win32-arm-low.c (tdesc_arm): Declare. (arm_arch_setup): New function. (the_low_target): Install arm_arch_setup instead of init_registers_arm. * win32-i386-low.c (tdesc_i386, tdesc_amd64): Declare. (init_windows_x86): Rename to ... (i386_arch_setup): ... this. Set `win32_tdesc'. (the_low_target): Adjust. * win32-low.c (win32_tdesc): New global. (child_add_thread): Don't create the thread cache here. (do_initial_child_stuff): Set the new process'es tdesc. * win32-low.h (struct target_desc): Forward declare. (win32_tdesc): Declare. * lynx-i386-low.c (tdesc_i386): Declare global. (lynx_i386_arch_setup): Set `lynx_tdesc'. * lynx-low.c (lynx_tdesc): New global. (lynx_add_process): Set the new process'es tdesc. * lynx-low.h (struct target_desc): Forward declare. (lynx_tdesc): Declare global. * lynx-ppc-low.c (tdesc_powerpc_32): Declare global. (lynx_ppc_arch_setup): Set `lynx_tdesc'. * nto-low.c (nto_tdesc): New global. (do_attach): Set the new process'es tdesc. * nto-low.h (struct target_desc): Forward declare. (nto_tdesc): Declare. * nto-x86-low.c (tdesc_i386): Declare. (nto_x86_arch_setup): Set `nto_tdesc'. gdb/ 2013-06-07 Pedro Alves <palves@redhat.com> * regformats/regdat.sh: Output #include tdesc.h. Make globals static. Output a global target description pointer. (init_registers_${name}): Adjust to initialize a target description structure.
2013-06-07 10:46:59 +00:00
2013-06-07 Pedro Alves <palves@redhat.com>
2013-06-07 10:55:22 +00:00
PR server/14823
[GDBserver] Multi-process + multi-arch This patch makes GDBserver support multi-process + biarch. Currently, if you're debugging more than one process at once with a single gdbserver (in extended-remote mode), then all processes must have the same architecture (e.g., 64-bit vs 32-bit). Otherwise, you see this: Added inferior 2 [Switching to inferior 2 [<null>] (<noexec>)] Reading symbols from /home/pedro/gdb/tests/main32...done. Temporary breakpoint 2 at 0x4004cf: main. (2 locations) Starting program: /home/pedro/gdb/tests/main32 warning: Selected architecture i386 is not compatible with reported target architecture i386:x86-64 warning: Architecture rejected target-supplied description Remote 'g' packet reply is too long: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090cfffff0000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000b042f7460000000000020000230000002b0000002b0000002b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007f03000000000000ffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000801f00003b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ... etc, etc ... Even though the process was running a 32-bit program, GDBserver sent back to GDB a register set in 64-bit layout. A patch (http://sourceware.org/ml/gdb-patches/2012-11/msg00228.html) a while ago made GDB track a target_gdbarch per inferior, and as consequence, fetch a target description per-inferior. This patch is the GDBserver counterpart, that makes GDBserver keep track of each process'es XML target description and register layout. So in the example above, GDBserver will send the correct register set in 32-bit layout to GDB. A new "struct target_desc" object (tdesc for short) is added, that holds the target description and register layout information about each process. Each `struct process_info' holds a pointer to a target description. The regcache also gains a pointer to a target description, mainly for convenience, and parallel with GDB (and possible future support for programs that flip processor modes). The low target's arch_setup routines are responsible for setting the process'es correct tdesc. This isn't that much different to how things were done before, except that instead of detecting the inferior process'es architecture and calling the corresponding init_registers_FOO routine, which would change the regcache layout globals and recreate the threads' regcaches, the regcache.c globals are gone, and the init_registers_$BAR routines now each initialize a separate global struct target_desc object (one for each arch variant GDBserver supports), and so all the init_registers_$BAR routines that are built into GDBserver are called early at GDBserver startup time (similarly to how GDB handles its built-in target descriptions), and then the arch_setup routine is responsible for making process_info->tdesc point to one of these target description globals. The regcache module is all parameterized to get the regcache's layout from the tdesc object instead of the old register_bytes, etc. globals. The threads' regcaches are now created lazily. The old scheme where we created each of them when we added a new thread doesn't work anymore, because we add the main thread/lwp before we see it stop for the first time, and it is only when we see the thread stop for the first time that we have a chance of determining the inferior's architecture (through the_low_target.arch_setup). Therefore when we add the main thread we don't know which architecture/tdesc its regcache should have. This patch makes the gdb.multi/multi-arch.exp test now pass against (extended-remote) GDBserver. It currently fails, without this patch. The IPA also uses the regcache, so it gains a new global struct target_desc pointer, which points at the description of the process it is loaded in. Re. the linux-low.c & friends changes. Since the register map etc. may differ between processes (64-bit vs 32-bit) etc., the linux_target_ops num_regs, regmap and regset_bitmap data fields are no longer sufficient. A new method is added in their place that returns a pointer to a new struct that includes all info linux-low.c needs to access registers of the current inferior. The patch/discussion that originally introduced linux-low.c:disabled_regsets mentions that the disabled_regsets set may be different per mode (in a biarch setup), and indeed that is cleared whenever we start a new (first) inferior, so that global is moved as well behind the new `struct regs_info'. On the x86 side: I simply replaced the i387-fp.c:num_xmm_registers global with a check for 64-bit or 32-bit process, which is equivalent to how the global was set. This avoided coming up with some more general mechanism that would work for all targets that use this module (GNU/Linux, Windows, etc.). Tested: GNU/Linux IA64 GNU/Linux MIPS64 GNU/Linux PowerPC (Fedora 16) GNU/Linux s390x (Fedora 16) GNU/Linux sparc64 (Debian) GNU/Linux x86_64, -m64 and -m32 (Fedora 17) Cross built, and smoke tested: i686-w64-mingw32, under Wine. GNU/Linux TI C6x, by Yao Qi. Cross built but otherwise not tested: aarch64-linux-gnu arm-linux-gnu m68k-linux nios2-linux-gnu sh-linux-gnu spu tilegx-unknown-linux-gnu Completely untested: GNU/Linux Blackfin GNU/Linux CRIS GNU/Linux CRISv32 GNU/Linux TI Xtensa GNU/Linux M32R LynxOS QNX NTO gdb/gdbserver/ 2013-06-07 Pedro Alves <palves@redhat.com> * Makefile.in (OBS): Add tdesc.o. (IPA_OBJS): Add tdesc-ipa.o. (tdesc-ipa.o): New rule. * ax.c (gdb_eval_agent_expr): Adjust register_size call to new interface. * linux-low.c (new_inferior): Delete. (disabled_regsets, num_regsets): Delete. (linux_add_process): Adjust to set the new per-process new_inferior flag. (linux_detach_one_lwp): Adjust to call regcache_invalidate_thread. (linux_wait_for_lwp): Adjust. Only call arch_setup if the event was a stop. When calling arch_setup, switch the current inferior to the thread that got an event. (linux_resume_one_lwp): Adjust to call regcache_invalidate_thread. (regsets_fetch_inferior_registers) (regsets_store_inferior_registers): New regsets_info parameter. Adjust to use it. (linux_register_in_regsets): New regs_info parameter. Adjust to use it. (register_addr, fetch_register, store_register): New usrregs_info parameter. Adjust to use it. (usr_fetch_inferior_registers, usr_store_inferior_registers): New parameter regs_info. Adjust to use it. (linux_fetch_registers): Get the current inferior's regs_info, and adjust to use it. (linux_store_registers): Ditto. [HAVE_LINUX_REGSETS] (initialize_regsets_info): New. (initialize_low): Don't initialize the target_regsets here. Call initialize_low_arch. * linux-low.h (target_regsets): Delete declaration. (struct regsets_info): New. (struct usrregs_info): New. (struct regs_info): New. (struct process_info_private) <new_inferior>: New field. (struct linux_target_ops): Delete the num_regs, regmap, and regset_bitmap fields. New field regs_info. [HAVE_LINUX_REGSETS] (initialize_regsets_info): Declare. * i387-fp.c (num_xmm_registers): Delete. (i387_cache_to_fsave, i387_fsave_to_cache): Adjust find_regno calls to new interface. (i387_cache_to_fxsave, i387_cache_to_xsave, i387_fxsave_to_cache) (i387_xsave_to_cache): Adjust find_regno calls to new interface. Infer the number of xmm registers from the regcache's target description. * i387-fp.h (num_xmm_registers): Delete. * inferiors.c (add_thread): Don't install the thread's regcache here. * proc-service.c (gregset_info): Fetch the current inferior's regs_info. Adjust to use it. * regcache.c: Include tdesc.h. (register_bytes, reg_defs, num_registers) (gdbserver_expedite_regs): Delete. (get_thread_regcache): If the thread doesn't have a regcache yet, create one, instead of aborting gdbserver. (regcache_invalidate_one): Rename to ... (regcache_invalidate_thread): ... this. (regcache_invalidate_one): New. (regcache_invalidate): Only invalidate registers of the current process. (init_register_cache): Add target_desc parameter, and use it. (new_register_cache): Ditto. Assert the target description has a non zero registers_size. (regcache_cpy): Add assertions. Adjust. (realloc_register_cache, set_register_cache): Delete. (registers_to_string, registers_from_string): Adjust. (find_register_by_name, find_regno, find_register_by_number) (register_cache_size): Add target_desc parameter, and use it. (free_register_cache_thread, free_register_cache_thread_one) (regcache_release, register_cache_size): New. (register_size): Add target_desc parameter, and use it. (register_data, supply_register, supply_register_zeroed) (supply_regblock, supply_register_by_name, collect_register) (collect_register_as_string, collect_register_by_name): Adjust. * regcache.h (struct target_desc): Forward declare. (struct regcache) <tdesc>: New field. (init_register_cache, new_register_cache): Add target_desc parameter. (regcache_invalidate_thread): Declare. (regcache_invalidate_one): Delete declaration. (regcache_release): Declare. (find_register_by_number, register_cache_size, register_size) (find_regno): Add target_desc parameter. (gdbserver_expedite_regs, gdbserver_xmltarget): Delete declarations. * remote-utils.c: Include tdesc.h. (outreg, prepare_resume_reply): Adjust. * server.c: Include tdesc.h. (gdbserver_xmltarget): Delete declaration. (get_features_xml, process_serial_event): Adjust. * server.h [IN_PROCESS_AGENT] (struct target_desc): Forward declare. (struct process_info) <tdesc>: New field. (ipa_tdesc): Declare. * tdesc.c: New file. * tdesc.h: New file. * tracepoint.c: Include tdesc.h. [IN_PROCESS_AGENT] (ipa_tdesc): Define. (get_context_regcache): Adjust to pass ipa_tdesc down. (do_action_at_tracepoint): Adjust to get the register cache size from the context regcache's description. (traceframe_walk_blocks): Adjust to get the register cache size from the current trace frame's description. (traceframe_get_pc): Adjust to get current trace frame's description and pass it down. (gdb_collect): Adjust to get the register cache size from the IPA's description. * linux-amd64-ipa.c (tdesc_amd64_linux): Declare. (gdbserver_xmltarget): Delete. (initialize_low_tracepoint): Set the ipa's target description. * linux-i386-ipa.c (tdesc_i386_linux): Declare. (initialize_low_tracepoint): Set the ipa's target description. * linux-x86-low.c: Include tdesc.h. [__x86_64__] (is_64bit_tdesc): New. (ps_get_thread_area, x86_get_thread_area): Use it. (i386_cannot_store_register): Rename to ... (x86_cannot_store_register): ... this. Use is_64bit_tdesc. (i386_cannot_fetch_register): Rename to ... (x86_cannot_fetch_register): ... this. Use is_64bit_tdesc. (x86_fill_gregset, x86_store_gregset): Adjust register_size calls to new interface. (target_regsets): Rename to ... (x86_regsets): ... this. (x86_get_pc, x86_set_pc): Adjust register_size calls to new interface. (x86_siginfo_fixup): Use is_64bit_tdesc. [__x86_64__] (tdesc_amd64_linux, tdesc_amd64_avx_linux) (tdesc_x32_avx_linux, tdesc_x32_linux) (tdesc_i386_linux, tdesc_i386_mmx_linux, tdesc_i386_avx_linux): Declare. (x86_linux_update_xmltarget): Delete. (I386_LINUX_XSAVE_XCR0_OFFSET): Define. (have_ptrace_getfpxregs, have_ptrace_getregset): New. (AMD64_LINUX_USER64_CS): New. (x86_linux_read_description): New, based on x86_linux_update_xmltarget. (same_process_callback): New. (x86_arch_setup_process_callback): New. (x86_linux_update_xmltarget): New. (x86_regsets_info): New. (amd64_linux_regs_info): New. (i386_linux_usrregs_info): New. (i386_linux_regs_info): New. (x86_linux_regs_info): New. (x86_arch_setup): Reimplement. (x86_install_fast_tracepoint_jump_pad): Use is_64bit_tdesc. (x86_emit_ops): Ditto. (the_low_target): Adjust. Install x86_linux_regs_info, x86_cannot_fetch_register, and x86_cannot_store_register. (initialize_low_arch): New. * linux-ia64-low.c (tdesc_ia64): Declare. (ia64_fetch_register): Adjust. (ia64_usrregs_info, regs_info): New globals. (ia64_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-sparc-low.c (tdesc_sparc64): Declare. (sparc_fill_gregset_to_stack, sparc_store_gregset_from_stack): Adjust. (sparc_arch_setup): New function. (sparc_regsets_info, sparc_usrregs_info, regs_info): New globals. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-ppc-low.c (tdesc_powerpc_32l, tdesc_powerpc_altivec32l) (tdesc_powerpc_cell32l, tdesc_powerpc_vsx32l) (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_altivec32l) (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_e500l) (tdesc_powerpc_64l, tdesc_powerpc_altivec64l) (tdesc_powerpc_cell64l, tdesc_powerpc_vsx64l) (tdesc_powerpc_isa205_64l, tdesc_powerpc_isa205_altivec64l) (tdesc_powerpc_isa205_vsx64l): Declare. (ppc_cannot_store_register, ppc_collect_ptrace_register) (ppc_supply_ptrace_register, parse_spufs_run, ppc_get_pc) (ppc_set_pc, ppc_get_hwcap): Adjust. (ppc_usrregs_info): Forward declare. (!__powerpc64__) ppc_regmap_adjusted: New global. (ppc_arch_setup): Adjust to the current process'es target description. (ppc_fill_vsxregset, ppc_store_vsxregset, ppc_fill_vrregset) (ppc_store_vrregset, ppc_fill_evrregset, ppc_store_evrregse) (ppc_store_evrregset): Adjust. (target_regsets): Rename to ... (ppc_regsets): ... this, and make static. (ppc_usrregs_info, ppc_regsets_info, regs_info): New globals. (ppc_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-s390-low.c (tdesc_s390_linux32, tdesc_s390_linux32v1) (tdesc_s390_linux32v2, tdesc_s390_linux64, tdesc_s390_linux64v1) (tdesc_s390_linux64v2, tdesc_s390x_linux64, tdesc_s390x_linux64v1) (tdesc_s390x_linux64v2): Declare. (s390_collect_ptrace_register, s390_supply_ptrace_register) (s390_fill_gregset, s390_store_last_break): Adjust. (target_regsets): Rename to ... (s390_regsets): ... this, and make static. (s390_get_pc, s390_set_pc): Adjust. (s390_get_hwcap): New target_desc parameter, and use it. [__s390x__] (have_hwcap_s390_high_gprs): New global. (s390_arch_setup): Adjust to set the current process'es target description. Don't adjust the regmap. (s390_usrregs_info, s390_regsets_info, regs_info): New globals. [__s390x__] (s390_usrregs_info_3264, s390_regsets_info_3264) (regs_info_3264): New globals. (s390_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-mips-low.c (tdesc_mips_linux, tdesc_mips_dsp_linux) (tdesc_mips64_linux, tdesc_mips64_dsp_linux): Declare. [__mips64] (init_registers_mips_linux) (init_registers_mips_dsp_linux): Delete defines. [__mips64] (tdesc_mips_linux, tdesc_mips_dsp_linux): New defines. (have_dsp): New global. (mips_read_description): New, based on mips_arch_setup. (mips_arch_setup): Reimplement. (get_usrregs_info): New function. (mips_cannot_fetch_register, mips_cannot_store_register) (mips_get_pc, mips_set_pc, mips_fill_gregset, mips_store_gregset) (mips_fill_fpregset, mips_store_fpregset): Adjust. (target_regsets): Rename to ... (mips_regsets): ... this, and make static. (mips_regsets_info, mips_dsp_usrregs_info, mips_usrregs_info) (dsp_regs_info, regs_info): New globals. (mips_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-arm-low.c (tdesc_arm, tdesc_arm_with_iwmmxt) (tdesc_arm_with_vfpv2, tdesc_arm_with_vfpv3, tdesc_arm_with_neon): Declare. (arm_fill_vfpregset, arm_store_vfpregset): Adjust. (arm_read_description): New, with bits factored from arm_arch_setup. (arm_arch_setup): Reimplement. (target_regsets): Rename to ... (arm_regsets): ... this, and make static. (arm_regsets_info, arm_usrregs_info, regs_info): New globals. (arm_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-m68k-low.c (tdesc_m68k): Declare. (target_regsets): Rename to ... (m68k_regsets): ... this, and make static. (m68k_regsets_info, m68k_usrregs_info, regs_info): New globals. (m68k_regs_info): New function. (m68k_arch_setup): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-sh-low.c (tdesc_sharch): Declare. (target_regsets): Rename to ... (sh_regsets): ... this, and make static. (sh_regsets_info, sh_usrregs_info, regs_info): New globals. (sh_regs_info, sh_arch_setup): New functions. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-bfin-low.c (tdesc_bfin): Declare. (bfin_arch_setup): New function. (bfin_usrregs_info, regs_info): New globals. (bfin_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-cris-low.c (tdesc_cris): Declare. (cris_arch_setup): New function. (cris_usrregs_info, regs_info): New globals. (cris_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-cris-low.c (tdesc_crisv32): Declare. (cris_arch_setup): New function. (cris_regsets_info, cris_usrregs_info, regs_info): New globals. (cris_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-m32r-low.c (tdesc_m32r): Declare. (m32r_arch_setup): New function. (m32r_usrregs_info, regs_info): New globals. (m32r_regs_info): Adjust. (initialize_low_arch): New function. * linux-tic6x-low.c (tdesc_tic6x_c64xp_linux) (tdesc_tic6x_c64x_linux, tdesc_tic6x_c62x_linux): Declare. (tic6x_usrregs_info): Forward declare. (tic6x_read_description): New function, based on ... (tic6x_arch_setup): ... this. Reimplement. (target_regsets): Rename to ... (tic6x_regsets): ... this, and make static. (tic6x_regsets_info, tic6x_usrregs_info, regs_info): New globals. (tic6x_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-xtensa-low.c (tdesc_xtensa): Declare. (xtensa_fill_gregset, xtensa_store_gregset): Adjust. (target_regsets): Rename to ... (xtensa_regsets): ... this, and make static. (xtensa_regsets_info, xtensa_usrregs_info, regs_info): New globals. (xtensa_arch_setup, xtensa_regs_info): New functions. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-nios2-low.c (tdesc_nios2_linux): Declare. (nios2_arch_setup): Set the current process'es tdesc. (target_regsets): Rename to ... (nios2_regsets): ... this. (nios2_regsets_info, nios2_usrregs_info, regs_info): New globals. (nios2_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-aarch64-low.c (tdesc_aarch64): Declare. (aarch64_arch_setup): Set the current process'es tdesc. (target_regsets): Rename to ... (aarch64_regsets): ... this. (aarch64_regsets_info, aarch64_usrregs_info, regs_info): New globals. (aarch64_regs_info): New function. (the_low_target): Adjust. (initialize_low_arch): New function. * linux-tile-low.c (tdesc_tilegx, tdesc_tilegx32): Declare globals. (target_regsets): Rename to ... (tile_regsets): ... this. (tile_regsets_info, tile_usrregs_info, regs_info): New globals. (tile_regs_info): New function. (tile_arch_setup): Set the current process'es tdesc. (the_low_target): Adjust. (initialize_low_arch): New function. * spu-low.c (tdesc_spu): Declare. (spu_create_inferior, spu_attach): Set the new process'es tdesc. * win32-arm-low.c (tdesc_arm): Declare. (arm_arch_setup): New function. (the_low_target): Install arm_arch_setup instead of init_registers_arm. * win32-i386-low.c (tdesc_i386, tdesc_amd64): Declare. (init_windows_x86): Rename to ... (i386_arch_setup): ... this. Set `win32_tdesc'. (the_low_target): Adjust. * win32-low.c (win32_tdesc): New global. (child_add_thread): Don't create the thread cache here. (do_initial_child_stuff): Set the new process'es tdesc. * win32-low.h (struct target_desc): Forward declare. (win32_tdesc): Declare. * lynx-i386-low.c (tdesc_i386): Declare global. (lynx_i386_arch_setup): Set `lynx_tdesc'. * lynx-low.c (lynx_tdesc): New global. (lynx_add_process): Set the new process'es tdesc. * lynx-low.h (struct target_desc): Forward declare. (lynx_tdesc): Declare global. * lynx-ppc-low.c (tdesc_powerpc_32): Declare global. (lynx_ppc_arch_setup): Set `lynx_tdesc'. * nto-low.c (nto_tdesc): New global. (do_attach): Set the new process'es tdesc. * nto-low.h (struct target_desc): Forward declare. (nto_tdesc): Declare. * nto-x86-low.c (tdesc_i386): Declare. (nto_x86_arch_setup): Set `nto_tdesc'. gdb/ 2013-06-07 Pedro Alves <palves@redhat.com> * regformats/regdat.sh: Output #include tdesc.h. Make globals static. Output a global target description pointer. (init_registers_${name}): Adjust to initialize a target description structure.
2013-06-07 10:46:59 +00:00
* regformats/regdat.sh: Output #include tdesc.h. Make globals
static. Output a global target description pointer.
(init_registers_${name}): Adjust to initialize a
target description structure.
2013-06-07 Will Newton <will.newton@linaro.org>
* printcmd.c (build_address_symbolic): Call
gdbarch_addr_bits_remove for text minimal symbols.
2013-06-07 Will Newton <will.newton@linaro.org>
* MAINTAINERS: Add myself to Write After Approval.
2013-06-07 Yao Qi <yao@codesourcery.com>
* tracepoint.c (start_tracing): Move code to ...
(trace_reset_local_state): ... here. New.
(disconnect_tracing): Don't call set_current_traceframe,
set_tracepoint_num, and set_traceframe_context. Call
trace_reset_local_state instead.
(tfile_close): Call trace_reset_local_state.
* ctf.c (ctf_close): Likewise.
* remote.c (remote_close): Likewise.
* tracepoint.h (trace_reset_local_state): Declare.
2013-06-06 Doug Evans <dje@google.com>
* dwarf2read.c: Whitespace fixes for DWP file format documentation,
and fix header docs.
2013-06-05 Doug Evans <dje@google.com>
Keith Seitz <keiths@redhat.com>
PR 15519
* cp-namespace.c (find_symbol_in_baseclass): Call
cp_lookup_symbol_in_namespace instead of cp_lookup_symbol_namespace.
Check result of call to lookup_symbol_static.
Call lookup_static_symbol_aux unconditionally.
Call check_typedef on base types before accessing them.
(cp_lookup_nested_symbol): Fix comment.
2013-06-05 Luis Machado <lgustavo@codesourcery.com>
* gnu-v3-abi.c (gnuv3_skip_trampoline): Handle thunk
minimal symbols pointing to function descriptors.
2013-06-05 Tom Tromey <tromey@redhat.com>
* python/py-utils.c (gdb_pymodule_addobject): Cast away const.
2013-06-04 Sergio Durigan Junior <sergiodj@redhat.com>
Pedro Alves <palves@redhat.com>
* remote.c (remote_wait_as): Restore signal handler before returning
when GDB gets a notification.
2013-06-04 Gary Benson <gbenson@redhat.com> * breakpoint.h (handle_solib_event): Moved function declaration to solib.h. * breakpoint.c (handle_solib_event): Moved function to solib.c. (bpstat_stop_status): Pass new argument to handle_solib_event. * solib.h (update_solib_breakpoints): New function declaration. (handle_solib_event): Moved function declaration from breakpoint.h. * solib.c (update_solib_breakpoints): New function. (handle_solib_event): Moved function from breakpoint.c. Updated to call solib_ops->handle_event if not NULL. * solist.h (target_so_ops): New fields "update_breakpoints" and "handle_event". * infrun.c (set_stop_on_solib_events): New function. (_initialize_infrun): Use the above for "set stop-on-solib-events". (handle_inferior_event): Pass new argument to handle_solib_event. * solib-svr4.c (probe.h): New include. (svr4_free_library_list): New forward declaration. (probe_action): New enum. (probe_info): New struct. (probe_info): New static variable. (NUM_PROBES): New definition. (svr4_info): New fields "using_xfer", "probes_table" and "solib_list". (free_probes_table): New function. (free_solib_list): New function. (svr4_pspace_data_cleanup): Free probes table and solib list. (svr4_copy_library_list): New function. (svr4_current_sos_via_xfer_libraries): New parameter "annex". (svr4_read_so_list): New parameter "prev_lm". (svr4_current_sos_direct): Renamed from "svr4_current_sos". (svr4_current_sos): New function. (probe_and_action): New struct. (hash_probe_and_action): New function. (equal_probe_and_action): Likewise. (register_solib_event_probe): Likewise. (solib_event_probe_at): Likewise. (solib_event_probe_action): Likewise. (solist_update_full): Likewise. (solist_update_incremental): Likewise. (disable_probes_interface_cleanup): Likewise. (svr4_handle_solib_event): Likewise. (svr4_update_solib_event_breakpoint): Likewise. (svr4_update_solib_event_breakpoints): Likewise. (svr4_create_solib_event_breakpoints): Likewise. (enable_break): Free probes table before creating breakpoints. Use svr4_create_solib_event_breakpoints to create breakpoints. (svr4_solib_create_inferior_hook): Free the solib list. (_initialize_svr4_solib): Initialise svr4_so_ops.handle_solib_event and svr4_so_ops.update_breakpoints.
2013-06-04 13:17:06 +00:00
2013-06-04 Gary Benson <gbenson@redhat.com>
2013-06-06 08:50:08 +00:00
PR 2328
2013-06-04 Gary Benson <gbenson@redhat.com> * breakpoint.h (handle_solib_event): Moved function declaration to solib.h. * breakpoint.c (handle_solib_event): Moved function to solib.c. (bpstat_stop_status): Pass new argument to handle_solib_event. * solib.h (update_solib_breakpoints): New function declaration. (handle_solib_event): Moved function declaration from breakpoint.h. * solib.c (update_solib_breakpoints): New function. (handle_solib_event): Moved function from breakpoint.c. Updated to call solib_ops->handle_event if not NULL. * solist.h (target_so_ops): New fields "update_breakpoints" and "handle_event". * infrun.c (set_stop_on_solib_events): New function. (_initialize_infrun): Use the above for "set stop-on-solib-events". (handle_inferior_event): Pass new argument to handle_solib_event. * solib-svr4.c (probe.h): New include. (svr4_free_library_list): New forward declaration. (probe_action): New enum. (probe_info): New struct. (probe_info): New static variable. (NUM_PROBES): New definition. (svr4_info): New fields "using_xfer", "probes_table" and "solib_list". (free_probes_table): New function. (free_solib_list): New function. (svr4_pspace_data_cleanup): Free probes table and solib list. (svr4_copy_library_list): New function. (svr4_current_sos_via_xfer_libraries): New parameter "annex". (svr4_read_so_list): New parameter "prev_lm". (svr4_current_sos_direct): Renamed from "svr4_current_sos". (svr4_current_sos): New function. (probe_and_action): New struct. (hash_probe_and_action): New function. (equal_probe_and_action): Likewise. (register_solib_event_probe): Likewise. (solib_event_probe_at): Likewise. (solib_event_probe_action): Likewise. (solist_update_full): Likewise. (solist_update_incremental): Likewise. (disable_probes_interface_cleanup): Likewise. (svr4_handle_solib_event): Likewise. (svr4_update_solib_event_breakpoint): Likewise. (svr4_update_solib_event_breakpoints): Likewise. (svr4_create_solib_event_breakpoints): Likewise. (enable_break): Free probes table before creating breakpoints. Use svr4_create_solib_event_breakpoints to create breakpoints. (svr4_solib_create_inferior_hook): Free the solib list. (_initialize_svr4_solib): Initialise svr4_so_ops.handle_solib_event and svr4_so_ops.update_breakpoints.
2013-06-04 13:17:06 +00:00
* breakpoint.h (handle_solib_event): Moved function declaration
to solib.h.
* breakpoint.c (handle_solib_event): Moved function to solib.c.
(bpstat_stop_status): Pass new argument to handle_solib_event.
* solib.h (update_solib_breakpoints): New function declaration.
(handle_solib_event): Moved function declaration from
breakpoint.h.
* solib.c (update_solib_breakpoints): New function.
(handle_solib_event): Moved function from breakpoint.c.
Updated to call solib_ops->handle_event if not NULL.
* solist.h (target_so_ops): New fields "update_breakpoints" and
"handle_event".
* infrun.c (set_stop_on_solib_events): New function.
(_initialize_infrun): Use the above for "set
stop-on-solib-events".
(handle_inferior_event): Pass new argument to handle_solib_event.
* solib-svr4.c (probe.h): New include.
(svr4_free_library_list): New forward declaration.
(probe_action): New enum.
(probe_info): New struct.
(probe_info): New static variable.
(NUM_PROBES): New definition.
(svr4_info): New fields "using_xfer", "probes_table" and
"solib_list".
(free_probes_table): New function.
(free_solib_list): New function.
(svr4_pspace_data_cleanup): Free probes table and solib list.
(svr4_copy_library_list): New function.
(svr4_current_sos_via_xfer_libraries): New parameter "annex".
(svr4_read_so_list): New parameter "prev_lm".
(svr4_current_sos_direct): Renamed from "svr4_current_sos".
(svr4_current_sos): New function.
(probe_and_action): New struct.
(hash_probe_and_action): New function.
(equal_probe_and_action): Likewise.
(register_solib_event_probe): Likewise.
(solib_event_probe_at): Likewise.
(solib_event_probe_action): Likewise.
(solist_update_full): Likewise.
(solist_update_incremental): Likewise.
(disable_probes_interface_cleanup): Likewise.
(svr4_handle_solib_event): Likewise.
(svr4_update_solib_event_breakpoint): Likewise.
(svr4_update_solib_event_breakpoints): Likewise.
(svr4_create_solib_event_breakpoints): Likewise.
(enable_break): Free probes table before creating breakpoints.
Use svr4_create_solib_event_breakpoints to create breakpoints.
(svr4_solib_create_inferior_hook): Free the solib list.
(_initialize_svr4_solib): Initialise
svr4_so_ops.handle_solib_event and svr4_so_ops.update_breakpoints.
2013-06-04 Gary Benson <gbenson@redhat.com>
* target.h (target_ops): New field
"to_augmented_libraries_svr4_read".
(target_augmented_libraries_svr4_read): New macro.
* target.c (update_current_target): Handle
to_augmented_libraries_svr4_read.
* remote.c (remote_state): New field
"augmented_libraries_svr4_read".
(remote_augmented_libraries_svr4_read_feature): New function.
(remote_protocol_features): Add entry for
"augmented-libraries-svr4-read".
(remote_augmented_libraries_svr4_read): New function.
(init_remote_ops): Initialize
remote_ops.to_augmented_libraries_svr4_read.
2013-06-04 Gary Benson <gbenson@redhat.com>
* NEWS: Update.
2013-06-04 Gary Benson <gbenson@redhat.com>
* objfiles.h (inhibit_section_map_updates): New function
declaration.
(resume_section_map_updates): Likewise.
(resume_section_map_updates_cleanup): Likewise.
* objfiles.c (objfile_pspace_info): Removed field
"objfiles_changed_p". New fields "new_objfiles_available",
"section_map_dirty" and "inhibit_updates".
(allocate_objfile): Set new_objfiles_available.
(free_objfile): Set section_map_dirty.
(objfile_relocate1): Likewise.
(in_plt_section): Likewise.
(find_pc_section): Update the conditions under which the
section map will be updated.
(inhibit_section_map_updates): New function.
(resume_section_map_updates): Likewise.
(resume_section_map_updates_cleanup): Likewise.
2013-06-04 Gary Benson <gbenson@redhat.com>
* probe.h (get_probe_argument_count): New declaration.
(evaluate_probe_argument): Likewise.
* probe.c (get_probe_argument_count): New function.
(evaluate_probe_argument): Likewise.
(probe_safe_evaluate_at_pc): Use the above new functions.
2013-06-04 Alan Modra <amodra@gmail.com>
* ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
* rs6000-tdep.c (read_insn): Add frame param, don't assume big-endian.
(ppc_insns_match_pattern): Add frame param. Avoid multiple
target mem reads on optional insns.
* ppc-linux-tdep.c (ppc_skip_trampoline_code): Update
ppc_insns_match_pattern calls.
* ppc64-tdep.c (ppc64_standard_linkage2, ppc64_standard_linkage3):
Add match for power7 thread safety insns, and new order of
std 2,40(1) insn. Correct code shown for _dl_runtime_resolve
invocation in comment, and update rest of comment.
(PPC64_STANDARD_LINKAGE1_LEN, PPC64_STANDARD_LINKAGE2_LEN,
PPC64_STANDARD_LINKAGE3_LEN): Delete.
(ppc64_standard_linkage2_target): Update insn offsets.
(ppc64_skip_trampoline_code): Use a single insn buffer. Match newer
stubs first. Update calls.
2013-06-04 Yao Qi <yao@codesourcery.com>
* solib.c (solib_find): Don't need dir separator if path has
drive spec.
2013-06-03 Joel Brobecker <brobecker@adacore.com>
Revert (indirectly causes a SIGSEGV):
* machoread.c (macho_symfile_read): Assign first cleanup to
'back_to'.
2013-06-03 Yao Qi <yao@codesourcery.com>
* mi/mi-cmd-var.c (mi_no_values, mi_simple_values): Move to
mi-parse.c. Make them static.
(mi_all_values): Likewise.
(mi_parse_values_option): Move to mi-parse.c. Rename it to
mi_parse_print_values. Make it external.
* mi/mi-cmds.h (mi_no_values, mi_simple_values, mi_all_values):
Remove the declarations.
* mi/mi-parse.c (mi_parse_print_values): Moved from mi-cmd-var.c.
* mi/mi-parse.h (mi_parse_print_values): Declare.
* mi/mi-cmd-stack.c: Include mi-parse.h.
(parse_print_values): Remove
(mi_cmd_stack_list_locals): Call mi_parse_print_values instead
of parse_print_values.
(mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Likewise.
2013-05-31 Pedro Alves <pedro@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* tracepoint.c (all_tracepoint_actions_and_cleanup): Declare.
(encode_actions): Move code to ...
(all_tracepoint_actions_and_cleanup): ... here. New.
(trace_dump_command): Likewise.
2013-05-30 Tom Tromey <tromey@redhat.com>
* symmisc.c (maintenance_expand_symtabs): Call do_cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* xml-support.c (gdb_xml_create_parser_and_cleanup): Rename from
gdb_xml_create_parser_and_cleanup_1. Return a cleanup. Remove
'old_chain' argument. Add 'parser_result' argument.
(gdb_xml_create_parser_and_cleanup): Remove old version.
(gdb_xml_parse_quick): Update.
(xml_process_xincludes): Update.
* xml-support.h (gdb_xml_create_parser_and_cleanup): Don't
declare.
2013-05-30 Tom Tromey <tromey@redhat.com>
* probe.c (collect_probes): Check arguments for NULL before
calling compile_rx_or_error.
* utils.c (compile_rx_or_error): Require 'rx' to be non-NULL.
Remove NULL return.
2013-05-30 Tom Tromey <tromey@redhat.com>
* infrun.c (adjust_pc_after_break): Introduce an outer null
cleanup.
2013-05-30 Tom Tromey <tromey@redhat.com>
* mi/mi-cmd-var.c (varobj_update_one): Add an outer null cleanup.
2013-05-30 Tom Tromey <tromey@redhat.com>
* cli/cli-script.c (read_command_lines_1): Use a null cleanup
for 'old_chain'. Do not check 'head' before processing
cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* mi/mi-cmd-stack.c (list_arg_or_local): Remove
"cleanup_tuple".
2013-05-30 Tom Tromey <tromey@redhat.com>
* dbxread.c (dbx_read_symtab): Declare 'back_to' in a more
inner scope. Unconditionally call do_cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* source.c (find_and_open_source): Call do_cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* linux-thread-db.c (thread_db_load_search): Unconditionally
call do_cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* solib-aix.c (solib_aix_bfd_open): Don't use a null cleanup
for 'cleanup'; instead use a later one.
2013-05-30 Tom Tromey <tromey@redhat.com>
* python/py-breakpoint.c (bppy_get_commands): Use
explicit, unconditional return.
* python/py-frame.c (frapy_read_var): Likewise.
* python/python.c (gdbpy_decode_line): Likewise.
2013-05-30 Tom Tromey <tromey@redhat.com>
* cp-namespace.c (cp_lookup_symbol_imports_or_template): Call
do_cleanups on all return paths.
2013-05-30 Tom Tromey <tromey@redhat.com>
* top.c (execute_command): Discard 'cleanup_if_error' cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* stabsread.c (read_struct_type): Call do_cleanups along
all return paths.
2013-05-30 Maciej W. Rozycki <macro@codesourcery.com>
* mips-linux-tdep.c: Adjust formatting throughout.
2013-05-30 Tom Tromey <tromey@redhat.com>
* mipsread.c (read_alphacoff_dynamic_symtab): Call do_cleanups
along all return paths.
2013-05-30 Tom Tromey <tromey@redhat.com>
* symfile.c (find_separate_debug_file): Call do_cleanups
along all return paths.
2013-05-30 Tom Tromey <tromey@redhat.com>
* symtab.c (search_symbols): Introduce a null cleanup for
'retval_chain'.
2013-05-30 Tom Tromey <tromey@redhat.com>
* python/py-value.c (valpy_binop): Call do_cleanups before
exiting loop.
2013-05-30 Tom Tromey <tromey@redhat.com>
* python/py-prettyprint.c (print_children): Remove extra
do_cleanups call.
2013-05-30 Tom Tromey <tromey@redhat.com>
* python/py-frame.c (frapy_read_var): Call do_cleanups along
all return paths.
2013-05-30 Tom Tromey <tromey@redhat.com>
* python/py-breakpoint.c (bppy_get_commands): Call do_cleanups
along all return paths.
2013-05-30 Tom Tromey <tromey@redhat.com>
* cli/cli-logging.c (set_logging_redirect): Unconditionally
call do_cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* varobj.c (c_value_of_root): Call do_cleanups along all
return paths.
2013-05-30 Tom Tromey <tromey@redhat.com>
* tracepoint.c (trace_dump_command): Unconditionally call
do_cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* breakpoint.c (output_thread_groups, parse_cmd_to_aexpr): Call
do_cleanups earlier.
2013-05-30 Tom Tromey <tromey@redhat.com>
* machoread.c (macho_symfile_read): Assign first cleanup to
'back_to'.
2013-05-30 Tom Tromey <tromey@redhat.com>
* m32r-rom.c (m32r_load): Call do_cleanups at all returns.
2013-05-30 Tom Tromey <tromey@redhat.com>
* mi/mi-main.c (list_available_thread_groups): Call do_cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* inf-ptrace.c (inf_ptrace_create_inferior): Unconditionally
call discard_cleanups.
(inf_ptrace_attach): Likewise.
2013-05-30 Tom Tromey <tromey@redhat.com>
* remote-mips.c (mips_exit_debug): Call do_cleanups on all
return paths.
(mips_initialize): Likewise.
(common_open): Call do_cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* utils.c (internal_vproblem): Call do_cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* linespec.c (find_linespec_symbols): Don't reassign to 'cleanup'.
2013-05-30 Tom Tromey <tromey@redhat.com>
* cli/cli-script.c (setup_user_args): Don't return after error.
2013-05-30 Tom Tromey <tromey@redhat.com>
* somread.c (som_symtab_read): Call do_cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* printcmd.c (print_command_1): Unconditionally call do_cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* cli/cli-cmds.c (cd_command, alias_command): Call do_cleanups.
* cli/cli-dump.c (restore_binary_file): Call do_cleanups.
* interps.c (interpreter_exec_cmd): Call do_cleanups.
* source.c (show_substitute_path_command): Call do_cleanups.
(unset_substitute_path_command, set_substitute_path_command):
Likewise.
* symfile.c (load_command): Call do_cleanups.
2013-05-30 Tom Tromey <tromey@redhat.com>
* contrib/cleanup_check.py: New file.
* contrib/gcc-with-excheck: Add option parsing.
2013-05-30 Joel Brobecker <brobecker@adacore.com>
* windows-nat.c (windows_delete_thread): Add missing space
in cast expression.
2013-05-30 Hafiz Abid Qadeer <abidh@codesourcery.com>
* inferior.c (top level): Include tilde.h.
(add_inferior_command): Call tilde_expand on the value of 'exec'
argument.
2013-05-30 Pedro Alves <pedro@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* tracepoint.c (encode_actions_1): Remove parameter 't'.
Caller update.
(encode_actions): Likewise.
* remote.c (remote_download_tracepoint): Caller update.
* tracepoint.h (encode_actions): Update declaration.
2013-05-30 Pedro Alves <palves@redhat.com>
* python/python-internal.h (gdb_Py_DECREF): Cast OP to PyObject
pointer.
2013-05-30 Yao Qi <yao@codesourcery.com>
* remote.c (remote_check_symbols): Remove unused parameter
'objfile'.
Declaration update.
(remote_start_remote, remote_new_objfile): Caller update.
2013-05-30 Yao Qi <yao@codesourcery.com>
* mi/mi-cmds.c (mi_cmds): Define MI command
'-exec-arguments' by macro DEF_MI_CMD_CLI_1 instead of
DEF_MI_CMD_CLI.
[remote] Insert breakpoints in the right process. I noticed that gdb.multi/multi-arch.exp wasn't passing with extended-remote GDBserver with my pending multi-process+multi-arch series anymore on current mainline, while it used to pass before: (gdb) run Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.multi/ma-hangout Process /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.multi/ma-hangout created; pid = 32067 Warning: Cannot insert breakpoint 2. Error accessing memory address 0x4005c2: Unknown error -1. Cannot insert breakpoint -1. Temporarily disabling shared library breakpoints: breakpoint #-1 (gdb) FAIL: gdb.multi/multi-arch.exp: starting inferior 2 Investigating manually, I found an easy way to reproduce. You just need breakpoints on distinct inferiors, and a way to have GDB install them in one go: (gdb) set breakpoint always-inserted on (gdb) info breakpoints Num Type Disp Enb Address What 2 breakpoint del n <MULTIPLE> 2.1 y 0x00000000004005c2 in main at ../../../src/gdb/testsuite/gdb.multi/hello.c:40 inf 1 2.2 y 0x08048475 in main at ../../../src/gdb/testsuite/gdb.multi/hangout.c:22 inf 2 (gdb) enable 2 Warning: Cannot insert breakpoint 2. Error accessing memory address 0x4005c2: Unknown error -1. And turning on remote debugging, we see: (gdb) set debug remote 1 (gdb) disable 2 (gdb) enable 2 Sending packet: $Z0,4005c2,1#71...Packet received: E01 Sending packet: $Z0,8048475,1#87...Packet received: OK Warning: Cannot insert breakpoint 2. Error accessing memory address 0x4005c2: Unknown error -1. Notice that each of those Z0 breakpoints should be set in different processes. However, no Hg packet to select a process has been sent in between, so GDBserver tries to plant both on the same process that happens to be current. The first Z0 then not so surprisingly fails. IOW, the blame is on GDB, for telling GDBserver to plant both breakpoints in the same process. remote.c has a lazy scheme where it keeps a local cache of the remote's selected general thread, and delays updating it on the remote side until necessary (memory/register reads/writes, etc.). This is done to reduce RSP traffic. The bug is that the Zx breakpoint insert/remove methods weren't committing the selected thread/process back to the remote side: Breakpoint 3, remote_insert_breakpoint (gdbarch=0x1383ae0, bp_tgt=0x140c2b0) at ../../src/gdb/remote.c:8148 8148 if (remote_protocol_packets[PACKET_Z0].support != PACKET_DISABLE) (top-gdb) p inferior_ptid $3 = {pid = 3670, lwp = 0, tid = 3670} (top-gdb) p general_thread $4 = {pid = 3671, lwp = 0, tid = 3671} IOW, a call to set_general_process is missing. I did some auditing over remote.c, and added calls to all places I found missing it. This only used to work by chance before. breakpoint.c switches to a thread of the target process before installing a breakpoint location. That calls switch_to_thread. Before: 2012-07-27 Yao Qi <yao@codesourcery.com> * thread.c (switch_to_thread): Don't call registers_changed. that caused the register caches to all be flushed and refetched before installing the breakpoint location. Given fetching registers commits the remote general thread (with Hg), masking out the latent bug. Tested on x86_64 Fedora 17 with GDBserver. gdb/ 2013-05-29 Pedro Alves <palves@redhat.com> * remote.c (remote_insert_breakpoint, remote_remove_breakpoint) (remote_insert_watchpoint, remote_remove_watchpoint) (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint) (remote_verify_memory, compare_sections_command) (remote_search_memory): Set the general process/thread on the remote side.
2013-05-29 11:57:48 +00:00
2013-05-29 Pedro Alves <palves@redhat.com>
* remote.c (remote_insert_breakpoint, remote_remove_breakpoint)
(remote_insert_watchpoint, remote_remove_watchpoint)
(remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
(remote_verify_memory, compare_sections_command)
(remote_search_memory): Set the general process/thread on the
remote side.
2013-05-29 Pedro Alves <palves@redhat.com>
* aarch64-tdep.c: Don't include "features/aarch64-without-fpu.c".
(_initialize_aarch64_tdep): Don't call
initialize_tdesc_aarch64_without_fpu.
* features/Makefile (WHICH): Remove reference to
aarch64-without-fpu.
* features/aarch64-without-fpu.c: Delete file.
* regformats/aarch64-without-fpu.dat: Delete file.
2013-05-28 Yao Qi <yao@codesourcery.com>
* tracepoint.c (stringify_collection_list): Remove parameter
'string'.
(encode_actions): Caller update. Remove local variables.
2013-05-24 Yao Qi <yao@codesourcery.com>
* tracepoint.c (TFILE_PID): Remove.
(tfile_open): Don't add thread and inferior.
(tfile_close): Don't set 'inferior_ptid'. Don't call
exit_inferior_silent.
(tfile_thread_alive): Remove.
(init_tfile_ops): Don't set field 'to_thread_alive' of
tfile_ops.
2013-05-23 Doug Evans <dje@google.com>
* contrib/cc-with-tweaks.sh (-p): Handle no dwo files.
common/filestuff.c: No sockets on DJGPP. Building gdb with --host=i586-pc-msdosdjgpp ends up with: i586-pc-msdosdjgpp-gcc -g -O2 -I../../src/gdb/config/djgpp -I. -I../../src/gdb -I../../src/gdb/common -I../../src/gdb/config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I../../src/gdb/../include/opcode -I../../src/gdb/../opcodes/.. -I../../src/gdb/../readline/.. -I../bfd -I../../src/gdb/../bfd -I../../src/gdb/../include -I../libdecnumber -I../../src/gdb/../libdecnumber -I./../intl -I../../src/gdb/gnulib/import -Ibuild-gnulib/import -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wpointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -Werror -c -o filestuff.o -MT filestuff.o -MMD -MP -MF .deps/filestuff.Tpo ../../src/gdb/common/filestuff.c ../../src/gdb/common/filestuff.c:38:24: fatal error: sys/socket.h: No such file or directory There are no sockets on djgpp. This #ifdef's out the bits in the file that use sockets, depending on whether winsock or sys/socket.h is available. As alternative approach, given ser-tcp.c, ser-pipe.c, etc. are split into separate files, and which to use is selected by configure.ac: dnl Figure out which of the many generic ser-*.c files the _host_ supports. SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o" case ${host} in *go32* ) SER_HARDWIRE=ser-go32.o ;; *djgpp* ) SER_HARDWIRE=ser-go32.o ;; *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;; esac AC_SUBST(SER_HARDWIRE) ... I considered splitting filestuff.c similarly. But I quickly gave up on the idea, as it looked like a lot more complication over this approach, for no real gain. Plus, there are uses of these functions outside the ser*.c framework. gdbserver's configure.ac is already checking for sys/socket.h. gdb/ 2013-05-23 Pedro Alves <palves@redhat.com> * common/filestuff.c [USE_WIN32API]: Define HAVE_SOCKETS. [HAVE_SYS_SOCKET_H]: Define HAVE_SOCKETS. (socket_mark_cloexec, gdb_socketpair_cloexec, gdb_socket_cloexec): Only define if HAVE_SOCKETS is defined. * configure.ac: Check for sys/socket.h. * config.in, configure: Regenerate.
2013-05-23 18:37:00 +00:00
2013-05-23 Pedro Alves <palves@redhat.com>
* common/filestuff.c [USE_WIN32API]: Define HAVE_SOCKETS.
[HAVE_SYS_SOCKET_H]: Define HAVE_SOCKETS.
(socket_mark_cloexec, gdb_socketpair_cloexec, gdb_socket_cloexec):
Only define if HAVE_SOCKETS is defined.
* configure.ac: Check for sys/socket.h.
* config.in, configure: Regenerate.
dwarf2read.c: Don't assume uint32_t is unsigned int on all hosts. Building gdb on GNU/Linux, for --host=i586-pc-msdosdjgpp, I get: ../../src/gdb/dwarf2read.c: In function 'create_dwp_hash_table': ../../src/gdb/dwarf2read.c:8626:7: error: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'uint32_t' [-Werror=format] ../../src/gdb/dwarf2read.c:8632:7: error: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'uint32_t' [-Werror=format] ../../src/gdb/dwarf2read.c: In function 'create_dwo_in_dwp': ../../src/gdb/dwarf2read.c:8754:6: error: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'uint32_t' [-Werror=format] ../../src/gdb/dwarf2read.c: In function 'open_and_init_dwp_file': ../../src/gdb/dwarf2read.c:9248:6: error: format '%u' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Werror=format] ../../src/gdb/dwarf2read.c:9248:6: error: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format] And: $ grep uint32_t /usr/i586-pc-msdosdjgpp/sys-include/* /usr/i586-pc-msdosdjgpp/sys-include/stdint.h:typedef unsigned long uint32_t; As decided on the discussion at <http://sourceware.org/ml/gdb-patches/2013-05/msg00788.html>, use pulongest rather than PRIu32. Tested on F17. Also confirmed GDB still builds OK with --host=i686-w64-mingw32. gdb/ 2013-05-23 Pedro Alves <palves@redhat.com> * dwarf2read.c (create_dwp_hash_table, create_dwo_in_dwp) (open_and_init_dwp_file): Use %s/pulongest instead of %u for printing uint32_t variables.
2013-05-23 18:31:29 +00:00
2013-05-23 Pedro Alves <palves@redhat.com>
* dwarf2read.c (create_dwp_hash_table, create_dwo_in_dwp)
(open_and_init_dwp_file): Use %s/pulongest instead of %u for
printing uint32_t variables.
range stepping: gdbserver (x86 GNU/Linux) This patch adds support for range stepping to GDBserver, teaching it about vCont;r. It'd be easy to enable this for all hardware single-step targets without needing the linux_target_ops hook, however, at least PPC needs special care, due to the fact that PPC atomic sequences can't be hardware single-stepped through, a thing which GDBserver doesn't know about. So this leaves the support limited to x86/x86_64. gdb/ 2013-05-23 Pedro Alves <palves@redhat.com> * NEWS: Mention GDBserver range stepping support. gdb/gdbserver/ 2013-05-23 Yao Qi <yao@codesourcery.com> Pedro Alves <palves@redhat.com> * linux-low.c (lwp_in_step_range): New function. (linux_wait_1): If the thread was range stepping and stopped outside the stepping range, report the stop to GDB. Otherwise, continue stepping. Add range stepping debug output. (linux_set_resume_request): Copy the step range from the resume request to the lwp. (linux_supports_range_stepping): New. (linux_target_ops) <supports_range_stepping>: Set to linux_supports_range_stepping. * linux-low.h (struct linux_target_ops) <supports_range_stepping>: New field. (struct lwp_info) <step_range_start, step_range_end>: New fields. * linux-x86-low.c (x86_supports_range_stepping): New. (the_low_target) <supports_range_stepping>: Set to x86_supports_range_stepping. * server.c (handle_v_cont): Handle 'r' action. (handle_v_requests): Append ";r" if the target supports range stepping. * target.h (struct thread_resume) <step_range_start, step_range_end>: New fields. (struct target_ops) <supports_range_stepping>: New field. (target_supports_range_stepping): New macro.
2013-05-23 17:17:50 +00:00
2013-05-23 Pedro Alves <palves@redhat.com>
* NEWS: Mention GDBserver range stepping support.
range stepping: gdb This patch teaches GDB to take advantage of target-assisted range stepping. It adds a new 'r ADDR1,ADDR2' action to vCont (vCont;r), meaning, "step once, and keep stepping as long as the thread is in the [ADDR1,ADDR2) range". Rationale: When user issues the "step" command on the following line of source, a = b + c + d * e - a; GDB single-steps every single instruction until the program reaches a new different line. E.g., on x86_64, that line compiles to: 0x08048434 <+65>: mov 0x1c(%esp),%eax 0x08048438 <+69>: mov 0x30(%esp),%edx 0x0804843c <+73>: add %eax,%edx 0x0804843e <+75>: mov 0x18(%esp),%eax 0x08048442 <+79>: imul 0x2c(%esp),%eax 0x08048447 <+84>: add %edx,%eax 0x08048449 <+86>: sub 0x34(%esp),%eax 0x0804844d <+90>: mov %eax,0x34(%esp) 0x08048451 <+94>: mov 0x1c(%esp),%eax and the following is the RSP traffic between GDB and GDBserver: --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:3c840408;thread:p2e13.2e13;core:1; --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:3e840408;thread:p2e13.2e13;core:2; --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:42840408;thread:p2e13.2e13;core:2; --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:47840408;thread:p2e13.2e13;core:0; --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:49840408;thread:p2e13.2e13;core:0; --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:4d840408;thread:p2e13.2e13;core:0; --> vCont;s:p2e13.2e13;c <-- T0505:68efffbf;04:30efffbf;08:51840408;thread:p2e13.2e13;core:0; IOW, a lot of roundtrips between GDB and GDBserver. If we add a new command to the RSP, meaning "keep stepping and don't report a stop until the program goes out of the [0x08048434, 0x08048451) address range", then the RSP traffic can be reduced down to: --> vCont;r8048434,8048451:p2db0.2db0;c <-- T0505:68efffbf;04:30efffbf;08:51840408;thread:p2db0.2db0;core:1; As number of packets is reduced dramatically, the performance of stepping source lines is much improved. In case something is wrong with range stepping on the stub side, the debug info or even gdb, this adds a "set/show range-stepping" command to be able to turn range stepping off. gdb/ 2013-05-23 Yao Qi <yao@codesourcery.com> Pedro Alves <palves@redhat.com> * gdbthread.h (struct thread_control_state) <may_range_step>: New field. * infcmd.c (step_once, until_next_command): Enable range stepping. * infrun.c (displaced_step_prepare): Disable range stepping. (resume): Disable range stepping if stepping over a breakpoint or we have software watchpoints. If range stepping is enabled, assert the thread is in the stepping range. (clear_proceed_status_thread): Clear may_range_step. (handle_inferior_event): Disable range stepping as soon as we know the thread that hit the event. Re-enable it whenever we're going to step with a step range. * remote.c (struct vCont_action_support) <r>: New field. (use_range_stepping): New global. (remote_vcont_probe): Handle 'r' action. (append_resumption): Append an 'r' action if the thread may range step. (show_range_stepping): New function. (set_range_stepping): New function. (_initialize_remote): Call add_setshow_boolean_cmd to register the 'set range-stepping' and 'show range-stepping' commands. * NEWS: Mention range stepping, the new vCont;r action, and the new "set/show range-stepping" commands. gdb/doc/ 2013-05-23 Yao Qi <yao@codesourcery.com> Pedro Alves <palves@redhat.com> * gdb.texinfo (Packets): Document 'vCont;r'. (Continuing and Stepping): Document target-assisted range stepping, and the 'set range-stepping' and 'show range-stepping' commands.
2013-05-23 17:15:35 +00:00
2013-05-23 Yao Qi <yao@codesourcery.com>
Pedro Alves <palves@redhat.com>
* gdbthread.h (struct thread_control_state) <may_range_step>: New
field.
* infcmd.c (step_once, until_next_command): Enable range stepping.
* infrun.c (displaced_step_prepare): Disable range stepping.
(resume): Disable range stepping if stepping over a breakpoint or
we have software watchpoints. If range stepping is enabled,
assert the thread is in the stepping range.
(clear_proceed_status_thread): Clear may_range_step.
(handle_inferior_event): Disable range stepping as soon as we know
the thread that hit the event. Re-enable it whenever we're going
to step with a step range.
* remote.c (struct vCont_action_support) <r>: New field.
(use_range_stepping): New global.
(remote_vcont_probe): Handle 'r' action.
(append_resumption): Append an 'r' action if the thread may range
step.
(show_range_stepping): New function.
(set_range_stepping): New function.
(_initialize_remote): Call add_setshow_boolean_cmd to register the
'set range-stepping' and 'show range-stepping' commands.
* NEWS: Mention range stepping, the new vCont;r action, and the
new "set/show range-stepping" commands.
2013-05-23 Yao Qi <yao@codesourcery.com>
Pedro Alves <palves@redhat.com>
* remote.c (struct vCont_action_support): New struct.
(struct remote_state) <support_vCont_t>: Remove field.
<vCont_actions_support>: New field.
(remote_vcont_probe, remote_stop_ns): Update.
2013-05-23 Yao Qi <yao@codesourcery.com>
Pedro Alves <palves@redhat.com>
* gdbthread.h (pc_in_thread_step_range): New declaration.
* thread.c (pc_in_thread_step_range): New function.
* infrun.c (handle_inferior_event): Use it.
2013-05-23 Joel Brobecker <brobecker@adacore.com>
* mi/mi-cmd-break.c (mi_argv_to_format): Use xsnprintf instead
of sprintf.
2013-05-22 Keith Seitz <keiths@redhat.com>
* ada-lang.c (is_known_support_routine): Add explicit free of
'func_name' from find_frame_funname.
(ada_unhandled_exception_name_addr_from_raise): Add cleanups
for func_name from find_frame_funname.
* python/py-frame.c (frapy_name): Add explicit free of
'name' from find_frame_funname.
* stack.c (find_frame_funname): Add comment explaining that
funcp must be freed by the caller.
Return copy of symbol names instead of pointers.
(print_frame): Add a cleanup for 'funname' from
find_frame_funname.
* stack.h (find_frame_funname): Remove "const" from
'funname' parameter.
2013-05-22 Tom Tromey <tromey@redhat.com>
PR c++/15401:
* c-valprint.c (c_value_print): Use value_addr for
references. Convert back to reference type with value_ref.
2013-05-22 Eli Zaretskii <eliz@gnu.org>
* windows-nat.c (handle_unload_dll): Don't call solib_add for the
unloaded DLL, it will be done by handle_solib_event. See
http://sourceware.org/ml/gdb-patches/2013-05/msg00713.html for the
details.
2013-05-22 Phil Muldoon <pmuldoon@redhat.com>
* ui-out.c: Create typedef ui_out_level_p and define vector
operations for that type.
(struct ui_out): Use a vector instead of an array.
(current_level): Return level from a vector.
(push_level): Create a level in a vector.
(pop_level): Delete a level in a vector.
(ui_out_new): Create initial level zero level, and store in a
vector.
(ui_out_destroy): Add vector cleanup.
2013-05-22 Pedro Alves <palves@redhat.com>
* python/python-internal.h (gdb_Py_DECREF): Tag with
"ARI: editCase function".
2013-05-21 Paul Pluzhnikov <ppluzhnikov@google.com>
* solib-svr4.c (svr4_free_so): Protect against NULL dereference.
2013-05-21 Pedro Alves <palves@redhat.com>
* python/py-prettyprint.c (apply_val_pretty_printer): Check
whether PRINTER is NULL before installing a Py_DECREF cleanup.
* python/py-utils.c (py_decref): Don't check for NULL before
calling Py_DECREF.
2013-05-21 Pedro Alves <palves@redhat.com>
* python/py-utils.c (py_decref): Remove extra braces.
(gdb_pymodule_addobject): Remove extra braces.
* python-internal.h (gdb_Py_DECREF): New static inline function.
(Py_DECREF): Redefine as calling gdb_Py_DECREF.
2013-05-21 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* breakpoints.c (detach_breakpoints): Do not
detach breakpoints locations with loc_type bp_loc_other.
2013-05-21 Jan Kratochvil <jan.kratochvil@redhat.com>
Workaround Python 2.6.
* python/py-utils.c (gdb_pymodule_addobject): Wrap Py_DECREF into
a block.
2013-05-21 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup: constification.
* solib.c (solib_ops): Make return type and ops variable type const.
(set_solib_ops): Make the new_ops parameter and ops variable const.
(solib_find, solib_map_sections, clear_so, free_so, update_solib_list)
(solib_add, solib_keep_data_in_core, clear_solib)
(solib_create_inferior_hook, in_solib_dynsym_resolve_code)
(reload_shared_libraries, solib_global_lookup): Make the ops variable
const.
* solib.h (set_solib_ops): Make the new_ops parameter const.
2013-05-21 Joel Brobecker <brobecker@adacore.com>
* data-directory/Makefile.in (SYSTEM_GDBINIT_SRCDIR): New
variable.
(VPATH): Add SYSTEM_GDBINIT_SRCDIR.
(SYSTEM_GDBINIT_DIR, SYSTEM_GDBINIT_INSTALL_DIR)
(SYSTEM_GDBINIT_FILES): New variables.
(all): Add stamp-system-gdbinit.
(stamp-system-gdbinit): New rule.
(clean-system-gdbinit, install-system-gdbinit)
(uninstall-system-gdbinit): New rules. Make them .PHONY.
(install-only): Add dependency on install-system-gdbinit.
(uninstall): Add dependency on uninstall-system-gdbinit.
(clean): Add dependency on clean-system-gdbinit.
* system-gdbinit/elinos.py: New file.
* system-gdbinit/wrs-linux.py: New file.
2013-05-21 Joel Brobecker <brobecker@adacore.com>
* ada-lang.c (old_renaming_is_invisible): Fix cleanup leak.
2013-05-21 Hui Zhu <hui@codesourcery.com>
* breakpoint.c (dprintf_breakpoint_ops): Remove its static.
* breakpoint.h (dprintf_breakpoint_ops): Add extern.
* mi/mi-cmd-break.c (ctype.h): New include.
(gdb_obstack.h): New include.
(mi_argv_to_format, mi_cmd_break_insert_1): New.
(mi_cmd_break_insert): Call mi_cmd_break_insert_1.
(mi_cmd_dprintf_insert): New.
* mi/mi-cmds.c (mi_cmds): Add "dprintf-insert".
* mi/mi-cmds.h (mi_cmd_dprintf_insert): New extern.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-prettyprint.c (search_pp_list): Decref 'attr'.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-value.c (valpy_get_dynamic_type): Simplify
dynamic_type assignment. Use Py_XINCREF.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-type.c (typy_fields): Unconditionally decref 'r'.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-frame.c (frapy_older, frapy_newer, gdbpy_newest_frame)
(gdbpy_selected_frame): Move object-construction code
out of TRY_CATCH.
* python/py-arch.c (gdbpy_initialize_arch): Use gdb_pymodule_addobject. * python/py-block.c (gdbpy_initialize_blocks): Use gdb_pymodule_addobject. * python/py-breakpoint.c (gdbpy_initialize_breakpoints): Use gdb_pymodule_addobject. * python/py-cmd.c (gdbpy_initialize_breakpoints): Use gdb_pymodule_addobject. * python/py-event.c (gdbpy_initialize_event_generic): Use gdb_pymodule_addobject. * python/py-evtregistry.c (gdbpy_initialize_eventregistry): Use gdb_pymodule_addobject. * python/py-evts.c (add_new_registry): Use gdb_pymodule_addobject. (gdbpy_initialize_py_events): Likewise. * python/py-finishbreakpoint.c (gdbpy_initialize_finishbreakpoints): Use gdb_pymodule_addobject. * python/py-frame.c (gdbpy_initialize_frames): Use gdb_pymodule_addobject. * python/py-function.c (gdbpy_initialize_functions): Use gdb_pymodule_addobject. * python/py-inferior.c (gdbpy_initialize_inferior): Use gdb_pymodule_addobject. * python/py-infthread.c (gdbpy_initialize_thread): Use gdb_pymodule_addobject. * python/py-objfile.c (gdbpy_initialize_objfile): Use gdb_pymodule_addobject. * python/py-param.c (gdbpy_initialize_parameters): Use gdb_pymodule_addobject. * python/py-progspace.c (gdbpy_initialize_pspace): Use gdb_pymodule_addobject. * python/py-symbol.c (gdbpy_initialize_symbols): Use gdb_pymodule_addobject. * python/py-symtab.c (gdbpy_initialize_symtabs): Use gdb_pymodule_addobject. * python/py-type.c (gdbpy_initialize_types): Use gdb_pymodule_addobject. * python/py-utils.c (gdb_pymodule_addobject): New function. * python/py-value.c (gdbpy_initialize_values): Use gdb_pymodule_addobject. * python/python-internal.h (gdb_pymodule_addobject): Declare. * python/python.c (_initialize_python): Use gdb_pymodule_addobject.
2013-05-20 20:36:19 +00:00
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-arch.c (gdbpy_initialize_arch): Use
gdb_pymodule_addobject.
* python/py-block.c (gdbpy_initialize_blocks): Use
gdb_pymodule_addobject.
* python/py-breakpoint.c (gdbpy_initialize_breakpoints): Use
gdb_pymodule_addobject.
* python/py-cmd.c (gdbpy_initialize_breakpoints): Use
gdb_pymodule_addobject.
* python/py-event.c (gdbpy_initialize_event_generic): Use
gdb_pymodule_addobject.
* python/py-evtregistry.c (gdbpy_initialize_eventregistry): Use
gdb_pymodule_addobject.
* python/py-evts.c (add_new_registry): Use
gdb_pymodule_addobject.
(gdbpy_initialize_py_events): Likewise.
* python/py-finishbreakpoint.c
(gdbpy_initialize_finishbreakpoints): Use
gdb_pymodule_addobject.
* python/py-frame.c (gdbpy_initialize_frames): Use
gdb_pymodule_addobject.
* python/py-function.c (gdbpy_initialize_functions): Use
gdb_pymodule_addobject.
* python/py-inferior.c (gdbpy_initialize_inferior): Use
gdb_pymodule_addobject.
* python/py-infthread.c (gdbpy_initialize_thread): Use
gdb_pymodule_addobject.
* python/py-objfile.c (gdbpy_initialize_objfile): Use
gdb_pymodule_addobject.
* python/py-param.c (gdbpy_initialize_parameters): Use
gdb_pymodule_addobject.
* python/py-progspace.c (gdbpy_initialize_pspace): Use
gdb_pymodule_addobject.
* python/py-symbol.c (gdbpy_initialize_symbols): Use
gdb_pymodule_addobject.
* python/py-symtab.c (gdbpy_initialize_symtabs): Use
gdb_pymodule_addobject.
* python/py-type.c (gdbpy_initialize_types): Use
gdb_pymodule_addobject.
* python/py-utils.c (gdb_pymodule_addobject): New function.
* python/py-value.c (gdbpy_initialize_values): Use
gdb_pymodule_addobject.
* python/python-internal.h (gdb_pymodule_addobject): Declare.
* python/python.c (_initialize_python): Use
gdb_pymodule_addobject.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-cmd.c (cmdpy_completer): Use explicit decref.
* python/py-param.c (get_set_value, get_show_value): Use
explicit decrefs.
* python/python.c (start_type_printers, apply_type_printers):
Use explicit decrefs.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-evts.c (gdbpy_initialize_py_events): Don't
incref the module.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/python.c (gdbpy_run_events): Decref the result
of PyObject_CallObject.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-symtab.c (set_sal): Use
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION. Return -1 on error.
(symtab_and_line_to_sal_object): Update.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-param.c (compute_enum_values): Decref 'item'.
2013-05-20 Tom Tromey <tromey@redhat.com>
* mi/mi-main.c: Include python-internal.h.
(mi_cmd_list_features): Check gdb_python_initialized.
* python/py-inferior.c (python_on_normal_stop, python_on_resume)
(python_inferior_exit, python_new_objfile, add_thread_object)
(delete_thread_object, py_free_inferior): Check
gdb_python_initialized.
* python/py-prettyprint.c (apply_val_pretty_printer): Check
gdb_python_initialized.
* python/py-type.c (save_objfile_types): Check
gdb_python_initialized.
* python/python-internal.h (gdb_python_initialized): Declare.
* python/python.c (ensure_python_env): Throw exception if
Python not initialized.
(before_prompt_hook, source_python_script_for_objfile)
(start_type_printers, apply_type_printers,
free_type_printers): Check gdb_python_initialized.
* varobj.c (varobj_get_display_hint)
(dynamic_varobj_has_child_method, update_dynamic_varobj_children)
(install_new_value_visualizer, varobj_set_visualizer)
(value_get_print_value): Check gdb_python_initialized.
* python/py-arch.c (gdbpy_initialize_arch): Return 'int'. Check errors. * python/py-auto-load.c (gdbpy_initialize_auto_load): Return 'int'. * python/py-block.c (gdbpy_initialize_blocks): Return 'int'. Check errors. * python/py-breakpoint.c (gdbpy_initialize_breakpoints): Return 'int'. Check errors. * python/py-cmd.c (gdbpy_initialize_commands): Return 'int'. Check errors. * python/py-event.c (gdbpy_initialize_event): Return 'int'. Check errors. * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Change generated init function to return 'int'. * python/py-evtregistry.c (gdbpy_initialize_eventregistry): Return 'int'. Check errors. * python/py-evts.c (gdbpy_initialize_py_events): Return 'int'. Check errors. * python/py-finishbreakpoint.c (gdbpy_initialize_finishbreakpoints): Return 'int'. Check errors. * python/py-frame.c (gdbpy_initialize_frames): Return 'int'. Check errors. * python/py-function.c (gdbpy_initialize_functions): Return 'int'. Check errors. * python/py-gdb-readline.c (gdbpy_initialize_gdb_readline): Check errors. * python/py-inferior.c (gdbpy_initialize_inferior): Return 'int'. Check errors. * python/py-infthread.c (gdbpy_initialize_thread): Return 'int'. Check errors. * python/py-lazy-string.c (gdbpy_initialize_lazy_string): Return 'int'. Check errors. * python/py-objfile.c (gdbpy_initialize_objfile): Return 'int'. Check errors. * python/py-param.c (gdbpy_initialize_parameters): Return 'int'. Check errors. * python/py-progspace.c (gdbpy_initialize_pspace): Return 'int'. Check errors. * python/py-symbol.c (gdbpy_initialize_symbols): Return 'int'. Check errors. * python/py-symtab.c (gdbpy_initialize_symtabs): Return 'int'. Check errors. * python/py-type.c (gdbpy_initialize_types): Return 'int'. Check errors. * python/py-value.c (gdbpy_initialize_values): Return 'int'. Check errors. * python/python-internal.h (gdbpy_initialize_auto_load, gdbpy_initialize_values, gdbpy_initialize_frames, gdbpy_initialize_symtabs, gdbpy_initialize_commands, gdbpy_initialize_symbols, gdbpy_initialize_symtabs, gdbpy_initialize_blocks, gdbpy_initialize_types, gdbpy_initialize_functions, gdbpy_initialize_pspace, gdbpy_initialize_objfile, gdbpy_initialize_breakpoints, gdbpy_initialize_finishbreakpoints, gdbpy_initialize_lazy_string, gdbpy_initialize_parameters, gdbpy_initialize_thread, gdbpy_initialize_inferior, gdbpy_initialize_eventregistry, gdbpy_initialize_event, gdbpy_initialize_py_events, gdbpy_initialize_stop_event, gdbpy_initialize_signal_event, gdbpy_initialize_breakpoint_event, gdbpy_initialize_continue_event, gdbpy_initialize_exited_event, gdbpy_initialize_thread_event, gdbpy_initialize_new_objfile_event, gdbpy_initialize_arch): Update. Use CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION. * python/python.c (gdb_python_initialized): New global. (gdbpy_initialize_events): Return 'int'. Check errors. (_initialize_python): Check errors. Set gdb_python_initialized.
2013-05-20 20:28:52 +00:00
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-arch.c (gdbpy_initialize_arch): Return 'int'.
Check errors.
* python/py-auto-load.c (gdbpy_initialize_auto_load): Return 'int'.
* python/py-block.c (gdbpy_initialize_blocks): Return 'int'.
Check errors.
* python/py-breakpoint.c (gdbpy_initialize_breakpoints): Return 'int'.
Check errors.
* python/py-cmd.c (gdbpy_initialize_commands): Return 'int'.
Check errors.
* python/py-event.c (gdbpy_initialize_event): Return 'int'.
Check errors.
* python/py-event.h (GDBPY_NEW_EVENT_TYPE): Change generated
init function to return 'int'.
* python/py-evtregistry.c (gdbpy_initialize_eventregistry):
Return 'int'. Check errors.
* python/py-evts.c (gdbpy_initialize_py_events): Return 'int'.
Check errors.
* python/py-finishbreakpoint.c (gdbpy_initialize_finishbreakpoints):
Return 'int'. Check errors.
* python/py-frame.c (gdbpy_initialize_frames): Return 'int'.
Check errors.
* python/py-function.c (gdbpy_initialize_functions): Return 'int'.
Check errors.
* python/py-gdb-readline.c (gdbpy_initialize_gdb_readline):
Check errors.
* python/py-inferior.c (gdbpy_initialize_inferior): Return 'int'.
Check errors.
* python/py-infthread.c (gdbpy_initialize_thread): Return 'int'.
Check errors.
* python/py-lazy-string.c (gdbpy_initialize_lazy_string): Return 'int'.
Check errors.
* python/py-objfile.c (gdbpy_initialize_objfile): Return 'int'.
Check errors.
* python/py-param.c (gdbpy_initialize_parameters): Return 'int'.
Check errors.
* python/py-progspace.c (gdbpy_initialize_pspace): Return 'int'.
Check errors.
* python/py-symbol.c (gdbpy_initialize_symbols): Return 'int'.
Check errors.
* python/py-symtab.c (gdbpy_initialize_symtabs): Return 'int'.
Check errors.
* python/py-type.c (gdbpy_initialize_types): Return 'int'.
Check errors.
* python/py-value.c (gdbpy_initialize_values): Return 'int'.
Check errors.
* python/python-internal.h (gdbpy_initialize_auto_load,
gdbpy_initialize_values, gdbpy_initialize_frames,
gdbpy_initialize_symtabs, gdbpy_initialize_commands,
gdbpy_initialize_symbols, gdbpy_initialize_symtabs,
gdbpy_initialize_blocks, gdbpy_initialize_types,
gdbpy_initialize_functions, gdbpy_initialize_pspace,
gdbpy_initialize_objfile, gdbpy_initialize_breakpoints,
gdbpy_initialize_finishbreakpoints,
gdbpy_initialize_lazy_string, gdbpy_initialize_parameters,
gdbpy_initialize_thread, gdbpy_initialize_inferior,
gdbpy_initialize_eventregistry, gdbpy_initialize_event,
gdbpy_initialize_py_events, gdbpy_initialize_stop_event,
gdbpy_initialize_signal_event,
gdbpy_initialize_breakpoint_event,
gdbpy_initialize_continue_event,
gdbpy_initialize_exited_event, gdbpy_initialize_thread_event,
gdbpy_initialize_new_objfile_event, gdbpy_initialize_arch):
Update. Use CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
* python/python.c (gdb_python_initialized): New global.
(gdbpy_initialize_events): Return 'int'. Check errors.
(_initialize_python): Check errors. Set
gdb_python_initialized.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-finishbreakpoint.c (bpfinishpy_out_of_scope):
Decref the reslut of PyObject_CallMethod.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-event.c (gdbpy_initialize_event_generic): Return
early if PyType_Ready fails.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-type.c (make_fielditem): Add gdb_assert_not_reached
as 'default' in the switch.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-inferior.c (gdbpy_inferiors): Update. Hoist
get_addr_from_python calls out of TRY_CATCH.
(infpy_write_memory, infpy_search_memory): Likewise.
* python/py-utils.c (get_addr_from_python): Return negative
value on error. Use TRY_CATCH.
* python/python-internal.h (get_addr_from_python): Use
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-event.c (evpy_emit_event): Decref the
result of PyObject_CallFunctionObjArgs.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-cmd.c (cmdpy_completer): Use iterator protocol.
Correctly decref.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-cmd.c (cmdpy_init): Decref 'ds_obj'.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-event.h (gdbpy_initialize_event_generic): Use
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
* python/py-evts.c (add_new_registry): Use
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
* python/python-internal.h
(CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION): New macro.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-arch.c (archpy_disassemble): Update.
* python/py-type.c (typy_get_composite, typy_lookup_typename)
(typy_lookup_type): Use GDB_PY_HANDLE_EXCEPTION.
* python/py-utils.c (gdbpy_convert_exception): Return 'void'.
* python/python-internal.h (CPYCHECKER_SETS_EXCEPTION): New
macro.
(GDB_PY_HANDLE_EXCEPTION): Update.
(gdbpy_convert_exception): Update. Use CPYCHECKER_SETS_EXCEPTION.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/python-internal.h (events_object_type): Remove.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-event.h (evpy_emit_event): Use
CPYCHECKER_STEALS_REFERENCE_TO_ARG.
* python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG):
New macro.
2013-05-20 Tom Tromey <tromey@redhat.com>
* py-evtregistry.c (create_event_object): Decref
eventregistry_object if PyList_New fails.
2013-05-20 Tom Tromey <tromey@redhat.com>
* py-cmd.c (gdbpy_string_to_argv): Check result of
PyList_New.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/python.c (before_prompt_hook): Add cleanup to
decref 'hook'.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-function.c (fnpy_init): Decref result of
PyObject_GetAttrString.
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-threadevent.c (get_event_thread): Use
CPYCHECKER_RETURNS_BORROWED_REF.
* python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF):
New define.
(pspace_to_pspace_object, objfile_to_objfile_object)
(find_thread_object): Use it.
* python/py-arch.c (arch_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-block.c (block_syms_iterator_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-bpevent.c (breakpoint_event_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-cmd.c (cmdpy_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-continueevent.c (continue_event_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-events.h (thread_event_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-evtregistry.c (eventregistry_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-exitedevent.c (exited_event_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-finishbreakpoint.c (finish_breakpoint_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-function.c (fnpy_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-inferior.c (inferior_object_type, membuf_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-infthread.c (thread_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-lazy-string.c (lazy_string_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-newobjfileevent.c (new_objfile_event_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-objfile.c (objfile_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-param.c (parmpy_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-progspace.c (pspace_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-signalevent.c (signal_event_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-symtab.c (symtab_object_type, sal_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-type.c (type_object_type, field_object_type) (type_iterator_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-internal.h (CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF): New define. (value_object_type, block_object_type, symbol_object_type) (event_object_type, stop_event_object_type, breakpoint_object_type) (frame_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
2013-05-20 20:09:01 +00:00
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-arch.c (arch_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-block.c (block_syms_iterator_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-bpevent.c (breakpoint_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-cmd.c (cmdpy_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-continueevent.c (continue_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-event.h (GDBPY_NEW_EVENT_TYPE):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-events.h (thread_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-evtregistry.c (eventregistry_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-exitedevent.c (exited_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-finishbreakpoint.c (finish_breakpoint_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-function.c (fnpy_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-inferior.c (inferior_object_type, membuf_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-infthread.c (thread_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-lazy-string.c (lazy_string_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-newobjfileevent.c (new_objfile_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-objfile.c (objfile_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-param.c (parmpy_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-progspace.c (pspace_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-signalevent.c (signal_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-symtab.c (symtab_object_type, sal_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-type.c (type_object_type, field_object_type)
(type_iterator_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-internal.h (CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF): New
define.
(value_object_type, block_object_type, symbol_object_type)
(event_object_type, stop_event_object_type, breakpoint_object_type)
(frame_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
2013-05-20 Andreas Tobler <andreas@fgznet.ch>
* Makefile.in (ALL_TARGET_OBS): Add ppcfbsd-tdep.o.
(ALLDEPFILES): Add ppcfbsd-nat.c and ppcfbsd-tdep.c.
2013-05-20 Doug Evans <dje@google.com>
When reading CU, stay in DWO. Be more tolerent of bad debug info.
For Fission.
* dwarf2read.c (struct dwarf2_per_cu_data): New member
reading_dwo_directly.
(struct signatured_type): New member dwo_unit.
(struct die_reader_specs): New member comp_dir.
(create_signatured_type_table_from_index): Use malloc for
all_type_units instead of objfile's obstack.
(create_all_type_units): Ditto.
(fill_in_sig_entry_from_dwo_entry): New function.
(add_type_unit): New function.
(lookup_dwo_signatured_type): New function.
(lookup_dwp_signatured_type): New function.
(lookup_signatured_type): New arg cu. All callers updated.
(init_cu_die_reader): Initialize comp_dir.
(read_cutu_die_from_dwo): New arg stub_comp_dir. All callers updated.
Change assert of matching type signatures to call error on mismatch.
(lookup_dwo_unit): Add assert.
(init_tu_and_read_dwo_dies): New function.
(init_cutu_and_read_dies): Call it.
(build_type_unit_groups): Handle case of no type unit groups created.
(hash_dwo_file, eq_dwo_file): Handle missing comp_dir.
(lookup_dwo_cutu): Tweak complaint.
(dwarf2_free_abbrev_table): Check for NULL abbrev_table.
(dwarf2_per_objfile_free): Free all_type_units.
2013-05-20 Joel Brobecker <brobecker@adacore.com>
* windows-nat.c (handle_unload_dll): Add missing empty line.
[dwarf] Mark all functions as prototyped except C functions. This makes sure that the types of the arguments are taken into account when performing an inferior function call to a non-C (or C-like) function. In particular, this makes sure that the arguments are appropriatly converted to the correct type. For instance, on x86_64-linux, with the following Ada code: procedure Set_Float (F : Float) is begin Global_Float := F; end Set_Float; The following sequence shows that Float arguments are incorrectly passed (Ada's Float type is the equivalent of type "float" in C): (gdb) call set_float (2.0) (gdb) print global_float $1 = 0.0 Putting a breakpoint inside set_float to inspect the value of register xmm0 gives the first hint of the problem: (gdb) p $xmm0 $2 = (v4_float => (0 => 0.0, 2.0, 0.0, 0.0), v2_double => (0 => 2.0, 0.0), [...] It shows that the argument was passed as a double. The code responsible for doing appropriate type conversions for the arguments (value_arg_coerce) found that our function was not prototyped, and thus could not use typing information for the arguments. Instead, it defaulted to the value of "set coerce-float-to-double", which by default is true, to determine the argument type. This patch fixes the problem by setting the PROTOTYPE flag for all functions of any language except C and Objective C. gdb/ChangeLog: * dwarf2read.c (prototyped_function_p): New function. (read_subroutine_type): Use it. gdb/testsuite/ChangeLog: * gdb.ada/float_param: New testcase.
2013-05-20 09:45:13 +00:00
2013-05-20 Joel Brobecker <brobecker@adacore.com>
* dwarf2read.c (prototyped_function_p): New function.
(read_subroutine_type): Use it.
2013-05-20 Joel Brobecker <brobecker@adacore.com>
* rs6000-aix-tdep.c: De-indent some example code provided
as a comment.
2013-05-17 Edjunior Machado <emachado@linux.vnet.ibm.com>
* ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint): Check if the
region is ok for a hardware watchpoint using the new ptrace interface
on Power servers.
2013-05-17 Doug Evans <dje@google.com>
* NEWS: Mention new maintenance commands check-symtabs, and
expand-symtabs, and renamed check-psymtabs.
* psymtab.c (maintenance_check_psymtabs): Renamed from
maintenance_check_symtabs. Only process already-expanded symbol
tables.
(_initialize_psymtab): Update.
* symmisc.c (maintenance_check_symtabs): New function.
(maintenance_expand_name_matcher): New function
(maintenance_expand_file_matcher): New function
(maintenance_expand_symtabs): New function.
(_initialize_symmisc): Add "mt check-symtabs" and "mt expand-symtabs"
commands.
2013-05-17 Tom Tromey <tromey@redhat.com>
* python/py-inferior.c (infpy_read_memory): Don't call
PyErr_SetString if PyObject_New fails.
* python/py-frame.c (frame_info_to_frame_object): Don't call
PyErr_SetString if PyObject_New fails.
2013-05-17 Pavel Chupin <pavel.v.chupin@intel.com>
* acinclude.m4: Add check for dlopen in libdl.
* configure.ac: Ditto.
* configure: Regenerate.
2013-05-17 Phil Muldoon <pmuldoon@redhat.com>
* frame.c (frame_stash): Convert to htab.
(frame_addr_hash): New function.
(frame_addr_hash_eq): New function.
(frame_stash_create): Convert function to create
a hash table.
(frame_stash_add): Convert function to add an entry to a hash
table.
(frame_stash_find): Convert function to search the hash table.
(frame_stash_invalidate): Convert function to empty the hash
table.
(get_frame_id): Only add to stash if a frame_id is created.
(_initialize_frame): Call frame_stash_create.
2013-05-16 Yue Lu <hacklu.newborn@gmail.com> (tiny change)
* configure.ac: Ensure MIG is available when building for GNU Hurd
hosts.
* configure: Regenerate.
2013-05-16 Joel Brobecker <brobecker@adacore.com>
* dwarf2read.c (set_cu_language): Add DW_LANG_UPC handling.
2013-05-16 Joel Brobecker <brobecker@adacore.com>
* ada-lang.c (ada_make_symbol_completion_list): Make sure
all cleanups are done before returning from this function.
2013-05-15 Joel Brobecker <brobecker@adacore.com>
* utils.h: #include "exceptions.h".
(enum errors): Remove partial declaration.
ppc-aix core file relocation. The current code attempts to provide relocation support when debugging core files via the rs6000_xfer_partial method of the rs6000-nat target_ops vector. However, this target_ops vector does not get pushed on the target stack at all when debugging core files, thus bypassing completely that part of the code. This patch fixes the problem by extending corelow's core_xfer_partial into handling the TARGET_OBJECT_LIBRARIES_AIX object. gdb/ChangeLog: * gdbarch.sh (core_xfer_shared_libraries_aix): New method. * gdbarch.h, gdbarch.c: Regenerate. * corelow.c (core_xfer_partial): Add TARGET_OBJECT_LIBRARIES_AIX handling. * rs6000-aix-tdep.h: New file. * Makefile.in (HFILES_NO_SRCDIR): Add rs6000-aix-tdep.h. * rs6000-aix-tdep.c: Include "rs6000-aix-tdep.h" and "xml-utils.h". (struct field_info, struct ld_info_desc): New types. (ld_info32_desc, ld_info64_desc): New static constants. (struct ld_info): New type. (rs6000_aix_extract_ld_info): New function. (rs6000_aix_shared_library_to_xml): Likewise. (rs6000_aix_ld_info_to_xml): Likewise. (rs6000_aix_core_xfer_shared_libraries_aix): Likewise. (rs6000_aix_init_osabi): Add call to set_gdbarch_core_xfer_shared_libraries_aix. * rs6000-nat.c: Add "rs6000-aix-tdep.h" include. Remove "xml-utils.h" include. (LdInfo): Delete typedef. (ARCH64_DECL, LDI_FIELD, LDI_NEXT, LDI_FD, LDI_FILENAME): Delete macros. (rs6000_ptrace_ldinfo): Change return type to gdb_byte *. Adjust code accordingly. (rs6000_core_ldinfo): Delete, folded into rs6000_aix_core_xfer_shared_libraries_aix. (rs6000_xfer_shared_library): Delete. (rs6000_xfer_shared_libraries): Reimplement.
2013-05-15 12:26:14 +00:00
2013-05-15 Joel Brobecker <brobecker@adacore.com>
* gdbarch.sh (core_xfer_shared_libraries_aix): New method.
* gdbarch.h, gdbarch.c: Regenerate.
* corelow.c (core_xfer_partial): Add TARGET_OBJECT_LIBRARIES_AIX
handling.
* rs6000-aix-tdep.h: New file.
* Makefile.in (HFILES_NO_SRCDIR): Add rs6000-aix-tdep.h.
* rs6000-aix-tdep.c: Include "rs6000-aix-tdep.h" and
"xml-utils.h".
(struct field_info, struct ld_info_desc): New types.
(ld_info32_desc, ld_info64_desc): New static constants.
(struct ld_info): New type.
(rs6000_aix_extract_ld_info): New function.
(rs6000_aix_shared_library_to_xml): Likewise.
(rs6000_aix_ld_info_to_xml): Likewise.
(rs6000_aix_core_xfer_shared_libraries_aix): Likewise.
(rs6000_aix_init_osabi): Add call to
set_gdbarch_core_xfer_shared_libraries_aix.
* rs6000-nat.c: Add "rs6000-aix-tdep.h" include.
Remove "xml-utils.h" include.
(LdInfo): Delete typedef.
(ARCH64_DECL, LDI_FIELD, LDI_NEXT, LDI_FD, LDI_FILENAME):
Delete macros.
(rs6000_ptrace_ldinfo): Change return type to gdb_byte *.
Adjust code accordingly.
(rs6000_core_ldinfo): Delete, folded into
rs6000_aix_core_xfer_shared_libraries_aix.
(rs6000_xfer_shared_library): Delete.
(rs6000_xfer_shared_libraries): Reimplement.
2013-05-15 Markus Metzger <markus.t.metzger@intel.com>
* record.c (record_goto_cmdlist): New.
(cmd_record_goto): Split into this ...
(cmd_record_goto_begin): ... this
(cmd_record_goto_end): ... and this.
(_initialize_record): Change "record goto" to prefix command.
Add commands for "record goto begin" and "record goto end".
Add an alias for "record goto start" to "record goto begin".
2013-05-14 Jan Kratochvil <jan.kratochvil@redhat.com>
* linespec.c (convert_linespec_to_sals): New comment for
SOURCE_FILENAME assignment.
2013-05-14 Jan Kratochvil <jan.kratochvil@redhat.com>
* cleanups.c (restore_my_cleanups): Replace gdb_assert by
internal_warning.
2013-05-14 Tom Tromey <tromey@redhat.com>
* eval.c (parse_and_eval_long): Make 'exp' const.
* value.h (parse_and_eval_long): Update.
2013-05-14 Tom Tromey <tromey@redhat.com>
* ui-file.c (gdb_fopen): Make arguments const.
* ui-file.h (gdb_fopen): Make arguments const.
2013-05-14 Tom Tromey <tromey@redhat.com>
* remote.c (remote_set_trace_notes): Make arguments const.
* target.c (update_current_target): Update cast.
* target.h (to_set_trace_notes): Make arguments const.
2013-05-14 Tom Tromey <tromey@redhat.com>
* go32-nat.c (go32_terminal_info): Make 'args' const.
* inferior.h (child_terminal_info): Update.
* inflow.c (child_terminal_info): Make 'args' const.
* target.c (default_terminal_info): Make 'args' const.
(debug_to_terminal_save_ours): Likewise.
* target.h (struct target_ops) <to_terminal_info>: Make argument
const.
2013-05-13 Tom Tromey <tromey@redhat.com>
* gcore.c (create_gcore_bfd): Make 'filename' const.
* gcore.h (create_gcore_bfd): Make 'filename' const.
* record-full.c (record_full_save): Make 'recfilename' const.
* target.c (target_save_record): Make 'filename' const.
* target.h (struct target_ops) <to_save_record>: Make 'filename'
const.
(target_save_record): Likewise.
2013-05-13 Tom Tromey <tromey@redhat.com>
2013-05-13 16:57:20 +00:00
PR gdb/15338:
* dwarf2read.c (dwarf2_record_block_ranges): Ensure that the
ranges section has been read.
2013-05-13 Tom Tromey <tromey@redhat.com>
PR exp/15364:
* eval.c (evaluate_subexp_standard) <STRUCTOP_STRUCT,
STRUCTOP_PTR>: Return a not_lval value for
EVAL_AVOID_SIDE_EFFECTS.
* opencl-lang.c (evaluate_subexp_opencl): Return a not_lval value
for EVAL_AVOID_SIDE_EFFECTS.
2013-05-13 Joel Brobecker <brobecker@adacore.com>
* rs6000-aix-tdep.c (rs6000_push_dummy_call): Convert
floating point registers to register type before storing
value.
* rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call):
Likewise.
2013-05-10 Joel Brobecker <brobecker@adacore.com>
Tom Tromey <tromey@redhat.com>
* common/filestuff.c (mark_fd_no_cloexec, unmark_fd_no_cloexec):
New functions.
* common/filestuff.c (mark_fd_no_cloexec, unmark_fd_no_cloexec):
Declare.
* darwin-nat.c (darwin_pre_ptrace): Use mark_fd_no_cloexec.
(darwin_ptrace_him): Use unmark_fd_no_cloexec.
* inf-ttrace.c (do_cleanup_pfds): Use unmark_fd_no_cloexec.
(inf_ttrace_prepare): Use mark_fd_no_cloexec.
2013-05-10 Freddie Chopin <freddie_chopin@op.pl>
Tom Tromey <tromey@redhat.com>
PR build/15414:
* configure: Rebuild.
* configure.ac (build_warnings): Do not use -Wformat-nonliteral
with -Wno-format.
2013-05-10 Pedro Alves <palves@redhat.com>
* remote.c (_initialize_remote): Fix spelling of
qXfer:traceframe-info:read packet in packet config command.
2013-05-10 David Taylor <dtaylor@emc.com>
PR remote/15455
* remote.c (remote_trace_set_readonly_regions): Do not overwrite
"QTro" at start of packet.
2013-05-10 Joel Brobecker <brobecker@adacore.com>
* solib-aix.c (solib_aix_relocate_section_addresses):
For the .bss section action, apply the same offset as
the .data section.
2013-05-10 Joel Brobecker <brobecker@adacore.com>
* solib-aix.c (solib_aix_relocate_section_addresses):
Remove FIXME comment.
2013-05-10 Joel Brobecker <brobecker@adacore.com>
PR tdep/15420:
* sol-thread.c (ps_lgetxregsize, ps_lgetxregs, ps_lsetxregs):
New functions, directly copied from sparc-sol-thread.c.
* sparc-sol-thread.c: Delete.
* configure.ac: Remove code handling sparc-solaris-thread.c.
* configure: Regenerate.
2013-05-10 Phil Muldoon <pmuldoon@redhat.com> * stack.c (backtrace_command_1): Add "no-filters", and Python frame filter logic. (backtrace_command): Add "no-filters" option parsing. (_initialize_stack): Alter help to reflect "no-filters" option. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-framefilter.o (SUBDIR_PYTHON_SRCS): Add py-framefilter.c (py-frame.o): Add target * data-directory/Makefile.in (PYTHON_DIR): Add Python frame filter files. * python/python.h: Add new frame filter constants, and flag enum. (apply_frame_filter): Add definition. * python/python.c (apply_frame_filter): New non-Python enabled function. * python/py-utils.c (py_xdecref): New function. (make_cleanup_py_xdecref): Ditto. * python/py-objfile.c: Declare frame_filters dictionary. (objfpy_dealloc): Add frame_filters dealloc. (objfpy_new): Initialize frame_filters attribute. (objfile_to_objfile_object): Ditto. (objfpy_get_frame_filters): New function. (objfpy_set_frame_filters): New function. * python/py-progspace.c: Declare frame_filters dictionary. (pspy_dealloc): Add frame_filters dealloc. (pspy_new): Initialize frame_filters attribute. (pspacee_to_pspace_object): Ditto. (pspy_get_frame_filters): New function. (pspy_set_frame_filters): New function. * python/py-framefilter.c: New file. * python/lib/gdb/command/frame_filters.py: New file. * python/lib/gdb/frames.py: New file. * python/lib/gdb/__init__.py: Initialize global frame_filters dictionary * python/lib/gdb/FrameDecorator.py: New file. * python/lib/gdb/FrameIterator.py: New file. * mi/mi-cmds.c (mi_cmds): Add frame filters command. * mi/mi-cmds.h: Declare. * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Add --no-frame-filter logic, and Python frame filter logic. (stack_enable_frame_filters): New function. (parse_no_frame_option): Ditto. (mi_cmd_stack_list_frames): Add --no-frame-filter and Python frame filter logic. (mi_cmd_stack_list_locals): Ditto. (mi_cmd_stack_list_args): Ditto. (mi_cmd_stack_list_variables): Ditto. * NEWS: Add frame filter note. 2013-05-10 Phil Muldoon <pmuldoon@redhat.com> * gdb.python/py-framefilter.py: New File. * gdb.python/py-framefilter-mi.exp: Ditto. * gdb.python/py-framefilter.c: Ditto. * gdb.python/py-framefilter-mi.exp: Ditto. * gdb.python/py-framefilter-mi.c: Ditto, * gdb.python/py-framefilter-gdb.py.in: Ditto. 2013-05-10 Phil Muldoon <pmuldoon@redhat.com> * gdb.texinfo (Backtrace): Add "no-filter" argument. (Python API): Add Frame Filters API, Frame Wrapper API, Writing a Frame Filter/Wrapper, Managing Management of Frame Filters chapter entries. (Frame Filters API): New Node. (Frame Wrapper API): New Node. (Writing a Frame Filter): New Node. (Managing Frame Filters): New Node. (Progspaces In Python): Add note about frame_filters attribute. (Objfiles in Python): Ditto. (GDB/MI Stack Manipulation): Add -enable-frame-filters command, @anchors and --no-frame-filters option to -stack-list-variables, -stack-list-frames, -stack-list-locals and -stack-list-arguments commands.
2013-05-10 10:26:03 +00:00
2013-05-10 Phil Muldoon <pmuldoon@redhat.com>
* stack.c (backtrace_command_1): Add "no-filters", and Python frame
filter logic.
(backtrace_command): Add "no-filters" option parsing.
(_initialize_stack): Alter help to reflect "no-filters" option.
* Makefile.in (SUBDIR_PYTHON_OBS): Add py-framefilter.o
(SUBDIR_PYTHON_SRCS): Add py-framefilter.c
(py-frame.o): Add target
* data-directory/Makefile.in (PYTHON_DIR): Add Python frame
filter files.
* python/python.h: Add new frame filter constants, and flag enum.
(apply_frame_filter): Add definition.
* python/python.c (apply_frame_filter): New non-Python
enabled function.
* python/py-utils.c (py_xdecref): New function.
(make_cleanup_py_xdecref): Ditto.
* python/py-objfile.c: Declare frame_filters dictionary.
(objfpy_dealloc): Add frame_filters dealloc.
(objfpy_new): Initialize frame_filters attribute.
(objfile_to_objfile_object): Ditto.
(objfpy_get_frame_filters): New function.
(objfpy_set_frame_filters): New function.
* python/py-progspace.c: Declare frame_filters dictionary.
(pspy_dealloc): Add frame_filters dealloc.
(pspy_new): Initialize frame_filters attribute.
(pspacee_to_pspace_object): Ditto.
(pspy_get_frame_filters): New function.
(pspy_set_frame_filters): New function.
* python/py-framefilter.c: New file.
* python/lib/gdb/command/frame_filters.py: New file.
* python/lib/gdb/frames.py: New file.
* python/lib/gdb/__init__.py: Initialize global frame_filters
dictionary
* python/lib/gdb/FrameDecorator.py: New file.
* python/lib/gdb/FrameIterator.py: New file.
* mi/mi-cmds.c (mi_cmds): Add frame filters command.
* mi/mi-cmds.h: Declare.
* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Add
--no-frame-filter logic, and Python frame filter logic.
(stack_enable_frame_filters): New function.
(parse_no_frame_option): Ditto.
(mi_cmd_stack_list_frames): Add --no-frame-filter and Python frame
filter logic.
(mi_cmd_stack_list_locals): Ditto.
(mi_cmd_stack_list_args): Ditto.
(mi_cmd_stack_list_variables): Ditto.
* NEWS: Add frame filter note.
2013-05-09 Doug Evans <dje@google.com>
* symfile.c (syms_from_objfile_1): Delete args offsets, num_offsets.
All callers updated.
(syms_from_objfile): Ditto. Make static.
(symbol_file_add_with_addrs): Renamed from
symbol_file_add_with_addrs_or_offsets. Delete args offsets,
num_offsets. All callers updated.
* symfile.h (syms_from_objfile): Delete.
* symfile.c (decrement_reading_symtab): Add assert.
(increment_reading_symtab): Ditto.
2013-05-09 Joel Brobecker <brobecker@adacore.com>
* source.c (forward_search_command): Replace call to getc
by call to fgetc.
(reverse_search_command): Likewise.
2013-05-08 Doug Evans <dje@google.com>
* psymtab.c (expand_symtabs_matching_via_partial): Fix file name
matching test.
2013-05-08 Joel Brobecker <brobecker@adacore.com>
* sol-thread.c (info_cb): Factorize the code a little.
2013-05-08 Joel Brobecker <brobecker@adacore.com>
* sol-thread.c (info_cb): Rework the output of the "maintenance
info sol-threads" command a bit.
2013-05-08 Joel Brobecker <brobecker@adacore.com>
* sol-thread.c (info_cb) [ti.ti_state == TD_THR_SLEEP]:
Replace ti.ti_startfunc by ti.ti_pc.
2013-05-08 Joel Brobecker <brobecker@adacore.com>
* solib-aix.c (solib_aix_free_library_list): New function
for the case where HAVE_LIBEXPAT is not defined.
2013-05-07 Sergio Durigan Junior <sergiodj@redhat.com>
PR breakpoints/15413:
* breakpoint.c (condition_completer): Simplify the code to
disconsider multiple locations of breakpoints when completing the
"condition" command.
2013-05-07 Pierre Muller <muller@sourceware.org>
* common/linux-btrace.c: ARI fix: Include "gdb_wait.h"
instead of <sys/wait.h>.
2013-05-07 Pierre Muller <muller@sourceware.org>
* nios2-tdep.c (nios2_dwarf_reg_to_regnum): ARI fix: remove
trailing new line from warning message.
2013-05-07 Pierre Muller <muller@sourceware.org>
* contrib/ari/gdb_ari.sh (SOLIB_ADD, SOLIB_CREATE_INFERIOR_HOOK)
(PC_SOLIB): Change type from ari_deprecate to ari_regression.
2013-05-07 Joel Brobecker <brobecker@adacore.com>
* rs6000-nat.c (rs6000_core_ldinfo): Remove '\n' at end of
error message (ARI fix).
2013-05-07 Joel Brobecker <brobecker@adacore.com>
* features/library-list-aix.dtd: Replace library-list by
library-list-aix.
* rs6000-nat.c: Replace library-list by library-list-aix
throughout.
* solib-aix.c: Likewise.
2013-05-07 Joel Brobecker <brobecker@adacore.com>
* target.h (enum target_object) [TARGET_OBJECT_LIBRARIES_AIX]:
Renames TARGET_OBJECT_AIX_LIBRARIES.
* rs6000-nat.c: Replace TARGET_OBJECT_AIX_LIBRARIES with
TARGET_OBJECT_LIBRARIES_AIX throughout.
* solib-aix.c: Likwise.
2013-05-07 Yao Qi <yao@codesourcery.com>
* solib-dsbt.c (struct dsbt_info) <enable_break2_done>: Remove.
(get_dsbt_info, enable_break, dsbt_clear_solib): Update.
2013-05-07 Yao Qi <yao@codesourcery.com>
* solib-dsbt.c (enable_break): Declare.
(dsbt_current_sos): Remove call to enable_break2.
(enable_break2): Rename to enable_break. Set solib breakpoint
on '_dl_debug_state'.
(enable_break): Remove.
2013-05-07 Luis Machado <lgustavo@codesourcery.com>
* ppc-linux-nat.c (ppc_linux_new_thread): Clear the new thread's
debug state prior to replicating existing hardware watchpoints or
breakpoints.
2013-05-07 Jan Kratochvil <jan.kratochvil@redhat.com>
* gcore.c (gcore_create_callback): Ignore sections with
separate_debug_objfile_backlink != NULL.
2013-05-06 Sandra Loosemore <sandra@codesourcery.com>
Andrew Jenner <andrew@codesourcery.com>
Chung-Lin Tang <cltang@codesourcery.com>
Julian Brown <julian@codesourcery.com>
Based on the nios2-elf port from Altera Corporation.
* Makefile.in (ALL_TARGET_OBS): Add nios2-tdep.o and
nios2-linux-tdep.o.
(HFILES_NO_SRCDIR): Add nios2-tdep.h.
(ALLDEPFILES): Add nios2-tdep.c and nios2-linux-tdep.c.
* configure.tgt: Add nios2*-*-linux* and nios2*-*-* targets.
* nios2-tdep.h: New.
* nios2-tdep.c: New.
* nios2-linux-tdep.c: New.
* features/Makefile (WHICH): Add nios2-linux.
(nios2-linux-expedite): Set.
* features/nios2-cpu.xml: New.
* features/nios2.xml: New.
* features/nios2-linux.xml: New.
* features/nios2.c: New (autogenerated).
* features/nios2-linux.c: New (autogenerated).
* regformats/nios2-linux.dat: New (autogenerated).
* NEWS (Changes since GDB 7.6): Add new Nios II targets
and commands.
2013-05-06 Doug Evans <dje@google.com>
2013-05-07 00:02:12 +00:00
* symfile.c: Whitespace cleanup.
* solist.h (struct target_so_ops): New member clear_so.
* solib-svr4.c (svr4_clear_so): New function.
(_initialize_svr4_solib): Set svr4_so_ops.clear_so.
* solib.c (clear_so): Renamed from free_so_symbols.
All callers updated. Call target clear_so if it exists.
2013-05-06 Tom Tromey <tromey@redhat.com>
* ada-lang.c (ada_value_primitive_packed_val): Don't
call value_incref.
* value.c (set_value_parent): Incref the new parent and decref
the old parent.
(value_copy, value_primitive_field): Use set_value_parent.
2013-05-06 Tom Tromey <tromey@redhat.com>
* dwarf2loc.c (invalid_synthetic_pointer): Move earlier.
(indirect_pieced_value): Call dwarf2_fetch_constant_bytes
if needed.
* dwarf2loc.h (dwarf2_fetch_constant_bytes): Declare.
* dwarf2read.c (write_constant_as_bytes)
(dwarf2_fetch_constant_bytes): New functions.
2013-05-06 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (dwarf2_const_value_data): Remove unused
parameters.
(dwarf2_const_value_attr): Update.
2013-05-06 Tom Tromey <tromey@redhat.com>
* somread.c (som_symfile_offsets): Add 'const' to addrs.
* machoread.c (macho_symfile_offsets): Add 'const' to addrs.
* xcoffread.c (xcoff_symfile_offsets): Add 'const' to addrs.
Remove declaration.
2013-05-06 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (dwarf2_const_value_attr): Use 'obstack', not
objfile's obstack.
2013-05-06 Doug Evans <dje@google.com>
* dbxread.c (process_one_symbol): Constify section_offsets parameter.
* stabsread.h (process_one_symbol): Update declaration.
* dwarf2read.c (dw2_relocate): Constify new_offsets, delta parameters.
* elfread.c (elf_symfile_relocate_probe): Ditto.
* psymtab.c (relocate_psymtabs): Ditto.
* objfiles.c (objfile_relocate1): Constify new_offsets parameter.
(objfile_relocate): Ditto.
* objfiles.h (objfile_relocate): Update declaration.
* symfile.c (relative_addr_info_to_section_offsets): Constify
addrs parameter.
(default_symfile_offsets): Ditto.
(syms_from_objfile_1): Constify offsets parameter.
(syms_from_objfile): Ditto.
(symbol_file_add_with_addrs_or_offsets): Ditto.
(symfile_map_offsets_to_segments): Constify data parameter.
* symfile.h (struct quick_symbol_functions): Constify new_offsets,
delta parameters of member relocate.
(struct sym_probe_fns): Constify new_offsets,
delta parameters of member sym_relocate_probe.
(struct sym_fns): Constify section_addr_info parameter of member
sym_offsets.
(relative_addr_info_to_section_offsets): Update declaration.
(default_symfile_offsets): Ditto.
(syms_from_objfile): Ditto.
(symfile_map_offsets_to_segments): Ditto.
* symfile.c (syms_from_objfile_1): Use correct section count when
objfile->sf == NULL.
2013-05-06 Mike Frysinger <vapier@gentoo.org>
* common/linux-btrace.c (intel_supports_btrace): Fix indentation.
2013-05-06 Doug Evans <dje@google.com>
* psympriv.h (struct partial_symtab): Augment comment for member
section_offsets.
Reimplement shared library support on ppc-aix... ... using the target_so_ops framework. gdb/ChangeLog: * target.h (TARGET_OBJECT_AIX_LIBRARIES): New target_object enum. * features/library-list-aix.dtd: New file. * solib-aix.h, solib-aix.c: New file. * rs6000-aix-tdep.c: #include "solib.h" and "solib-aix.h". (rs6000_find_toc_address_hook): Delete. (rs6000_push_dummy_call): Rewrite code setting the TOC value. (rs6000_aix_init_osabi): Register solib_aix_so_ops. * rs6000-nat.c: Remove "xcoffsolib.h" include. Include "xml-utils.h". (map_vmap, vmap_exec, vmap_ldinfo, add_vmap, objfile_symbol_add) (vmap_symtab, fixup_breakpoints): Delete. (rs6000_xfer_shared_libraries): New function. (rs6000_xfer_partial): Add TARGET_OBJECT_AIX_LIBRARIES handling. (vmap_secs, bss_data_overlap, vmap_add_symbols): Delete. (xcoff_relocate_symtab, xcoff_relocate_core): Delete. (rs6000_ptrace_ldinfo, rs6000_core_ldinfo) (rs6000_xfer_shared_library): New function. (find_toc_address): Delete. (_initialize_rs6000_nat): Do not set rs6000_find_toc_address_hook. * rs6000-tdep.h (rs6000_find_toc_address_hook): Remove. * xcoffread.c (record_minimal_symbol): Reloate symbol address before creating minimal symbol. Adjust function description accordingly. (scan_xcoff_symtab): Replace call to prim_record_minimal_symbol_and_info by call to record_minimal_symbol. (xcoff_symfile_offsets): Reimplement mostly as a wrapper around default_symfile_offsets. * configure.tgt: Add solib-aix.o to gdb_target_obs for powerpc-aix targets. * config/rs6000/nm-rs6000.h: Delete. * config/powerpc/aix.mh (NAT_FILE): Delete. (NATDEPFILES): Remove xcoffsolib.o. * Makefile.in (XMLFILES): Add library-list-aix.dtd. (ALL_TARGET_OBS): Add solib-aix.o. (HFILES_NO_SRCDIR): Remove xcoffsolib.h and config/rs6000/nm-rs6000.h. Add solib-aix.h. (ALLDEPFILES): Add solib-aix.c. Remove xcoffsolib.c. * xcoffsolib.h, xcoffsolib.c: Delete. * solib.c (reload_shared_libraries): Remove reference to SOLIB_CREATE_INFERIOR_HOOK. * breakpoint.c (handle_solib_event): Remove reference to SOLIB_ADD. (disable_breakpoints_in_shlibs): Remove reference to PC_SOLIB. (momentary_bkpt_re_set): Replace SOLIB_ADD by solib_add in comment. * corelow.c (deprecated_core_resize_section_table): Delete. * exec.c: Remove include of xcoffsolib.h". (map_vmap, vmap): Delete. (exec_close_1): Remove references to vmap. (exec_file_attach): Remove vmap handling code, and reference to DEPRECATED_IBM6000_TARGET. (bfdsec_to_vmap): Delete. (exec_files_info): Remove block of code handling VMAP. * infcmd.c (post_create_inferior): Remove reference to SOLIB_CREATE_INFERIOR_HOOK and SOLIB_ADD. * infrun.c (follow_exec): Remove reference to SOLIB_CREATE_INFERIOR_HOOK. * stack.c (print_frame): Remove reference to PC_SOLIB. * solib-dsbt.c (dsbt_current_sos): Adjust comment. (dsbt_relocate_main_executable): Likewise. * solib-frv.c (frv_current_sos): Likewise. gdb/doc/ChangeLog: * gdbint.texinfo (Algorithms): Remove entries documenting DEPRECATED_IBM6000_TARGET, SOLIB_ADD, and SOLIB_CREATE_INFERIOR_HOOK.
2013-05-06 14:15:50 +00:00
2013-05-06 Joel Brobecker <brobecker@adacore.com>
Reimplement shared library support on ppc-aix...
* target.h (TARGET_OBJECT_AIX_LIBRARIES): New target_object enum.
* features/library-list-aix.dtd: New file.
* solib-aix.h, solib-aix.c: New file.
* rs6000-aix-tdep.c: #include "solib.h" and "solib-aix.h".
(rs6000_find_toc_address_hook): Delete.
(rs6000_push_dummy_call): Rewrite code setting the TOC value.
(rs6000_aix_init_osabi): Register solib_aix_so_ops.
* rs6000-nat.c: Remove "xcoffsolib.h" include. Include
"xml-utils.h".
(map_vmap, vmap_exec, vmap_ldinfo, add_vmap, objfile_symbol_add)
(vmap_symtab, fixup_breakpoints): Delete.
(rs6000_xfer_shared_libraries): New function.
(rs6000_xfer_partial): Add TARGET_OBJECT_AIX_LIBRARIES handling.
(vmap_secs, bss_data_overlap, vmap_add_symbols): Delete.
(xcoff_relocate_symtab, xcoff_relocate_core): Delete.
(rs6000_ptrace_ldinfo, rs6000_core_ldinfo)
(rs6000_xfer_shared_library): New function.
(find_toc_address): Delete.
(_initialize_rs6000_nat): Do not set rs6000_find_toc_address_hook.
* rs6000-tdep.h (rs6000_find_toc_address_hook): Remove.
* xcoffread.c (record_minimal_symbol): Reloate symbol address
before creating minimal symbol. Adjust function description
accordingly.
(scan_xcoff_symtab): Replace call to
prim_record_minimal_symbol_and_info by call to
record_minimal_symbol.
(xcoff_symfile_offsets): Reimplement mostly as a wrapper
around default_symfile_offsets.
* configure.tgt: Add solib-aix.o to gdb_target_obs for
powerpc-aix targets.
* config/rs6000/nm-rs6000.h: Delete.
* config/powerpc/aix.mh (NAT_FILE): Delete.
(NATDEPFILES): Remove xcoffsolib.o.
* Makefile.in (XMLFILES): Add library-list-aix.dtd.
(ALL_TARGET_OBS): Add solib-aix.o.
(HFILES_NO_SRCDIR): Remove xcoffsolib.h and
config/rs6000/nm-rs6000.h. Add solib-aix.h.
(ALLDEPFILES): Add solib-aix.c. Remove xcoffsolib.c.
* xcoffsolib.h, xcoffsolib.c: Delete.
* solib.c (reload_shared_libraries): Remove reference to
SOLIB_CREATE_INFERIOR_HOOK.
* breakpoint.c (handle_solib_event): Remove reference to SOLIB_ADD.
(disable_breakpoints_in_shlibs): Remove reference to PC_SOLIB.
(momentary_bkpt_re_set): Replace SOLIB_ADD by solib_add in
comment.
* corelow.c (deprecated_core_resize_section_table): Delete.
* exec.c: Remove include of xcoffsolib.h".
(map_vmap, vmap): Delete.
(exec_close_1): Remove references to vmap.
(exec_file_attach): Remove vmap handling code, and reference
to DEPRECATED_IBM6000_TARGET.
(bfdsec_to_vmap): Delete.
(exec_files_info): Remove block of code handling VMAP.
* infcmd.c (post_create_inferior): Remove reference to
SOLIB_CREATE_INFERIOR_HOOK and SOLIB_ADD.
* infrun.c (follow_exec): Remove reference to
SOLIB_CREATE_INFERIOR_HOOK.
* stack.c (print_frame): Remove reference to PC_SOLIB.
* solib-dsbt.c (dsbt_current_sos): Adjust comment.
(dsbt_relocate_main_executable): Likewise.
* solib-frv.c (frv_current_sos): Likewise.
2013-05-06 Joel Brobecker <brobecker@adacore.com>
* sol-thread.c (rw_common): Cast BUF to "gdb_byte *" in calls
to target_write_memory and target_read_memory.
2013-05-06 Joel Brobecker <brobecker@adacore.com>
* darwin-nat.c (darwin_setup_fake_stop_event): New function.
(darwin_attach): Adjust using darwin_setup_fake_stop_event.
2013-05-06 Joel Brobecker <brobecker@adacore.com>
* darwin-nat.c: Replace all "%x" instances in format strings
into "0x%x" throughout.
2013-05-06 Joel Brobecker <brobecker@adacore.com>
* darwin-nat.c (darwin_mourn_inferior): Replace call to
gdb_assert by call to MACH_CHECK_ERROR.
(darwin_attach_pid): Raise an error rather than a failed
assertion when various system calls failed. Report a warning
instead of raising a failed assertion when PREV_NOT is not NULL
after call to mach_port_request_notification.
(darwin_ptrace_me): Raise an error rather than a failed
assertion when read returns nonzero.
2013-05-06 Joel Brobecker <brobecker@adacore.com>
* amd64-darwin-tdep.c: Remove #include "gdb_assert.h".
2013-05-05 Jan Kratochvil <jan.kratochvil@redhat.com>
* cleanups.c (restore_my_cleanups): New gdb_assert for SENTINEL_CLEANUP.
2013-05-05 Jan Kratochvil <jan.kratochvil@redhat.com>
* event-top.c (display_gdb_prompt): Call missing do_cleanups.
* infcmd.c (get_return_value) <!stop_regs>: Do not overwrite CLEANUP.
* symfile.c (symfile_bfd_open): New variable back_to. Do not leave
a stale cleanup. Fix double free of NAME.
2013-05-04 Eli Zaretskii <eliz@gnu.org>
* windows-nat.c (windows_delete_thread): Accept an additional
argument, the thread's exit code, and announce thread death when
print_thread_events is non-zero and we are deleting a thread that
is not the main thread.
(get_windows_debug_event): Pass thread exit code to
windows_delete_thread.
2013-05-03 Kevin Buettner <kevinb@redhat.com>
* v850-tdep.c (elf-bfd.h, elf/v850.h): Include.
(R_149_REGNUM, E_NUM_OF_V850E2_REGS, E_SELID_1_R0_REGNUM)
(E_SELID_1_R31_REGNUM, E_SELID_2_R0_REGNUM, E_SELID_2_R31_REGNUM)
(E_SELID_3_R0_REGNUM, E_SELID_3_R31_REGNUM, E_SELID_4_R0_REGNUM)
(E_SELID_4_R31_REGNUM, E_SELID_5_R0_REGNUM, E_SELID_5_R31_REGNUM)
(E_SELID_6_R0_REGNUM, E_SELID_6_R31_REGNUM, E_SELID_7_R0_REGNUM, E_SELID_7_R31_REGNUM)
(E_VR0_REGNUM, E_VR31_REGNUM, E_NUM_OF_V850E3V5_REGS): Define.
(v850_abi, V850_ABI_GCC, V850_ABI_RH850): New enum and constants.
(gdbarch_tdep): New struct.
(v850e2_register_name): Use E_NUM_OF_V850E2_REGS instead of
E_NUM_REGS.
(v850e3v5_register_name): New function.
(v850_register_type): v850e3v5 vector registers are 64-bits wide.
(v850_use_struct_convention): Add `gdbarch' parameter. Add new
code handling the struct return conventions for the RH850 ABI.
Update all callers.
(v850_eight_byte_align_p): New function.
(v850_push_call_dummy): Push structs by value, not by reference
for the RH850 ABI. Add support for eight byte alignment.
(v850_dbtrap_breakpoint_from_pc): New function.
(v850_gdbarch_init): Add ABI detection code. Register
v850e3v5_register_name for the v850e3v5 architecture. Set the
number of registers for v850e3v5. Register
v850_dbtrap_breakpoint_from_pc as appropriate.
(_initialize_gdbarch_init): Registration bfd_arch_v850_rh850.
2013-05-03 Doug Evans <dje@google.com>
* objfiles.c (objfile_relocate): Use gdb_bfd_count_sections instead
of bfd_count_sections.
* solib-target.c (solib_target_relocate_section_addresses): Ditto.
* symfile.c (default_symfile_offsets): Ditto.
(syms_from_objfile_1): Ditto. Make dummy addrs list an array of
one entry, not bfd_count_sections entries.
2013-05-03 Kevin Buettner <kevinb@redhat.com>
* rl78-tdep.c (rl78_register_reggroup_p): Include SP in the
`save' and `restore' register groups. Don't include SPL
or SPH in these groups.
(rl78_dwarf_reg_to_regnum): Adjust mapping for
RL78_PC_REGNUM. Add mappings for RL78_PSW_REGNUM,
RL78_ES_REGNUM, and RL78_CS_REGNUM.
(rl78_gdbarch_init): Set `dwarf2_addr_size' to 4. Invoke
dwarf2_append_unwinders().
2013-05-03 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* break-catch-sig.c (signal_catchpoint_breakpoint_hit): Do not
ignore SIGINT and SIGTRAP in case these internal signals are
caught explicitely.
2013-05-01 Joel Brobecker <brobecker@adacore.com>
* darwin-nat.c (darwin_read_write_inferior): Change types
of parameters rdaddr and wraddr to "gdb_byte *". Change type
of copy_count to "mach_msg_type_number_t".
(darwin_read_dyld_info): Change type of parameter
rdaddr to "gdb_byte *".
2013-05-01 Joel Brobecker <brobecker@adacore.com>
* solib-ia64-hpux.c (ia64_hpux_read_dynamic_info): Change cast
of &info->load_map from "char *" to "gdb_byte *".
2013-05-01 Joel Brobecker <brobecker@adacore.com>
* ia64-tdep.c (ia64_access_fpreg): Change cast of val
from "char *" to "gdb_byte *".
(ia64_access_rse_fpreg, ia64_access_mem): Likewise.
2013-04-30 Doug Evans <dje@google.com>
* dwarf2read.c (lookup_dwo_unit): Return NULL if DWO not found.
(init_cutu_and_read_dies): Flag a complaint, not error, for bad
DWO stub. If DWO isn't found, just use stub.
(lookup_dwo_cutu): Don't try DWO if there's a DWP file.
* dwarf2read.c (dw2_find_symbol_file): Initialize filename before
calling init_cutu_and_read_dies.
Fix display of structures/bitfields in register description. Add support for displaying structures and bitfields for registers when executing "maint print c-tdesc". This command is also used when converting the xml target description file into c file. Example of the behaviour is given below reporting a snipet of the xml file and a snippet of the c code generated. XML file contains: ... <union id="vecint"> <field name="v4" type="v4int8"/> <field name="v2" type="v2int16"/> </union> <struct id="struct1"> <field name="v4" type="v4int8"/> <field name="v2" type="v2int16"/> </struct> <struct id="struct2" size="8"> <field name="f1" start="0" end="34"/> <field name="f2" start="63" end="63"/> </struct> ... Setting this xml file as target description file and issuing the maintenance print c-tdesc the following output is obtained: feature = tdesc_create_feature (result, "extra"); field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v4int8", field_type, 4); field_type = tdesc_named_type (feature, "int16"); tdesc_create_vector (feature, "v2int16", field_type, 2); type = tdesc_create_union (feature, "vecint"); field_type = tdesc_named_type (feature, "v4int8"); tdesc_add_field (type, "v4", field_type); field_type = tdesc_named_type (feature, "v2int16"); tdesc_add_field (type, "v2", field_type); C output is not supported type "struct1". This is finally the issue. 2013-03-27 Walfred Tedeschi <walfred.tedeschi@intel.com> * target-descriptions.c (maint_print_c_tdesc_cmd): Add case to parse structures as register types and bitfields. testsuite/ * gdb.xml/maint_print_struct.exp: New file. * gdb.xml/maint_print_struct.xml: New file. Change-Id: I2e20b095d508319c80275e724a9452c7e2834067 Signed-off-by: Walfred Tedeschi <walfred.tedeschi@intel.com>
2013-04-30 12:33:52 +00:00
2013-03-27 Walfred Tedeschi <walfred.tedeschi@intel.com>
* target-descriptions.c (maint_print_c_tdesc_cmd):
Add case to parse structures as register types and
bitfields.
2013-04-30 Walfred Tedeschi <walfred.tedeschi@intel.com>
* MAINTAINERS (Write After Approval): Add myself to the list.
2013-04-30 Joel Brobecker <brobecker@adacore.com>
* sol-thread.c (rw_common): Change type of parameter "buf"
to "gdb_byte *".
(ps_pdwrite, ps_ptwrite): Cast parameter "buf" in call to
rw_common to "gdb_byte *" instead of "char *".
2013-04-30 Joel Brobecker <brobecker@adacore.com>
* sol-thread.c (info_cb) [ti.ti_startfunc != 0]: Change type
of local variable msym to const struct bound_minimal_symbol.
Adjust use accordingly.
[ti.ti_state == TD_THR_SLEEP]: Likewise.
2013-04-30 Samuel Thibault <samuel.thibault@gnu.org>
* i386gnu-nat.c (CREG_OFFSET): New macro.
(creg_offset): New array.
(CREG_ADDR): Use creg_offset instead of reg_offset.
2013-04-30 Joel Brobecker <brobecker@adacore.com>
* mep-tdep.c (mep_write_pc): Delete.
(mep_gdbarch_init): Remove call to set_gdbarch_write_pc.
Add call to set_gdbarch_pc_regnum.
2013-04-30 Joel Brobecker <brobecker@adacore.com>
* common/filestuff.c: Replace #include <dirent.h> by
#include "gdb_dirent.h".
2013-04-30 Joel Brobecker <brobecker@adacore.com>
* common/filestuff.c: Replace #include <sys/stat.h> by
#include "gdb_stat.h".
2013-04-29 Pierre Muller <muller@sourceware.org>
* dwarf2read.c (handle_DW_AT_stmt_list): Avoid ARI warning for
editCase function rule.
(get_DW_AT_signature_type): Likewise.
2013-04-29 Joel Brobecker <brobecker@adacore.com>
* m32r-tdep.c (m32r_write_pc): Delete.
(m32r_gdbarch_init): Remove call to set_gdbarch_write_pc.
Add call to set_gdbarch_pc_regnum.
2013-04-29 Pierre Muller <muller@sourceware.org>
* ./contrib/ari/gdb_ari.sh (editCase rule): Fix spelling error.
2013-04-29 Joel Brobecker <brobecker@adacore.com>
* dwarf2read.c (get_DW_AT_signature_type): Add ARI marker.
2013-04-28 Yao Qi <yao@codesourcery.com>
* solib-dsbt.c (fetch_loadmap): Re-indent.
(displacement_from_map, enable_break2): Likewise.
(dsbt_relocate_section_addresses): Likewise.
2013-04-26 14:07:53 +00:00
2013-04-26 Joel Brobecker <brobecker@adacore.com>
GDB 7.6 released.
2013-04-25 Andreas Kaufmann <Andreas.Kaufmann@synopsys.com>
PR corefiles/14983:
* dwarf2read.c (process_full_comp_unit): Always create a static
block.
2013-04-25 Hui Zhu <hui@codesourcery.com>
* breakpoint.c (build_target_command_list): Change loc->cond_bytecode
to loc->cmd_bytecode.
2013-04-24 Doug Evans <dje@google.com>
* dwarf2read.c (setup_type_unit_groups): Fix comment.
2013-04-22 Keith Seitz <keiths@redhat.com>
* tracepoint.c (trace_save): Call the writer's start method.
2013-04-24 Muhammad Bilal <mbilal@codesourcery.com>
PR gdb/10462
* cli/cli-decode.c (lookup_command): Show an error if there is no space
before argument.
2013-04-23 Tom Tromey <tromey@redhat.com>
* common/filestuff.c: Check USE_WIN32API before including
sys/socket.h.
(HAVE_F_GETFD): New define.
(mark_cloexec): Check HAVE_F_GETFD.
(gdb_open_cloexec): Change 'mode' to unsigned long.
(gdb_socketpair_cloexec): Check HAVE_SOCKETPAIR.
(gdb_pipe_cloexec): Check HAVE_PIPE.
* common/filestuff.h (gdb_open_cloexec): Change 'mode' to unsigned
long.
2013-04-23 Hui Zhu <hui@codesourcery.com>
PR gdb/15293
* breakpoint.c (bpstat_what): Add BPSTAT_WHAT_SINGLE to bp_dprintf.
2013-04-23 Hui Zhu <hui@codesourcery.com>
PR gdb/15165
* breakpoint.c (dprintf_print_recreate): New.
(save_breakpoints): Let it not save dprintf commands.
(initialize_breakpoint_ops): Set dprintf_print_recreate.
PR gdb/7912: * Makefile.in (SFILES): Add filestuff.c (COMMON_OBS): Add filestuff.o. (filestuff.o): New target. * auto-load.c (auto_load_objfile_script_1): Use gdb_fopen_cloexec. * auxv.c (procfs_xfer_auxv): Use gdb_open_cloexec. * cli/cli-cmds.c (shell_escape): Call close_most_fds. * cli/cli-dump.c (fopen_with_cleanup): Use gdb_fopen_cloexec. * common/agent.c (gdb_connect_sync_socket): Use gdb_socket_cloexec. * common/filestuff.c: New file. * common/filestuff.h: New file. * common/linux-osdata.c (linux_common_core_of_thread) (command_from_pid, commandline_from_pid, print_source_lines) (linux_xfer_osdata_shm, linux_xfer_osdata_sem) (linux_xfer_osdata_msg, linux_xfer_osdata_modules): Use gdb_fopen_cloexec. * common/linux-procfs.c (linux_proc_get_int) (linux_proc_pid_has_state): Use gdb_fopen_cloexec. * config.in, configure: Rebuild. * configure.ac: Don't check for sys/socket.h. Check for fdwalk, pipe2. * corelow.c (core_open): Use gdb_open_cloexec. * dwarf2read.c (write_psymtabs_to_index): Use gdb_fopen_cloexec. * fork-child.c (fork_inferior): Call close_most_fds. * gdb_bfd.c (gdb_bfd_open): Use gdb_open_cloexec. * inf-child.c (inf_child_fileio_readlink): Use gdb_open_cloexec. * linux-nat.c (linux_nat_thread_name, linux_proc_pending_signals): Use gdb_fopen_cloexec. (linux_proc_xfer_partial, linux_proc_xfer_spu): Use gdb_open_cloexec. (linux_async_pipe): Use gdb_pipe_cloexec. * remote-fileio.c (remote_fileio_func_open): Use gdb_open_cloexec. * remote.c (remote_file_put, remote_file_get): Use gdb_fopen_cloexec. * ser-pipe.c (pipe_open): Use gdb_socketpair_cloexec, close_most_fds. * ser-tcp.c (net_open): Use gdb_socket_cloexec. * ser-unix.c (hardwire_open): Use gdb_open_cloexec. * solib.c (solib_find): Use gdb_open_cloexec. * source.c (openp, find_and_open_source): Use gdb_open_cloexec. * tracepoint.c (tfile_start): Use gdb_fopen_cloexec. (tfile_open): Use gdb_open_cloexec. * tui/tui-io.c (tui_initialize_io): Use gdb_pipe_cloexec. * ui-file.c (gdb_fopen): Use gdb_fopen_cloexec. * xml-support.c (xml_fetch_content_from_file): Use gdb_fopen_cloexec. * main.c (captured_main): Call notice_open_fds. gdbserver * Makefile.in (SFILES): Add filestuff.c. (OBS): Add filestuff.o. (filestuff.o): New target. * config.in, configure: Rebuild. * configure.ac: Check for fdwalk, pipe2.
2013-04-22 16:46:15 +00:00
2013-04-22 Tom Tromey <tromey@redhat.com>
PR gdb/7912:
* Makefile.in (SFILES): Add filestuff.c
(COMMON_OBS): Add filestuff.o.
(filestuff.o): New target.
* auto-load.c (auto_load_objfile_script_1): Use
gdb_fopen_cloexec.
* auxv.c (procfs_xfer_auxv): Use gdb_open_cloexec.
* cli/cli-cmds.c (shell_escape): Call close_most_fds.
* cli/cli-dump.c (fopen_with_cleanup): Use gdb_fopen_cloexec.
* common/agent.c (gdb_connect_sync_socket): Use
gdb_socket_cloexec.
* common/filestuff.c: New file.
* common/filestuff.h: New file.
* common/linux-osdata.c (linux_common_core_of_thread)
(command_from_pid, commandline_from_pid, print_source_lines)
(linux_xfer_osdata_shm, linux_xfer_osdata_sem)
(linux_xfer_osdata_msg, linux_xfer_osdata_modules): Use
gdb_fopen_cloexec.
* common/linux-procfs.c (linux_proc_get_int)
(linux_proc_pid_has_state): Use gdb_fopen_cloexec.
* config.in, configure: Rebuild.
* configure.ac: Don't check for sys/socket.h. Check for
fdwalk, pipe2.
* corelow.c (core_open): Use gdb_open_cloexec.
* dwarf2read.c (write_psymtabs_to_index): Use gdb_fopen_cloexec.
* fork-child.c (fork_inferior): Call close_most_fds.
* gdb_bfd.c (gdb_bfd_open): Use gdb_open_cloexec.
* inf-child.c (inf_child_fileio_readlink): Use gdb_open_cloexec.
* linux-nat.c (linux_nat_thread_name, linux_proc_pending_signals):
Use gdb_fopen_cloexec.
(linux_proc_xfer_partial, linux_proc_xfer_spu): Use
gdb_open_cloexec.
(linux_async_pipe): Use gdb_pipe_cloexec.
* remote-fileio.c (remote_fileio_func_open): Use
gdb_open_cloexec.
* remote.c (remote_file_put, remote_file_get): Use
gdb_fopen_cloexec.
* ser-pipe.c (pipe_open): Use gdb_socketpair_cloexec,
close_most_fds.
* ser-tcp.c (net_open): Use gdb_socket_cloexec.
* ser-unix.c (hardwire_open): Use gdb_open_cloexec.
* solib.c (solib_find): Use gdb_open_cloexec.
* source.c (openp, find_and_open_source): Use gdb_open_cloexec.
* tracepoint.c (tfile_start): Use gdb_fopen_cloexec.
(tfile_open): Use gdb_open_cloexec.
* tui/tui-io.c (tui_initialize_io): Use gdb_pipe_cloexec.
* ui-file.c (gdb_fopen): Use gdb_fopen_cloexec.
* xml-support.c (xml_fetch_content_from_file): Use
gdb_fopen_cloexec.
* main.c (captured_main): Call notice_open_fds.
2013-04-22 Edjunior Machado <emachado@linux.vnet.ibm.com>
* remote-sim.c (dump_mem): Change the type of 'buf' parameter from
'char *' to 'gdb_byte *'.
(gdbsim_store_register): Change the type of 'tmp' from 'char' to
'gdb_byte'.
2013-04-22 09:34:27 +00:00
2013-04-22 Yao Qi <yao@codesourcery.com>
* infrun.c: Fix typo in comment.
Andrew Haley found a bug on GDB running on ARM when using --enable-64-bit-bfd. Basically the issue happens when dealing with "bl" instructions: GDB does branch destination calculation and (wrongly) sign-extends the PC. Here is a piece of his original message explaining the problem: > next_pc = arm_get_next_pc (frame, get_frame_pc (frame)); > > /* The Linux kernel offers some user-mode helpers in a high page. We can > not read this page (as of 2.6.23), and even if we could then we couldn't > set breakpoints in it, and even if we could then the atomic operations > would fail when interrupted. They are all called as functions and return > to the address in LR, so step to there instead. */ > if (next_pc > 0xffff0000) > next_pc = get_frame_register_unsigned (frame, ARM_LR_REGNUM); > > arm_insert_single_step_breakpoint (gdbarch, aspace, next_pc); > > Unfortunately, branch destination addresses are SIGN EXTENDED to 64 > bits. So, > > (top-gdb) p/x next_pc > $14 = 0xffffffffb6df2864 > > Which triggers the next_pc = get_frame_register_unsigned(), and we > cannot step into any branches because the destination PC is wrong. Anyway, the fix is simple and Andrew himself provided it for us. It took a while for me to figure out how to trigger the bug (in order to write a testcase for it), but I finally made it. The attached patch fixes the problem (by casting to `unsigned long' instead of just `long'), and also includes a testcase to reproduce the issue. gdb/ChangeLog: 2013-04-22 Andrew Haley <aph@redhat.com> * arm-tdep.c (BranchDest): Cast result as "unsigned long", instead of "long". gdb/testsuite/ChangeLog: 2013-04-22 Sergio Durigan Junior <sergiodj@redhat.com> * gdb.arch/arm-bl-branch-dest.c: New file. * gdb.arch/arm-bl-branch-dest.exp: Likewise.
2013-04-22 09:20:33 +00:00
2013-04-22 Andrew Haley <aph@redhat.com>
* arm-tdep.c (BranchDest): Cast result as "unsigned long",
instead of "long".
2013-04-20 Yao Qi <yao@codesourcery.com>
* ctf.c (ctf_fetch_registers): Change the type of 'regs' from
'char *' to 'gdb_byte *'. Cast the return value of
'bt_ctf_get_char_array' to 'gdb_byte *'.
2013-04-19 Pedro Alves <palves@redhat.com>
* configure.ac (build_warnings): Replace -Wno-pointer-sign with
-Wpointer-sign.
* configure: Regenerate.
2013-04-19 Pedro Alves <palves@redhat.com>
* ser-tcp.c (net_read_prim): Cast second argument to recv to
'void *'.
2013-04-19 Pedro Alves <palves@redhat.com>
* monitor.c (monitor_write_memory, monitor_write_memory_bytes):
Change type of 'myaddr' parameter to gdb_byte pointer.
(monitor_write_memory_longlongs): Likewise. Cast 'myaddr' pointer
to 'long long' pointer instead of to 'unsigned long long'.
(monitor_write_memory_block, monitor_read_memory_single)
(monitor_read_memory): Change type of 'myaddr' parameter to
gdb_byte pointer.
2013-04-19 Pedro Alves <palves@redhat.com>
* record.c (validate_history_size): Make parameter 'setting'
unsigned.
2013-04-19 Pedro Alves <palves@redhat.com>
* ctf.c (ctf_write_uploaded_tsv, ctf_write_uploaded_tp): Add casts
to 'gdb_byte *'.
2013-04-19 Pedro Alves <palves@redhat.com>
* cp-valprint.c (cp_print_class_member): Change type of 'fieldno'
local to int.
2013-04-19 Pedro Alves <palves@redhat.com>
* ada-lang.c (print_it_exception): Add cast to gdb_byte *.
* ada-tasks.c (read_fat_string_value): Likewise.
2013-04-19 Pedro Alves <palves@redhat.com>
* dwarf2-frame.c (execute_cfa_program): Make 'bytes_read' local
unsigned. Pass 'tmp' to safe_read_uleb128 instead of the signed
'offset', and adjust.
2013-04-19 Pedro Alves <palves@redhat.com>
* dwarf2read.c (dwarf2_get_dwz_file): Add cast to const char *.
(read_index_from_section): Add cast to 'char *'.
2013-04-19 Pedro Alves <palves@redhat.com>
* xcoffread.c (xcoff_initial_scan): Add cast to 'char *'.
2013-04-19 Pedro Alves <palves@redhat.com>
* coff-pe-read.c (read_pe_exported_syms): Handle strings as char.
2013-04-19 Pedro Alves <palves@redhat.com>
* record-full.c (record_full_get_bookmark): Change local 'ret'
type to char * and add cast to gdb_byte *.
(record_full_goto_bookmark): Handle 'bookmark' argument as a
string.
* reverse.c (goto_bookmark_command): Add casts to gdb_byte *.
2013-04-19 Pedro Alves <palves@redhat.com>
* python/py-inferior.c (infpy_write_memory): Add cast to gdb_byte
* python/py-prettyprint.c (print_string_repr): Change type of
'output' local to char *. Add cast to gdb_byte * in
LA_PRINT_STRING call.
(print_children): Change type of 'output' local to char *.
* python/py-value.c (valpy_string): Add cast to const char * in
PyUnicode_Decode call.
-Wpointer-sign: remote-mips.c. remote-mips.c has a bunch of -Wpointer-sign warnings: ../../src/gdb/remote-mips.c: In function ‘mips_receive_packet’: ../../src/gdb/remote-mips.c:1128:7: error: pointer targets in passing argument 2 of ‘mips_cksum’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/remote-mips.c:830:1: note: expected ‘const unsigned char *’ but argument is of type ‘char *’ ../../src/gdb/remote-mips.c:1135:7: error: pointer targets in passing argument 2 of ‘mips_cksum’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/remote-mips.c:830:1: note: expected ‘const unsigned char *’ but argument is of type ‘char *’ ../../src/gdb/remote-mips.c: In function ‘mips_load_srec’: ../../src/gdb/remote-mips.c:2830:12: error: pointer targets in passing argument 4 of ‘mips_make_srec’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/remote-mips.c:134:12: note: expected ‘unsigned char *’ but argument is of type ‘char *’ ../../src/gdb/remote-mips.c: In function ‘pmon_zeroset’: ../../src/gdb/remote-mips.c:3030:3: error: pointer targets in passing argument 4 of ‘pmon_makeb64’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/remote-mips.c:2977:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’ ../../src/gdb/remote-mips.c: In function ‘pmon_make_fastrec’: ../../src/gdb/remote-mips.c:3124:6: error: pointer targets in passing argument 3 of ‘pmon_zeroset’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/remote-mips.c:3025:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’ ../../src/gdb/remote-mips.c:3126:4: error: pointer targets in passing argument 4 of ‘pmon_makeb64’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/remote-mips.c:2977:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’ ../../src/gdb/remote-mips.c:3148:3: error: pointer targets in passing argument 3 of ‘pmon_zeroset’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/remote-mips.c:3025:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’ ../../src/gdb/remote-mips.c:3153:3: error: pointer targets in passing argument 3 of ‘pmon_zeroset’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/remote-mips.c:3025:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’ ../../src/gdb/remote-mips.c:3154:8: error: pointer targets in passing argument 4 of ‘pmon_makeb64’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/remote-mips.c:2977:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’ ../../src/gdb/remote-mips.c: In function ‘pmon_load_fast’: ../../src/gdb/remote-mips.c:3423:2: error: pointer targets in passing argument 4 of ‘pmon_makeb64’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/remote-mips.c:2977:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’ ../../src/gdb/remote-mips.c:3457:4: error: pointer targets in passing argument 3 of ‘pmon_checkset’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/remote-mips.c:3051:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’ ../../src/gdb/remote-mips.c:3484:8: error: pointer targets in passing argument 3 of ‘pmon_zeroset’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/remote-mips.c:3025:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’ ../../src/gdb/remote-mips.c:3489:3: error: pointer targets in passing argument 3 of ‘pmon_checkset’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/remote-mips.c:3051:1: note: expected ‘int *’ but argument is of type ‘unsigned int *’ The mips packet payload is ASCII, so it makes sense for mips_send_packet and mips_receive_packet to expose 'char *'-based interfaces, as currently they do. But, mips packets have a binary header, so if you look at e.g., mips_receive_packet's implementation, you'll see "unsigned char" buffers in use. I find it the most natural to make the payload pointer passed to mips_cksum 'char *' too. The other changes are straightforward adjustments -- a checksum is naturally unsigned, and there's one point where we're reading a bfd section. gdb/ 2013-04-19 Pedro Alves <palves@redhat.com> * remote-mips.c (mips_cksum): Rename 'data' parameter to 'datastr' and change its type to 'const char *'. Adjust. (mips_send_packet): Add cast to 'char *', and remove cast to 'unsigned char *'. (mips_receive_packet): Remove cast to 'unsigned char *'. (mips_load_srec): Use bfd_byte. (pmon_makeb64, pmon_zeroset): Make 'chksum' parameter unsigned. (pmon_checkset): Make 'value' parameter unsigned.
2013-04-19 15:28:42 +00:00
2013-04-19 Pedro Alves <palves@redhat.com>
* remote-mips.c (mips_cksum): Rename 'data' parameter to 'datastr'
and change its type to 'const char *'. Adjust.
(mips_send_packet): Add cast to 'char *', and remove cast to
'unsigned char *'.
(mips_receive_packet): Remove cast to 'unsigned char *'.
(mips_load_srec): Use bfd_byte.
(pmon_makeb64, pmon_zeroset): Make 'chksum' parameter unsigned.
(pmon_checkset): Make 'value' parameter unsigned.
2013-04-19 Pedro Alves <palves@redhat.com>
* common/agent.c (agent_run_command): Add cast to gdb_byte *.
2013-04-19 Pedro Alves <palves@redhat.com>
* remote.c (remote_write_bytes_aux, compare_sections_command)
(remote_read_qxfer)
(remote_search_memory, remote_hostio_pwrite, remote_hostio_pread)
(remote_hostio_readlink, remote_bfd_iovec_pread)
(remote_set_trace_notes): Use gdb_byte when RSP buffer is used as
binary buffer, and char when buffer is used as string.
* tracepoint.c (encode_source_string, tfile_write_uploaded_tp)
(trace_save, tfile_open, traceframe_walk_blocks)
(tfile_fetch_registers): Likewise.
2013-04-19 Pedro Alves <palves@redhat.com>
* ser-base.c (ser_base_write): Change prototype -- take 'void *'
buffer and size_t size. Adjust.
* ser-base.h (ser_base_write): Adjust.
* ser-go32.c (cnts): Change type to size_t.
(dos_write): Change prototype -- take 'void *'
buffer and size_t size. Adjust.
(dos_info): Print elements of 'cnts' as unsigned long.
* serial.c (serial_write): Likewise.
* serial.h (serial_write): Adjust.
(struct serial_ops) <write>: Change prototype -- take 'void *'
buffer and size_t size. Adjust.
2013-04-19 Pedro Alves <palves@redhat.com>
* c-lang.c (evaluate_subexp_c): Cast result of obstack_base to
gdb_byte *.
* linux-tdep.c (linux_make_mappings_corefile_notes): Likewise.
2013-04-19 Pedro Alves <palves@redhat.com>
* alpha-tdep.c (alpha_extract_return_value): Use
regcache_cooked_read_unsigned to read 'v0'.
-Wpointer-sign: xtensa-tdep.c. ../../src/gdb/xtensa-tdep.c:2914:4: error: pointer targets in passing argument 7 of ‘xtensa_operand_get_field’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/xtensa-tdep.c:53:0: ../../src/gdb/../include/xtensa-isa.h:487:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’ ../../src/gdb/xtensa-tdep.c:2916:4: error: pointer targets in passing argument 4 of ‘xtensa_operand_decode’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/xtensa-tdep.c:53:0: ../../src/gdb/../include/xtensa-isa.h:507:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’ ../../src/gdb/xtensa-tdep.c:2918:4: error: pointer targets in passing argument 7 of ‘xtensa_operand_get_field’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/xtensa-tdep.c:53:0: ../../src/gdb/../include/xtensa-isa.h:487:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’ ../../src/gdb/xtensa-tdep.c:2920:4: error: pointer targets in passing argument 4 of ‘xtensa_operand_decode’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/xtensa-tdep.c:53:0: ../../src/gdb/../include/xtensa-isa.h:507:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’ ../../src/gdb/xtensa-tdep.c:2922:4: error: pointer targets in passing argument 7 of ‘xtensa_operand_get_field’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/xtensa-tdep.c:53:0: ../../src/gdb/../include/xtensa-isa.h:487:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’ ../../src/gdb/xtensa-tdep.c:2924:4: error: pointer targets in passing argument 4 of ‘xtensa_operand_decode’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/xtensa-tdep.c:53:0: ../../src/gdb/../include/xtensa-isa.h:507:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’ Those bfd functions that decode instructions output uint32_t values. Hence this fix: 2013-04-19 Pedro Alves <palves@redhat.com> * xtensa-tdep.c (execute_l32e, execute_s32e): Change type of parameters 'at', 'as' and 'offset' to uint32_t.
2013-04-19 15:23:52 +00:00
2013-04-19 Pedro Alves <palves@redhat.com>
* xtensa-tdep.c (execute_l32e, execute_s32e): Change type of
parameters 'at', 'as' and 'offset' to uint32_t.
2013-04-19 Pedro Alves <palves@redhat.com>
* aarch64-tdep.c (aarch64_analyze_prologue): Change type of local
'is64' to signed 'int'.
-Wpointer-sign: s390-tdep.c. -Wpointer-sign reveals a bunch of: ../../src/gdb/s390-tdep.c:1342:7: error: pointer targets in passing argument 4 of ‘is_rx’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/s390-tdep.c:1038:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’ ../../src/gdb/s390-tdep.c:1343:9: error: pointer targets in passing argument 5 of ‘is_rxy’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/s390-tdep.c:1055:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’ ../../src/gdb/s390-tdep.c:1344:9: error: pointer targets in passing argument 5 of ‘is_rxy’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/s390-tdep.c:1055:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’ ... ../../src/gdb/s390-tdep.c:1363:7: error: pointer targets in passing argument 5 of ‘is_rs’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/s390-tdep.c:966:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’ ../../src/gdb/s390-tdep.c:1364:9: error: pointer targets in passing argument 6 of ‘is_rsy’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/s390-tdep.c:983:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’ ../../src/gdb/s390-tdep.c:1365:9: error: pointer targets in passing argument 6 of ‘is_rsy’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/s390-tdep.c:983:1: note: expected ‘unsigned int *’ but argument is of type ‘int *’ ... I don't know much about s390, but from reading the code I believe the right fix is to treat d2 as signed. gdb/ 2013-04-19 Pedro Alves <palves@redhat.com> * s390-tdep.c (is_rs, is_rsy, is_rx, is_rxy): Change type of 'd2' parameter to int *.
2013-04-19 15:22:47 +00:00
2013-04-19 Pedro Alves <palves@redhat.com>
* s390-tdep.c (is_rs, is_rsy, is_rx, is_rxy): Change type of 'd2'
parameter to int *.
2013-04-19 Pedro Alves <palves@redhat.com>
* ppc-linux-tdep.c (ppc_skip_trampoline_code): Change local
'insnbuf' buffer type to unsigned int[].
2013-04-19 Pedro Alves <palves@redhat.com>
* mips-tdep.c (mips_read_pc): Change local 'pc' type to LONGEST.
2013-04-19 Pedro Alves <palves@redhat.com>
* mep-tdep.c (mep_get_insn): Change 'insn' parameter type to
unsigned long *.
2013-04-19 Pedro Alves <palves@redhat.com>
* alpha-tdep.c (heuristic_fence_post): Change type to int.
(alpha_heuristic_proc_start): Adjust to check -1 instead of
UINT_MAX.
* mips-tdep.c (heuristic_fence_post): Change type to int.
(heuristic_proc_start): Adjust to check -1 instead of UINT_MAX.
2013-04-19 Pedro Alves <palves@redhat.com>
* cris-tdep.c (usr_cmd_cris_version): Make unsigned.
(struct gdbarch_tdep) <cris_version>: Make unsigned.
(cris_spec_reg_applicable, cris_gdbarch_init): Adjust locals.
2013-04-19 Pedro Alves <palves@redhat.com>
* avr-tdep.c (avr_io_reg_read_command): New local 'bufstr'. Use
it to get a string view of the byte buffer.
* i386-cygwin-tdep.c (core_process_module_section): Change local 'buf'
type to gdb_byte *. Adjust.
* linux-tdep.c (linux_info_proc, linux_find_memory_regions_full):
Change local to char *.
* solib-darwin.c (find_program_interpreter): Change return type to
char *. Adjust.
(darwin_solib_get_all_image_info_addr_at_init): Adjust.
* solib-dsbt.c (enable_break2): Change local 'buf' to char *.
* solib-frv.c (enable_break2): Change local 'buf' to char *.
* solib-spu.c (spu_current_sos): Add gdb_byte * cast.
* solib-svr4.c (find_program_interpreter): Change return type to
char *. Adjust.
(enable_break): Change local 'interp_name' to char *.
* spu-multiarch.c (spu_xfer_partial): Add cast to 'char *'.
* spu-tdep.c (spu_pseudo_register_read_spu): Add cast to 'char *'.
(spu_pseudo_register_write_spu): Use char for string buffer.
Adjust.
(info_spu_event_command, info_spu_signal_command): Add casts to
'char *'.
-Wpointer-sign: char -> gdb_byte. -Wpointer-sign catches all these cases across the codebase that should be using gdb_byte for raw target bytes. I think these are all obvious, hence I've collapsed into a single patch. gdb/ 2013-04-19 Pedro Alves <palves@redhat.com> * aarch64-tdep.c (aarch64_default_breakpoint): Change type to gdb_byte[]. (aarch64_breakpoint_from_pc): Change return type to gdb_byte *. * ada-lang.c (ada_value_assign): Use gdb_byte. * alphanbsd-tdep.c (sigtramp_retcode): Change type to gdb_byte[]. (alphanbsd_sigtramp_offset): Use gdb_byte. * arm-linux-tdep.c (arm_linux_arm_le_breakpoint) (arm_linux_arm_be_breakpoint, eabi_linux_arm_le_breakpoint) (eabi_linux_arm_be_breakpoint, arm_linux_thumb_be_breakpoint) (arm_linux_thumb_le_breakpoint, arm_linux_thumb2_be_breakpoint) (arm_linux_thumb2_le_breakpoint): Change type to gdb_byte[]. * arm-tdep.c (arm_stub_unwind_sniffer) (arm_displaced_init_closure): Use gdb_byte. (arm_default_arm_le_breakpoint, arm_default_arm_be_breakpoint) (arm_default_thumb_le_breakpoint) (arm_default_thumb_be_breakpoint): Change type to gdb_byte[]. * arm-tdep.h (struct gdbarch_tdep) <arm_breakpoint, thumb_breakpoint, thumb2_breakpoint>: Change type to gdb_byte *. * arm-wince-tdep.c (arm_wince_le_breakpoint) (arm_wince_thumb_le_breakpoint): Change type to gdb_byte[]. * armnbsd-tdep.c (arm_nbsd_arm_le_breakpoint) (arm_nbsd_arm_be_breakpoint, arm_nbsd_thumb_le_breakpoint) (arm_nbsd_thumb_be_breakpoint): Change type to gdb_byte[]. * armobsd-tdep.c (arm_obsd_thumb_le_breakpoint) (arm_obsd_thumb_be_breakpoint): Change type to gdb_byte[]. * cris-tdep.c (push_stack_item, cris_push_dummy_call) (cris_store_return_value, cris_extract_return_value): Use gdb_byte. (constraint): Change type of parameter to char * from signed char*. Use gdb_byte. * dwarf2loc.c (read_pieced_value, write_pieced_value): Change type of local buffer to gdb_byte *. * dwarf2read.c (read_index_from_section): Use gdb_byte. (create_dwp_hash_table): Change type of locals to gdb_byte *. (add_address_entry): Change type of local buffer to gdb_byte[]. * frv-tdep.c (frv_adjust_breakpoint_address, find_func_descr) (frv_push_dummy_call): Use gdb_byte. * hppa-hpux-tdep.c (hppa_hpux_push_dummy_code) (hppa_hpux_supply_ss_fpblock, hppa_hpux_supply_ss_wide) (hppa_hpux_supply_save_state): Use gdb_byte. * hppa-tdep.c (hppa32_push_dummy_call) (hppa64_convert_code_addr_to_fptr): Use gdb_byte. * ia64-tdep.c (extract_bit_field, replace_bit_field) (slotN_contents, replace_slotN_contents): Change type of parameter to gdb_byte *. (fetch_instruction, ia64_pseudo_register_write) (ia64_register_to_value, ia64_value_to_register) (ia64_extract_return_value, ia64_store_return_value) (ia64_push_dummy_call): Use gdb_byte. * m32c-tdep.c (m32c_return_value): Remove cast. * m68hc11-tdep.c (m68hc11_pseudo_register_write) (m68hc11_push_dummy_call, m68hc11_store_return_value): Use gdb_byte. * mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Use gdb_byte. * mn10300-tdep.c (mn10300_store_return_value) (mn10300_breakpoint_from_pc, mn10300_push_dummy_call): Use gdb_byte. * moxie-tdep.c (moxie_process_readu): Use gdb_byte. (moxie_process_record): Remove casts. * ppc-ravenscar-thread.c (supply_register_at_address) (ppc_ravenscar_generic_store_registers): Use gdb_byte. * ravenscar-thread.c (get_running_thread_id): Use gdb_byte. * remote-m32r-sdi.c (m32r_fetch_register): Use gdb_byte. * remote-mips.c (mips_xfer_memory): Use gdb_byte. * remote.c (compare_sections_command): Use gdb_byte. * score-tdep.c (score7_free_memblock): Change type of parameter to gdb_byte *. * sh-tdep.c (sh_justify_value_in_reg): Change return type to gdb_byte *. Use gdb_byte. (sh_push_dummy_call_fpu): Use gdb_byte. (sh_extract_return_value_nofpu, sh_extract_return_value_fpu) (sh_store_return_value_nofpu, sh_store_return_value_fpu) (sh_register_convert_to_virtual, sh_register_convert_to_raw): Change parameter type to 'gdb_byte *'. Use gdb_byte. (sh_pseudo_register_read, sh_pseudo_register_write): Use gdb_byte. * sh64-tdep.c (sh64_push_dummy_call): Use gdb_byte. (sh64_store_return_value, sh64_register_convert_to_virtual): Change parameter type to 'gdb_byte *'. Use gdb_byte. (sh64_pseudo_register_write): Use gdb_byte. * solib-darwin.c (darwin_current_sos): Add casts to 'gdb_byte *'. * solib-irix.c (fetch_lm_info): Likewise. Use gdb_byte for byte buffer. (irix_current_sos): Use gdb_byte. * solib-som.c (som_current_sos): Use gdb_byte. * sparc-ravenscar-thread.c (supply_register_at_address) (sparc_ravenscar_generic_store_registers): Use gdb_byte. * spu-multiarch.c (spu_xfer_partial): Add cast to 'char *'. * spu-tdep.c (spu_get_overlay_table): Use gdb_byte. * tic6x-tdep.c (tic6x_breakpoint_from_pc): Change return type to 'gdb_byte *'. * tic6x-tdep.h (struct gdbarch_tdep) <breakpoint>: Change type to 'gdb_byte *'. * tracepoint.c (tfile_fetch_registers): Use gdb_byte. * xstormy16-tdep.c (xstormy16_extract_return_value) (xstormy16_store_return_value): Change parameter type to 'gdb_byte *'. Adjust. (xstormy16_push_dummy_call): Use gdb_byte. * xtensa-tdep.c (xtensa_scan_prologue, call0_ret) (call0_analyze_prologue, execute_code): Use gdb_byte.
2013-04-19 15:09:46 +00:00
2013-04-19 Pedro Alves <palves@redhat.com>
* aarch64-tdep.c (aarch64_default_breakpoint): Change type to
gdb_byte[].
(aarch64_breakpoint_from_pc): Change return type to gdb_byte *.
* ada-lang.c (ada_value_assign): Use gdb_byte.
* alphanbsd-tdep.c (sigtramp_retcode): Change type to gdb_byte[].
(alphanbsd_sigtramp_offset): Use gdb_byte.
* arm-linux-tdep.c (arm_linux_arm_le_breakpoint)
(arm_linux_arm_be_breakpoint, eabi_linux_arm_le_breakpoint)
(eabi_linux_arm_be_breakpoint, arm_linux_thumb_be_breakpoint)
(arm_linux_thumb_le_breakpoint, arm_linux_thumb2_be_breakpoint)
(arm_linux_thumb2_le_breakpoint): Change type to gdb_byte[].
* arm-tdep.c (arm_stub_unwind_sniffer)
(arm_displaced_init_closure): Use gdb_byte.
(arm_default_arm_le_breakpoint, arm_default_arm_be_breakpoint)
(arm_default_thumb_le_breakpoint)
(arm_default_thumb_be_breakpoint): Change type to gdb_byte[].
* arm-tdep.h (struct gdbarch_tdep) <arm_breakpoint,
thumb_breakpoint, thumb2_breakpoint>: Change type to gdb_byte *.
* arm-wince-tdep.c (arm_wince_le_breakpoint)
(arm_wince_thumb_le_breakpoint): Change type to gdb_byte[].
* armnbsd-tdep.c (arm_nbsd_arm_le_breakpoint)
(arm_nbsd_arm_be_breakpoint, arm_nbsd_thumb_le_breakpoint)
(arm_nbsd_thumb_be_breakpoint): Change type to gdb_byte[].
* armobsd-tdep.c (arm_obsd_thumb_le_breakpoint)
(arm_obsd_thumb_be_breakpoint): Change type to gdb_byte[].
* cris-tdep.c (push_stack_item, cris_push_dummy_call)
(cris_store_return_value, cris_extract_return_value): Use
gdb_byte.
(constraint): Change type of parameter to char * from signed
char*. Use gdb_byte.
* dwarf2loc.c (read_pieced_value, write_pieced_value): Change type
of local buffer to gdb_byte *.
* dwarf2read.c (read_index_from_section): Use gdb_byte.
(create_dwp_hash_table): Change type of locals to gdb_byte *.
(add_address_entry): Change type of local buffer to gdb_byte[].
* frv-tdep.c (frv_adjust_breakpoint_address, find_func_descr)
(frv_push_dummy_call): Use gdb_byte.
* hppa-hpux-tdep.c (hppa_hpux_push_dummy_code)
(hppa_hpux_supply_ss_fpblock, hppa_hpux_supply_ss_wide)
(hppa_hpux_supply_save_state): Use gdb_byte.
* hppa-tdep.c (hppa32_push_dummy_call)
(hppa64_convert_code_addr_to_fptr): Use gdb_byte.
* ia64-tdep.c (extract_bit_field, replace_bit_field)
(slotN_contents, replace_slotN_contents): Change type of parameter
to gdb_byte *.
(fetch_instruction, ia64_pseudo_register_write)
(ia64_register_to_value, ia64_value_to_register)
(ia64_extract_return_value, ia64_store_return_value)
(ia64_push_dummy_call): Use gdb_byte.
* m32c-tdep.c (m32c_return_value): Remove cast.
* m68hc11-tdep.c (m68hc11_pseudo_register_write)
(m68hc11_push_dummy_call, m68hc11_store_return_value): Use
gdb_byte.
* mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Use gdb_byte.
* mn10300-tdep.c (mn10300_store_return_value)
(mn10300_breakpoint_from_pc, mn10300_push_dummy_call): Use
gdb_byte.
* moxie-tdep.c (moxie_process_readu): Use gdb_byte.
(moxie_process_record): Remove casts.
* ppc-ravenscar-thread.c (supply_register_at_address)
(ppc_ravenscar_generic_store_registers): Use gdb_byte.
* ravenscar-thread.c (get_running_thread_id): Use gdb_byte.
* remote-m32r-sdi.c (m32r_fetch_register): Use gdb_byte.
* remote-mips.c (mips_xfer_memory): Use gdb_byte.
* remote.c (compare_sections_command): Use gdb_byte.
* score-tdep.c (score7_free_memblock): Change type of parameter to
gdb_byte *.
* sh-tdep.c (sh_justify_value_in_reg): Change return type to
gdb_byte *. Use gdb_byte.
(sh_push_dummy_call_fpu): Use gdb_byte.
(sh_extract_return_value_nofpu, sh_extract_return_value_fpu)
(sh_store_return_value_nofpu, sh_store_return_value_fpu)
(sh_register_convert_to_virtual, sh_register_convert_to_raw):
Change parameter type to 'gdb_byte *'. Use gdb_byte.
(sh_pseudo_register_read, sh_pseudo_register_write): Use gdb_byte.
* sh64-tdep.c (sh64_push_dummy_call): Use gdb_byte.
(sh64_store_return_value, sh64_register_convert_to_virtual):
Change parameter type to 'gdb_byte *'. Use gdb_byte.
(sh64_pseudo_register_write): Use gdb_byte.
* solib-darwin.c (darwin_current_sos): Add casts to 'gdb_byte *'.
* solib-irix.c (fetch_lm_info): Likewise. Use gdb_byte for byte
buffer.
(irix_current_sos): Use gdb_byte.
* solib-som.c (som_current_sos): Use gdb_byte.
* sparc-ravenscar-thread.c (supply_register_at_address)
(sparc_ravenscar_generic_store_registers): Use gdb_byte.
* spu-multiarch.c (spu_xfer_partial): Add cast to 'char *'.
* spu-tdep.c (spu_get_overlay_table): Use gdb_byte.
* tic6x-tdep.c (tic6x_breakpoint_from_pc): Change return type to
'gdb_byte *'.
* tic6x-tdep.h (struct gdbarch_tdep) <breakpoint>: Change type to
'gdb_byte *'.
* tracepoint.c (tfile_fetch_registers): Use gdb_byte.
* xstormy16-tdep.c (xstormy16_extract_return_value)
(xstormy16_store_return_value): Change parameter type to
'gdb_byte *'. Adjust.
(xstormy16_push_dummy_call): Use gdb_byte.
* xtensa-tdep.c (xtensa_scan_prologue, call0_ret)
(call0_analyze_prologue, execute_code): Use gdb_byte.
2013-04-19 Vladimir Kargov <kargov@gmail.com>
Pedro Alves <palves@redhat.com>
* i387-tdep.c (i387_print_float_info): Use gdb_byte for pointer to
value contents.
2013-04-17 Doug Evans <dje@google.com>
* dwarf2read.c (struct signatured_type): New member type.
(struct attribute): Replace member signatured_type with signature.
(DW_SIGNATURE): Replaces DW_SIGNATURE_TYPE.
(read_call_site_scope): Call follow_die_ref instead of
follow_die_ref_or_sig.
(read_structure_type): Rewrite handling of signatured types.
(read_enumeration_type): Ditto.
(read_attribute_value): Update.
(build_error_marker_type): New function.
(lookup_die_type): Add assert. Rewrite handling of signatured types.
Don't call error for bad types, just build an error marker type.
(dump_die_shallow): Update.
(follow_die_sig_1): Renamed from follow_die_sig.
Don't call error for bad types, instead return NULL.
(follow_die_sig): New function.
(get_signatured_type, get_DW_AT_signature_type): New functions.
2013-04-17 Yufeng Zhang <yufeng.zhang@arm.com>
* aarch64-tdep.c (aarch64_write_pc): Removed.
2013-04-17 14:57:43 +00:00
(aarch64_gdbarch_init): Remove set_gdbarch_write_pc of the above
function.
2013-04-17 Yao Qi <yao@codesourcery.com>
* top.c (print_gdb_configuration): Print configure-time
parameter on using libbabeltrace or not.
2013-04-16 Pedro Alves <palves@redhat.com>
* copyright.py (EXCLUDE_LIST): Add gdb/common/glibc_thread_db.h.
Update glibc_thread_db.h from upstream. Attempting to build gdbserver with our copy of thread_db.h yields: In file included from ../../../src/gdb/gdbserver/../common/gdb_thread_db.h:4:0, from ../../../src/gdb/gdbserver/thread-db.c:30: ../../../src/gdb/gdbserver/../common/glibc_thread_db.h:108:3: error: unknown type name ‘uint32_t’ In file included from ../../../src/gdb/gdbserver/../common/gdb_thread_db.h:4:0, from ../../../src/gdb/gdbserver/thread-db.c:30: ../../../src/gdb/gdbserver/../common/glibc_thread_db.h:199:5: error: unknown type name ‘uintptr_t’ ../../../src/gdb/gdbserver/../common/glibc_thread_db.h:269:3: error: unknown type name ‘intptr_t’ ../../../src/gdb/gdbserver/../common/glibc_thread_db.h:270:3: error: unknown type name ‘intptr_t’ We used to have a workaround for this, but the patch to import gnulib's stdint.h removed it: http://www.sourceware.org/ml/gdb-patches/2008-06/msg00050.html and defs.h made to always include stdint.h. However, gdbserver doesn't include stdint.h in its equivalent server.h. Rather than working around the issue, I've imported a more recent version from glibc, which itself includes <stdint.h>. Other than copyright years and FSF snail mail address, the file hasn't been touched since 2003 in glibc. AFAICS, our version was updated last in 2000-09-03. A note on the apparent license change: before the previous patch, this file's contents were part of gdb_thread_db.h, and we can see that its license's text was changed in this patch <http://sourceware.org/ml/gdb-patches/2009-03/msg00251.html>. That was certainly just an easy to overlook grep/sed mistake that fell through the cracks. gdb/common/ 2013-04-16 Pedro Alves <palves@redhat.com> * glibc_thread_db.h: Update from upstream glibc (git 568035b7874a099087b77f7bba3e36a1173787b0).
2013-04-16 18:17:11 +00:00
2013-04-16 Pedro Alves <palves@redhat.com>
2013-04-16 18:18:12 +00:00
* common/glibc_thread_db.h: Update from upstream glibc
Update glibc_thread_db.h from upstream. Attempting to build gdbserver with our copy of thread_db.h yields: In file included from ../../../src/gdb/gdbserver/../common/gdb_thread_db.h:4:0, from ../../../src/gdb/gdbserver/thread-db.c:30: ../../../src/gdb/gdbserver/../common/glibc_thread_db.h:108:3: error: unknown type name ‘uint32_t’ In file included from ../../../src/gdb/gdbserver/../common/gdb_thread_db.h:4:0, from ../../../src/gdb/gdbserver/thread-db.c:30: ../../../src/gdb/gdbserver/../common/glibc_thread_db.h:199:5: error: unknown type name ‘uintptr_t’ ../../../src/gdb/gdbserver/../common/glibc_thread_db.h:269:3: error: unknown type name ‘intptr_t’ ../../../src/gdb/gdbserver/../common/glibc_thread_db.h:270:3: error: unknown type name ‘intptr_t’ We used to have a workaround for this, but the patch to import gnulib's stdint.h removed it: http://www.sourceware.org/ml/gdb-patches/2008-06/msg00050.html and defs.h made to always include stdint.h. However, gdbserver doesn't include stdint.h in its equivalent server.h. Rather than working around the issue, I've imported a more recent version from glibc, which itself includes <stdint.h>. Other than copyright years and FSF snail mail address, the file hasn't been touched since 2003 in glibc. AFAICS, our version was updated last in 2000-09-03. A note on the apparent license change: before the previous patch, this file's contents were part of gdb_thread_db.h, and we can see that its license's text was changed in this patch <http://sourceware.org/ml/gdb-patches/2009-03/msg00251.html>. That was certainly just an easy to overlook grep/sed mistake that fell through the cracks. gdb/common/ 2013-04-16 Pedro Alves <palves@redhat.com> * glibc_thread_db.h: Update from upstream glibc (git 568035b7874a099087b77f7bba3e36a1173787b0).
2013-04-16 18:17:11 +00:00
(git 568035b7874a099087b77f7bba3e36a1173787b0).
2013-04-16 Pedro Alves <palves@redhat.com>
* common/gdb_thread_db.h [!HAVE_THREAD_DB_H]: Factor out to ...
* common/glibc_thread_db.h: ... this new file ...
* common/gdb_thread_db.h [!HAVE_THREAD_DB_H]: ... and include it.
2013-04-16 Will Newton <will.newton@gmail.com>
Pedro Alves <palves@redhat.com>
PR build/11881
* common/gdb_thread_db.h (LIBTHREAD_DB_SO)
(LIBTHREAD_DB_SEARCH_PATH): Move outside of #ifdef
HAVE_THREAD_DB_H.
2013-04-16 Pedro Alves <palves@redhat.com>
Eli Zaretskii <eliz@gnu.org>
* NEWS: Mention "set foo unlimited".
2013-04-15 Doug Evans <dje@google.com>
* dwarf2read.c (struct dwo_file): Replace member "cus" with "cu".
(struct create_dwo_cu_data): Renamed from create_dwo_info_table_data.
(create_dwo_cu_reader): Renamed from
create_dwo_debug_info_hash_table_reader.
(create_dwo_cu): Renamed from create_dwo_debug_info_hash_table.
Remove support for multiple CUs in a DWO file.
(open_and_init_dwo_file, lookup_dwo_cutu): Update.
* dwarf2read.c (create_debug_types_hash_table): Use hex_string
instead of phex.
(lookup_dwo_unit, create_dwo_debug_info_hash_table_reader): Ditto.
(create_dwo_in_dwp): Ditto.
2013-04-15 Tom Tromey <tromey@redhat.com>
* NEWS: Move recent entries into "since 7.6" section.
2013-04-15 Tom Tromey <tromey@redhat.com>
PR c++/13588:
* NEWS: Update.
* break-catch-throw.c (struct exception_catchpoint)
<exception_rx, pattern>: New fields.
(fetch_probe_arguments, dtor_exception_catchpoint)
(check_status_exception_catchpoint)
(print_one_detail_exception_catchpoint): New functions.
(handle_gnu_v3_exceptions): Add "except_rx" argument.
Compile regular expression if needed.
(extract_exception_regexp): New function.
(catch_exception_command_1): Use extract_exception_regexp.
(compute_exception): Use fetch_probe_arguments.
(initialize_throw_catchpoint_ops): Set dtor, print_one_detail,
and check_status fields.
* cp-abi.c (cplus_typename_from_type_info): New function.
* cp-abi.h (cplus_typename_from_type_info): Declare.
(struct cp_abi_ops) <get_typename_from_type_info>: New field.
* gdb_regex.h (compile_rx_or_error): Declare.
* gnu-v3-abi.c (gnuv3_get_typename_from_type_info): Update
comment.
(init_gnuv3_ops): Set get_type_from_type_info field.
* probe.c (compile_rx_or_error): Move...
* utils.c (compile_rx_or_error): ... here.
2013-04-15 Tom Tromey <tromey@redhat.com>
PR c++/15176:
* NEWS: Update.
* break-catch-throw.c (compute_exception): New function.
(exception_funcs): New global.
(_initialize_break_catch_throw): Create $_exception.
* cp-abi.c (cplus_type_from_type_info): New function.
* cp-abi.h (cplus_type_from_type_info): Declare.
(struct cp_abi_ops) <get_type_from_type_info>: New field.
* gnu-v3-abi.c (gnuv3_get_typename_from_type_info)
(gnuv3_get_type_from_type_info): New functions.
(init_gnuv3_ops): Set get_type_from_type_info ABI field.
2013-04-15 Tom Tromey <tromey@redhat.com>
* break-catch-throw.c (struct exception_names): New.
(exception_functions): Change type.
(re_set_exception_catchpoint): Look for SDT probes.
2013-04-15 Tom Tromey <tromey@redhat.com>
PR c++/10119:
* break-catch-throw.c (exception_functions): New global.
(gnu_v3_exception_catchpoint_ops): Move earlier.
(struct exception_catchpoint): New.
(classify_exception_breakpoint): Rewrite.
(re_set_exception_catchpoint): New function.
(handle_gnu_v3_exceptions): Return void. Use init_catchpoint.
Allocate a struct exception_catchpoint.
(catch_exception_command_1): Update.
(initialize_throw_catchpoint_ops): Set 're_set' method.
2013-04-15 Tom Tromey <tromey@redhat.com>
* Makefile.in (SFILES): Add break-catch-throw.c
(COMMON_OBS): Add break-catch-throw.o.
* break-catch-throw.c: New file.
* breakpoint.c: Move exception-catching code to new file.
(ep_parse_optional_if_clause): No longer static.
* breakpoint.h (ep_parse_optional_if_clause): Declare.
2013-04-15 Tom Tromey <tromey@redhat.com>
PR c++/9065:
* NEWS: Update.
* breakpoint.c (watchpoint_exp_is_const): Add OP_TYPEID.
* c-exp.y (TYPEID): New token.
(exp): Add new TYPEID productions.
(ident_tokens): Add "typeid".
* cp-abi.c (cplus_typeid, cplus_typeid_type): New functions.
* cp-abi.h (cplus_typeid, cplus_typeid_type): Declare.
(struct cp_abi_ops) <get_typeid, get_typeid_type>: New fields.
* eval.c (evaluate_subexp_standard) <OP_TYPEID>: New case.
* expprint.c (dump_subexp_body_standard) <OP_TYPEID>: New
case.
* gnu-v3-abi.c (std_type_info_gdbarch_data): New global.
(build_std_type_info_type, gnuv3_get_typeid_type)
(gnuv3_get_typeid): New functions.
(init_gnuv3_ops): Initialize std_type_info_gdbarch_data. Set
new fields on ABI object.
* parse.c (operator_length_standard) <OP_TYPEID>: New case.
* std-operator.def (OP_TYPEID): New.
2013-04-15 Tom Tromey <tromey@redhat.com>
* elfread.c (elf_symtab_read): Install versioned symbol under
unversioned name as well.
2013-04-15 Tom Tromey <tromey@redhat.com>
PR c++/11990:
* c-lang.c (cplus_language_defn): Use gdb_demangle.
* c-typeprint.c (c_type_print_base): Use gdb_demangle.
* cp-support.c (mangled_name_to_comp): Use gdb_demangle.
(gdb_demangle): New function.
* cp-support.h (gdb_demangle): Declare.
* dwarf2read.c (dwarf2_physname, fixup_partial_die)
(dwarf2_name): Use gdb_demangle.
* gdbtypes.c (check_stub_method): Use gdb_demangle.
* gnu-v3-abi.c (gnuv3_rtti_type): Strip @plt and version
suffixes from name.
(gnuv3_print_method_ptr): Use gdb_demangle.
* jv-lang.c (java_demangle): Use gdb_demangle.
* jv-typeprint.c (java_type_print_base): Use gdb_demangle.
* language.c (unk_lang_demangle): Use gdb_demangle.
* symtab.c (symbol_find_demangled_name)
(demangle_for_lookup): Use gdb_demangle.
2013-04-15 Tom Tromey <tromey@redhat.com>
PR c++/12824:
* NEWS: Update.
* breakpoint.c (enum exception_event_kind) <EX_EVENT_RETHROW>:
New constant.
(classify_exception_breakpoint): New function.
(print_it_exception_catchpoint, print_one_exception_catchpoint)
(print_mention_exception_catchpoint)
(print_recreate_exception_catchpoint, handle_gnu_v3_exceptions)
(catch_exception_command_1): Handle "rethrow" catchpoint.
(catch_rethrow_command): New function.
(_initialize_breakpoint): Add "catch rethrow" command.
2013-04-15 Pierre Muller <muller@sourceware.org>
* contrib/ari/gdb_ari.sh (write_pc rule): Do not consider
set_gdbarch_write_pc as deprecated anymore.
2013-04-15 Joel Brobecker <brobecker@adacore.com>
* spu-tdep.c (spu_write_pc): Add empty line after local variable
declarations.
2013-04-13 Yao Qi <yao@codesourcery.com>
* ctf.c (_initialize_ctf): Include "completer.h".
Call add_target_with_completer instead of add_target.
2013-04-12 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix GDB regression related to PR binutils/14813.
* jit.c (mem_bfd_iovec_close): Return 0 for success.
* minidebug.c (lzma_close): Add return value comment.
* remote.c (remote_bfd_iovec_close): Return 0 for success.
* solib-spu.c (spu_bfd_iovec_close): Likewise.
* spu-linux-nat.c (spu_bfd_iovec_close): Likewise.
2013-04-12 Jan Kratochvil <jan.kratochvil@redhat.com>
2013-04-12 16:02:29 +00:00
* config.in: Regenerate.
* dwarf2-frame.c (struct comp_unit) <dwarf_frame_buffer>: Now const. * dwarf2read.c (struct dwarf2_section_info) <buffer>: Now const. (struct die_reader_specs) <buffer>: Likewise. (die_reader_func_ftype): Make 'info_ptr' const. (struct line_header) <include_dirs, statement_program_start, statement_program_end>: Now const. (struct file_entry) <name>: Likewise. (struct partial_die_info) <sibling>: Likewise. (struct dwarf_block) <data>: Likewise. (dwarf2_read_section): Remove cast. (dwarf2_get_section_info): Make 'bufp' const. (read_index_from_section): Constify. (dw2_get_file_names_reader): Make 'info_ptr' const. (dw2_get_primary_filename_reader): Likewise. (read_comp_unit_head): Make 'info_ptr' and return type const. (read_and_check_comp_unit_head, read_and_check_type_unit_head): Likewise. (read_abbrev_offset): Constify. (dwarf2_create_include_psymtab): Make 'name' const. (create_debug_types_hash_table): Update. (read_cutu_die_from_dwo): Make 'result_info_ptr' const. (init_cutu_and_read_dies, init_cutu_and_read_dies_no_follow): Constify. (process_psymtab_comp_unit_reader, build_type_psymtabs_reader) (load_partial_comp_unit_reader): Make 'info_ptr' const. (read_comp_units_from_section): Constify. (peek_abbrev_code, peek_die_abbrev, skip_children, skip_one_die) (locate_pdi_sibling, load_full_comp_unit_reader): Make 'info_ptr' const. (dwarf2_compute_name, setup_type_unit_groups): Constify. (create_dwo_debug_info_hash_table): Make 'info_ptr' const. (create_dwp_hash_table, dwarf2_ranges_read) (dwarf2_record_block_ranges): Constify. (read_die_and_children, read_die_and_siblings_1) (read_die_and_siblings): Make 'info_ptr' and 'new_info_ptr' const. (read_full_die_1, read_full_die): Make 'info_ptr' const. (abbrev_table_read_table): Constify. (load_partial_dies): Make 'info_ptr' const. (read_partial_die, read_attribute_value, read_attribute): Make 'info_ptr' and return type const. (read_address, read_initial_length) (read_checked_initial_length_and_offset, read_offset) (read_offset_1, read_n_bytes, read_direct_string): Make 'buf' const. (read_direct_string): Make 'buf' and return type const. (read_indirect_string_at_offset, read_indirect_string_from_dwz) (read_indirect_string): Make return type const. (read_unsigned_leb128, read_signed_leb128): Make 'buf' const. (read_addr_index_from_leb128, dwarf2_read_addr_index_reader): Make 'info_ptr' const. (read_str_index): Make return type const. (add_include_dir): Make 'include_dir' const. (add_file_name): Make 'name' const. (dwarf_decode_line_header): Constify. (psymtab_include_file_name): Make return type const. (dwarf_decode_lines_1, dwarf_decode_lines): Constify. (dwarf2_start_subfile): Make 'filename' const. (dwarf2_const_value_attr): Make 'bytes' const. (read_signatured_type_reader): Make 'info_ptr' const. (decode_locdesc): Constify. (skip_form_bytes): Make 'bytes', 'buffer_end', and return type const. (skip_unknown_opcode): Make 'opcode_definitions', 'mac_ptr', 'mac_end', and return type const. (dwarf_parse_macro_header): Make 'mac_ptr' and return type const. (dwarf_decode_macro_bytes): Make 'mac_ptr', 'mac_end', and return type const. (per_cu_header_read_in): Constify. * symfile.h (dwarf2_get_section_info): Update.
2013-04-12 14:55:28 +00:00
2013-04-12 Tom Tromey <tromey@redhat.com>
* dwarf2-frame.c (struct comp_unit) <dwarf_frame_buffer>: Now
const.
* dwarf2read.c (struct dwarf2_section_info) <buffer>: Now const.
(struct die_reader_specs) <buffer>: Likewise.
(die_reader_func_ftype): Make 'info_ptr' const.
(struct line_header) <include_dirs, statement_program_start,
statement_program_end>: Now const.
(struct file_entry) <name>: Likewise.
(struct partial_die_info) <sibling>: Likewise.
(struct dwarf_block) <data>: Likewise.
(dwarf2_read_section): Remove cast.
(dwarf2_get_section_info): Make 'bufp' const.
(read_index_from_section): Constify.
(dw2_get_file_names_reader): Make 'info_ptr' const.
(dw2_get_primary_filename_reader): Likewise.
(read_comp_unit_head): Make 'info_ptr' and return type const.
(read_and_check_comp_unit_head, read_and_check_type_unit_head):
Likewise.
(read_abbrev_offset): Constify.
(dwarf2_create_include_psymtab): Make 'name' const.
(create_debug_types_hash_table): Update.
(read_cutu_die_from_dwo): Make 'result_info_ptr' const.
(init_cutu_and_read_dies, init_cutu_and_read_dies_no_follow):
Constify.
(process_psymtab_comp_unit_reader, build_type_psymtabs_reader)
(load_partial_comp_unit_reader): Make 'info_ptr' const.
(read_comp_units_from_section): Constify.
(peek_abbrev_code, peek_die_abbrev, skip_children, skip_one_die)
(locate_pdi_sibling, load_full_comp_unit_reader): Make 'info_ptr'
const.
(dwarf2_compute_name, setup_type_unit_groups): Constify.
(create_dwo_debug_info_hash_table): Make 'info_ptr' const.
(create_dwp_hash_table, dwarf2_ranges_read)
(dwarf2_record_block_ranges): Constify.
(read_die_and_children, read_die_and_siblings_1)
(read_die_and_siblings): Make 'info_ptr' and 'new_info_ptr'
const.
(read_full_die_1, read_full_die): Make 'info_ptr' const.
(abbrev_table_read_table): Constify.
(load_partial_dies): Make 'info_ptr' const.
(read_partial_die, read_attribute_value, read_attribute): Make
'info_ptr' and return type const.
(read_address, read_initial_length)
(read_checked_initial_length_and_offset, read_offset)
(read_offset_1, read_n_bytes, read_direct_string): Make 'buf'
const.
(read_direct_string): Make 'buf' and return type const.
(read_indirect_string_at_offset, read_indirect_string_from_dwz)
(read_indirect_string): Make return type const.
(read_unsigned_leb128, read_signed_leb128): Make 'buf' const.
(read_addr_index_from_leb128, dwarf2_read_addr_index_reader): Make
'info_ptr' const.
(read_str_index): Make return type const.
(add_include_dir): Make 'include_dir' const.
(add_file_name): Make 'name' const.
(dwarf_decode_line_header): Constify.
(psymtab_include_file_name): Make return type const.
(dwarf_decode_lines_1, dwarf_decode_lines): Constify.
(dwarf2_start_subfile): Make 'filename' const.
(dwarf2_const_value_attr): Make 'bytes' const.
(read_signatured_type_reader): Make 'info_ptr' const.
(decode_locdesc): Constify.
(skip_form_bytes): Make 'bytes', 'buffer_end', and return type
const.
(skip_unknown_opcode): Make 'opcode_definitions', 'mac_ptr',
'mac_end', and return type const.
(dwarf_parse_macro_header): Make 'mac_ptr' and return type const.
(dwarf_decode_macro_bytes): Make 'mac_ptr', 'mac_end', and return
type const.
(per_cu_header_read_in): Constify.
* symfile.h (dwarf2_get_section_info): Update.
2013-04-12 Tom Tromey <tromey@redhat.com>
* symtab.h (struct general_symbol_info) <value.bytes>: Make const.
2013-04-12 Eli Zaretskii <eliz@gnu.org>
* NEWS: Mention "show configuration", --configuration.
* top.c (print_gdb_configuration): New function, displays the
details about GDB configure-time parameters.
(print_gdb_version): Mention "show configuration".
* cli/cli-cmds.c (show_configuration): New function.
(_initialize_cli_cmds): Add the "show configuration" command.
* main.c (captured_main) <print_configuration>: New static var.
<long_options>: Use it.
If --configuration was given, call print_gdb_configuration.
2013-04-11 Jan Kratochvil <jan.kratochvil@redhat.com>
Pedro Alves <palves@redhat.com>
* Makefile.in (HAVE_NATIVE_GCORE_TARGET): New.
(generated_files): Add gcore.
(install-only, uninstall): Add gcore if HAVE_NATIVE_GCORE_TARGET or
HAVE_NATIVE_GCORE_HOST.
(gcore): New.
* NEWS (Changes since GDB 7.6): Mention newly installed gcore.
* config/alpha/alpha-osf3.mh, config/i386/fbsd.mh,
config/i386/fbsd64.mh, config/i386/i386gnu.mh, config/i386/i386sol2.mh,
config/i386/sol2-64.mh, config/mips/irix5.mh, config/mips/irix6.mh,
config/powerpc/fbsd.mh, config/sparc/fbsd.mh, config/sparc/sol2.mh:
Add HAVE_NATIVE_GCORE_HOST.
* configure: Regenerate.
* configure.ac (HAVE_NATIVE_GCORE_TARGET): New, set it, AC_SUBST it.
New AC_SUBST fir GDB_TRANSFORM_NAME and GCORE_TRANSFORM_NAME. New
AC_CONFIG_FILES for gcore.
* configure.tgt: Add gdb_have_gcore to the initial comment. Set
gdb_have_gcore.
* gdb_gcore.sh: Rename to ...
* gcore.in: ... here. Remove gcore.sh comment. Use GDB_TRANSFORM_NAME
and GCORE_TRANSFORM_NAME substitutions.
Fix parsing tabs in ${gdb_target_obs}.
* configure.tgt (gdb_have_gcore): Replace case with for and if.
2013-04-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* remote.c (unpush_and_perror): Add output message final dot.
2013-04-11 Yao Qi <yao@codesourcery.com>
* tracepoint.c (tfile_interp_line): Fit parameters line and
utpp in one line.
2013-04-10 Joel Brobecker <brobecker@adacore.com>
* solib.c (solib_map_sections): Remove code overwriting
SO->SO_NAME with the bfd's filename.
Accept "set foo unlimited" in integer/uinteger/zuinteger_unlimited commands. Currently, several commands take "0" or "-1" to mean "unlimited". "show" knows when to print "unlimited": (gdb) show height Number of lines gdb thinks are in a page is 45. (gdb) set height 0 (gdb) show height Number of lines gdb thinks are in a page is unlimited. However, the user can't herself specify "unlimited" directly: (gdb) set height unlimited No symbol table is loaded. Use the "file" command. (gdb) This patch addresses that, by adjusting the set handler for all integer/uinteger/zuinteger_unlimited commands to accept literal "unlimited". It also installs a completer. Presently, we complete on symbols by default, and at <http://sourceware.org/ml/gdb-patches/2013-03/msg00864.html> I've shown a WIP prototype that tried to keep that half working in these commands. In the end, it turned out to be more complicated than justifiable, IMO. It's super rare to want to pass the value of a variable/symbol in the program to a GDB set/show knob. That'll still work, it's just that we won't assist with completion anymore. This patch just sticks with the simple, and completes on "unlimited", and nothing else. This simplification means that "set he<tab><tab>" is all it takes to get to: "set height unlimited" The patch then goes through all integer/uinteger/zuinteger_unlimited commands in the tree, and updates both the online help and the manual to mention that "unlimited" is accepted in addition to 0/-1. In the cases where the command had no online help text at all, this adds it. I've tried to make the texts read in a way that "unlimited" is suggested before "0" or "-1" is. Tested on x86_64 Fedora 17. gdb/ 2013-04-10 Pedro Alves <palves@redhat.com> * cli/cli-decode.c (integer_unlimited_completer): New function. (add_setshow_integer_cmd, add_setshow_uinteger_cmd) (add_setshow_zuinteger_unlimited_cmd): Install the "unlimited" completer. * cli/cli-setshow.c: Include "cli/cli-utils.h". (is_unlimited_literal): New function. (do_set_command): Handle literal "unlimited" arguments. * frame.c (_initialize_frame) <set backtrace limit>: Document "unlimited". * printcmd.c (_initialize_printcmd) <set print max-symbolic-offset>: Add help text. * record-full.c (_initialize_record_full) <set record full insn-number-max>: Likewise. * record.c (_initialize_record) <set record instruction-history-size, set record function-call-history-size>: Add help text. * ser-tcp.c (_initialize_ser_tcp) <set tcp connect-timeout>: Add help text. * tracepoint.c (_initialize_tracepoint) <set trace-buffer-size>: Likewise. * source.c (_initialize_source) <set listsize>: Add help text. * utils.c (initialize_utils) <set height, set width>: Likewise. <set pagination>: Mention "set height unlimited". * valprint.c (_initialize_valprint) <set print elements, set print repeats>: Document "unlimited". gdb/doc/ 2013-04-10 Pedro Alves <palves@redhat.com> * gdb.texinfo (Process Record and Replay): Document that "set record full insn-number-max", "set record instruction-history-size" and "set record function-call-history-size" accept "unlimited". (Backtrace): Document that "set backtrace limit" accepts "unlimited". (List): Document that "set listsize" accepts "unlimited". (Print Settings)" Document that "set print max-symbolic-offset", "set print elements" and "set print repeats" accept "unlimited". (Starting and Stopping Trace Experiments): Document that "set trace-buffer-size" accepts "unlimited". (Remote Configuration): Document that "set tcp connect-timeout" accepts "unlimited". (Command History): Document that "set history size" accepts "unlimited". (Screen Size): Document that "set height" and "set width" accepts "unlimited". Adjust "set pagination"'s description to suggest "set height unlimited" instead of "set height 0". gdb/testsuite/ 2013-04-10 Pedro Alves <palves@redhat.com> * gdb.base/completion.exp: Test "set height", "set listsize" and "set trace-buffer-size" completion. * gdb.base/setshow.exp: Test "set height unlimited". * gdb.trace/trace-buffer-size.exp: Test "set trace-buffer-size unlimited".
2013-04-10 15:11:12 +00:00
2013-04-10 Pedro Alves <palves@redhat.com>
* cli/cli-decode.c (integer_unlimited_completer): New function.
(add_setshow_integer_cmd, add_setshow_uinteger_cmd)
(add_setshow_zuinteger_unlimited_cmd): Install the "unlimited"
completer.
* cli/cli-setshow.c: Include "cli/cli-utils.h".
(is_unlimited_literal): New function.
(do_set_command): Handle literal "unlimited" arguments.
* frame.c (_initialize_frame) <set backtrace limit>: Document
"unlimited".
* printcmd.c (_initialize_printcmd) <set print
max-symbolic-offset>: Add help text.
* record-full.c (_initialize_record_full) <set record full
insn-number-max>: Likewise.
* record.c (_initialize_record) <set record
instruction-history-size, set record function-call-history-size>:
Add help text.
* ser-tcp.c (_initialize_ser_tcp) <set tcp connect-timeout>: Add
help text.
* tracepoint.c (_initialize_tracepoint) <set trace-buffer-size>:
Likewise.
* source.c (_initialize_source) <set listsize>: Add help text.
* utils.c (initialize_utils) <set height, set width>: Likewise.
<set pagination>: Mention "set height unlimited".
* valprint.c (_initialize_valprint) <set print elements, set print
repeats>: Document "unlimited".
make -gdb-exit call disconnect_tracing too, and don't lose history if the target errors on "quit" Gareth mentions in PR gdb/15275: "The MI '-gdb-exit' command mi_cmd_gdb_exit() never calls disconnect_tracing() and therefore exits correctly." It should, so to get out of tfind mode, as quit may detach instead of kill, and we don't want to confuse the memory/register accesses etc. of the detach process. So we should push down the disconnect tracing bits at least to quit_force. But we can't as is, as that would swallow the error thrown by answering "no" to: Trace is running but will stop on detach; detach anyway? (y or n) So to address that, we split disconnect_tracing in two. One part that does the query, and another part that does the rest, and we make quit_force call the latter. Looking at quit_force, it does several things, some of which are a bit independent of the others. It first kills/detaches, and then writes history, and then runs the final cleanups. It seems better to me to do each of these things even if the previous thing throws. E.g., as is, if something throws while detaching, then we skip writing history. Tested on x86_64 Fedora 17. gdb/ 2013-04-10 Pedro Alves <palves@redhat.com> * cli/cli-cmds.c (quit_command): Call query_if_trace_running instead of disconnect_tracing. * infcmd.c (detach_command, disconnect_command): Call query_if_trace_running. Adjust. * top.c: Include "tracepoint.h". (quit_target): Delete. Contents moved ... (quit_force): ... here. Wrap each stage of teardown in TRY_CATCH. Call disconnect_tracing before detaching.
2013-04-10 14:10:35 +00:00
2013-04-10 Pedro Alves <palves@redhat.com>
* cli/cli-cmds.c (quit_command): Call query_if_trace_running
instead of disconnect_tracing.
* infcmd.c (detach_command, disconnect_command): Call
query_if_trace_running. Adjust.
* top.c: Include "tracepoint.h".
(quit_target): Delete. Contents moved ...
(quit_force): ... here. Wrap each stage of teardown in
TRY_CATCH. Call disconnect_tracing before detaching.
gdb/ 2013-04-10 Hui Zhu <hui@codesourcery.com> Yao Qi <yao@codesourcery.com> * configure.ac: Check libbabeltrace is installed. * config.in: Regenerate. * configure: Regenerate. * Makefile.in (LIBBABELTRACE): New. (CLIBS): Add LIBBABELTRACE. * ctf.c: Include "exec.h". (CTF_EVENT_ID_STATUS, CTF_EVENT_ID_TSV_DEF): New macros. (CTF_EVENT_ID_TP_DEF, ctf_save_write_int32): New macros. (ctf_save_metadata_header): Define new type aliases in metadata. (ctf_write_header): Define event type "tsv_def" and "tp_def" in metadata. Start a new faked packet for trace status. (ctf_write_status): Write trace status to CTF. (ctf_write_uploaded_tsv): Write TSV to CTF. (ctf_write_uploaded_tp): Write tracepoint definition to CTF. (ctf_write_definition_end): End the faked packet. (ctx, ctf_iter, trace_dirname): New. (start_pos): New variable. (ctf_destroy, ctf_open_dir, ctf_open): New. (SET_INT32_FIELD, SET_ARRAY_FIELD, SET_STRING_FIELD): New macros. (ctf_read_tsv, ctf_read_tp, ctf_close, ctf_files_info): New. (ctf_fetch_registers, ctf_xfer_partial): New. (ctf_get_trace_state_variable_value): New. (ctf_get_tpnum_from_frame_event): New. (ctf_get_traceframe_address): New. (ctf_trace_find, ctf_has_stack): New. (ctf_has_registers, ctf_traceframe_info, init_ctf_ops): New. (ctf_get_trace_status, ctf_read_status): New. (_initialize_ctf): New. * tracepoint.c (get_tracepoint_number): New (get_uploaded_tsv): Remove 'static'. (struct traceframe_info, trace_regblock_size): Move it to ... * tracepoint.h: ... here. (get_tracepoint_number): Declare it. (get_uploaded_tsv): Declare it. * NEWS: Mention new configure option. gdb/doc/ 2013-04-10 Yao Qi <yao@codesourcery.com> * gdb.texinfo (Trace Files): Add "target ctf". gdb/testsuite/ 2013-04-10 Yao Qi <yao@codesourcery.com> * gdb.trace/actions.exp: Save trace data to CTF. Change to ctf target if GDB supports, read CTF data in ctf target, and check the actions of tracepoints. * gdb.trace/while-stepping.exp: Likewise. * gdb.trace/report.exp: Test GDB saves trace data to CTF format and read CTF trace file if GDB supports. * gdb.trace/tstatus.exp: Save trace data to CTF. If ctf target is supported, change to ctf target, read trace data and check output of command "tstatus". * gdb.trace/tsv.exp: Save trace frame to CTF. If GDB supports, read CTF data by target ctf and call check_tsv.
2013-04-10 09:42:57 +00:00
2013-04-10 Hui Zhu <hui@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* configure.ac: Check libbabeltrace is installed.
* config.in: Regenerate.
* configure: Regenerate.
* Makefile.in (LIBBABELTRACE): New.
(CLIBS): Add LIBBABELTRACE.
* ctf.c: Include "exec.h".
(CTF_EVENT_ID_STATUS, CTF_EVENT_ID_TSV_DEF): New macros.
(CTF_EVENT_ID_TP_DEF, ctf_save_write_int32): New macros.
(ctf_save_metadata_header): Define new type aliases in
metadata.
(ctf_write_header): Define event type "tsv_def" and "tp_def"
in metadata. Start a new faked packet for trace status.
(ctf_write_status): Write trace status to CTF.
(ctf_write_uploaded_tsv): Write TSV to CTF.
(ctf_write_uploaded_tp): Write tracepoint definition to CTF.
(ctf_write_definition_end): End the faked packet.
(ctx, ctf_iter, trace_dirname): New.
(start_pos): New variable.
(ctf_destroy, ctf_open_dir, ctf_open): New.
(SET_INT32_FIELD, SET_ARRAY_FIELD, SET_STRING_FIELD): New
macros.
(ctf_read_tsv, ctf_read_tp, ctf_close, ctf_files_info): New.
(ctf_fetch_registers, ctf_xfer_partial): New.
(ctf_get_trace_state_variable_value): New.
(ctf_get_tpnum_from_frame_event): New.
(ctf_get_traceframe_address): New.
(ctf_trace_find, ctf_has_stack): New.
(ctf_has_registers, ctf_traceframe_info, init_ctf_ops): New.
(ctf_get_trace_status, ctf_read_status): New.
(_initialize_ctf): New.
* tracepoint.c (get_tracepoint_number): New
(get_uploaded_tsv): Remove 'static'.
(struct traceframe_info, trace_regblock_size): Move it to ...
gdb/ 2013-04-10 Hui Zhu <hui@codesourcery.com> Yao Qi <yao@codesourcery.com> * configure.ac: Check libbabeltrace is installed. * config.in: Regenerate. * configure: Regenerate. * Makefile.in (LIBBABELTRACE): New. (CLIBS): Add LIBBABELTRACE. * ctf.c: Include "exec.h". (CTF_EVENT_ID_STATUS, CTF_EVENT_ID_TSV_DEF): New macros. (CTF_EVENT_ID_TP_DEF, ctf_save_write_int32): New macros. (ctf_save_metadata_header): Define new type aliases in metadata. (ctf_write_header): Define event type "tsv_def" and "tp_def" in metadata. Start a new faked packet for trace status. (ctf_write_status): Write trace status to CTF. (ctf_write_uploaded_tsv): Write TSV to CTF. (ctf_write_uploaded_tp): Write tracepoint definition to CTF. (ctf_write_definition_end): End the faked packet. (ctx, ctf_iter, trace_dirname): New. (start_pos): New variable. (ctf_destroy, ctf_open_dir, ctf_open): New. (SET_INT32_FIELD, SET_ARRAY_FIELD, SET_STRING_FIELD): New macros. (ctf_read_tsv, ctf_read_tp, ctf_close, ctf_files_info): New. (ctf_fetch_registers, ctf_xfer_partial): New. (ctf_get_trace_state_variable_value): New. (ctf_get_tpnum_from_frame_event): New. (ctf_get_traceframe_address): New. (ctf_trace_find, ctf_has_stack): New. (ctf_has_registers, ctf_traceframe_info, init_ctf_ops): New. (ctf_get_trace_status, ctf_read_status): New. (_initialize_ctf): New. * tracepoint.c (get_tracepoint_number): New (get_uploaded_tsv): Remove 'static'. (struct traceframe_info, trace_regblock_size): Move it to ... * tracepoint.h: ... here. (get_tracepoint_number): Declare it. (get_uploaded_tsv): Declare it. * NEWS: Mention new configure option. gdb/doc/ 2013-04-10 Yao Qi <yao@codesourcery.com> * gdb.texinfo (Trace Files): Add "target ctf". gdb/testsuite/ 2013-04-10 Yao Qi <yao@codesourcery.com> * gdb.trace/actions.exp: Save trace data to CTF. Change to ctf target if GDB supports, read CTF data in ctf target, and check the actions of tracepoints. * gdb.trace/while-stepping.exp: Likewise. * gdb.trace/report.exp: Test GDB saves trace data to CTF format and read CTF trace file if GDB supports. * gdb.trace/tstatus.exp: Save trace data to CTF. If ctf target is supported, change to ctf target, read trace data and check output of command "tstatus". * gdb.trace/tsv.exp: Save trace frame to CTF. If GDB supports, read CTF data by target ctf and call check_tsv.
2013-04-10 09:42:57 +00:00
* tracepoint.h: ... here.
(get_tracepoint_number): Declare it.
(get_uploaded_tsv): Declare it.
* NEWS: Mention new configure option.
2013-04-10 Pedro Alves <palves@redhat.com>
Hui Zhu <hui@codesourcery.com>
* breakpoint.c (dprintf_re_set): New.
(initialize_breakpoint_ops): Set dprintf_breakpoint_ops re_set
to dprintf_re_set.
2013-04-09 Joel Brobecker <brobecker@adacore.com>
* configure.tgt (gdb_target_obs) <powerpc-*-aix* | rs6000-*-*>:
Remove solib-svr4.o from the list.
2013-04-09 Joel Brobecker <brobecker@adacore.com>
* varobj.c (update_dynamic_varobj_children) [!HAVE_PYTHON]:
Use gdb_assert_not_reached instead of invalid boolean expression.
2013-04-09 Pedro Alves <palves@redhat.com>
* remote.c (unpush_and_perror): New function.
(readchar, remote_serial_write): Use it.
2013-04-09 Markus Metzger <markus.t.metzger@intel.com>
* NEWS: Mention new btrace RSP packets.
2013-04-08 Tom Tromey <tromey@redhat.com>
* symmisc.c (dump_msymbols): Cast fprintf_filtered argument to
long.
2013-04-08 Tom Tromey <tromey@redhat.com>
* maint.c (print_bfd_section_info): Print the section index.
* symmisc.c (dump_msymbols): Print the section index.
PR symtab/8424: * blockframe.c (find_pc_partial_function_gnu_ifunc): Check SYMBOL_SECTION, not SYMBOL_OBJ_SECTION. * breakpoint.c (resolve_sal_pc): Update. * elfread.c (elf_gnu_ifunc_record_cache): Update. * findvar.c (struct minsym_lookup_data) <objfile>: New field. (minsym_lookup_iterator_cb): Use it. (default_read_var_value): Update. * hppa-hpux-tdep.c (hppa64_hpux_in_solib_call_trampoline): Update. * infcmd.c (jump_command): Update. * linespec.c (minsym_found): Update. * maint.c (maintenance_translate_address): Update. * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Update. (prim_record_minimal_symbol_full): Don't set SYMBOL_OBJ_SECTION. * parse.c (write_exp_msymbol): Update. * printcmd.c (address_info): Update. * psymtab.c (find_pc_sect_psymbol): Update. (fixup_psymbol_section): Check SYMBOL_SECTION, not SYMBOL_OBJ_SECTION. (add_psymbol_to_bcache): Correctly initialize SYMBOL_SECTION. Don't initialize SYMBOL_OBJ_SECTION. * spu-tdep.c (spu_catch_start): Update. * stabsread.c (define_symbol): Don't set SYMBOL_SECTION. * symmisc.c (dump_msymbols, print_symbol): Update. * symtab.c (fixup_section): Don't set 'obj_section'. Change how fallback section is computed. (fixup_symbol_section): Update. (find_pc_sect_symtab, find_function_start_sal, skip_prologue_sal): Update. (allocate_symbol, initialize_symbol, allocate_template_symbol): Initialize SYMBOL_SECTION. * symtab.h (struct general_symbol_info) <section>: Update comment. <obj_section>: Remove. (SYMBOL_OBJ_SECTION): Add 'objfile' argument. Rewrite. (SYMBOL_OBJFILE): New macro.
2013-04-08 20:18:11 +00:00
2013-04-08 Tom Tromey <tromey@redhat.com>
PR symtab/8424:
* blockframe.c (find_pc_partial_function_gnu_ifunc): Check
SYMBOL_SECTION, not SYMBOL_OBJ_SECTION.
* breakpoint.c (resolve_sal_pc): Update.
* elfread.c (elf_gnu_ifunc_record_cache): Update.
* findvar.c (struct minsym_lookup_data) <objfile>: New field.
(minsym_lookup_iterator_cb): Use it.
(default_read_var_value): Update.
* hppa-hpux-tdep.c (hppa64_hpux_in_solib_call_trampoline):
Update.
* infcmd.c (jump_command): Update.
* linespec.c (minsym_found): Update.
* maint.c (maintenance_translate_address): Update.
* minsyms.c (lookup_minimal_symbol_by_pc_section_1): Update.
(prim_record_minimal_symbol_full): Don't set SYMBOL_OBJ_SECTION.
* parse.c (write_exp_msymbol): Update.
* printcmd.c (address_info): Update.
* psymtab.c (find_pc_sect_psymbol): Update.
(fixup_psymbol_section): Check SYMBOL_SECTION, not
SYMBOL_OBJ_SECTION.
(add_psymbol_to_bcache): Correctly initialize SYMBOL_SECTION.
Don't initialize SYMBOL_OBJ_SECTION.
* spu-tdep.c (spu_catch_start): Update.
* stabsread.c (define_symbol): Don't set SYMBOL_SECTION.
* symmisc.c (dump_msymbols, print_symbol): Update.
* symtab.c (fixup_section): Don't set 'obj_section'. Change
how fallback section is computed.
(fixup_symbol_section): Update.
(find_pc_sect_symtab, find_function_start_sal, skip_prologue_sal):
Update.
(allocate_symbol, initialize_symbol, allocate_template_symbol):
Initialize SYMBOL_SECTION.
* symtab.h (struct general_symbol_info) <section>: Update comment.
<obj_section>: Remove.
(SYMBOL_OBJ_SECTION): Add 'objfile' argument. Rewrite.
(SYMBOL_OBJFILE): New macro.
2013-04-08 Tom Tromey <tromey@redhat.com>
* coffread.c (record_minimal_symbol): Update.
* dbxread.c (record_minimal_symbol): Update.
* elfread.c (record_minimal_symbol): Update.
* machoread.c (macho_symtab_add_minsym): Update.
* mdebugread.c (record_minimal_symbol, parse_partial_symbols):
Update.
* minsyms.c (prim_record_minimal_symbol): Update.
(prim_record_minimal_symbol_full): Remove 'bfd_section'
argument.
(prim_record_minimal_symbol_and_info): Likewise.
* minsyms.h (prim_record_minimal_symbol_full)
(prim_record_minimal_symbol_and_info): Update.
* symtab.c (allocate_symbol, initialize_symbol)
(allocate_template_symbol): Initialize SYMBOL_SECTION.
* xcoffread.c (record_minimal_symbol, scan_xcoff_symtab):
Update.
2013-04-08 Tom Tromey <tromey@redhat.com>
PR symtab/8423:
* solib-som.c (som_solib_section_offsets): Use BFD section
indices. Set offsets for all sections.
* somread.c (som_symtab_read): Compute BFD section for
symbol. Use prim_record_minimal_symbol_and_info.
(som_symfile_read): Fix comment.
(struct find_section_offset_arg): New.
(find_section_offset, set_section_index): New functions.
(som_symfile_offsets): Use set_section_index to compute
section indices.
2013-04-08 Tom Tromey <tromey@redhat.com>
* coffread.c (cs_to_section): Use gdb_bfd_section_index.
* elfread.c (record_minimal_symbol, elf_symtab_read): Use
gdb_bfd_section_index.
* gdb_bfd.c (gdb_bfd_section_index, gdb_bfd_count_sections):
New functions.
* gdb_bfd.h (gdb_bfd_section_index, gdb_bfd_count_sections):
Declare.
* machoread.c (macho_symtab_add_minsym, macho_symfile_offsets):
Update.
* objfiles.c (add_to_objfile_sections_full): New function.
(add_to_objfile_sections): Use it.
(build_section_table): Rewrite.
(objfile_relocate1): Use gdb_bfd_section_index. Update.
* objfiles.h (obj_section_offset): Use gdb_bfd_section_index.
(struct objfile) <sections>: Update comment.
(ALL_OBJFILE_OSECTIONS): Skip sections where the_bfd_section
is NULL.
(ALL_OBJSECTIONS): Use it.
* solib-dsbt.c (dsbt_relocate_main_executable): Update.
* solib-frv.c (frv_relocate_main_executable): Update.
* solib-target.c (solib_target_relocate_section_addresses):
Use gdb_bfd_section_index.
* symfile.c (build_section_addr_info_from_section_table):
Use gdb_bfd_section_index.
(build_section_addr_info_from_bfd, place_section): Likewise.
* symtab.c (fixup_section): Update.
* xcoffread.c (find_targ_sec): Use gdb_bfd_section_index.
2013-04-08 Tom Tromey <tromey@redhat.com>
* minsyms.h (struct bound_minimal_symbol): New.
(lookup_minimal_symbol_and_objfile): Return bound_minimal_symbol.
Remove objfile argument.
(lookup_minimal_symbol_by_pc_section, lookup_minimal_symbol_by_pc):
Return bound_minimal_symbol.
* minsyms.c (lookup_minimal_symbol_by_pc_1)
(lookup_minimal_symbol_by_pc_section, lookup_minimal_symbol_by_pc):
Return bound_minimal_symbol.
(in_gnu_ifunc_stub): Update.
(lookup_minimal_symbol_and_objfile): Return bound_minimal_symbol.
Remove 'objfile_p' argument.
(lookup_solib_trampoline_symbol_by_pc): Update.
* ada-tasks.c, amd64-windows-tdep.c, arm-tdep.c,
arm-wince-tdep.c, block.c, blockframe.c, breakpoint.c, btrace.c,
c-valprint.c, dwarf2loc.c, elfread.c, frame.c, frv-tdep.c,
glibc-tdep.c, gnu-v2-abi.c, gnu-v3-abi.c, hppa-hpux-tdep.c,
i386-tdep.c, ia64-tdep.c, infcall.c, infcmd.c, jit.c,
linux-fork.c, m32c-tdep.c, m68hc11-tdep.c, maint.c,
mips-tdep.c, p-valprint.c, parse.c, ppc-linux-tdep.c,
ppc-sysv-tdep.c, printcmd.c, rs6000-tdep.c, sh64-tdep.c,
stack.c, symtab.c, tui/tui-disasm.c: Update.
2013-04-08 Tom Tromey <tromey@redhat.com>
* ada-lang.c (ada_decode_symbol): Check and set 'ada_mangled'.
Use symbol's obstack, not an objfile.
* coffread.c (process_coff_symbol): Update.
* dwarf2read.c (fixup_go_packaging, new_symbol_full): Update.
* jv-lang.c (add_class_symbol): Update.
* mdebugread.c (new_symbol): Update.
* minsyms.c (prim_record_minimal_symbol_full)
(terminate_minimal_symbol_table): Update.
* psymtab.c (add_psymbol_to_bcache): Clear entire symbol. Update.
* stabsread.c (define_symbol, read_enum_type): Update.
* symtab.c (symbol_set_demangled_name, symbol_get_demangled_name):
Handle Ada specially.
(symbol_set_language): Add 'obstack' argument.
(symbol_set_names): Update.
(symbol_natural_name, symbol_demangled_name): Always use
ada_decode_symbol.
* symtab.h (struct general_symbol_info)
<language_specific::obstack>: New field.
<ada_mangled>: New field.
(SYMBOL_SET_LANGUAGE): Add 'obstack' argument.
(symbol_set_language): Update.
2013-04-08 Tom Tromey <tromey@redhat.com>
* symtab.c (symbol_init_cplus_specific, symbol_set_demangled_name):
Take an obstack, not an objfile.
(symbol_set_names): Update.
* symtab.h (symbol_set_demangled_name): Update.
2013-04-08 Tom Tromey <tromey@redhat.com>
* coffread.c (process_coff_symbol, coff_read_enum_type): Call
allocate_symbol.
* dwarf2read.c (fixup_go_packaging): Call allocate_symbol.
(read_func_scope): Call allocate_template_symbol.
(new_symbol_full): Call allocate_symbol.
* jit.c (finalize_symtab): Call allocate_symbol.
* jv-lang.c (add_class_symbol): Call allocate_symbol.
* mdebugread.c (parse_symbol, new_block): Call allocate_symbol.
* stabsread.c (patch_block_stabs, define_symbol, read_enum_type)
(common_block_end): Call allocate_symbol.
* symtab.c (allocate_symbol, initialize_symbol)
(allocate_template_symbol): New functions.
* symtab.c (allocate_symbol, initialize_symbol)
(allocate_template_symbol): Declare.
* xcoffread.c (process_xcoff_symbol): Call initialize_symbol.
2013-04-08 Pedro Alves <palves@redhat.com>
Keith Seitz <keiths@redhat.com>
* breakpoint.c (create_breakpoint): Rename
"parse_condition_and_thread" parameter to "parse_arg". Update
describing comment. If !PARSE_ARG, then error out if ARG is not
the empty string after extracting the location.
* breakpoint.h (create_breakpoint): Rename
"parse_condition_and_thread" parameter to "parse_arg".
2013-04-08 Aleksandar Ristovski <aristovski@qnx.com
* solib-svr4.c (lm_addr_check): Add const qualifier to 'so' arg.
2013-04-07 Yao Qi <yao@codesourcery.com>
* remote.c (remote_trace_find): Change type of parameters 'addr1'
and 'addr2' to CORE_ADDR.
* target.c (update_current_target): Update.
* target.h (struct target_ops) <to_trace_find>: Change parameter
type to CORE_ADDR.
* tracepoint.c (tfind_1): Change type of parameters 'addr1' and
'addr2' to CORE_ADDR.
(tfile_trace_find): Likewise.
(tfile_get_traceframe_address): Change return type to CORE_ADDR.
Change local variable 'addr' to type CORE_ADDR.
* tracepoint.h (tfind_1): Update declaration.
2013-04-06 Eli Zaretskii <eliz@gnu.org>
* windows-nat.c (windows_get_absolute_argv0): Move from here...
* mingw-hdep.c (windows_get_absolute_argv0): ...to here.
Include main.h.
* windows-nat.h (windows_get_absolute_argv0): Move prototype from
here...
* main.h (windows_get_absolute_argv0): ...to here.
2013-04-05 Doug Evans <dje@google.com>
* dwarf2read.c (struct dwarf2_per_objfile): Tweak comment.
(read_cutu_die_from_dwo): Add comments.
(read_structure_type): Update comment.
(read_enumeration_type, read_namespace_type): Update comment.
(read_die_type, get_die_type_at_offset, get_die_type): Update comment.
2013-04-05 Jan Kratochvil <jan.kratochvil@redhat.com>
Convert man pages to texinfo, new gdbinit.5 texinfo page.
* Makefile.in (gdb.z): Remove.
(install-only): Remove $(man1dir) and gdb.1 installation.
* gdb.1: Remove.
2013-04-05 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix compatibility with Linux kernel 3.8.3.
* linux-tdep.c (linux_find_memory_regions_full): Move variable number
to more inner block. Remove parsing of NUMBER from outer block.
Parse NUMBER only if KEYWORD has been identified.
2013-04-05 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix variable name shadowing.
* linux-tdep.c (linux_find_memory_regions_full): Rename outer variable
filename to mapsfilename and update its uses.
2013-04-05 Eli Zaretskii <eliz@gnu.org>
* Makefile.in (TAGS): Avoid warning from etags when $GDB_NM_FILE is
empty. See http://sourceware.org/ml/gdb-patches/2012-08/msg00504.html
and http://sourceware.org/ml/gdb-patches/2013-04/msg00055.html for
details of the problem.
tracepoint->step_count fixes If a tracepoint's actions list includes a while-stepping action, and then the actions are changed to a list without any while-stepping action, the tracepoint's step_count will be left with a stale value. For example: (gdb) trace subr Tracepoint 1 at 0x4004d9: file ../../../src/gdb/testsuite//actions-changed.c, line 31. (gdb) actions Enter actions for tracepoint 1, one per line. End with a line saying just "end". >collect $reg >end (gdb) set debug remote 1 (gdb) tstart Sending packet: $QTinit#59...Packet received: OK Sending packet: $QTDP:1:00000000004004d9:E:0:0-#a3...Packet received: OK Sending packet: $QTDP:-1:00000000004004d9:R03FFFFFFFFFFFFFFFFFF#2b...Packet received: OK (gdb) tstop Sending packet: $QTStop#4b...Packet received: OK Sending packet: $QTNotes:#e8...Packet received: OK (gdb) actions Enter actions for tracepoint 1, one per line. End with a line saying just "end". >collect $reg >while-stepping 1 >collect $reg >end >end (gdb) tstart Sending packet: $QTinit#59...Packet received: OK Sending packet: $QTDP:1:00000000004004d9:E:1:0-#a4...Packet received: OK Sending packet: $QTDP:-1:00000000004004d9:R03FFFFFFFFFFFFFFFFFF-#58...Packet received: OK Sending packet: $QTDP:-1:00000000004004d9:SR03FFFFFFFFFFFFFFFFFF#7e...Packet received: OK (gdb) tstop Sending packet: $QTStop#4b...Packet received: OK Sending packet: $QTNotes:#e8...Packet received: OK (gdb) actions Enter actions for tracepoint 1, one per line. End with a line saying just "end". >collect $regs >end (gdb) tstart Sending packet: $QTinit#59...Packet received: OK Sending packet: $QTDP:1:00000000004004d9:E:1:0-#a4...Packet received: OK Sending packet: $QTDP:-1:00000000004004d9:R03FFFFFFFFFFFFFFFFFF#2b...Packet received: OK The last "$QTDP:1:00000000004004d9:E:1:0-#a4" should be "$QTDP:1:00000000004004d9:E:0:0-#a3". In pseudo-diff: -$QTDP:1:00000000004004d9:E:1:0-#a4 +$QTDP:1:00000000004004d9:E:0:0-#a3 A related issue is that the "commands" command actually supports setting commands to a range of breakpoints/tracepoints at once. But, hacking "maint info breakpoints" to print t->step_count, reveals: (gdb) trace main Tracepoint 5 at 0x45a2ab: file ../../src/gdb/gdb.c, line 29. (gdb) trace main Note: breakpoint 5 also set at pc 0x45a2ab. Tracepoint 6 at 0x45a2ab: file ../../src/gdb/gdb.c, line 29. (gdb) commands 5-6 Type commands for breakpoint(s) 5-6, one per line. End with a line saying just "end". > while-stepping 5 >end > end (gdb) maint info breakpoints 5 Num Type Disp Enb Address What 5 tracepoint keep y 0x000000000045a2ab in main at ../../src/gdb/gdb.c:29 inf 1 step_count=5 ^^^^^^^^^^^^ while-stepping 5 end not installed on target (gdb) maint info breakpoints 6 Num Type Disp Enb Address What 6 tracepoint keep y 0x000000000045a2ab in main at ../../src/gdb/gdb.c:29 inf 1 step_count=0 ^^^^^^^^^^^^ while-stepping 5 end not installed on target (gdb) that tracepoint 6 doesn't end up with the correct step_count. The issue is that here: static void do_map_commands_command (struct breakpoint *b, void *data) { struct commands_info *info = data; if (info->cmd == NULL) { struct command_line *l; if (info->control != NULL) l = copy_command_lines (info->control->body_list[0]); else { struct cleanup *old_chain; char *str; str = xstrprintf (_("Type commands for breakpoint(s) " "%s, one per line."), info->arg); old_chain = make_cleanup (xfree, str); l = read_command_lines (str, info->from_tty, 1, (is_tracepoint (b) ? check_tracepoint_command : 0), b); do_cleanups (old_chain); } info->cmd = alloc_counted_command_line (l); } validate_actionline is never called for tracepoints other than the first (the copy_command_lines path). Right below, we have: /* If a breakpoint was on the list more than once, we don't need to do anything. */ if (b->commands != info->cmd) { validate_commands_for_breakpoint (b, info->cmd->commands); incref_counted_command_line (info->cmd); decref_counted_command_line (&b->commands); b->commands = info->cmd; observer_notify_breakpoint_modified (b); } And validate_commands_for_breakpoint looks like the right place to put a call; if we reset step_count there too, we have a nice central fix for the first issue as well, because trace_actions_command calls breakpoint_set_commands that also calls validate_commands_for_breakpoint. We end up calling validate_actionline twice for the first tracepoint, since read_command_lines calls it too, through check_tracepoint_command, but that should be harmless. 2013-04-04 Pedro Alves <palves@redhat.com> Hui Zhu <hui@codesourcery.com> * breakpoint.c (validate_commands_for_breakpoint): If validating a tracepoint, reset its STEP_COUNT and call validate_actionline. 2013-04-04 Stan Shebs <stan@codesourcery.com> Pedro Alves <palves@redhat.com> * gdb.trace/Makefile.in (PROGS): Add actions-changed. * gdb.trace/actions-changed.c: New file. * gdb.trace/actions-changed.exp: New file. * lib/trace-support.exp (gdb_trace_setactions): Rename to ... (gdb_trace_setactions_command): ... this. Add "actions_command" parameter, and handle it. (gdb_trace_setactions, gdb_trace_setcommands): New procedures.
2013-04-04 19:22:38 +00:00
2013-04-04 Pedro Alves <palves@redhat.com>
Hui Zhu <hui@codesourcery.com>
* breakpoint.c (validate_commands_for_breakpoint): If validating a
tracepoint, reset its STEP_COUNT and call validate_actionline.
2013-04-03 Doug Evans <dje@google.com>
* dwarf2read.c (read_die_and_siblings_1): Renamed from
read_die_and_siblings.
(read_die_and_siblings): New function.
(read_cutu_die_from_dwo): Dump die if requested.
(read_die_and_children): Call read_full_die_1 and
read_die_and_siblings_1.
(read_full_die): Dump die if requested.
* dwarf2read.c (read_comp_units_from_section): Add debugging printf.
* dwarf2read.c (struct dwo_file): New member comp_dir.
Rename member name to dwo_name. All uses updated.
(hash_dwo_file): Include comp_dir in computation.
(eq_dwo_file): Ditto.
(lookup_dwo_file_slot): New arg comp_dir. All callers updated.
(create_dwo_in_dwp, lookup_dwo_in_dwp, open_and_init_dwo_file): Ditto.
* psymtab.c (read_psymtabs_with_fullname): Don't call
psymtab_to_fullname if the basenames are different.
2013-04-03 Jan Kratochvil <jan.kratochvil@redhat.com>
* NEWS (Changes in GDB 7.6): Update the data-disassemble for "fullname".
New entry about "fullname" presence.
2013-04-03 Pedro Alves <palves@redhat.com>
* NEWS: Mention x86_64/Cygwin as new native configuration.
2013-04-02 Doug Evans <dje@google.com>
* dwarf2read.c (read_structure_type): Fix typo in comment.
2013-04-02 Pedro Alves <palves@redhat.com>
* NEWS: Mention "set/show debug aarch64", "set/show debug
coff-pe-read" and "set/show debug mach-o".
2013-04-02 Pedro Alves <palves@redhat.com>
* NEWS: Mention "set/show remote trace-buffer-size-packet".
2013-04-02 Eli Zaretskii <eliz@gnu.org>
* Makefile.in (HFILES_NO_SRCDIR): Remove call-cmds.h.
gdb_string.h is now in common/.
2013-04-02 Pedro Alves <palves@redhat.com>
* NEWS: Move "set debug notification" and "set trace-buffer-size"
under "New options".
2013-04-02 Jan Kratochvil <jan.kratochvil@redhat.com>
Revert this patch:
PR gdb/15275
* remote.c (remote_get_trace_status): Include putpkt in TRY_CATCH.
unpush the remote target if serial_write fails. PR gdb/15275 notes that when debugging with a remote connection over a serial link and the link is disconnected, say by disconnecting USB serial port, the GDB quit command no longer works: (gdb) tar ext /dev/ttyACM0 &"tar ext /dev/ttyACM0\n" ~"Remote debugging using /dev/ttyACM0\n" ^done (gdb) set debug remote 1 &"set debug remote 1\n" ^done (gdb) quit &"quit\n" &"Sending packet: $qTStatus#49..." &"putpkt: write failed: Input/output error.\n" ^error,msg="putpkt: write failed: Input/output error." (gdb) (gdb) quit &"quit\n" &"Sending packet: $qTStatus#49..." &"putpkt: write failed: Input/output error.\n" ^error,msg="putpkt: write failed: Input/output error." This is not reproducible with TCP connections, as with that, sending doesn't error out, but instead the error is detected on the subsequent readchar. When that read fails, we unpush the remote target, and throw TARGET_CLOSE_ERROR. To address PR gdb/15275, instead of catching the error in remote_get_trace_status as presently done (which leaves this same issue latent for another packet to trip on), or of making ser-unix.c fake success too on failed writes, so we'd get to readchar detecting the error on serial ports too, better let the error propagate out of serial_write, and catch it at the remote.c level, throwing away the target if writing fails too, instead of delaying that until the next read. gdb/ 2013-04-02 Pedro Alves <palves@redhat.com> PR gdb/15275 * remote.c (send_interrupt_sequence): Use remote_serial_write. (remote_serial_write): New function. (putpkt_binary, getpkt_or_notif_sane_1): Use remote_serial_write.
2013-04-02 13:51:07 +00:00
2013-04-02 Pedro Alves <palves@redhat.com>
PR gdb/15275
* remote.c (send_interrupt_sequence): Use remote_serial_write.
(remote_serial_write): New function.
(putpkt_binary, getpkt_or_notif_sane_1): Use remote_serial_write.
2013-04-01 Jiong Wang <jiwang@tilera.com>
* NEWS: Mention TILE-Gx in "New native configurations" and
"New targets" sections.
2013-04-01 Doug Evans <dje@google.com>
* dwarf2read.c (lookup_signatured_type_at_offset): Delete.
(process_enumeration_scope): Simplify.
* dwarf2read.c (struct dwarf2_per_cu_data): Move member
type_unit_group ...
(struct signatured_type): ... to here.
(sig_type_ptr): New typedef.
(type_unit_group): Delete member 't.first_cu'. Move member 'tus'
out of union 't'. All uses updated.
(dw2_get_file_names_reader): Assert not called for a type unit.
(dw2_get_file_names): Assert not called for a type unit or type
unit group.
(build_type_psymtabs_reader): Assert called for a type unit.
(build_type_psymtab_dependencies): Assert called for a type unit group.
* dwarf2read.c (free_dwo_file): Add comment.
(dwarf2_per_objfile_free): Unref dwp bfd.
2013-04-01 Aleksandar Ristovski <aristovski@qnx.com>
* coff-pe-read.c (add_pe_exported_sym): Remove unused 'dll_name_len'.
(add_pe_forwarded_sym): Remove unused 'section', 'dll_name_len'.
(read_pe_exported_syms): Remove unused 'exportix'.
(pe_text_section_offset): Remove unused 'opthdr_ofs', 'num_entries',
'export_rva', 'export_size', 'expptr', 'exp_funcbase', 'expdata',
'erva', 'name_rvas', 'ordinals', 'nexp', 'ordbase', 'dll_name'.
2013-04-01 Aleksandar Ristovski <aristovski@qnx.com>
* breakpoint.c (parse_cond_to_aexpr): Remove unused 'old_chain'.
(print_it_watchpoint): Remove unused 'bl'.
(say_where): Remove unused 'uiout'.
(bpstat_remove_breakpoint_callback): Remove unused 'uiout'.
(bkpt_breakpoint_hit): Remove unused 'b'.
(internal_bkpt_print_it): Remove unused 'uiout'.
* buildsym.c (augment_type_symtab): Remove unused 'i'.
2013-03-31 Tiago Stürmer Daitx <tdaitx@linux.vnet.ibm.com>
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_float): New function.
(ppc64_sysv_abi_push_dummy_call): Handle complex arguments.
2013-03-29 Doug Evans <dje@google.com>
* dwarf2read.c (open_dwo_file): Renamed from open_dwop_file.
Delete arg is_dwp. All callers updated.
(open_dwp_file): New function.
(open_and_init_dwp_file): Call it.
(get_dwp_file): New function.
(lookup_dwo_cutu): Call it.
* dwarf2read.c (open_and_init_dwp_file): Remove incorrect, and
unnecessary, cleanup.
* dwarf2read.c (lookup_dwo_cutu): Improve complaint text.
* dwarf2read.c (read_cutu_die_from_dwo): New function.
(lookup_dwo_unit): New function.
(init_cutu_and_read_dies): Move DWO handling to new functions.
* dwarf2read.c (struct signatured_type): Tweak comment.
(struct dwo_unit): Tweak comment.
(create_debug_types_hash_table): Tweak comment. Reformat long line.
(create_dwo_debug_info_hash_table): Tweak comment.
(dwarf2_per_cu_offset_and_type): Tweak comment.
* dwarf2read.c (lookup_signatured_type): Remove complaint about
missing .debug_types section.
2013-03-29 Yao Qi <yao@codesourcery.com>
* corelow.c: Include "completer.h".
(_initialize_corelow): Call add_target_with_completer with
argument 'filename_completer'.
* tracepoint.c: Likewise.
* exec.c (_initialize_exec): Likewise.
* target.c (add_target): Rename to ...
(add_target_with_completer): ... this. Call set_cmd_completer
if parameter completer is not NULL.
(add_target): New.
* target.h: Include "command.h".
(add_target_with_completer): Declare it.
2013-03-28 Joel Brobecker <brobecker@adacore.com>
* coffread.c (is_import_fixup_symbol): New function.
(record_minimal_symbol): Use is_import_fixup_symbol to
detect import fixup symbols, and discard them.
2013-03-28 Doug Evans <dje@google.com>
* dwarf2read.c (create_debug_types_hash_table): Don't allocate the
types hash table until we know we need it.
* dwarf2read.c (create_addrmap_from_index): Complain about bad CU
index numbers.
* dwarf2read.c (dw2_get_file_names): Delete arg "objfile".
All callers updated.
(dw2_print_stats): Print #read CUs too.
(dump_die_shallow): Print signatured types better.
* dwarf2read.c (struct dwarf2_per_cu_data): Rename member
info_or_types_section to section. All uses updated.
(struct dwo_unit): Ditto.
2013-03-28 Pedro Alves <palves@redhat.com>
* NEWS (New options): New section.
(New options): Mention set/show remote trace-status-packet.
* remote.c (PACKET_qTStatus): New enumeration value.
(remote_get_trace_status): Skip sending qTStatus if the packet is
disabled. Use packet_ok.
(_initialize_remote): Register a configuration command for
qTStatus packet.
2013-03-28 Doug Evans <dje@google.com>
* symfile.c (find_separate_debug_file): Add comment.
(terminate_after_last_dir_separator): Tweak comment.
* dwarf2read.c (create_partial_symtab): Add forward decl.
(create_partial_symtab): Move to be closer to other psymtab functions.
(process_psymtab_comp_unit_reader, process_psymtab_comp_unit): Ditto.
* dwarf2read.c (dwarf2_physname): Move declaration to better spot.
(compute_symtab_includes): Remove unnecessary forward declaration.
(die_needs_namespace): Add comment marking group of functions for
dwarf2 name computation.
* typeprint.c (_initialize_typeprint): Improve type help text.
* python/python.c (finish_python_initialization): Provide suggestion
for how to tell gdb to find its python files.
Fix PR gdb/15294: list with unlimited listsize broken Currently, "set listsize -1" is supposed to mean "unlimited" source lines, but, alas, it doesn't actually work: (gdb) set listsize -1 (gdb) show listsize Number of source lines gdb will list by default is unlimited. (gdb) list 1 (gdb) list 1 (gdb) list 1 (gdb) set listsize 10 (gdb) list 1 1 /* Main function for CLI gdb. 2 Copyright (C) 2002-2013 Free Software Foundation, Inc. 3 4 This file is part of GDB. 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3 of the License, or 9 (at your option) any later version. 10 Before this patch: http://sourceware.org/ml/gdb-patches/2012-08/msg00367.html was applied, the "set listsize" command was a var_integer command, and "unlimited" was set with 0. Internally, var_integer maps 0 to INT_MAX case var_integer: { ... if (val == 0 && c->var_type == var_integer) val = INT_MAX; The change in that patch to zuinteger_unlimited command, meant that -1 is left as -1 in the command's control variable (lines_to_list), and the code in source.c isn't expecting that -- it only expects positive numbers. I previously suggested fixing the code and keeping the new behavior, but I found that "set listsize 0" is currently used in the wild, and we do have a bunch of other commands where "0" means unlimited, so I'm thinking that changing this command alone in isolation is not a good idea. So I now strongly prefer reverting back the behavior in 7.6 to the same behavior the command has had since 2006 (0==unlimited, -1=error). Before that, set listsize -1 would be accepted as unlimited as well. After 7.6 is out, in mainline, we can get back to reconsidering changing this command's behavior, if there's a real need for being able to suppress output. For now, let's play it safe. The "list line 1 with unlimited listsize" test in list.exp was originally written years and years ago expecting 0 to mean "no output", but GDB never actually worked that way, even when the tests were written, so the tests had been xfailed then. This patch now adjusts the test to the new behavior, so that the test actually passes, and the xfail is removed. gdb/ 2013-03-28 Pedro Alves <palves@redhat.com> PR gdb/15294 * source.c (_initialize_source): Change back "set listsize" to an integer command. gdb/testsuite/ 2013-03-28 Pedro Alves <palves@redhat.com> PR gdb/15294 * gdb.base/list.exp (set_listsize): Adjust to accept $arg == 0 to mean unlimited instead of $arg < 0. (test_listsize): Remove "listsize of 0 suppresses output" test. Test that "set listsize 0" ends up with an unlimited listsize. gdb/doc/ 2013-03-28 Pedro Alves <palves@redhat.com> PR gdb/15294 * gdb.texinfo (List) <set listsize>: Adjust to document that listsize 0 means no limit, and remove mention of -1.
2013-03-28 11:57:47 +00:00
2013-03-28 Pedro Alves <palves@redhat.com>
PR gdb/15294
* source.c (_initialize_source): Change back "set listsize" to an
integer command.
2013-03-27 Gareth McMullin <gareth@blacksphere.co.nz>
PR gdb/15275
* remote.c (remote_get_trace_status): Include putpkt in TRY_CATCH.
Forbid "set history size (INT_MAX..UINT_MAX)" The whole readline interface is signed, and works with the 0..INT_MAX range. We don't allow setting the size to UINT_MAX directly. The documented user visible interface is "use 0 for unlimited". The UINT_MAX representation is an implementation detail we could change, e.g., by keeping a separate flag for "unlimited", which is actually what the readline interface does (stifled vs non stifled). Generically speaking, exposing this detail to clients of the interface may make our lives complicated when we find the need to extend the range of some command in the future, and it's better if users (frontends/scripts) aren't relying on anything but what we tell them to use for "unlimited". Making values other than 0 error out is the way to prevent users from using those ranges inappropriately. Quite related, note: (gdb) set history size 0xffffffff integer 4294967295 out of range But, (gdb) set history size 0xfffffffe (gdb) show history size The size of the command history is unlimited. (gdb) set history size 0x100000000 integer 4294967296 out of range If values over INT_MAX are accepted as unlimited, then there's no good argument for only accepting [INT_MAX..UINT_MAX) as valid "unlimited" magic numbers, while not accepting [UINT_MAX..inf). Making the setting's control variable of different type (unsigned int) of the rest of the related code (int) adds the need to recall that one variable among all these is unsigned, and that one need to think about whether these comparisons are signed or unsigned, along with the promotion/conversion rules. Since this is an easy to forget detail, this patch renames the variable to at least make it more obvious that this variable is not one of GNU history's public int variables, which are all signed. We don't actually need the only code that presently is affected by this, though, the code that is computing the current history's length. We can just use GNU history's history_length instead: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Variable: int history_length The number of entries currently stored in the history list. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /* Return the history entry which is logically at OFFSET in the history array. OFFSET is relative to history_base. */ HIST_ENTRY * history_get (offset) int offset; { int local_index; local_index = offset - history_base; return (local_index >= history_length || local_index < 0 || the_history == 0) ? (HIST_ENTRY *)NULL : the_history[local_index]; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ At the time this code was added (gdb 4.13 ~1994), 'history_length' was extern, but not documented in readline's GNU history documents, so I guess it wasn't considered public then and the loop was the workaround. One of the warts of GDB choosing 0 to mean unlimited is that "set history size 0" behaves differently from 'HISTSIZE=0 gdb'. The latter leaves GDB with no history, while the former means "unlimited"... $ HISTSIZE=0 ./gdb ... (gdb) show history size The size of the command history is 0. We shouldn't really change what HISTSIZE=0 means, as bash, etc. also handle 0 as real zero, and zero it's what really makes sense. gdb/ 2013-03-27 Pedro Alves <palves@redhat.com> * top.c (history_size): Rename to ... (history_size_setshow_var): ... this. Add comment. (show_commands): Use readline's 'history_length' instead of computing the history length by calling history_get in a loop. (set_history_size_command): Error out for sizes over INT_MAX. Restore previous history size on invalid size. (init_history): If HISTSIZE is negative, leave the history size as zero. Add comments. (init_main): Adjust.
2013-03-27 12:14:09 +00:00
2013-03-27 Pedro Alves <palves@redhat.com>
* top.c (history_size): Rename to ...
(history_size_setshow_var): ... this. Add comment.
(show_commands): Use readline's 'history_length' instead of
computing the history length by calling history_get in a loop.
(set_history_size_command): Error out for sizes over INT_MAX.
Restore previous history size on invalid size.
(init_history): If HISTSIZE is negative, leave the history size as
zero. Add comments.
(init_main): Adjust.
2013-03-27 Pedro Alves <palves@redhat.com>
* coff-pe-read.c (_initialize_coff_pe_read): Rename "set debug
coff_pe_read" command to "set debug coff-pe-read".
2013-03-27 Markus Metzger <markus.t.metzger@intel.com>
* record.c (command_size_to_target_size): Fix size comparison.
Change parameter type from pointer to integer to integer.
Update all users.
2013-03-27 Pierre Muller <muller@sourceware.org>
* windows-nat.c (handle_output_debug_string): Avoid typecast
from integer of different size warning.
2013-03-26 Joel Brobecker <brobecker@adacore.com>
* windows-nat.c (handle_output_debug_string): Add empty line
after local block variable definition.
2013-03-26 Pedro Alves <palves@redhat.com>
* ser-tcp.c (wait_for_connect): Make 'polls' parameter unsigned.
(net_open): Make 'polls' local unsigned.
2013-03-26 Pedro Alves <palves@redhat.com>
* remote.c (_initialize_remote): Make "set remoteaddresssize"
a zuinteger command instead of uinteger.
2013-03-26 Pedro Alves <palves@redhat.com>
* record-full.c (record_full_insn_num): Make it unsigned.
(record_full_check_insn_num, record_full_message)
(record_full_registers_change, record_full_xfer_partial): Remove
record_full_insn_max_num check (it's always != 0).
(record_full_info, record_full_restore): Use %u as format string.
(): Use %u as format string.
(set_record_full_insn_max_num): Remove record_full_insn_max_num
check (it's always != 0).
Make "set/show dcache line-size" and "set/show dcache size" zinteger commands instead of uinteger. It doesn't make sense to request an "unlimited" dcache. You want to configure the cache with specific lines and length of lines. It doesn't actually work anyway: (gdb) set dcache line-size 0 Invalid dcache line size: 4294967295 (must be power of 2). (gdb) set dcache size 0 (gdb) show dcache size Number of dcache lines is unlimited. (gdb) info dcache Dcache 4294967295 lines of 64 bytes each. No data cache available. The code already has guards in place to forbid 0s: static void set_dcache_size (char *args, int from_tty, struct cmd_list_element *c) { if (dcache_size == 0) { dcache_size = DCACHE_DEFAULT_SIZE; error (_("Dcache size must be greater than 0.")); } if (last_cache) dcache_invalidate (last_cache); } static void set_dcache_line_size (char *args, int from_tty, struct cmd_list_element *c) { if (dcache_line_size < 2 || (dcache_line_size & (dcache_line_size - 1)) != 0) { unsigned d = dcache_line_size; dcache_line_size = DCACHE_DEFAULT_LINE_SIZE; error (_("Invalid dcache line size: %u (must be power of 2)."), d); } if (last_cache) dcache_invalidate (last_cache); } So we now get: (gdb) set dcache line-size 0 Invalid dcache line size: 0 (must be power of 2). (gdb) set dcache size 0 Dcache size must be greater than 0. gdb/ 2013-03-26 Pedro Alves <palves@redhat.com> * dcache.c (_initialize_dcache): Make the "set dcache line-size" and "set dcache size" commands zuinteger instead of uinteger.
2013-03-26 19:16:05 +00:00
2013-03-26 Pedro Alves <palves@redhat.com>
* dcache.c (_initialize_dcache): Make the "set dcache line-size"
and "set dcache size" commands zuinteger instead of uinteger.
2013-03-26 Pedro Alves <palves@redhat.com>
* cris-tdep.c (_initialize_cris_tdep): Make the "set cris-version"
command zuinteger instead of uinteger.
2013-03-26 Pedro Alves <palves@redhat.com>
* coff-pe-read.c (_initialize_coff_pe_read): Make the command
zuinteger instead of uinteger.
2013-03-26 Pedro Alves <palves@redhat.com>
* record.c (record_insn_history_size_setshow_var)
(record_call_history_size_setshow_var): New globals.
(command_size_to_target_size): New function.
(cmd_record_insn_history, cmd_record_call_history): Use
command_size_to_target_size instead of cast.
(validate_history_size, set_record_insn_history_size)
(set_record_call_history_size): New functions.
(_initialize_record): Install set_record_insn_history_size and
set_record_call_history_size as "set" hooks of "set record
instruction-history-size" and "set record
function-call-history-size".
2013-03-26 Pedro Alves <palves@redhat.com>
* top.c (gdb_rl_operate_and_get_next): Replace max_input_history
use with history_max_entries use. Remove FIXME note.
2013-03-26 Markus Metzger <markus.t.metzger@intel.com>
* record-btrace.c (record_btrace_close): Call
record_btrace_auto_disable.
2013-03-25 Joel Brobecker <brobecker@adacore.com>
* rs6000-nat.c (fixup_breakpoints): Delete declaration.
2013-03-25 Doug Evans <dje@google.com>
* contrib/cc-with-tweaks.sh: Check exit code of dwp.
2013-03-25 Tom Tromey <tromey@redhat.com>
PR symtab/11462:
* c-exp.y (exp): Add new productions for destructors after '.' and
'->'.
(write_destructor_name): New function.
2013-03-25 Tom Tromey <tromey@redhat.com>
PR c++/9197:
* opencl-lang.c (evaluate_subexp_opencl) <STRUCTOP_STRUCT>: Use
value_struct_elt, not lookup_struct_elt_type.
* eval.c (evaluate_subexp_standard) <STRUCTOP_STRUCT,
STRUCTOP_PTR>: Use value_struct_elt, not lookup_struct_elt_type.
* expression.h (EVAL_AVOID_SIDE_EFFECTS): Update comment.
2013-03-25 Yao Qi <yao@codesourcery.com>
* ctf.c [USE_WIN32API]: Undef 'mkdir' and use 'mkdir'
instead of '_mkdir'.
2013-03-23 Eli Zaretskii <eliz@gnu.org>
* windows-nat.c (windows_get_absolute_argv0): New function.
* windows-nat.h: Add its prototype.
* main.c (get_init_files): Use filename_ncmp instead of strncmp.
Use IS_DIR_SEPARATOR instead of looking for a character inside
SLASH_STRING. Include filenames.h.
(captured_main) [__MINGW32__]: Make argv[0] absolute, so that
relocate_gdb_directory works when passed gdb_program_name.
Include windows-nat.h.
2013-03-22 Jan Kratochvil <jan.kratochvil@redhat.com>
* exceptions.h (enum errors): New entry TARGET_CLOSE_ERROR.
* remote.c (trace_error): Remove the special handling of '2'.
(readchar) <SERIAL_EOF>
(readchar) <SERIAL_ERROR>
(getpkt_or_notif_sane_1): Use TARGET_CLOSE_ERROR for them.
(remote_get_trace_status): Call throw_exception if EX is
TARGET_CLOSE_ERROR.
* utils.c (perror_with_name): Rename to ...
(throw_perror_with_name): ... here. New parameter errcode, describe it
in the function comment.
(perror_with_name): New function wrapper.
* utils.h (enum errors): New stub declaration.
(throw_perror_with_name): New declaration.
2013-03-22 Pedro Alves <palves@redhat.com>
Yao Qi <yao@codesourcery.com>
Mark Kettenis <kettenis@gnu.org>
* cli/cli-setshow.c (do_set_command) <var_uinteger>:
Don't let the user set the value to UINT_MAX directly.
<var_integer>: Don't let the user set the value to INT_MAX
directly.
2013-03-22 Jan Kratochvil <jan.kratochvil@redhat.com>
* remote.c (remote_unpush_target): New function.
(remote_open_1): Remove two pop_target calls, update one comment, add
comment to target_preopen call. Replace pop_target call by
remote_unpush_target call.
(interrupt_query, readchar, getpkt_or_notif_sane_1): Replace
pop_target calls by remote_unpush_target calls.
Linux: No need to set ptrace event options in fork/clone children. Oleg Nesterov told me that the Linux kernel copies the parent's ptrace options to fork/clone children, so there's no need for GDB to do that manually. I was actually a bit surprised, since I thought the ptracer had to always set the ptrace options itself, and GDB is indeed calling PTRACE_SETOPTIONS for each new fork child, if it'll stay attached. Looking at the history of that code, I found that is was actually I who added that set-ptrace-options-in-children bit, back in http://sourceware.org/ml/gdb-patches/2009-05/msg00656.html. But, honestly, I don't recall why I needed that. I think I may have just blindly believed it was necessary. I then looked back at the history of all the PTRACE_SETOPTIONS code we have, and found that gdb never did copy the ptrace options before my patch. But, when gdbserver learnt to use PTRACE_EVENT_CLONE, at http://sourceware.org/ml/gdb-patches/2007-10/msg00547.html, it was made to do 'ptrace (PTRACE_SETOPTIONS, new_pid, 0, PTRACE_O_TRACECLONE)' for all new clones. Hmmm. But, GDB itself never did that, so it can't really ever have been necessary, I believe, otherwise GDB should have been doing it too. (GDBserver doesn't support following forks, and so naturally doesn't do any PTRACE_SETOPTIONS on fork children.) So this patch removes the -I believe- unnecessary ptrace syscalls. Tested on x86_64 Fedora 17, native/gdbserver, and on x86_64 RHEL5 native/gdbserver (Linux 2.6.18, I think a ptrace-on-utrace kernel). No regressions. gdb/ 2013-03-22 Pedro Alves <palves@redhat.com> * linux-nat.c (linux_child_follow_fork): Don't call linux_enable_event_reporting. (linux_handle_extended_wait): Don't call linux_enable_event_reporting. gdb/gdbserver/ 2013-03-22 Pedro Alves <palves@redhat.com> * linux-low.c (handle_extended_wait): Don't call linux_enable_event_reporting.
2013-03-22 14:52:26 +00:00
2013-03-22 Pedro Alves <palves@redhat.com>
* linux-nat.c (linux_child_follow_fork): Don't call
linux_enable_event_reporting.
(linux_handle_extended_wait): Don't call
linux_enable_event_reporting.
hppa-hpux-tdep.c: Fix host dependency. $ make WERROR_CFLAGS="-Wpointer-sign -Werror" hppa-hpux-tdep.o -k 2>&1 1>/dev/null ../../src/gdb/hppa-hpux-tdep.c: In function ‘hppa_hpux_push_dummy_code’: ../../src/gdb/hppa-hpux-tdep.c:1225:7: error: pointer targets in passing argument 2 of ‘write_memory’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/hppa-hpux-tdep.c:22:0: ../../src/gdb/gdbcore.h:85:13: note: expected ‘const gdb_byte *’ but argument is of type ‘char *’ ../../src/gdb/hppa-hpux-tdep.c:1251:7: error: pointer targets in passing argument 2 of ‘write_memory’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/hppa-hpux-tdep.c:22:0: ../../src/gdb/gdbcore.h:85:13: note: expected ‘const gdb_byte *’ but argument is of type ‘char *’ ../../src/gdb/hppa-hpux-tdep.c: In function ‘hppa_hpux_supply_save_state’: ../../src/gdb/hppa-hpux-tdep.c:1354:9: error: pointer targets in passing argument 1 of ‘extract_unsigned_integer’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/hppa-hpux-tdep.c:20:0: ../../src/gdb/defs.h:675:22: note: expected ‘const gdb_byte *’ but argument is of type ‘const char *’ Casting to gdb_byte would fix it, however, writing an unsigned int array like this static unsigned int hppa64_tramp[] = { 0xeac0f000, /* bve,l (r22),%r2 */ 0x0fdf12d1, /* std r31,-8(,sp) */ 0x0fd110c2, /* ldd -8(,sp),rp */ 0xe840d002, /* bve,n (rp) */ 0x08000240 /* nop */ ... directly to target memory assumes the host endianness is the same as the target's. hppa is big endian, so I believe this patch should be correct -- it defines the array as a gdb_byte array. It uses a macro to make the insn bytes a little more readable. I thought of using write_memory_unsigned_integer once for each element of the unsigned int array, but this way keeps issuing a single target memory write / roundtrip for the whole trampoline. gdb/ 2013-03-22 Pedro Alves <palves@redhat.com> * hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Define INSN macro, use it to rewrite the trampoline buffers with type gdb_byte[], and undefine the macro. Remove char* cast.
2013-03-22 14:43:28 +00:00
2013-03-22 Pedro Alves <palves@redhat.com>
* hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Define INSN macro,
use it to rewrite the trampoline buffers with type gdb_byte[], and
undefine the macro. Remove char* cast.
New commands "mt set per-command {space,time,symtab} {on,off}". * NEWS: Add entry. * event-top.c: #include "maint.h". * main.c: #include "maint.h". * maint.c: #include <sys/time.h>, <time.h>, block.h, top.h, timeval-utils.h, maint.h, cli/cli-setshow.h. (per_command_time, per_command_space): New static globals. (per_command_symtab): New static global. (per_command_setlist, per_command_showlist): New static globals. (struct cmd_stats): Move here from utils.c. (set_per_command_time): Renamed from set_display_time in utils.c and moved here. All callers updated. (set_per_command_space): Renamed from set_display_space in utils.c and moved here. All callers updated. (count_symtabs_and_blocks): New function. (report_command_stats): Moved here from utils.c. Add support for printing symtab stats. Only print data if enabled before command executed. (make_command_stats_cleanup): Ditto. (sert_per_command_cmd, show_per_command_cmd): New functions. (_initialize_maint_cmds): Add new commands mt set per-command {space,time,symtab} {on,off}. * maint.h: New file. * top.c: #include "maint.h". * utils.c (reset_prompt_for_continue_wait_time): New function. (get_prompt_for_continue_wait_time): New function. * utils.h (reset_prompt_for_continue_wait_time): Declare (get_prompt_for_continue_wait_time): Declare. (make_command_stats_cleanup): Moved to maint.h. (set_display_time, set_display_space): Moved to maint.h and renamed to set_per_command_time, set_per_command_space. * cli/cli-setshow.c (parse_cli_boolean_value): Renamed from parse_binary_operation and made non-static. Don't call error, just return an error marker. All callers updated. * cli/cli-setshow.h (parse_cli_boolean_value): Declare. doc/ * gdb.texinfo (Maintenance Commands): Add docs for "mt set per-command {space,time,symtab} {on,off}". testsuite/ * gdb.base/maint.exp: Update tests for per-command stats.
2013-03-21 17:37:30 +00:00
2013-03-21 Doug Evans <dje@google.com>
New commands "mt set per-command {space,time,symtab} {on,off}".
* NEWS: Add entry.
* event-top.c: #include "maint.h".
* main.c: #include "maint.h".
* maint.c: #include <sys/time.h>, <time.h>, block.h, top.h,
timeval-utils.h, maint.h, cli/cli-setshow.h.
(per_command_time, per_command_space): New static globals.
(per_command_symtab): New static global.
(per_command_setlist, per_command_showlist): New static globals.
(struct cmd_stats): Move here from utils.c.
(set_per_command_time): Renamed from set_display_time in utils.c
and moved here. All callers updated.
(set_per_command_space): Renamed from set_display_space in utils.c
and moved here. All callers updated.
(count_symtabs_and_blocks): New function.
(report_command_stats): Moved here from utils.c. Add support for
printing symtab stats. Only print data if enabled before command
executed.
(make_command_stats_cleanup): Ditto.
(sert_per_command_cmd, show_per_command_cmd): New functions.
(_initialize_maint_cmds): Add new commands
mt set per-command {space,time,symtab} {on,off}.
* maint.h: New file.
* top.c: #include "maint.h".
* utils.c (reset_prompt_for_continue_wait_time): New function.
(get_prompt_for_continue_wait_time): New function.
* utils.h (reset_prompt_for_continue_wait_time): Declare
(get_prompt_for_continue_wait_time): Declare.
(make_command_stats_cleanup): Moved to maint.h.
(set_display_time, set_display_space): Moved to maint.h and renamed
to set_per_command_time, set_per_command_space.
* cli/cli-setshow.c (parse_cli_boolean_value): Renamed from
parse_binary_operation and made non-static. Don't call error,
just return an error marker. All callers updated.
* cli/cli-setshow.h (parse_cli_boolean_value): Declare.
2013-03-21 Tom Tromey <tromey@redhat.com>
* symfile.c (alloc_section_addr_info): Update header. Don't set
'num_sections' field.
(build_section_addr_info_from_section_table): Set 'num_sections'.
(build_section_addr_info_from_bfd): Likewise.
(build_section_addr_info_from_objfile): Remove dead loop
condition.
(free_section_addr_info): Unconditionally call xfree.
(relative_addr_info_to_section_offsets, addrs_section_sort)
(addr_info_make_relative, syms_from_objfile_1): Remove dead loop
condition.
(syms_from_objfile_1): Remove dead 'if' condition. Check
'num_sections'.
(add_symbol_file_command): Set 'num_sections'.
* symfile-mem.c (symbol_file_add_from_memory): Set
'num_sections'.
* somread.c (som_symfile_offsets): Remove dead loop condition.
* machoread.c (macho_symfile_offsets): Remove dead 'if'.
* jit.c (jit_bfd_try_read_symtab): Set 'num_sections'.
2013-03-21 16:16:33 +00:00
2013-03-21 Tom Tromey <tromey@redhat.com>
* tracepoint.h (decode_agent_options): Add 'trace_string'
argument.
* tracepoint.c (decode_agent_options): Add 'trace_string'
argument.
(validate_actionline): Update.
(collect_symbol): Add 'trace_string' argument.
(struct add_local_symbols_data) <trace_string>: New field.
(do_collect_symbol): Update.
(add_local_symbols): Add 'trace_string' argument.
(encode_actions_1): Update.
(trace_dump_actions): Update.
* dwarf2loc.c (access_memory): Update.
* ax.h (struct agent_expr) <tracing, trace_string>: New fields.
* ax-general.c (new_agent_expr): Update.
* ax-gdb.h (gen_trace_for_expr, gen_trace_for_var)
(gen_trace_for_return_address): Add argument.
(trace_kludge, trace_string_kludge): Remove.
* ax-gdb.c (trace_kludge, trace_string_kludge): Remove.
(gen_traced_pop, gen_fetch, gen_bitfield_ref, gen_expr): Update.
(gen_trace_for_var): Add 'trace_string' argument.
(gen_trace_for_expr, gen_trace_for_return_address): Likewise.
(gen_printf, agent_eval_command_one): Update.
2013-03-21 Tom Tromey <tromey@redhat.com>
PR exp/15109:
* c-exp.y (yylex): Rewrite to push all tokens onto the FIFO.
Handle FILENAME token.
2013-03-21 Tom Tromey <tromey@redhat.com>
* c-exp.y (YYPRINT): Define.
(c_print_token): New function.
2013-03-21 Tom Tromey <tromey@redhat.com>
* c-exp.y (%union) <sym, ivar, ivec>: Remove.
2013-03-21 Yao Qi <yao@codesourcery.com>
* ctf.c: Include "gdb_stat.h".
[USE_WIN32API]: New macro 'mkdir'.
(ctf_start): Use permission bits macros if they are defined.
2013-03-20 Keith Seitz <keiths@redhat.com>
* breakpoint.h (struct breakpoint): Add comment to
extra_string indicating that this member is mallod'd.
* breakpoint.c (base_breakpoint_dtor): Free extra_string.
Fix PR gdb/15289 - "set remote hardware-watchpoint-limit" broken (zinteger commands) This is a regression from 7.5, introduced/exposed by: http://sourceware.org/ml/gdb-patches/2012-07/msg00259.html There are a series of issues with this code. It does: unsigned int val = parse_and_eval_long (arg); ^^^^^^^^^^^^ (unsigned, usually 32-bit) while parse_and_eval_long returns a LONGEST (usually 64-bit), so we lose precision without noticing: (gdb) set remote hardware-watchpoint-limit 0x100000000 (gdb) show remote hardware-watchpoint-limit 0x100000000 The maximum number of target hardware watchpoints is 0. While at it, print the invalid number with plongest, so the user sees what GDB thought the number was: (gdb) set remote hardware-watchpoint-limit 0x100000000 integer 4294967296 out of range So with "set remote hardware-watchpoint-limit -1", val ends converted to 0xffffffff, which then fails the else if (val >= INT_MAX) error (_("integer %u out of range"), val); test. Looking at that INT_MAX check, we forbid INT_MAX itself, but we shouldn't, as that does fit in 'int' -- we want to forbid values _greater_ than INT_MAX (and less than INT_MIN, while at it): (gdb) set remote hardware-watchpoint-limit 2147483647 integer 2147483647 out of range The same problem is in the new var_zuinteger_unlimited code, which also uses "int" for variable. Also, when printing a 'signed int', we should use %d, not %u. This adds a couple regression tests. Not completely thorough in checking all kinds of invalid input; I'm saving more exaustive testing around zXXinteger commands for something like new test-assisting commands like "maint test cmd-zinteger -1", where testing would focus on the command types, and thus be independent of particular user commands of particular GDB features. Tested on x86_64 Fedora 17. gdb/ 2013-03-20 Pedro Alves <palves@redhat.com> PR gdb/15289 * cli/cli-setshow.c (do_set_command) <var_uinteger, var_zuinteger>: Use LONGEST for variable holding the result of parsing the command argument. Throw error if the value is greater than UINT_MAX. Print the invalid value with plongest. <var_integer, var_zinteger>: Use LONGEST for variable holding the result of parsing the command argument. Throw error if the value is greater than INT_MAX, not greater or equal. Also throw error if the value is less than INT_MIN. Print the invalid value with plongest. <var_zuinteger_unlimited>: Throw error if the value is greater than INT_MAX, not greater or equal. (do_show_command) <var_integer, var_zinteger, var_zuinteger_unlimited>: Use %d for printing int, not %u. gdb/testsuite/ 2013-03-20 Pedro Alves <palves@redhat.com> PR gdb/15289 * gdb.base/remote.exp: Test "set remote hardware-watchpoint-limit -1", "set remote hardware-breakpoint-limit -1", "set remote hardware-watchpoint-limit 2147483647" and "set remote hardware-breakpoint-limit 2147483647".
2013-03-20 18:58:16 +00:00
2013-03-20 Pedro Alves <palves@redhat.com>
PR gdb/15289
* cli/cli-setshow.c (do_set_command)
<var_uinteger, var_zuinteger>: Use LONGEST for variable holding
the result of parsing the command argument. Throw error if the
value is greater than UINT_MAX. Print the invalid value with
plongest.
<var_integer, var_zinteger>: Use LONGEST for variable holding the
result of parsing the command argument. Throw error if the value
is greater than INT_MAX, not greater or equal. Also throw error
if the value is less than INT_MIN. Print the invalid value with
plongest.
<var_zuinteger_unlimited>: Throw error if the value is greater
than INT_MAX, not greater or equal.
(do_show_command) <var_integer, var_zinteger,
var_zuinteger_unlimited>: Use %d for printing int, not %u.
2013-03-20 Tom Tromey <tromey@redhat.com>
* ax-gdb.c (gen_var_ref): Unconditionally call via computed ops,
if possible.
* dwarf2read.c (read_func_scope): Remove old FIXME.
* eval.c (evaluate_subexp_standard): Check SYMBOL_COMPUTED_OPS,
not LOC_COMPUTED.
* findvar.c (symbol_read_needs_frame, default_read_var_value):
Unconditionally call via computed ops, if possible.
* printcmd.c (address_info): Unconditionally call via computed ops,
if possible.
* stack.c (read_frame_arg): Unconditionally call via computed ops,
if possible.
* symtab.c (register_symbol_computed_impl): Sanity check 'ops'.
* tracepoint.c (scope_info): Unconditionally call via computed ops,
if possible.
2013-03-20 Jan Kratochvil <jan.kratochvil@redhat.com> Tom Tromey <tromey@redhat.com> PR symtab/8421: * coffread.c (coff_register_index): New global. (process_coff_symbol, coff_read_enum_type): Set SYMBOL_ACLASS_INDEX. (_initialize_coffread): Initialize new global. * dwarf2loc.c (locexpr_find_frame_base_location) (dwarf2_block_frame_base_locexpr_funcs) (loclist_find_frame_base_location) (dwarf2_block_frame_base_loclist_funcs): New. (dwarf_expr_frame_base_1): Call SYMBOL_BLOCK_OPS, remove internal_error. (dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Add location_has_loclist. * dwarf2loc.h (dwarf2_block_frame_base_locexpr_funcs) (dwarf2_block_frame_base_loclist_funcs): New. * dwarf2read.c (dwarf2_locexpr_index, dwarf2_loclist_index) (dwarf2_locexpr_block_index, dwarf2_loclist_block_index): New globals. (read_func_scope): Update. (fixup_go_packaging, mark_common_block_symbol_computed) (var_decode_location, new_symbol_full, dwarf2_const_value): Set SYMBOL_ACLASS_INDEX. (dwarf2_symbol_mark_computed): Likewise. Add 'is_block' argument. (_initialize_dwarf2_read): Initialize new globals. * jit.c (finalize_symtab): Set SYMBOL_ACLASS_INDEX. * jv-lang.c (add_class_symbol): Set SYMBOL_ACLASS_INDEX. * mdebugread.c (mdebug_register_index, mdebug_regparm_index): New globals. (parse_symbol, psymtab_to_symtab_1): Set SYMBOL_ACLASS_INDEX. (_initialize_mdebugread): Initialize new globals. * psympriv.h (struct partial_symbol) <aclass>: Update comment. * stabsread.c (patch_block_stabs): Set SYMBOL_ACLASS_INDEX. (stab_register_index, stab_regparm_index): New globals. (define_symbol, read_enum_type, common_block_end): Set SYMBOL_ACLASS_INDEX. (_initialize_stabsread): Initialize new globals. * symtab.c (next_aclass_value, symbol_impl, symbol_impls): New globals. (MAX_SYMBOL_IMPLS): New define. (register_symbol_computed_impl, register_symbol_block_impl) (register_symbol_register_impl) (initialize_ordinary_address_classes): New functions. (_initialize_symtab): Call initialize_ordinary_address_classes. * symtab.h (enum address_class) <LOC_FINAL_VALUE>: New constant. (struct symbol_impl): New. (SYMBOL_ACLASS_BITS): New define. (struct symbol) <aclass, ops>: Remove fields. <aclass_index>: New field. (symbol_impls): Declare. (SYMBOL_CLASS, SYMBOL_COMPUTED_OPS, SYMBOL_REGISTER_OPS): Redefine. (SYMBOL_IMPL, SYMBOL_ACLASS_INDEX): New defines. (register_symbol_computed_impl, register_symbol_block_impl) (register_symbol_register_impl): Declare. (struct symbol_computed_ops): Add location_has_loclist. (struct symbol_block_ops): New. (SYMBOL_BLOCK_OPS): New. * xcoffread.c (process_xcoff_symbol): Set SYMBOL_ACLASS_INDEX.
2013-03-20 18:33:05 +00:00
2013-03-20 Jan Kratochvil <jan.kratochvil@redhat.com>
Tom Tromey <tromey@redhat.com>
PR symtab/8421:
* coffread.c (coff_register_index): New global.
(process_coff_symbol, coff_read_enum_type): Set
SYMBOL_ACLASS_INDEX.
(_initialize_coffread): Initialize new global.
* dwarf2loc.c (locexpr_find_frame_base_location)
(dwarf2_block_frame_base_locexpr_funcs)
(loclist_find_frame_base_location)
(dwarf2_block_frame_base_loclist_funcs): New.
(dwarf_expr_frame_base_1): Call SYMBOL_BLOCK_OPS, remove internal_error.
(dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Add location_has_loclist.
* dwarf2loc.h (dwarf2_block_frame_base_locexpr_funcs)
(dwarf2_block_frame_base_loclist_funcs): New.
* dwarf2read.c (dwarf2_locexpr_index, dwarf2_loclist_index)
(dwarf2_locexpr_block_index, dwarf2_loclist_block_index): New
globals.
(read_func_scope): Update.
(fixup_go_packaging, mark_common_block_symbol_computed)
(var_decode_location, new_symbol_full, dwarf2_const_value):
Set SYMBOL_ACLASS_INDEX.
(dwarf2_symbol_mark_computed): Likewise. Add 'is_block' argument.
(_initialize_dwarf2_read): Initialize new globals.
* jit.c (finalize_symtab): Set SYMBOL_ACLASS_INDEX.
* jv-lang.c (add_class_symbol): Set SYMBOL_ACLASS_INDEX.
* mdebugread.c (mdebug_register_index, mdebug_regparm_index): New
globals.
(parse_symbol, psymtab_to_symtab_1): Set SYMBOL_ACLASS_INDEX.
(_initialize_mdebugread): Initialize new globals.
* psympriv.h (struct partial_symbol) <aclass>: Update comment.
* stabsread.c (patch_block_stabs): Set SYMBOL_ACLASS_INDEX.
(stab_register_index, stab_regparm_index): New globals.
(define_symbol, read_enum_type, common_block_end): Set
SYMBOL_ACLASS_INDEX.
(_initialize_stabsread): Initialize new globals.
* symtab.c (next_aclass_value, symbol_impl, symbol_impls): New
globals.
(MAX_SYMBOL_IMPLS): New define.
(register_symbol_computed_impl, register_symbol_block_impl)
(register_symbol_register_impl)
(initialize_ordinary_address_classes): New functions.
(_initialize_symtab): Call initialize_ordinary_address_classes.
* symtab.h (enum address_class) <LOC_FINAL_VALUE>: New constant.
(struct symbol_impl): New.
(SYMBOL_ACLASS_BITS): New define.
(struct symbol) <aclass, ops>: Remove fields.
<aclass_index>: New field.
(symbol_impls): Declare.
(SYMBOL_CLASS, SYMBOL_COMPUTED_OPS, SYMBOL_REGISTER_OPS): Redefine.
(SYMBOL_IMPL, SYMBOL_ACLASS_INDEX): New defines.
(register_symbol_computed_impl, register_symbol_block_impl)
(register_symbol_register_impl): Declare.
(struct symbol_computed_ops): Add location_has_loclist.
(struct symbol_block_ops): New.
(SYMBOL_BLOCK_OPS): New.
* xcoffread.c (process_xcoff_symbol): Set SYMBOL_ACLASS_INDEX.
2013-03-20 Tom Tromey <tromey@redhat.com>
* psymtab.c (find_pc_sect_psymbol, fixup_psymbol_section)
(print_partial_symbols, recursively_search_psymtabs): Use
PSYMBOL_CLASS.
2013-03-20 Pierre Muller <muller@sourceware.org>
* contrib/ari/gdb_ari.sh (OP eol rule): Also check
addtion, subtraction, multiplication and division binary operator.
gdb/ Code cleanup. * bfd-target.c (target_bfd_xclose): Remove parameter quitting. * bsd-kvm.c (bsd_kvm_close): Likewise. * bsd-uthread.c (bsd_uthread_close): Likewise. * corelow.c (core_close): Likewise. (core_close_cleanup): Remove parameter quitting from a caller. * event-top.c (async_disconnect): Likewise. * exec.c (exec_close_1): Remove parameter quitting. * go32-nat.c (go32_close): Likewise. * linux-nat.c (linux_nat_close): Remove parameter quitting. Remove parameter quitting from a caller. * mips-linux-nat.c (super_close): Remove parameter quitting from the variable. (mips_linux_close): Remove parameter quitting. Remove parameter quitting from a caller. * monitor.c (monitor_close): Remove parameter quitting. * monitor.h (monitor_close): Likewise. * record-btrace.c (record_btrace_close): Likewise. * record-full.c (record_full_close): Likewise. * remote-m32r-sdi.c (m32r_close): Remove parameter quitting and remove it also from fprintf_unfiltered. * remote-mips.c (mips_close): Remove parameter quitting. (mips_detach): Remove parameter quitting from a caller. * remote-sim.c (gdbsim_close): Remove parameter quitting. (gdbsim_close): Remove duplicate function comment. Remove parameter quitting and remove it also from printf_filtered. * remote.c (remote_close): Remove parameter quitting. * solib-svr4.c (enable_break): Remove parameter quitting from a caller. * target.c (update_current_target): Remove parameter int from to_close de_fault. (push_target, unpush_target, pop_target): Remove parameter quitting from a caller. (pop_all_targets_above, pop_all_targets): Remove parameter quitting. Remove parameter quitting from a caller. (target_preopen): Remove parameter quitting from a caller. (target_close): Remove parameter quitting. Remove parameter quitting from a caller two times. Remove parameter quitting also from fprintf_unfiltered. * target.h (struct target_ops): Remove parameter quitting and as int from fields to_xclose and to_close. (extern struct target_ops current_target): (target_close, pop_all_targets): Remove parameter quitting. Update the comment. (pop_all_targets_above): Remove parameter quitting. * top.c (quit_target): Remove parameter quitting from a caller. * tracepoint.c (tfile_close): Remove parameter quitting. * windows-nat.c (windows_close): Remove parameter quitting.
2013-03-20 15:46:24 +00:00
2013-03-20 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup.
* bfd-target.c (target_bfd_xclose): Remove parameter quitting.
* bsd-kvm.c (bsd_kvm_close): Likewise.
* bsd-uthread.c (bsd_uthread_close): Likewise.
* corelow.c (core_close): Likewise.
(core_close_cleanup): Remove parameter quitting from a caller.
* event-top.c (async_disconnect): Likewise.
* exec.c (exec_close_1): Remove parameter quitting.
* go32-nat.c (go32_close): Likewise.
* linux-nat.c (linux_nat_close): Remove parameter quitting. Remove
parameter quitting from a caller.
* mips-linux-nat.c (super_close): Remove parameter quitting from the
variable.
(mips_linux_close): Remove parameter quitting. Remove parameter
quitting from a caller.
* monitor.c (monitor_close): Remove parameter quitting.
* monitor.h (monitor_close): Likewise.
* record-btrace.c (record_btrace_close): Likewise.
* record-full.c (record_full_close): Likewise.
* remote-m32r-sdi.c (m32r_close): Remove parameter quitting and remove
it also from fprintf_unfiltered.
* remote-mips.c (mips_close): Remove parameter quitting.
(mips_detach): Remove parameter quitting from a caller.
* remote-sim.c (gdbsim_close): Remove parameter quitting.
(gdbsim_close): Remove duplicate function comment. Remove parameter
quitting and remove it also from printf_filtered.
* remote.c (remote_close): Remove parameter quitting.
* solib-svr4.c (enable_break): Remove parameter quitting from a caller.
* target.c (update_current_target): Remove parameter int from to_close
de_fault.
(push_target, unpush_target, pop_target): Remove parameter quitting from
a caller.
(pop_all_targets_above, pop_all_targets): Remove parameter quitting.
Remove parameter quitting from a caller.
(target_preopen): Remove parameter quitting from a caller.
(target_close): Remove parameter quitting. Remove parameter quitting
from a caller two times. Remove parameter quitting also from
fprintf_unfiltered.
* target.h (struct target_ops): Remove parameter quitting and as int
from fields to_xclose and to_close.
(extern struct target_ops current_target):
(target_close, pop_all_targets): Remove parameter quitting. Update the
comment.
(pop_all_targets_above): Remove parameter quitting.
* top.c (quit_target): Remove parameter quitting from a caller.
* tracepoint.c (tfile_close): Remove parameter quitting.
* windows-nat.c (windows_close): Remove parameter quitting.
2013-03-20 Corinna Vinschen <vinschen@redhat.com>
* windows-nat.c (handle_output_debug_string): Replace call
to string_to_core_addr with call to strtoull.
2013-03-20 Yao Qi <yao@codesourcery.com>
* ctf.c (ctf_save_metadata_header): Define macro HOST_ENDIANNESS
and write it to CTF metadata.
2013-03-19 Corinna Vinschen <vinschen@redhat.com>
* windows-nat.c (handle_output_debug_string): Change type of n to
SIZE_T to avoid crash on 64 bit systems.
2013-03-17 Eli Zaretskii <eliz@gnu.org>
* python/python-internal.h (HAVE_SNPRINTF)
[_WIN32 && HAVE_DECL_SNPRINTF]: Define, to avoid compiler warnings
about redefinition of snprintf by pyerrors.h.
2013-03-15 Steve Ellcey <sellcey@mips.com>
* remote-sim.c (sim_command_completer): Make char arguments const.
2013-03-15 Tom Tromey <tromey@redhat.com>
PR c++/15116:
* gdbtypes.c (types_equal): Handle TYPE_CODE_FUNC.
2013-03-14 Tom Tromey <tromey@redhat.com>
* gdb_bfd.c (struct gdb_bfd_data) <crc_computed, crc>:
New fields.
(get_file_crc): Move from symfile.c.
(gdb_bfd_crc): New function.
* gdb_bfd.h (gdb_bfd_crc): Declare.
* objfiles.h (struct objfile) <crc32, crc32_p>: Remove.
* symfile.c (get_file_crc): Move to gdb_bfd.c.
(separate_debug_file_exists): Use gdb_bfd_crc.
2013-03-14 Tom Tromey <tromey@redhat.com>
* symfile.c (get_debug_link_info): Remove.
(find_separate_debug_file_by_debuglink): Use
bfd_get_debug_link_info.
2013-03-14 Tom Tromey <tromey@redhat.com>
* symtab.c (error_in_psymtab_expansion): New function.
(lookup_symbol_aux_quick)
(basic_lookup_transparent_type_quick): Remove "last resort"
code. Use error_in_psymtab_expansion.
2013-03-14 Doug Evans <dje@google.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2read.c (dw2_map_symtabs_matching_filename): Put continue after
any successful compare_filenames_for_search or FILENAME_CMP.
* psymtab.c (partial_map_symtabs_matching_filename): Likewise.
* symtab.c (iterate_over_some_symtabs): Likewise.
2013-03-14 Jan Kratochvil <jan.kratochvil@redhat.com>
* source.c (print_source_lines_base): Make a local copy of
symtab_to_fullname.
2013-03-14 Hui Zhu <hui_zhu@mentor.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* source.c (print_source_lines_base): Suppress "file" for TUI.
From: Sergio Durigan Junior <sergiodj@redhat.com> Subject: [PATCH] Fix for PR c++/15203 and PR c++/15210 Date: Sat, 09 Mar 2013 02:50:49 -0300 (5 days, 4 hours, 57 minutes ago) Message-ID: <m3a9qdnmti.fsf@redhat.com> Hi, This bug was reported internally at our Bugzilla, along with a proposed fix. After talking to Keith about it, he investigated and came up with another patch needed to really fix the issue on CVS HEAD. The first part of the fix is the patch to cp-namespace.c. It handles the case when we are accessing a static variable inside a function (inside a class) by the full linespec (is it right, Keith?). E.g.: class foo { public: int bar() { static int var = 0; } }; And then, printing the value of `var': (gdb) print 'foo::bar()::var' GDB would fall in an internal_error: gdb/cp-namespace.c:816: internal-error: cp_lookup_nested_symbol called on a non-aggregate type. This is because `cp_lookup_nested_symbol' is not handling the case when TYPE_CODE is either _FUNC or _METHOD. This patch fixes it by returning NULL in this case. The second part of the fix is the patch to elfread.c. It is needed because the BSF_GNU_UNIQUE flag was added to some symbols in <http://sourceware.org/ml/binutils/2009-06/msg00016.html>. Because of that, (still) the command: (gdb) print 'foo::bar()::var' where `var' is a static variable returns: "No symbol "foo::bar()::var" in current context." So with the second patch applied the command finally DTRT: (gdb) print 'foo::bar()::var' $1 = 0 This may not be the ideal solution, according to Keith it would be good to implement productions on c-exp.y in order to recognize CLASS::FUNCTION::VARIABLE, but it is a solution which works with what we have today. I regtested it in Fedora 17 x86_64 with -m64 and -m32, including gdbserver, without regressions. gdb/: 2013-03-14 Keith Seitz <keiths@redhat.com> Alan Matsuoka <alanm@redhat.com> PR c++/15203 PR c++/15210 * cp-namespace.c (cp_lookup_nested_symbol): Handle TYPE_CODE_FUNC and TYPE_CODE_METHOD. * elfread.c (elf_symtab_read): Handle BSF_GNU_UNIQUE for certain symbols. gdb/testsuite/: 2013-03-14 Sergio Durigan Junior <sergiodj@redhat.com> PR c++/15203 PR c++/15210 * gdb.cp/m-static.cc (keepalive_int): New function. (gnu_obj_1::method): New variable `sintvar', call `keepalive_int'. * gdb.cp/m-static.exp: New test for `sintvar'.
2013-03-14 11:13:36 +00:00
2013-03-14 Keith Seitz <keiths@redhat.com>
Alan Matsuoka <alanm@redhat.com>
PR c++/15203
PR c++/15210
* cp-namespace.c (cp_lookup_nested_symbol): Handle TYPE_CODE_FUNC and
TYPE_CODE_METHOD.
* elfread.c (elf_symtab_read): Handle BSF_GNU_UNIQUE for certain
symbols.
2013-03-14 Yao Qi <yao@codesourcery.com>
* tracepoint.c (tfile_write_status): Write 'stop_desc' of trace
status to tfile if trace is stopped by command 'tstop'.
2013-03-14 Yao Qi <yao@codesourcery.com>
* tracepoint.c (tfile_write_status): Write trace notes and user
name into tfile if they are not NULL.
2013-03-14 Hui Zhu <hui@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* Makefile.in (REMOTE_OBS): Add ctf.o.
(SFILES): Add ctf.c.
(HFILES_NO_SRCDIR): Add ctf.h.
* ctf.c, ctf.h: New files.
* tracepoint.c: Include 'ctf.h'.
(collect_pseudocommand): Remove static.
(trace_save_command): Parse option "-ctf".
Produce different trace file writers per option.
Adjust output message.
(trace_save_tfile, trace_save_ctf): New.
* tracepoint.h (trace_save_tfile, trace_save_ctf): Declare.
* mi/mi-main.c: Include 'ctf.h'.
(mi_cmd_trace_save): Handle option '-ctf'. Call either
trace_save_tfile or trace_save_ctf.
* NEWS: Mention these changes.
2013-03-14 Yao Qi <yao@codesourcery.com>
* tracepoint.c (trace_file_writer_xfree): New.
(struct tfile_writer_data): New.
(tfile_dtor, tfile_can_target_save, tfile_start): New.
(tfile_write_header, tfile_write_regblock_type): New.
(tfile_write_status, tfile_write_uploaded_tsv): New.
(tfile_write_uploaded_tp, tfile_write_definition_end): New.
(tfile_write_raw_data, (tfile_end): New.
(tfile_write_ops): New global variable.
(TRACE_WRITE_R_BLOCK): New macro.
(TRACE_WRITE_M_BLOCK_HEADER): New macro.
(TRACE_WRITE_M_BLOCK_MEMORY): New macro.
(TRACE_WRITE_V_BLOCK): New macro.
(trace_save): Add extra one parameter WRITER. Make it static.
Use WRITER to writer trace.
(tfile_trace_file_writer_new): New.
(trace_save_command): Caller update.
(trace_save_tfile): Write trace data in TFILE format.
* tracepoint.h (struct trace_frame_write_ops): New.
(struct trace_file_write_ops): New.
(struct trace_file_writer): New.
(trace_save): Remove its declaration.
(trace_save_tfile): Declare it.
* mi/mi-main.c (mi_cmd_trace_save): Call trace_save_tfile
instead of trace_save.
2013-03-13 Pedro Alves <palves@redhat.com>
* hppa-hpux-nat.c (hppa_hpux_save_state_offset): Make static.
Fix completer.c FIXME, and invalid pointer to pointer conversion. As mentioned in the previous patch, I grepped for "\*\*) &" and found one hit in completer.c. I was about to post a patch that simply made current_demangling_style_string const, and cast away constness at the xfree site. However, looking deeper, it seem to be there's a lot of dead code in the file. First, all external callers of set_demangling_style are found in the stabs reader, commented out for over 12 years: http://sourceware.org/ml/gdb-patches/2000-12/msg00214.html I don't think it's likely we'll ever make the older mangling schemes work for stabs. If we do, we can rediscuss the approach then. Then, set_demangling_command has special handling for unknown demangling styles, but "set demangle-style" is an enum command, and with those, the user can only specify a known enumeration value, by design: (gdb) set demangle-style gangnam-style Undefined item: "gangnam-style". This patch removes all that dead code, then makes current_demangling_style_string point to an element of demangling_style_names, as the FIXME suggests, and then makes current_demangling_style_string, removing the need for the 'const char **' cast. gdb/ 2013-03-13 Pedro Alves <palves@redhat.com> * dbxread.c (read_ofile_symtab, process_one_symbol): Remove commented out code. * demangle.c (current_demangling_style_string): Make it const. (set_demangling_command): Assert the demangling style is known. Remove all handling of unknown styles. Set 'current_demangling_style_string' to an element of the demangling_style_names array. (set_demangling_style): Delete. (_initialize_demangler): Set current_demangling_style_string to the element of the demangling_style_names array that corresponds to the default demangling style. Remove FIXME note. Don't call set_demangling_style. * gdb-demangle.h (set_demangling_style): Remove declaration.
2013-03-13 18:38:12 +00:00
2013-03-13 Pedro Alves <palves@redhat.com>
* dbxread.c (read_ofile_symtab, process_one_symbol): Remove
commented out code.
* demangle.c (current_demangling_style_string): Make it const.
(set_demangling_command): Assert the demangling style is known.
Remove all handling of unknown styles. Set
'current_demangling_style_string' to an element of the
demangling_style_names array.
(set_demangling_style): Delete.
(_initialize_demangler): Set current_demangling_style_string to the
element of the demangling_style_names array that corresponds to
the default demangling style. Remove FIXME note. Don't call
set_demangling_style.
* gdb-demangle.h (set_demangling_style): Remove declaration.
Constify strings in tracepoint.c, lookup_cmd and the completers. This is sort of a continuation of Keith's parse_exp_1 constification patch. It started out by undoing these bits: @@ -754,9 +754,12 @@ validate_actionline (char **line, struct tmp_p = p; for (loc = t->base.loc; loc; loc = loc->next) { - p = tmp_p; - exp = parse_exp_1 (&p, loc->address, + const char *q; + + q = tmp_p; + exp = parse_exp_1 (&q, loc->address, block_for_pc (loc->address), 1); + p = (char *) q; and progressively making more things const upwards, fixing fallout, rinse repeat, until GDB built again (--enable-targets=all). That ended up constifying lookup_cmd/add_cmd and (lots of) friends, and the completers. I didn't try to constify the command hooks themselves, because I know upfront there are commands that write to the command string argument, and I think I managed to stop at a nice non-hacky split point already. I think the only non-really-super-obvious changes are tracepoint.c:validate_actionline, and tracepoint.c:trace_dump_actions. The rest is just mostly about 'char *' => 'const char *', 'char **'=> 'const char **', and the occasional (e.g., deprecated_cmd_warning) case of 'char **'=> 'const char *', where/when I noticed that nothing actually cares about the pointer to pointer output. Tested on x86_64 Fedora 17, native and gdbserver. gdb/ 2013-03-13 Pedro Alves <palves@redhat.com> * ada-lang.c (struct add_partial_datum) <text, text0, word>: Make fields const. (ada_make_symbol_completion_list): Make "text0" parameter const. * ax-gdb.c (agent_eval_command_one): Make "exp" parameter const. * breakpoint.c (condition_completer): Make "text" and "word" parameters const. Adjust. (check_tracepoint_command): Adjust to validate_actionline prototype change. (catch_syscall_completer): Make "text" and "word" parameters const. * cli/cli-cmds.c (show_user): Make "comname" local const. (valid_command_p): Make "command" parameter const. (alias_command): Make "alias_prefix" and "command_prefix" locals const. * cli/cli-decode.c (add_cmd): Make "name" parameter const. (add_alias_cmd): Make "name" and "oldname" parameters const. Adjust. No longer make copy of OLDNAME. (add_prefix_cmd, add_abbrev_prefix_cmd, add_set_or_show_cmd) (add_setshow_cmd_full, add_setshow_enum_cmd) (add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd) (add_setshow_filename_cmd, add_setshow_string_cmd) (add_setshow_string_noescape_cmd) (add_setshow_optional_filename_cmd, add_setshow_integer_cmd) (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd) (add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd) (delete_cmd, add_info, add_info_alias, add_com, add_com_alias): Make "name" parameter const. (help_cmd): Rename "command" parameter to "arg". New const local "command". (find_cmd): Make "command" parameter const. (lookup_cmd_1): Make "text" parameter pointer to const. Adjust to deprecated_cmd_warning prototype change. (undef_cmd_error): Make "cmdtype" parameter const. (lookup_cmd): Make "line" parameter const. (deprecated_cmd_warning): Change type of "text" parameter to pointer to const char, from pointer to pointer to char. Adjust. (lookup_cmd_composition): Make "text" parameter const. (complete_on_cmdlist, complete_on_enum): Make "text" and "word" parameters const. * cli/cli-decode.h (struct cmd_list_element) <name>: Make field const. * cli/cli-script.c (validate_comname): Make "tem" local const. (define_command): New const local "tem_c". Use it in calls to lookup_cmd. (document_command): Make "tem" and "comfull" locals const. (show_user_1): Make "prefix" and "name" parameters const. * cli-script.h (show_user_1): Make "prefix" and "name" parameters const. * command.h (add_cmd, add_alias_cmd, add_prefix_cmd) (add_abbrev_prefix_cmd, completer_ftype, lookup_cmd, lookup_cmd_1) (deprecated_cmd_warning, lookup_cmd_composition, add_com) (add_com_alias, add_info, add_info_alias, complete_on_cmdlist) (complete_on_enum, add_setshow_enum_cmd) (add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd) (add_setshow_filename_cmd, add_setshow_string_cmd) (add_setshow_string_noescape_cmd) (add_setshow_optional_filename_cmd, add_setshow_integer_cmd) (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd) (add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd): Change prototypes, constifying strings. * completer.c (noop_completer, filename_completer): Make "text" and "prefix" parameters const. (location_completer, expression_completer) (complete_line_internal): Make "text" and "prefix" parameters const and adjust. (command_completer, signal_completer): Make "text" and "prefix" parameters const. * completer.h (noop_completer, filename_completer) (expression_completer, location_completer, command_completer) (signal_completer): Change prototypes. * corefile.c (complete_set_gnutarget): Make "text" and "word" parameters const. * cp-abi.c (cp_abi_completer): Likewise. * expression.h (parse_expression_for_completion): Change prototype. * f-lang.c (f_make_symbol_completion_list): Make "text" and "word" parameters const. * infcmd.c (_initialize_infcmd): Make "cmd_name" local const. * infrun.c (handle_completer): Make "text" and "word" parameters const. * interps.c (interpreter_completer): Make "text" and "word" parameters const. * language.h (struct language_defn) <la_make_symbol_completion_list>: Make "text" and "word" parameters const. * parse.c (parse_exp_1): Move const hack to parse_exp_in_context. (parse_exp_in_context): Rename to ... (parse_exp_in_context_1): ... this. (parse_exp_in_context): Reimplement, with const hack from parse_exp_1. (parse_expression_for_completion): Make "string" parameter const. * printcmd.c (decode_format): Make "string_ptr" parameter pointer to pointer to const char. Adjust. (print_command_1): Make "exp" parameter const. (output_command): Rename to ... (output_command_const): ... this. Make "exp" parameter const. (output_command): Reimplement. (x_command): Adjust. (display_command): Rename "exp" parameter to "arg". New "exp" local, const version of "arg". * python/py-auto-load.c (gdbpy_initialize_auto_load): Make "cmd_name" local const. * python/py-cmd.c (cmdpy_destroyer): Cast const away in xfree call. (cmdpy_completer): Make "text" and "word" parameters const. (gdbpy_parse_command_name): Make "prefix_text2" local const. * python/py-param.c (add_setshow_generic): Make "tmp_name" local const. * remote.c (_initialize_remote): Make "cmd_name" local const. * symtab.c (language_search_unquoted_string): Make "text" and "p" parameters const. Adjust. (completion_list_add_fields): Make "sym_text", "text" and "word" parameters const. (struct add_name_data) <sym_text, text, word>: Make fields const. (default_make_symbol_completion_list_break_on): Make "text" and "word" parameters const. Adjust locals. (default_make_symbol_completion_list) (make_symbol_completion_list, make_symbol_completion_type) (make_symbol_completion_list_fn): Make "text" and "word" parameters const. (make_file_symbol_completion_list): Make "text", "word" and "srcfile" parameters const. Adjust locals. (add_filename_to_list): Make "text" and "word" parameters const. (struct add_partial_filename_data) <text, word>: Make fields const. (make_source_files_completion_list): Make "text" and "word" parameters const. * symtab.h (default_make_symbol_completion_list_break_on) (default_make_symbol_completion_list, make_symbol_completion_list) (make_symbol_completion_type enum type_code) (make_symbol_completion_list_fn make_file_symbol_completion_list) (make_source_files_completion_list): Change prototype. * top.c (execute_command): Adjust to pass pointer to pointer to const char to lookup_cmd, and to deprecated_cmd_warning prototype change. (set_verbose): Make "cmdname" local const. * tracepoint.c (decode_agent_options): Make "exp" parameter const, and adjust. (validate_actionline): Make "line" parameter a pointer to const char, and adjust. (encode_actions_1): Make "action_exp" local const, and adjust. (encode_actions): Adjust. (replace_comma): Delete. (trace_dump_actions): Make "action_exp" and "next_comma" locals const, and adjust. Don't frob the action string while splitting it at commas. Instead, make a copy of each split substring in turn. (trace_dump_command): Adjust to validate_actionline prototype change. * tracepoint.h (decode_agent_options, decode_agent_options) (encode_actions, validate_actionline): Change prototypes. * valprint.h (output_command): Delete declaration. (output_command_const): Declare. * value.c (function_destroyer): Cast const away in xfree call.
2013-03-13 18:34:55 +00:00
2013-03-13 Pedro Alves <palves@redhat.com>
* ada-lang.c (struct add_partial_datum) <text, text0, word>: Make
fields const.
(ada_make_symbol_completion_list): Make "text0" parameter const.
* ax-gdb.c (agent_eval_command_one): Make "exp" parameter const.
* breakpoint.c (condition_completer): Make "text" and "word"
parameters const. Adjust.
(check_tracepoint_command): Adjust to validate_actionline
prototype change.
(catch_syscall_completer): Make "text" and "word" parameters
const.
* cli/cli-cmds.c (show_user): Make "comname" local const.
(valid_command_p): Make "command" parameter const.
(alias_command): Make "alias_prefix" and "command_prefix" locals
const.
* cli/cli-decode.c (add_cmd): Make "name" parameter const.
(add_alias_cmd): Make "name" and "oldname" parameters const.
Adjust. No longer make copy of OLDNAME.
(add_prefix_cmd, add_abbrev_prefix_cmd, add_set_or_show_cmd)
(add_setshow_cmd_full, add_setshow_enum_cmd)
(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
(add_setshow_filename_cmd, add_setshow_string_cmd)
(add_setshow_string_noescape_cmd)
(add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
(add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd)
(delete_cmd, add_info, add_info_alias, add_com, add_com_alias):
Make "name" parameter const.
(help_cmd): Rename "command" parameter to "arg". New const local
"command".
(find_cmd): Make "command" parameter const.
(lookup_cmd_1): Make "text" parameter pointer to const. Adjust to
deprecated_cmd_warning prototype change.
(undef_cmd_error): Make "cmdtype" parameter const.
(lookup_cmd): Make "line" parameter const.
(deprecated_cmd_warning): Change type of "text" parameter to
pointer to const char, from pointer to pointer to char. Adjust.
(lookup_cmd_composition): Make "text" parameter const.
(complete_on_cmdlist, complete_on_enum): Make "text" and "word"
parameters const.
* cli/cli-decode.h (struct cmd_list_element) <name>: Make field
const.
* cli/cli-script.c (validate_comname): Make "tem" local const.
(define_command): New const local "tem_c". Use it in calls to
lookup_cmd.
(document_command): Make "tem" and "comfull" locals const.
(show_user_1): Make "prefix" and "name" parameters const.
* cli-script.h (show_user_1): Make "prefix" and "name" parameters
const.
* command.h (add_cmd, add_alias_cmd, add_prefix_cmd)
(add_abbrev_prefix_cmd, completer_ftype, lookup_cmd, lookup_cmd_1)
(deprecated_cmd_warning, lookup_cmd_composition, add_com)
(add_com_alias, add_info, add_info_alias, complete_on_cmdlist)
(complete_on_enum, add_setshow_enum_cmd)
(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
(add_setshow_filename_cmd, add_setshow_string_cmd)
(add_setshow_string_noescape_cmd)
(add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
(add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
Change prototypes, constifying strings.
* completer.c (noop_completer, filename_completer): Make "text"
and "prefix" parameters const.
(location_completer, expression_completer)
(complete_line_internal): Make "text" and "prefix" parameters
const and adjust.
(command_completer, signal_completer): Make "text" and "prefix"
parameters const.
* completer.h (noop_completer, filename_completer)
(expression_completer, location_completer, command_completer)
(signal_completer): Change prototypes.
* corefile.c (complete_set_gnutarget): Make "text" and "word"
parameters const.
* cp-abi.c (cp_abi_completer): Likewise.
* expression.h (parse_expression_for_completion): Change
prototype.
* f-lang.c (f_make_symbol_completion_list): Make "text" and "word"
parameters const.
* infcmd.c (_initialize_infcmd): Make "cmd_name" local const.
* infrun.c (handle_completer): Make "text" and "word" parameters
const.
* interps.c (interpreter_completer): Make "text" and "word"
parameters const.
* language.h (struct language_defn)
<la_make_symbol_completion_list>: Make "text" and "word"
parameters const.
* parse.c (parse_exp_1): Move const hack to parse_exp_in_context.
(parse_exp_in_context): Rename to ...
(parse_exp_in_context_1): ... this.
(parse_exp_in_context): Reimplement, with const hack from
parse_exp_1.
(parse_expression_for_completion): Make "string" parameter const.
* printcmd.c (decode_format): Make "string_ptr" parameter pointer
to pointer to const char. Adjust.
(print_command_1): Make "exp" parameter const.
(output_command): Rename to ...
(output_command_const): ... this. Make "exp" parameter const.
(output_command): Reimplement.
(x_command): Adjust.
(display_command): Rename "exp" parameter to "arg". New "exp"
local, const version of "arg".
* python/py-auto-load.c (gdbpy_initialize_auto_load): Make
"cmd_name" local const.
* python/py-cmd.c (cmdpy_destroyer): Cast const away in xfree
call.
(cmdpy_completer): Make "text" and "word" parameters const.
(gdbpy_parse_command_name): Make "prefix_text2" local const.
* python/py-param.c (add_setshow_generic): Make "tmp_name" local
const.
* remote.c (_initialize_remote): Make "cmd_name" local const.
* symtab.c (language_search_unquoted_string): Make "text" and "p"
parameters const. Adjust.
(completion_list_add_fields): Make "sym_text", "text" and "word"
parameters const.
(struct add_name_data) <sym_text, text, word>: Make fields const.
(default_make_symbol_completion_list_break_on): Make "text" and
"word" parameters const. Adjust locals.
(default_make_symbol_completion_list)
(make_symbol_completion_list, make_symbol_completion_type)
(make_symbol_completion_list_fn): Make "text" and "word"
parameters const.
(make_file_symbol_completion_list): Make "text", "word" and
"srcfile" parameters const. Adjust locals.
(add_filename_to_list): Make "text" and "word" parameters const.
(struct add_partial_filename_data) <text, word>: Make fields
const.
(make_source_files_completion_list): Make "text" and "word"
parameters const.
* symtab.h (default_make_symbol_completion_list_break_on)
(default_make_symbol_completion_list, make_symbol_completion_list)
(make_symbol_completion_type enum type_code)
(make_symbol_completion_list_fn make_file_symbol_completion_list)
(make_source_files_completion_list): Change prototype.
* top.c (execute_command): Adjust to pass pointer to pointer to
const char to lookup_cmd, and to deprecated_cmd_warning prototype
change.
(set_verbose): Make "cmdname" local const.
* tracepoint.c (decode_agent_options): Make "exp" parameter const,
and adjust.
(validate_actionline): Make "line" parameter a pointer to const
char, and adjust.
(encode_actions_1): Make "action_exp" local const, and adjust.
(encode_actions): Adjust.
(replace_comma): Delete.
(trace_dump_actions): Make "action_exp" and "next_comma" locals
const, and adjust. Don't frob the action string while splitting
it at commas. Instead, make a copy of each split substring in
turn.
(trace_dump_command): Adjust to validate_actionline prototype
change.
* tracepoint.h (decode_agent_options, decode_agent_options)
(encode_actions, validate_actionline): Change prototypes.
* valprint.h (output_command): Delete declaration.
(output_command_const): Declare.
* value.c (function_destroyer): Cast const away in xfree call.
More invalid pointer to pointer conversions. As a follow up to: http://sourceware.org/ml/gdb-patches/2013-03/msg00449.html In a nutshell, casts between 'char **' <-> 'unsigned char **' and 'char **' <-> 'const char **' are invalid. I grepped for "\*\*) &" and found these. There's another one in demangle.c, but I've split fixing that one to a separate patch. I think the ada_decode_symbol change is perhaps the one that could be surprising. The function's description has this comment, which makes things much clearer: The GSYMBOL parameter is "mutable" in the C++ sense: logically const, but nevertheless modified to a semantically equivalent form when a decoded name is cached in it. */ const char * ada_decode_symbol (const struct general_symbol_info *gsymbol) With that out of the way, I think the patch ends up being pretty obvious. Tested on x86_64 Fedora 17. gdb/ 2013-03-13 Pedro Alves <palves@redhat.com> * ada-lang.c (ada_decode_symbol): Cast away constness of GSYMBOL rather than casting 'const char * const *' to 'const char **'. * ada-lex.l (processInt): Make "trailer" local const. Remove 'const char **' cast. * arm-linux-tdep.c (arm_stap_parse_special_token): Add 'char *' locals, and use those as strtol output pointer, instead than doing invalid casts to from 'const char **' to 'char **'. (_initialize_demangle): Remove cast. * i386-tdep.c (i386_stap_parse_special_token): : Add 'char *' locals, and use those as strtol output pointer, instead than doing invalid casts to from 'const char **' to 'char **'. * solib-dsbt.c (dsbt_get_initial_loadmaps): Remove 'gdb_byte**' casts. * stap-probe.c (stap_parse_register_operand) (stap_parse_single_operand): Likewise.
2013-03-13 16:45:11 +00:00
2013-03-13 Pedro Alves <palves@redhat.com>
* ada-lang.c (ada_decode_symbol): Cast away constness of GSYMBOL
rather than casting 'const char * const *' to 'const char **'.
* ada-lex.l (processInt): Make "trailer" local const. Remove
'const char **' cast.
* arm-linux-tdep.c (arm_stap_parse_special_token): Add 'char *'
locals, and use those as strtol output pointer, instead than doing
invalid casts to from 'const char **' to 'char **'.
(_initialize_demangle): Remove cast.
* i386-tdep.c (i386_stap_parse_special_token): : Add 'char *'
locals, and use those as strtol output pointer, instead than doing
invalid casts to from 'const char **' to 'char **'.
* solib-dsbt.c (dsbt_get_initial_loadmaps): Remove 'gdb_byte**'
casts.
* stap-probe.c (stap_parse_register_operand)
(stap_parse_single_operand): Likewise.
2013-03-13 Yao Qi <yao@codesourcery.com>
* tracepoint.c (tfile_get_trace_state_variable_value): Look for
the last matched 'V' blcok in trace frame.
2013-03-12 Joel Brobecker <brobecker@adacore.com>
* NEWS: Create a new section for the next release branch.
Rename the section of the current branch, now that it has
been cut.
2013-03-12 Joel Brobecker <brobecker@adacore.com>
GDB 7.6 branch created (branch timestamp: 2013-03-12 22:15 UTC)
* version.in: Bump version to 7.6.50.20130312-cvs.
2013-03-12 Keith Seitz <keiths@redhat.com>
* mi/mi-cmds.h (mi_execute_command): Make "cmd" const.
* mi/mi-interp.c (mi_interpreter_exec): Make "command" const.
Remove temporary copy of input string.
(mi_execute_command_wrapper): Make "cmd" const.
* mi/mi-main.c (mi_execute_command): Make "string_ptr" const.
* mi/mi-parse.c (mi_parse_argv): Make "args" const.
Use const strings.
(mi_parse): Make "cmd" const.
Use const strings.
* mi/mi-parse.h (mi_parse): Make "cmd" const.
* ada-lang.c (ada_read_renaming_var_value): Pass const pointer to expression string to parse_exp_1. (create_excep_cond_exprs): Likewise. * ax-gdb.c (agent_eval_command_one): Likewise. (maint_agent_printf_command): Likewise. Constify much of the string handling/parsing. * breakpoint.c (set_breakpoint_condition): Pass const pointer to expression string to parse_exp_1. (update_watchpoint): Likewise. (parse_cmd_to_aexpr): Constify string handling. Pass const pointer to parse_exp_1. (init_breakpoint_sal): Pass const pointer to parse_exp_1. (find_condition_and_thread): Likewise. Make TOK const. (watch_command_1): Make "arg" const. Constify string handling. Copy the expression string instead of changing the input string. (update_breakpoint_location): Pass const pointer to parse_exp_1. * eval.c (parse_and_eval_address): Make "exp" const. (parse_to_comma_and_eval): Make "expp" const. (parse_and_eval): Make "exp" const. * expression.h (parse_expression): Make argument const. (parse_exp_1): Make first argument const. * findcmd.c (parse_find_args): Treat "args" as const. * linespec.c (parse_linespec): Pass const pointer to linespec_expression_to_pc. (linespec_expression_to_pc): Make "exp_ptr" const. * parse.c (parse_exp_1): Make "stringptr" const. Make a copy of the expression to pass to parse_exp_in_context until this whole interface can be constified. (parse_expression): Make "string" const. * printcmd.c (ui_printf): Treat "arg" as const. Handle const strings. * tracepoint.c (validate_actionline): Pass const pointer to all calls to parse_exp_1. (encode_actions_1): Likewise. * value.h (parse_to_comma_and_eval): Make argument const. (parse_and_eval_address): Likewise. (parse_and_eval): Likewise. * varobj.c (varobj_create): Pass const pointer to parse_exp_1. (varobj_set_value): Likewise. * cli/cli-cmds.c (disassemble_command): Treat "arg" as const and constify string handling. Pass const pointers to parse_and_eval_address and parse_to_comman_and_eval. * cli/cli-utils.c (skip_to_space): Rename to ... (skip_to_space_const): ... this. Handle const strings. * cli/cli-utils.h (skip_to_space): Turn into macro which invokes skip_to_space_const. (skip_to_space_const): Declare. * common/format.c (parse_format_string): Make "arg" const. Handle const strings. * common/format.h (parse_format_string): Make "arg" const. * gdbserver/ax.c (ax_printf): Make "format" const. * python/python.c (gdbpy_parse_and_eval): Do not make a copy of the expression string.
2013-03-12 17:39:45 +00:00
2013-03-12 Keith Seitz <keiths@redhat.com>
* ada-lang.c (ada_read_renaming_var_value): Pass const
pointer to expression string to parse_exp_1.
(create_excep_cond_exprs): Likewise.
* ax-gdb.c (agent_eval_command_one): Likewise.
(maint_agent_printf_command): Likewise.
Constify much of the string handling/parsing.
* breakpoint.c (set_breakpoint_condition): Pass const
pointer to expression string to parse_exp_1.
(update_watchpoint): Likewise.
(parse_cmd_to_aexpr): Constify string handling.
Pass const pointer to parse_exp_1.
(init_breakpoint_sal): Pass const pointer to parse_exp_1.
(find_condition_and_thread): Likewise.
Make TOK const.
(watch_command_1): Make "arg" const.
Constify string handling.
Copy the expression string instead of changing the input
string.
(update_breakpoint_location): Pass const pointer to
parse_exp_1.
* eval.c (parse_and_eval_address): Make "exp" const.
(parse_to_comma_and_eval): Make "expp" const.
(parse_and_eval): Make "exp" const.
* expression.h (parse_expression): Make argument const.
(parse_exp_1): Make first argument const.
* findcmd.c (parse_find_args): Treat "args" as const.
* linespec.c (parse_linespec): Pass const pointer to
linespec_expression_to_pc.
(linespec_expression_to_pc): Make "exp_ptr" const.
* parse.c (parse_exp_1): Make "stringptr" const.
Make a copy of the expression to pass to parse_exp_in_context until
this whole interface can be constified.
(parse_expression): Make "string" const.
* printcmd.c (ui_printf): Treat "arg" as const.
Handle const strings.
* tracepoint.c (validate_actionline): Pass const pointer to
all calls to parse_exp_1.
(encode_actions_1): Likewise.
* value.h (parse_to_comma_and_eval): Make argument const.
(parse_and_eval_address): Likewise.
(parse_and_eval): Likewise.
* varobj.c (varobj_create): Pass const pointer to parse_exp_1.
(varobj_set_value): Likewise.
* cli/cli-cmds.c (disassemble_command): Treat "arg" as const and
constify string handling.
Pass const pointers to parse_and_eval_address and
parse_to_comman_and_eval.
* cli/cli-utils.c (skip_to_space): Rename to ...
(skip_to_space_const): ... this. Handle const strings.
* cli/cli-utils.h (skip_to_space): Turn into macro which invokes
skip_to_space_const.
(skip_to_space_const): Declare.
* common/format.c (parse_format_string): Make "arg" const.
Handle const strings.
* common/format.h (parse_format_string): Make "arg" const.
* gdbserver/ax.c (ax_printf): Make "format" const.
* python/python.c (gdbpy_parse_and_eval): Do not make a copy
of the expression string.
2013-03-12 Hui Zhu <hui@codesourcery.com>
* dwarf2loc.c (dwarf2_compile_expr_to_ax): Update error message.
2013-03-12 Yao Qi <yao@codesourcery.com>
Hui Zhu <hui@codesourcery.com>
* dwarf2loc.c (access_memory): Change nbits to nbytes in gdb_assert.
(dwarf2_compile_expr_to_ax): Call access_memory in DW_OP_deref and
DW_OP_deref_size.
2013-03-12 Paul Hilfinger <hilfingr@adacore.com>
* ada-lex.l (rules): Only recognize 'thread' as a
delimiter when followed by numerals, as for c-exp.y.
Use new rewind_to_char function to rewind the input for
expression-delimiting tokens.
(rewind_to_char): New function.
2013-03-11 Pedro Alves <palves@redhat.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* configure: Regenerate.
* configure.ac (check dynamic export flag): Link python test with
$PYTHON_LIBS.
2013-03-11 Doug Evans <dje@google.com>
Keith Seitz <keiths@redhat.com>
* linespec.c (find_linespec_symbols): Call find_function_symbols
first, and then call lookup_prefix_sym/find_method.
2013-03-11 Pedro Alves <palves@redhat.com>
* charset.c (convert_between_encodings): Don't cast between
different pointer to pointer types. Instead, make the 'inp' local
be of the type iconv expects.
(wchar_iterate): Don't cast between different pointer to pointer
types. Instead, use new pointer local of the type iconv expects.
* target.c (target_read_stralloc, target_fileio_read_stralloc):
Add new local of type char pointer, and use it to get a
char/string view of the byte buffer, instead of casting between
pointer to pointer types.
2013-03-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
* remote.c (remote_set_trace_buffer_size): Move != operator
to the start of next line to fix an ARI warning.
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* NEWS: Add record changes.
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* record-btrace.c (btrace_insn_history): Omit the pc prefix in
the instruction history disassembly.
* disasm.c (dump_insns): Omit the pc prefix, if requested.
* disasm.h (DISASSEMBLY_OMIT_PC): New.
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* Makefile.in (SFILES): Add record-btrace.c
(COMMON_OBS): Add record-btrace.o
* record-btrace.c: New.
* objfiles.c: Include btrace.h.
(free_objfile): call btrace_free_objfile.
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* target.c (target_call_history, target_call_history_from,
target_call_history_range): New.
* target.h (target_ops) <to_call_history, to_call_history_from,
to_call_history_range>: New fields.
(target_call_history, target_call_history_from,
target_call_history_range): New declaration.
* record.c (get_call_history_modifiers, cmd_record_call_history,
record_call_history_size): New.
(_initialize_record): Add the "record function-call-history" command.
Add "set/show record function-call-history-size" commands.
* record.h (record_print_flag): New.
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* target.h (target_ops) <to_insn_history, to_insn_history_from,
to_insn_history_range>: New fields.
(target_insn_history): New.
(target_insn_history_from): New.
(target_insn_history_range): New.
* target.c (target_insn_history): New.
(target_insn_history_from): New.
(target_insn_history_range): New.
* record.c: Include cli/cli-utils.h, disasm.h, ctype.h.
(record_insn_history_size): New.
(get_insn_number): New.
(get_context_size): New.
(no_chunk): New.
(get_insn_history_modifiers): New.
(cmd_record_insn_history): New.
(_initialize_record): Add "set/show record instruction-history-size"
command. Add "record instruction-history" command.
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* record.h (record_disconnect): New.
(record_detach): New.
(record_mourn_inferior): New.
(record_kill): New.
* record-full.c (record_disconnect, record_detach,
record_mourn_inferior, record_kill): Move to...
* record.c: ...here.
(DEBUG): New.
(record_stop): New.
(record_unpush): New.
(cmd_record_stop): Call record_stop. Replace unpush_target
call with record_unpush call.
(record_disconnect, record_detach): Assert that the target
is of record stratum. Call record_unpush, record_stop, and
DEBUG.
(record_mourn_inferior, record_kill): Assert that the target
is of record stratum. Call record_unpush and DEBUG.
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* record-full.h, record-full.c (record_memory_query): Rename
to ...
(record_full_memory_query): ...this. Update all users.
(record_arch_list_add_reg): Rename to ...
(record_full_arch_list_add_reg): ...this. Update all users.
(record_arch_list_add_mem): Rename to ...
(record_full_arch_list_add_mem): ...this. Update all users.
(record_arch_list_add_end): Rename to ...
(record_full_arch_list_add_end): ...this. Update all users.
(record_gdb_operation_disable_set): Rename to ...
(record_full_gdb_operation_disable_set): ...this.
Update all users.
Rename record_ prefixes in record-full.c into record_full_. gdb/ * record-full.c (DEFAULT_RECORD_INSN_MAX_NUM): Renamed to ... (DEFAULT_RECORD_FULL_INSN_MAX_NUM): ... this. Updated all users. (RECORD_IS_REPLAY): Renamed to ... (RECORD_FULL_IS_REPLAY): ... this. Updated all users. (RECORD_FILE_MAGIC): Renamed to ... (RECORD_FULL_FILE_MAGIC): ... this. Updated all users. (record_mem_entry): Renamed to ... (record_full_mem_entry): ... this. Updated all users. (record_reg_entry): Renamed to ... (record_full_reg_entry): ... this. Updated all users. (record_end_entry): Renamed to ... (record_full_end_entry): ... this. Updated all users. (record_type) <record_end, record_reg, record_mem>: Renamed to ... (record_full_type) <record_full_end, record_full_reg, record_full_mem>: ... this. Updated all users. (record_entry): Renamed to ... (record_full_entry): ... this. Updated all users. (record_core_buf_entry): Renamed to ... (record_full_core_buf_entry): ... this. Updated all users. (record_core_regbuf): Renamed to ... (record_full_core_regbuf): ... this. Updated all users. (record_core_start): Renamed to ... (record_full_core_start): ... this. Updated all users. (record_core_end): Renamed to ... (record_full_core_end): ... this. Updated all users. (record_core_buf_list): Renamed to ... (record_full_core_buf_list): ... this. Updated all users. (record_first): Renamed to ... (record_full_first): ... this. Updated all users. (record_list): Renamed to ... (record_full_list): ... this. Updated all users. (record_arch_list_head): Renamed to ... (record_full_arch_list_head): ... this. Updated all users. (record_arch_list_tail): Renamed to ... (record_full_arch_list_tail): ... this. Updated all users. (record_stop_at_limit): Renamed to ... (record_full_stop_at_limit): ... this. Updated all users. (record_insn_max_num): Renamed to ... (record_full_insn_max_num): ... this. Updated all users. (record_insn_num): Renamed to ... (record_full_insn_num): ... this. Updated all users. (record_insn_count): Renamed to ... (record_full_insn_count): ... this. Updated all users. (record_ops): Renamed to ... (record_full_ops): ... this. Updated all users. (record_core_ops): Renamed to ... (record_full_core_ops): ... this. Updated all users. (set_record_cmdlist): Renamed to ... (set_record_full_cmdlist): ... this. Updated all users. (show_record_cmdlist): Renamed to ... (show_record_full_cmdlist): ... this. Updated all users. (record_cmdlist): Renamed to ... (record_full_cmdlist): ... this. Updated all users. (record_beneath_to_resume_ops): Renamed to ... (record_full_beneath_to_resume_ops): ... this. Updated all users. (record_beneath_to_resume): Renamed to ... (record_full_beneath_to_resume): ... this. Updated all users. (record_beneath_to_wait_ops): Renamed to ... (record_full_beneath_to_wait_ops): ... this. Updated all users. (record_beneath_to_wait): Renamed to ... (record_full_beneath_to_wait): ... this. Updated all users. (record_beneath_to_store_registers_ops): Renamed to ... (record_full_beneath_to_store_registers_ops): ... this. Updated all users. (record_beneath_to_store_registers): Renamed to ... (record_full_beneath_to_store_registers): ... this. Updated all users. (record_beneath_to_xfer_partial_ops): Renamed to ... (record_full_beneath_to_xfer_partial_ops): ... this. Updated all users. (record_beneath_to_xfer_partial): Renamed to ... (record_full_beneath_to_xfer_partial): ... this. Updated all users. (record_beneath_to_insert_breakpoint): Renamed to ... (record_full_beneath_to_insert_breakpoint): ... this. Updated all users. (record_beneath_to_stopped_by_watchpoint): Renamed to ... (record_full_beneath_to_stopped_by_watchpoint): ... this. Updated all users. (record_beneath_to_stopped_data_address): Renamed to ... (record_full_beneath_to_stopped_data_address): ... this. Updated all users. (record_beneath_to_async): Renamed to ... (record_full_beneath_to_async): ... this. Updated all users. (record_goto_insn): Renamed to ... (record_full_goto_insn): ... this. Updated all users. (record_save): Renamed to ... (record_full_save): ... this. Updated all users. (record_reg_alloc): Renamed to ... (record_full_reg_alloc): ... this. Updated all users. (record_reg_release): Renamed to ... (record_full_reg_release): ... this. Updated all users. (record_mem_alloc): Renamed to ... (record_full_mem_alloc): ... this. Updated all users. (record_mem_release): Renamed to ... (record_full_mem_release): ... this. Updated all users. (record_end_alloc): Renamed to ... (record_full_end_alloc): ... this. Updated all users. (record_end_release): Renamed to ... (record_full_end_release): ... this. Updated all users. (record_entry_release): Renamed to ... (record_full_entry_release): ... this. Updated all users. (record_list_release): Renamed to ... (record_full_list_release): ... this. Updated all users. (record_list_release_following): Renamed to ... (record_full_list_release_following): ... this. Updated all users. (record_list_release_first): Renamed to ... (record_full_list_release_first): ... this. Updated all users. (record_arch_list_add): Renamed to ... (record_full_arch_list_add): ... this. Updated all users. (record_get_loc): Renamed to ... (record_full_get_loc): ... this. Updated all users. (record_check_insn_num): Renamed to ... (record_full_check_insn_num): ... this. Updated all users. (record_arch_list_cleanups): Renamed to ... (record_full_arch_list_cleanups): ... this. Updated all users. (record_message): Renamed to ... (record_full_message): ... this. Updated all users. (record_message_wrapper): Renamed to ... (record_full_message_wrapper): ... this. Updated all users. (record_message_wrapper_safe): Renamed to ... (record_full_message_wrapper_safe): ... this. Updated all users. (record_gdb_operation_disable): Renamed to ... (record_full_gdb_operation_disable): ... this. Updated all users. (record_hw_watchpoint): Renamed to ... (record_full_hw_watchpoint): ... this. Updated all users. (record_exec_insn): Renamed to ... (record_full_exec_insn): ... this. Updated all users. (record_restore): Renamed to ... (record_full_restore): ... this. Updated all users. (record_async_inferior_event_token): Renamed to ... (record_full_async_inferior_event_token): ... this. Updated all users. (record_async_inferior_event_handler): Renamed to ... (record_full_async_inferior_event_handler): ... this. Updated all users. (record_core_open_1): Renamed to ... (record_full_core_open_1): ... this. Updated all users. (record_open_1): Renamed to ... (record_full_open_1): ... this. Updated all users. (record_open): Renamed to ... (record_full_open): ... this. Updated all users. (record_close): Renamed to ... (record_full_close): ... this. Updated all users. (record_resume_step): Renamed to ... (record_full_resume_step): ... this. Updated all users. (record_resumed): Renamed to ... (record_full_resumed): ... this. Updated all users. (record_execution_dir): Renamed to ... (record_full_execution_dir): ... this. Updated all users. (record_resume): Renamed to ... (record_full_resume): ... this. Updated all users. (record_get_sig): Renamed to ... (record_full_get_sig): ... this. Updated all users. (record_sig_handler): Renamed to ... (record_full_sig_handler): ... this. Updated all users. (record_wait_cleanups): Renamed to ... (record_full_wait_cleanups): ... this. Updated all users. (record_wait_1): Renamed to ... (record_full_wait_1): ... this. Updated all users. (record_wait): Renamed to ... (record_full_wait): ... this. Updated all users. (record_stopped_by_watchpoint): Renamed to ... (record_full_stopped_by_watchpoint): ... this. Updated all users. (record_disconnect): Renamed to ... (record_full_disconnect): ... this. Updated all users. (record_detach): Renamed to ... (record_full_detach): ... this. Updated all users. (record_mourn_inferior): Renamed to ... (record_full_mourn_inferior): ... this. Updated all users. (record_kill): Renamed to ... (record_full_kill): ... this. Updated all users. (record_stopped_data_address): Renamed to ... (record_full_stopped_data_address): ... this. Updated all users. (record_registers_change): Renamed to ... (record_full_registers_change): ... this. Updated all users. (record_store_registers): Renamed to ... (record_full_store_registers): ... this. Updated all users. (record_xfer_partial): Renamed to ... (record_full_xfer_partial): ... this. Updated all users. (record_breakpoint): Renamed to ... (record_full_breakpoint): ... this. Updated all users. (record_breakpoint_p): Renamed to ... (record_full_breakpoint_p): ... this. Updated all users. (record_breakpoints): Renamed to ... (record_full_breakpoints): ... this. Updated all users. (record_sync_record_breakpoints): Renamed to ... (record_full_sync_record_breakpoints): ... this. Updated all users. (record_init_record_breakpoints): Renamed to ... (record_full_init_record_breakpoints): ... this. Updated all users. (record_insert_breakpoint): Renamed to ... (record_full_insert_breakpoint): ... this. Updated all users. (record_remove_breakpoint): Renamed to ... (record_full_remove_breakpoint): ... this. Updated all users. (record_can_execute_reverse): Renamed to ... (record_full_can_execute_reverse): ... this. Updated all users. (record_get_bookmark): Renamed to ... (record_full_get_bookmark): ... this. Updated all users. (record_goto_bookmark): Renamed to ... (record_full_goto_bookmark): ... this. Updated all users. (record_async): Renamed to ... (record_full_async): ... this. Updated all users. (record_can_async_p): Renamed to ... (record_full_can_async_p): ... this. Updated all users. (record_is_async_p): Renamed to ... (record_full_is_async_p): ... this. Updated all users. (record_execution_direction): Renamed to ... (record_full_execution_direction): ... this. Updated all users. (record_info): Renamed to ... (record_full_info): ... this. Updated all users. (record_delete): Renamed to ... (record_full_delete): ... this. Updated all users. (record_is_replaying): Renamed to ... (record_full_is_replaying): ... this. Updated all users. (record_goto_entry): Renamed to ... (record_full_goto_entry): ... this. Updated all users. (record_goto_begin): Renamed to ... (record_full_goto_begin): ... this. Updated all users. (record_goto_end): Renamed to ... (record_full_goto_end): ... this. Updated all users. (record_goto): Renamed to ... (record_full_goto): ... this. Updated all users. (init_record_ops): Renamed to ... (init_record_full_ops): ... this. Updated all users. (record_core_resume): Renamed to ... (record_full_core_resume): ... this. Updated all users. (record_core_kill): Renamed to ... (record_full_core_kill): ... this. Updated all users. (record_core_fetch_registers): Renamed to ... (record_full_core_fetch_registers): ... this. Updated all users. (record_core_prepare_to_store): Renamed to ... (record_full_core_prepare_to_store): ... this. Updated all users. (record_core_store_registers): Renamed to ... (record_full_core_store_registers): ... this. Updated all users. (record_core_xfer_partial): Renamed to ... (record_full_core_xfer_partial): ... this. Updated all users. (record_core_insert_breakpoint): Renamed to ... (record_full_core_insert_breakpoint): ... this. Updated all users. (record_core_remove_breakpoint): Renamed to ... (record_full_core_remove_breakpoint): ... this. Updated all users. (record_core_has_execution): Renamed to ... (record_full_core_has_execution): ... this. Updated all users. (init_record_core_ops): Renamed to ... (init_record_full_core_ops): ... this. Updated all users. (cmd_record_restore): Renamed to ... (cmd_record_full_restore): ... this. Updated all users. (record_save_cleanups): Renamed to ... (record_full_save_cleanups): ... this. Updated all users. (cmd_record_start): Renamed to ... (cmd_record_full_start): ... this. Updated all users. (set_record_insn_max_num): Renamed to ... (set_record_full_insn_max_num): ... this. Updated all users. (set_record_command): Renamed to ... (set_record_full_command): ... this. Updated all users. (show_record_command): Renamed to ... (show_record_full_command): ... this. Updated all users. (_initialize_record): Renamed to ... (_initialize_record_full): ... this. Updated all users.
2013-03-11 08:44:14 +00:00
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* record-full.c (DEFAULT_RECORD_INSN_MAX_NUM): Renamed to ...
(DEFAULT_RECORD_FULL_INSN_MAX_NUM): ... this. Updated all users.
(RECORD_IS_REPLAY): Renamed to ...
(RECORD_FULL_IS_REPLAY): ... this. Updated all users.
(RECORD_FILE_MAGIC): Renamed to ...
(RECORD_FULL_FILE_MAGIC): ... this. Updated all users.
(record_mem_entry): Renamed to ...
(record_full_mem_entry): ... this. Updated all users.
(record_reg_entry): Renamed to ...
(record_full_reg_entry): ... this. Updated all users.
(record_end_entry): Renamed to ...
(record_full_end_entry): ... this. Updated all users.
(record_type) <record_end, record_reg, record_mem>: Renamed
to ...
(record_full_type) <record_full_end, record_full_reg,
record_full_mem>: ... this. Updated all users.
(record_entry): Renamed to ...
(record_full_entry): ... this. Updated all users.
(record_core_buf_entry): Renamed to ...
(record_full_core_buf_entry): ... this. Updated all users.
(record_core_regbuf): Renamed to ...
(record_full_core_regbuf): ... this. Updated all users.
(record_core_start): Renamed to ...
(record_full_core_start): ... this. Updated all users.
(record_core_end): Renamed to ...
(record_full_core_end): ... this. Updated all users.
(record_core_buf_list): Renamed to ...
(record_full_core_buf_list): ... this. Updated all users.
(record_first): Renamed to ...
(record_full_first): ... this. Updated all users.
(record_list): Renamed to ...
(record_full_list): ... this. Updated all users.
(record_arch_list_head): Renamed to ...
(record_full_arch_list_head): ... this. Updated all users.
(record_arch_list_tail): Renamed to ...
(record_full_arch_list_tail): ... this. Updated all users.
(record_stop_at_limit): Renamed to ...
(record_full_stop_at_limit): ... this. Updated all users.
(record_insn_max_num): Renamed to ...
(record_full_insn_max_num): ... this. Updated all users.
(record_insn_num): Renamed to ...
(record_full_insn_num): ... this. Updated all users.
(record_insn_count): Renamed to ...
(record_full_insn_count): ... this. Updated all users.
(record_ops): Renamed to ...
(record_full_ops): ... this. Updated all users.
(record_core_ops): Renamed to ...
(record_full_core_ops): ... this. Updated all users.
(set_record_cmdlist): Renamed to ...
(set_record_full_cmdlist): ... this. Updated all users.
(show_record_cmdlist): Renamed to ...
(show_record_full_cmdlist): ... this. Updated all users.
(record_cmdlist): Renamed to ...
(record_full_cmdlist): ... this. Updated all users.
(record_beneath_to_resume_ops): Renamed to ...
(record_full_beneath_to_resume_ops): ... this. Updated all users.
(record_beneath_to_resume): Renamed to ...
(record_full_beneath_to_resume): ... this. Updated all users.
(record_beneath_to_wait_ops): Renamed to ...
(record_full_beneath_to_wait_ops): ... this. Updated all users.
(record_beneath_to_wait): Renamed to ...
(record_full_beneath_to_wait): ... this. Updated all users.
(record_beneath_to_store_registers_ops): Renamed to ...
(record_full_beneath_to_store_registers_ops): ... this.
Updated all users.
(record_beneath_to_store_registers): Renamed to ...
(record_full_beneath_to_store_registers): ... this.
Updated all users.
(record_beneath_to_xfer_partial_ops): Renamed to ...
(record_full_beneath_to_xfer_partial_ops): ... this.
Updated all users.
(record_beneath_to_xfer_partial): Renamed to ...
(record_full_beneath_to_xfer_partial): ... this.
Updated all users.
(record_beneath_to_insert_breakpoint): Renamed to ...
(record_full_beneath_to_insert_breakpoint): ... this.
Updated all users.
(record_beneath_to_stopped_by_watchpoint): Renamed to ...
(record_full_beneath_to_stopped_by_watchpoint): ... this.
Updated all users.
(record_beneath_to_stopped_data_address): Renamed to ...
(record_full_beneath_to_stopped_data_address): ... this.
Updated all users.
(record_beneath_to_async): Renamed to ...
(record_full_beneath_to_async): ... this. Updated all users.
(record_goto_insn): Renamed to ...
(record_full_goto_insn): ... this. Updated all users.
(record_save): Renamed to ...
(record_full_save): ... this. Updated all users.
(record_reg_alloc): Renamed to ...
(record_full_reg_alloc): ... this. Updated all users.
(record_reg_release): Renamed to ...
(record_full_reg_release): ... this. Updated all users.
(record_mem_alloc): Renamed to ...
(record_full_mem_alloc): ... this. Updated all users.
(record_mem_release): Renamed to ...
(record_full_mem_release): ... this. Updated all users.
(record_end_alloc): Renamed to ...
(record_full_end_alloc): ... this. Updated all users.
(record_end_release): Renamed to ...
(record_full_end_release): ... this. Updated all users.
(record_entry_release): Renamed to ...
(record_full_entry_release): ... this. Updated all users.
(record_list_release): Renamed to ...
(record_full_list_release): ... this. Updated all users.
(record_list_release_following): Renamed to ...
(record_full_list_release_following): ... this.
Updated all users.
(record_list_release_first): Renamed to ...
(record_full_list_release_first): ... this. Updated all users.
(record_arch_list_add): Renamed to ...
(record_full_arch_list_add): ... this. Updated all users.
(record_get_loc): Renamed to ...
(record_full_get_loc): ... this. Updated all users.
(record_check_insn_num): Renamed to ...
(record_full_check_insn_num): ... this. Updated all users.
(record_arch_list_cleanups): Renamed to ...
(record_full_arch_list_cleanups): ... this. Updated all users.
(record_message): Renamed to ...
(record_full_message): ... this. Updated all users.
(record_message_wrapper): Renamed to ...
(record_full_message_wrapper): ... this. Updated all users.
(record_message_wrapper_safe): Renamed to ...
(record_full_message_wrapper_safe): ... this. Updated all users.
(record_gdb_operation_disable): Renamed to ...
(record_full_gdb_operation_disable): ... this. Updated all users.
(record_hw_watchpoint): Renamed to ...
(record_full_hw_watchpoint): ... this. Updated all users.
(record_exec_insn): Renamed to ...
(record_full_exec_insn): ... this. Updated all users.
(record_restore): Renamed to ...
(record_full_restore): ... this. Updated all users.
(record_async_inferior_event_token): Renamed to ...
(record_full_async_inferior_event_token): ... this.
Updated all users.
(record_async_inferior_event_handler): Renamed to ...
(record_full_async_inferior_event_handler): ... this.
Updated all users.
(record_core_open_1): Renamed to ...
(record_full_core_open_1): ... this. Updated all users.
(record_open_1): Renamed to ...
(record_full_open_1): ... this. Updated all users.
(record_open): Renamed to ...
(record_full_open): ... this. Updated all users.
(record_close): Renamed to ...
(record_full_close): ... this. Updated all users.
(record_resume_step): Renamed to ...
(record_full_resume_step): ... this. Updated all users.
(record_resumed): Renamed to ...
(record_full_resumed): ... this. Updated all users.
(record_execution_dir): Renamed to ...
(record_full_execution_dir): ... this. Updated all users.
(record_resume): Renamed to ...
(record_full_resume): ... this. Updated all users.
(record_get_sig): Renamed to ...
(record_full_get_sig): ... this. Updated all users.
(record_sig_handler): Renamed to ...
(record_full_sig_handler): ... this. Updated all users.
(record_wait_cleanups): Renamed to ...
(record_full_wait_cleanups): ... this. Updated all users.
(record_wait_1): Renamed to ...
(record_full_wait_1): ... this. Updated all users.
(record_wait): Renamed to ...
(record_full_wait): ... this. Updated all users.
(record_stopped_by_watchpoint): Renamed to ...
(record_full_stopped_by_watchpoint): ... this. Updated all users.
(record_disconnect): Renamed to ...
(record_full_disconnect): ... this. Updated all users.
(record_detach): Renamed to ...
(record_full_detach): ... this. Updated all users.
(record_mourn_inferior): Renamed to ...
(record_full_mourn_inferior): ... this. Updated all users.
(record_kill): Renamed to ...
(record_full_kill): ... this. Updated all users.
(record_stopped_data_address): Renamed to ...
(record_full_stopped_data_address): ... this. Updated all users.
(record_registers_change): Renamed to ...
(record_full_registers_change): ... this. Updated all users.
(record_store_registers): Renamed to ...
(record_full_store_registers): ... this. Updated all users.
(record_xfer_partial): Renamed to ...
(record_full_xfer_partial): ... this. Updated all users.
(record_breakpoint): Renamed to ...
(record_full_breakpoint): ... this. Updated all users.
(record_breakpoint_p): Renamed to ...
(record_full_breakpoint_p): ... this. Updated all users.
(record_breakpoints): Renamed to ...
(record_full_breakpoints): ... this. Updated all users.
(record_sync_record_breakpoints): Renamed to ...
(record_full_sync_record_breakpoints): ... this.
Updated all users.
(record_init_record_breakpoints): Renamed to ...
(record_full_init_record_breakpoints): ... this.
Updated all users.
(record_insert_breakpoint): Renamed to ...
(record_full_insert_breakpoint): ... this. Updated all users.
(record_remove_breakpoint): Renamed to ...
(record_full_remove_breakpoint): ... this. Updated all users.
(record_can_execute_reverse): Renamed to ...
(record_full_can_execute_reverse): ... this. Updated all users.
(record_get_bookmark): Renamed to ...
(record_full_get_bookmark): ... this. Updated all users.
(record_goto_bookmark): Renamed to ...
(record_full_goto_bookmark): ... this. Updated all users.
(record_async): Renamed to ...
(record_full_async): ... this. Updated all users.
(record_can_async_p): Renamed to ...
(record_full_can_async_p): ... this. Updated all users.
(record_is_async_p): Renamed to ...
(record_full_is_async_p): ... this. Updated all users.
(record_execution_direction): Renamed to ...
(record_full_execution_direction): ... this. Updated all users.
(record_info): Renamed to ...
(record_full_info): ... this. Updated all users.
(record_delete): Renamed to ...
(record_full_delete): ... this. Updated all users.
(record_is_replaying): Renamed to ...
(record_full_is_replaying): ... this. Updated all users.
(record_goto_entry): Renamed to ...
(record_full_goto_entry): ... this. Updated all users.
(record_goto_begin): Renamed to ...
(record_full_goto_begin): ... this. Updated all users.
(record_goto_end): Renamed to ...
(record_full_goto_end): ... this. Updated all users.
(record_goto): Renamed to ...
(record_full_goto): ... this. Updated all users.
(init_record_ops): Renamed to ...
(init_record_full_ops): ... this. Updated all users.
(record_core_resume): Renamed to ...
(record_full_core_resume): ... this. Updated all users.
(record_core_kill): Renamed to ...
(record_full_core_kill): ... this. Updated all users.
(record_core_fetch_registers): Renamed to ...
(record_full_core_fetch_registers): ... this. Updated all users.
(record_core_prepare_to_store): Renamed to ...
(record_full_core_prepare_to_store): ... this. Updated all users.
(record_core_store_registers): Renamed to ...
(record_full_core_store_registers): ... this. Updated all users.
(record_core_xfer_partial): Renamed to ...
(record_full_core_xfer_partial): ... this. Updated all users.
(record_core_insert_breakpoint): Renamed to ...
(record_full_core_insert_breakpoint): ... this. Updated all users.
(record_core_remove_breakpoint): Renamed to ...
(record_full_core_remove_breakpoint): ... this. Updated all users.
(record_core_has_execution): Renamed to ...
(record_full_core_has_execution): ... this. Updated all users.
(init_record_core_ops): Renamed to ...
(init_record_full_core_ops): ... this. Updated all users.
(cmd_record_restore): Renamed to ...
(cmd_record_full_restore): ... this. Updated all users.
(record_save_cleanups): Renamed to ...
(record_full_save_cleanups): ... this. Updated all users.
(cmd_record_start): Renamed to ...
(cmd_record_full_start): ... this. Updated all users.
(set_record_insn_max_num): Renamed to ...
(set_record_full_insn_max_num): ... this. Updated all users.
(set_record_command): Renamed to ...
(set_record_full_command): ... this. Updated all users.
(show_record_command): Renamed to ...
(show_record_full_command): ... this. Updated all users.
(_initialize_record): Renamed to ...
(_initialize_record_full): ... this. Updated all users.
Split record.h into record.h and record-full.h. Split record.c into record.c and record-full.c. The split leaves the command part in record.c and moves the target part into record-full.c. gdb/ * record.h: Split into this and ... * record-full.h: ... this. * record.c: Split into this and ... * record-full.c: ... this. * target.h (target_ops): Add new fields to_info_record, to_save_record, to_delete_record, to_record_is_replaying, to_goto_record_begin, to_goto_record_end, to_goto_record. (target_info_record): New. (target_save_record): New. (target_supports_delete_record): New. (target_delete_record): New. (target_record_is_replaying): New. (target_goto_record_begin): New. (target_goto_record_end): New. (target_goto_record): New. * target.c (target_info_record): New. (target_save_record): New. (target_supports_delete_record): New. (target_delete_record): New. (target_record_is_replaying): New. (target_goto_record_begin): New. (target_goto_record_end): New. (target_goto_record): New. * record.h: Declare struct cmd_list_element. (record_cmdlist): New declaration. (set_record_cmdlist): New declaration. (show_record_cmdlist): New declaration. (info_record_cmdlist): New declaration. (cmd_record_goto): New declaration. * record.c: Remove unnecessary includes. Include inferior.h. (cmd_record_goto): Remove declaration. (record_cmdlist): Now extern. Initialize. (set_record_cmdlist): Now extern. Initialize. (show_record_cmdlist): Now extern. Initialize. (info_record_cmdlist): Now extern. Initialize. (find_record_target): New. (require_record_target): New. (cmd_record_start): Update. (cmd_record_delete): Remove target-specific code. Call target_delete_record. (cmd_record_stop): Unpush any record target. (set_record_insn_max_num): Move to record-full.c (set_record_command): Add comment. (show_record_command): Add comment. (info_record_command): Update comment. Remove target-specific code. Call the record target's to_info_record. (cmd_record_start): New. (cmd_record_goto): Now extern. Remove target-specific code. Call target_goto_begin, target_goto_end, or target_goto. (_initialize_record): Move record target ops initialization to record-full.c. Change "record" command help text. Move "record restore", "record set", and "record show" commands to record-full.c. * Makefile.in (SFILES): Add record-full.c. (HFILES_NO_SRCDIR): Add record-full.h. (COMMON_OBS): Add record-full.o. * amd64-linux-tdep.c: Include record-full.h instead of record.h. * arm-tdep.c: Include record-full.h. * i386-linux-tdep.c: Include record-full.h instead of record.h. * i386-tdep.c: Include record-full.h. * infrun.c: Include record-full.h. * linux-record.c: Include record-full.h. * moxie-tdep.c: Include record-full.h. * record-full.c: Include record-full.h. Change module comment. (set_record_full_cmdlist): New. (show_record_full_cmdlist): New. (record_full_cmdlist): New. (record_goto_insn): New declaration. (record_save): New declaration. (record_check_insn_num): Change query string. (record_info): New. (record_delete): New. (record_is_replaying): New. (record_goto_entry): New. (record_goto_begin): New. (record_goto_end): New. (record_goto): New. (init_record_ops): Update. (init_record_core_ops): Update. (cmd_record_save): Rename to record_save. Remove target and arg checks. (cmd_record_start): New. (set_record_insn_max_num): Moved from record.c (set_record_full_command): New. (show_record_full_command): New. (_initialize_record_full): New.
2013-03-11 08:42:55 +00:00
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* record.h: Split into this and ...
* record-full.h: ... this.
* record.c: Split into this and ...
* record-full.c: ... this.
* target.h (target_ops): Add new fields to_info_record,
to_save_record, to_delete_record, to_record_is_replaying,
to_goto_record_begin, to_goto_record_end, to_goto_record.
(target_info_record): New.
(target_save_record): New.
(target_supports_delete_record): New.
(target_delete_record): New.
(target_record_is_replaying): New.
(target_goto_record_begin): New.
(target_goto_record_end): New.
(target_goto_record): New.
* target.c (target_info_record): New.
(target_save_record): New.
(target_supports_delete_record): New.
(target_delete_record): New.
(target_record_is_replaying): New.
(target_goto_record_begin): New.
(target_goto_record_end): New.
(target_goto_record): New.
* record.h: Declare struct cmd_list_element.
(record_cmdlist): New declaration.
(set_record_cmdlist): New declaration.
(show_record_cmdlist): New declaration.
(info_record_cmdlist): New declaration.
(cmd_record_goto): New declaration.
* record.c: Remove unnecessary includes.
Include inferior.h.
(cmd_record_goto): Remove declaration.
(record_cmdlist): Now extern. Initialize.
(set_record_cmdlist): Now extern. Initialize.
(show_record_cmdlist): Now extern. Initialize.
(info_record_cmdlist): Now extern. Initialize.
(find_record_target): New.
(require_record_target): New.
(cmd_record_start): Update.
(cmd_record_delete): Remove target-specific code.
Call target_delete_record.
(cmd_record_stop): Unpush any record target.
(set_record_insn_max_num): Move to record-full.c
(set_record_command): Add comment.
(show_record_command): Add comment.
(info_record_command): Update comment.
Remove target-specific code.
Call the record target's to_info_record.
(cmd_record_start): New.
(cmd_record_goto): Now extern.
Remove target-specific code.
Call target_goto_begin, target_goto_end, or target_goto.
(_initialize_record): Move record target ops initialization to
record-full.c.
Change "record" command help text.
Move "record restore", "record set", and "record show" commands to
record-full.c.
* Makefile.in (SFILES): Add record-full.c.
(HFILES_NO_SRCDIR): Add record-full.h.
(COMMON_OBS): Add record-full.o.
* amd64-linux-tdep.c: Include record-full.h instead of record.h.
* arm-tdep.c: Include record-full.h.
* i386-linux-tdep.c: Include record-full.h instead of record.h.
* i386-tdep.c: Include record-full.h.
* infrun.c: Include record-full.h.
* linux-record.c: Include record-full.h.
* moxie-tdep.c: Include record-full.h.
* record-full.c: Include record-full.h.
Change module comment.
(set_record_full_cmdlist): New.
(show_record_full_cmdlist): New.
(record_full_cmdlist): New.
(record_goto_insn): New declaration.
(record_save): New declaration.
(record_check_insn_num): Change query string.
(record_info): New.
(record_delete): New.
(record_is_replaying): New.
(record_goto_entry): New.
(record_goto_begin): New.
(record_goto_end): New.
(record_goto): New.
(init_record_ops): Update.
(init_record_core_ops): Update.
(cmd_record_save): Rename to record_save. Remove target and arg checks.
(cmd_record_start): New.
(set_record_insn_max_num): Moved from record.c
(set_record_full_command): New.
(show_record_full_command): New.
(_initialize_record_full): New.
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* target.h (add_deprecated_target_alias): New.
* target.c (add_deprecated_target_alias): New.
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* common/linux-btrace.c: Include sys/ptrace, sys/types, sys/wait.h,
and signal.h.
(linux_supports_btrace): Add kernel and
cpuid check.
(kernel_supports_btrace): New function.
(cpu_supports_btrace): New function.
(intel_supports_btrace): New function.
Add the gdb remote target operations for branch tracing. We define the following packets: Qbtrace:bts enable branch tracing for the current thread returns "OK" or "Enn" Qbtrace:off disable branch tracing for the current thread returns "OK" or "Enn" qXfer:btrace:read read the full branch trace data for the current thread gdb/ * target.h (enum target_object): Add TARGET_OBJECT_BTRACE. * remote.c: Include btrace.h. (struct btrace_target_info): New struct. (remote_supports_btrace): New function. (send_Qbtrace): New function. (remote_enable_btrace): New function. (remote_disable_btrace): New function. (remote_teardown_btrace): New function. (remote_read_btrace): New function. (init_remote_ops): Add btrace ops. (enum <unnamed>): Add btrace packets. (struct protocol_feature remote_protocol_features[]): Add btrace packets. (_initialize_remote): Add packet configuration for branch tracing. gdbserver/ * target.h (struct target_ops): Add btrace ops. (target_supports_btrace): New macro. (target_enable_btrace): New macro. (target_disable_btrace): New macro. (target_read_btrace): New macro. * gdbthread.h (struct thread_info): Add btrace field. * server.c: Include btrace-common.h. (handle_btrace_general_set): New function. (handle_btrace_enable): New function. (handle_btrace_disable): New function. (handle_general_set): Call handle_btrace_general_set. (handle_qxfer_btrace): New function. (struct qxfer qxfer_packets[]): Add btrace entry. * inferiors.c (remove_thread): Disable btrace. * linux-low: Include linux-btrace.h. (linux_low_enable_btrace): New function. (linux_low_read_btrace): New function. (linux_target_ops): Add btrace ops. * configure.srv (i[34567]86-*-linux*): Add linux-btrace.o. Add srv_linux_btrace=yes. (x86_64-*-linux*): Add linux-btrace.o. Add srv_linux_btrace=yes. * configure.ac: Define HAVE_LINUX_BTRACE. * config.in: Regenerated. * configure: Regenerated.
2013-03-11 08:35:11 +00:00
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* target.h (enum target_object): Add TARGET_OBJECT_BTRACE.
* remote.c: Include btrace.h.
(struct btrace_target_info): New struct.
(remote_supports_btrace): New function.
(send_Qbtrace): New function.
(remote_enable_btrace): New function.
(remote_disable_btrace): New function.
(remote_teardown_btrace): New function.
(remote_read_btrace): New function.
(init_remote_ops): Add btrace ops.
(enum <unnamed>): Add btrace packets.
(struct protocol_feature remote_protocol_features[]): Add btrace packets.
(_initialize_remote): Add packet configuration for branch tracing.
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* features/btrace.dtd: New file.
* Makefile.in (XMLFILES): Add btrace.dtd.
* btrace.h (parse_xml_btrace): New declaration.
* btrace.c: Include xml-support.h.
(parse_xml_btrace): New function.
(parse_xml_btrace_block): New function.
(block_attributes): New struct.
(btrace_attributes): New struct.
(btrace_children): New struct.
(btrace_elements): New struct.
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* amd64-linux-nat.c: Include btrace.h and linux-btrace.h.
(amd64_linux_enable_btrace): New.
(amd64_linux_disable_btrace): New.
(amd64_linux_teardown_btrace): New.
(_initialize_amd64_linux_nat): Initialize btrace ops.
* i386-linux.nat.c: Include btrace.h and linux-btrace.h.
(i386_linux_enable_btrace): New.
(i386_linux_disable_btrace): New.
(i386_linux_teardown_btrace): New.
(_initialize_i386_linux_nat): Initialize btrace ops.
* config/i386/linux.mh: Add linux-btrace.o.
* config/i386/linux64.mh: Add linux-btrace.o.
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* common/linux_btrace.h: New file.
* common/linux_btrace.c: New file.
* Makefile.in (SFILES): Add btrace.c.
(HFILES_NO_SRCDIR): Add common/linux-btrace.h.
(COMMON_OBS): Add btrace.o.
(linux-btrace.o): New rule.
2013-03-11 08:19:33 +00:00
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
* target.h: Include btrace.h.
(struct target_ops) <to_supports_btrace, to_enable_btrace,
to_disable_btrace, to_teardown_btrace, to_read_btrace>: New.
* target.c (target_supports_btrace): New function.
(target_enable_btrace): New function.
(target_disable_btrace): New function.
(target_teardown_btrace): New function.
(target_read_btrace): New function.
* btrace.h: New file.
* btrace.c: New file.
* Makefile.in: Add btrace.c.
* gdbthread.h: Include btrace.h.
(struct thread_info): Add btrace field.
* thread.c: Include btrace.h.
(clear_thread_inferior_resources): Call target_teardown_btrace.
* common/btrace-common.h: New file.
2013-03-10 Jan Kratochvil <jan.kratochvil@redhat.com>
* common/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Call also kill
for CHILD, ignore PTRACE_KILL errors, move the inner block variable
kill_status to outer block.
2013-03-10 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix entry-values if the callee called a noreturn function.
* dwarf2-frame-tailcall.c (dwarf2_tailcall_sniffer_first): Use
get_frame_address_in_block. Add new comment.
2013-03-10 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix entry-values in C++ across CUs.
* dwarf2loc.c (call_site_to_target_addr) <FIELD_LOC_KIND_PHYSNAME>: Use
lookup_minimal_symbol. Add a comment.
* dwarf2read.c
(read_call_site_scope) <is_ref_attr> <die_is_declaration>: Prefer
DW_AT_linkage_name.
2013-03-08 Yao Qi <yao@codesourcery.com>
* tracepoint.c (_initialize_tracepoint): Indent the code.
2013-03-08 Pedro Alves <palves@redhat.com>
* findcmd.c (put_bits): Change type of parameter to 'gdb_byte *'.
(parse_find_args, find_command): Change type of pattern buffer
locals to 'gdb_byte *'.
2013-03-08 Stan Shebs <stan@codesourcery.com>
2012-03-08 Stan Shebs <stan@codesourcery.com> Hafiz Abid Qadeer <abidh@codesourcery.com> gdb/ * NEWS: Mention set and show trace-buffer-size commands. Mention new packet. * target.h (struct target_ops): New method to_set_trace_buffer_size. (target_set_trace_buffer_size): New macro. * target.c (update_current_target): Set up new method. * tracepoint.c (trace_buffer_size): New global. (start_tracing): Send it to the target. (set_trace_buffer_size): New function. (_initialize_tracepoint): Add new setshow for trace-buffer-size. * remote.c (remote_set_trace_buffer_size): New function. (_initialize_remote): Use it. (QTBuffer:size) New remote command. (PACKET_QTBuffer_size): New enum. (remote_protocol_features): Add an entry for PACKET_QTBuffer_size. gdb/gdbserver/ * tracepoint.c (trace_buffer_size): New global. (DEFAULT_TRACE_BUFFER_SIZE): New define. (init_trace_buffer): Change to one-argument function. Allocate trace buffer memory. (handle_tracepoint_general_set): Call cmd_bigqtbuffer_size to handle QTBuffer:size packet. (cmd_bigqtbuffer_size): New function. (initialize_tracepoint): Call init_trace_buffer with DEFAULT_TRACE_BUFFER_SIZE. * server.c (handle_query): Add QTBuffer:size in the supported packets. gdb/doc/ * gdb.texinfo (Starting and Stopping Trace Experiments): Document trace-buffer-size set and show commands. (Tracepoint Packets): Document QTBuffer:size. (General Query Packets): Document QTBuffer:size. gdb/testsuite/ * gdb.trace/trace-buffer-size.exp: New file. * gdb.trace/trace-buffer-size.c: New file.
2013-03-08 15:06:39 +00:00
Hafiz Abid Qadeer <abidh@codesourcery.com>
* NEWS: Mention set and show trace-buffer-size commands.
Mention new packet.
* target.h (struct target_ops): New method
to_set_trace_buffer_size.
(target_set_trace_buffer_size): New macro.
* target.c (update_current_target): Set up new method.
* tracepoint.c (trace_buffer_size): New global.
(start_tracing): Send it to the target.
(set_trace_buffer_size): New function.
(_initialize_tracepoint): Add new setshow for trace-buffer-size.
* remote.c (remote_set_trace_buffer_size): New function.
(_initialize_remote): Use it.
(QTBuffer:size) New remote command.
(PACKET_QTBuffer_size): New enum.
(remote_protocol_features): Add an entry for
PACKET_QTBuffer_size.
2013-03-08 Tom Tromey <tromey@redhat.com>
* remote-m32r-sdi.c (m32r_load): Call skip_spaces on correct
variable.
2013-03-07 Pedro Alves <palves@redhat.com>
* target.c (target_read_stralloc, target_fileio_read_alloc):
*Cast pointer to 'gdb_byte *' in target call.
2013-03-07 Pedro Alves <palves@redhat.com>
* corefile.c (read_memory_string): Cast pointer to gdb_byte* in
call.
* breakpoint.c (catch_syscall_split_args): Use skip_spaces. (trace_pass_command): Likewise. * cli/cli-cmds.c: Include cli/cli-utils.h. (source_command): Use skip-spaces. (disassemble_command): Likewise. * findcmd.c: Include cli/cli-utils.h. (parse_find_args): Use skip_spaces. * go32-nat.c: Include cli/cli-utils.h. (go32_sldt): Use skip_spaces. (go32_sgdt): Likewise. (go32_sidt): Likewise. (go32_pde): Likewise. (go32_pte): Likewise. (go32_pte_for_address): Likewise. * infcmd.c: Include cli/cli-utils.h. (registers_info): Use skip_spaces. * linux-tdep.c (read_mapping): Use skip_spaces_const. (linux_info_proc): Likewise. * linux-thread-db.c: Include cli/cli-utils.h. (info_auto_load_libthread_db): Use skip_spaces_const. * m32r-rom.c: Include cli/cli-utils.h. (m32r_upload_command): Use skip_spaces. * maint.c: Include cli/cli-utils.h. (maintenance_translate_address): Use skip_spaces. * mi/mi-parse.c: Include cli/cli-utils.h. (mi_parse_argv): Use skip_spaces. (mi_parse): Likewise. * minsyms.c: Include cli/cli-utils.h. (msymbol_hash_iw): Use skip_spaces_const. * objc-lang.c: Include cli/cli-utils.h. (parse_selector): Use skip_spaces. (parse_method): Likewise. * python/python.c: Include cli/cli-utils.h. (python_interactive_command)[HAVE_PYTHON]: Use skip_spaces. (python_command)[HAVE_PYTHON]: Likewise. (python_interactive_command)[!HAVE_PYTHON]: Likewise. * remote-m32r-sdi.c: Include cli/cli-utils.h. (m32r_load): Use skip_spaces. * serial.c: Include cli/cli-utils.h. (serial_open): Use skip_spaces_const. * stack.c: Include cli/cli-utils.h. (parse_frame_specification_1): Use skip_spaces_const. * symfile.c: Include cli/cli-utils.h. (set_ext_lang_command): Use skip_spaces. * symtab.c: Include cli/cli-utils.h. (rbreak_command): Use skip_spaces. * thread.c (thread_name_command): Use skip_spaces. * tracepoint.c (validate_actionline): Use skip_spaces. (encode_actions_1): Likewise. (trace_find_range_command): Likewise. (trace_find_outside_command): Likewise. (trace_dump_actions): Likewise.
2013-03-07 21:57:30 +00:00
2013-03-07 Keith Seitz <keiths@redhat.com>
* breakpoint.c (catch_syscall_split_args): Use skip_spaces.
(trace_pass_command): Likewise.
* cli/cli-cmds.c: Include cli/cli-utils.h.
(source_command): Use skip-spaces.
(disassemble_command): Likewise.
* findcmd.c: Include cli/cli-utils.h.
(parse_find_args): Use skip_spaces.
* go32-nat.c: Include cli/cli-utils.h.
(go32_sldt): Use skip_spaces.
(go32_sgdt): Likewise.
(go32_sidt): Likewise.
(go32_pde): Likewise.
(go32_pte): Likewise.
(go32_pte_for_address): Likewise.
* infcmd.c: Include cli/cli-utils.h.
(registers_info): Use skip_spaces.
* linux-tdep.c (read_mapping): Use skip_spaces_const.
(linux_info_proc): Likewise.
* linux-thread-db.c: Include cli/cli-utils.h.
(info_auto_load_libthread_db): Use skip_spaces_const.
* m32r-rom.c: Include cli/cli-utils.h.
(m32r_upload_command): Use skip_spaces.
* maint.c: Include cli/cli-utils.h.
(maintenance_translate_address): Use skip_spaces.
* mi/mi-parse.c: Include cli/cli-utils.h.
(mi_parse_argv): Use skip_spaces.
(mi_parse): Likewise.
* minsyms.c: Include cli/cli-utils.h.
(msymbol_hash_iw): Use skip_spaces_const.
* objc-lang.c: Include cli/cli-utils.h.
(parse_selector): Use skip_spaces.
(parse_method): Likewise.
* python/python.c: Include cli/cli-utils.h.
(python_interactive_command)[HAVE_PYTHON]: Use skip_spaces.
(python_command)[HAVE_PYTHON]: Likewise.
(python_interactive_command)[!HAVE_PYTHON]: Likewise.
* remote-m32r-sdi.c: Include cli/cli-utils.h.
(m32r_load): Use skip_spaces.
* serial.c: Include cli/cli-utils.h.
(serial_open): Use skip_spaces_const.
* stack.c: Include cli/cli-utils.h.
(parse_frame_specification_1): Use skip_spaces_const.
* symfile.c: Include cli/cli-utils.h.
(set_ext_lang_command): Use skip_spaces.
* symtab.c: Include cli/cli-utils.h.
(rbreak_command): Use skip_spaces.
* thread.c (thread_name_command): Use skip_spaces.
* tracepoint.c (validate_actionline): Use skip_spaces.
(encode_actions_1): Likewise.
(trace_find_range_command): Likewise.
(trace_find_outside_command): Likewise.
(trace_dump_actions): Likewise.
Fix -Wpointer-sign around strings/encoding conversions. Trimmed for brevity: $ make WERROR_CFLAGS="-Wpointer-sign -Werror" c-lang.o expprint.o utils.o valprint.o varobj.o -k 2>&1 1>/dev/null ../../src/gdb/c-lang.c: In function ‘parse_one_string’: ../../src/gdb/c-lang.c:540:8: error: pointer targets in passing argument 3 of ‘convert_between_encodings’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/c-lang.c:30:0: ../../src/gdb/charset.h:64:6: note: expected ‘const gdb_byte *’ but argument is of type ‘char *’ ../../src/gdb/expprint.c: In function ‘print_subexp_standard’: ../../src/gdb/expprint.c:205:2: error: pointer targets in passing argument 3 of ‘current_language->la_printstr’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/expprint.c:205:2: note: expected ‘const gdb_byte *’ but argument is of type ‘char *’ cc1: all warnings being treated as errors make: *** [expprint.o] Error 1 ../../src/gdb/utils.c: In function ‘host_char_to_target’: ../../src/gdb/utils.c:1474:9: error: pointer targets in passing argument 3 of ‘convert_between_encodings’ differ in signedness [-Werror=pointer-sign] ../../src/gdb/varobj.c: In function ‘value_get_print_value’: ../../src/gdb/varobj.c:2934:8: error: pointer targets in return differ in signedness [-Werror=pointer-sign] ../../src/gdb/varobj.c:2968:12: error: pointer targets in assignment differ in signedness [-Werror=pointer-sign] ../../src/gdb/varobj.c:2971:3: error: pointer targets in return differ in signedness [-Werror=pointer-sign] cc1: all warnings being treated as errors make: *** [varobj.o] Error 1 As with the previous patch, the encoding conversion code works with gdb_byte arrays as the generic buffers that hold strings of any encoding/width. This patch adds casts where appropriate. gdb/ 2013-03-07 Pedro Alves <palves@redhat.com> * c-lang.c (parse_one_string): Cast argument to gdb_byte *. * expprint.c (print_subexp_standard): Likewise. * utils.c (host_char_to_target): Likewise. * valprint.c (generic_emit_char, generic_printstr): Likewise. * varobj.c (value_get_print_value): Change type of local to char*. Cast it gdb_byte * in call to language printer.
2013-03-07 19:24:32 +00:00
2013-03-07 Pedro Alves <palves@redhat.com>
* c-lang.c (parse_one_string): Cast argument to gdb_byte *.
* expprint.c (print_subexp_standard): Likewise.
* utils.c (host_char_to_target): Likewise.
* valprint.c (generic_emit_char, generic_printstr): Likewise.
* varobj.c (value_get_print_value): Change type of local to char*.
Cast it gdb_byte * in call to language printer.
2013-03-07 Pedro Alves <palves@redhat.com>
* charset.c (struct wchar_iterator) <input>: Change type to 'const
gdb_byte *'.
(make_wchar_iterator): Remove cast to char*.
(wchar_iterate): Change type of local.
2013-03-07 Pedro Alves <palves@redhat.com>
* regcache.c (regcache_xmalloc_1): Call XCALLOC with signed char
for 'regcache->register_status'.
2013-03-07 Pedro Alves <palves@redhat.com>
2013-03-07 18:53:40 +00:00
* breakpoint.c (breakpoint_xfer_memory): Change type of local to
int.
2013-03-07 Pedro Alves <palves@redhat.com>
* stap-probe.c (handle_stap_probe): Add cast to char*.
2013-03-07 Pedro Alves <palves@redhat.com>
* linux-record.c (record_linux_system_call) <gdb_sys_msgrcv,
RECORD_MSGRCV>: Pass a signed variable to
regcache_raw_read_signed, instead of an unsigned one.
2013-03-07 Pedro Alves <palves@redhat.com>
* remote-notif.c (notif_debug): Change type to int.
* remote-notif.h (notif_debug): Likewise.
2013-03-07 Pedro Alves <palves@redhat.com>
* ser-tcp.c (tcp_retry_limit): Change type to unsigned int.
2013-03-07 Pedro Alves <palves@redhat.com>
* remote.c (hex2bin, bin2hex): Move extern declarations to ...
* remote.h (hex2bin, bin2hex): ... here.
* tracepoint.c (hex2bin, bin2hex): Remove extern declarations.
2013-03-07 Eli Zaretskii <eliz@gnu.org>
* utils.c (initialize_utils): Improve doc strings of "set/show
width", "set/show height", and "set/show pagination".
2013-03-06 Keith Seitz <keiths@redhat.com>
* ax-gdb.c (gen_printf): Make FORMAT const.
* ax-gdb.h (gen_printf): Likewise.
* ax-general.c (ax_string): Make STR const.
* ax.h (ax_string): Likewise.
2013-03-06 Doug Evans <dje@google.com>
* elfread.c (elf_symfile_read): Move debugging printf to more
logical location.
2013-03-06 Pedro Alves <palves@redhat.com>
* python/py-utils.c (target_string_to_unicode): Delete function.
* python/python-internal.h (target_string_to_unicode): Delete
declaration.
2013-03-06 Pierre Muller <muller@sourceware.org>
* linespec.c (get_current_search_block): ARI fix, use (void)
for empty parameter list.
2013-03-05 Doug Evans <dje@google.com>
* ada-lang.c (ada_lookup_symbol_list_worker): New function, contents
of old ada_lookup_symbol_list. In !full_search case, don't
search superblocks.
(ada_lookup_symbol_list): Delete arg full_search, all callers
updated. Call ada_lookup_symbol_list_worker.
(ada_iterate_over_symbols): Call ada_lookup_symbol_list_worker.
* ada-lang.h (ada_lookup_symbol_list): Update.
* language.h (language_defn): Update comment for
la_iterate_over_symbols.
* linespec.c (iterate_over_file_blocks): New function.
(iterate_over_all_matching_symtabs): Call it.
(lookup_prefix_sym): Ditto.
(get_current_search_block): New function.
(get_search_block): Delete.
(find_label_symbols): Call get_current_search_block.
(add_matching_symbols_to_info): Call iterate_over_file_blocks.
* symtab.c (iterate_over_symbols): Don't search superblocks.
2013-03-05 Yao Qi <yao@codesourcery.com>
* cli/cli-decode.c (add_setshow_zuinteger_unlimited_cmd): Change
parameter VAR's type from "unsigned int" to "int".
* command.h (var_zuinteger_unlimited): Update its comments.
(add_setshow_zuinteger_unlimited_cmd): Update the declaration.
2013-03-05 Corinna Vinschen <vinschen@redhat.de>
* NEWS: Mention new target x86_64-*-cygwin*.
2013-03-05 Corinna Vinschen <vinschen@redhat.de>
* configure.host: Add x86_64-*-cygwin* as host.
* configure.tgt: Add x86_64-*-cygwin* as target.
* config/i386/cygwin64.mh: New file.
2013-03-04 Jan Kratochvil <jan.kratochvil@redhat.com>
* linespec.c (decode_line_2): Fix duplicate request off by two message.
2013-03-04 Jan Kratochvil <jan.kratochvil@redhat.com>
* linespec.c (struct linespec_canonical_name): New.
(struct linespec_state): Change canonical_names type to it.
(add_sal_to_sals): Change variable canonical_name to canonical. Change
xrealloc element size. Initialize the different CANONICAL fields.
(canonical_to_fullform): New.
(filter_results): Use it. Add variables canonical, fullform and
cleanup.
(struct decode_line_2_item, decode_line_2_compare_items): New.
(decode_line_2): Remove variables iter and item_names, add variables
items and items_count. Modify the code for these new variables.
2013-03-04 Corinna Vinschen <vinschen@redhat.com>
* coff-pe-read.c (read_pe_exported_syms): Don't return without
calling do_cleanup.
2013-03-04 Luis Machado <lgustavo@codesourcery.com>
* tracepoint.c (build_traceframe_info): Add code for byte order.
2013-03-02 Kevin Buettner <kevinb@redhat.com>
* v850-tdep.c: (v850e2_register_name): Revise system register
names to match current V850E2M architecture specifications.
Update register number enum comments too.
2013-03-01 Jiong Wang <jiwang@tilera.com>
Pedro Alves <palves@redhat.com>
* tilegx-tdep.c (tilegx_analyze_prologue): Limit bundle reading
to END_ADDR.
(tilegx_skip_prologue): Limit prologue analysis to section end.
2013-03-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2loc.c (call_site_find_chain_1): New variable save_callee_pc,
use it.
Use gdb_byte for bytes from the program being debugged. gdb_byte should be used for bytes from the program being debugged. We have many places using char or unsigned char instead all over the existing ports, and more ends up added over time due to copy/paste as new code is based on old code. I've greped the tree for "char buf[", and fixed all I found. Tested by building with --enable-targets=all. 2013-03-01 Pedro Alves <palves@redhat.com> Use gdb_byte for bytes from the program being debugged. * arm-tdep.c (arm_store_return_value, arm_get_longjmp_target): Change type of local 'buf' to gdb_byte. * avr-tdep.c (avr_frame_prev_register, avr_push_dummy_call): Likewise. * bfin-tdep.c (bfin_push_dummy_call): Likewise. * cris-tdep.c (cris_sigcontext_addr) (cris_sigtramp_frame_unwind_cache): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp) (frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Likewise. * frv-tdep.c (frv_pseudo_register_write, frv_analyze_prologue): Likewise. * hppa-hpux-tdep.c (hppa32_hpux_find_global_pointer) (hppa32_hpux_search_dummy_call_sequence) (hppa_hpux_supply_save_state): Likewise. * hppa-linux-tdep.c (insns_match_pattern) (hppa_linux_find_global_pointer): Likewise. * hppa-tdep.c (hppa_in_function_epilogue_p) (skip_prologue_hard_way, hppa_frame_cache): Likewise. * i386-nto-tdep.c (i386nto_sigcontext_addr): Likewise. * i386fbsd-tdep.c (i386fbsd_supply_uthread) (i386fbsd_collect_uthread): Likewise. * ia64-hpux-tdep.c (ia64_hpux_push_dummy_code): Likewise. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Likewise. * ia64-tdep.c (examine_prologue, ia64_frame_cache) (ia64_frame_prev_register, ia64_sigtramp_frame_cache) (ia64_sigtramp_frame_prev_register, ia64_access_reg) (ia64_access_rse_reg, ia64_libunwind_frame_this_id) (ia64_libunwind_frame_prev_register) (ia64_libunwind_sigtramp_frame_this_id) (ia64_find_global_pointer_from_dynamic_section) (find_extant_func_descr, find_func_descr, ia64_dummy_id) (ia64_unwind_pc): Likewise. * iq2000-tdep.c (iq2000_store_return_value): Likewise. * m68hc11-tdep.c (m68hc11_push_dummy_call) (m68hc11_extract_return_value): Likewise. * m68klinux-nat.c (fetch_register, store_register): Likewise. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_cr32_write) (mep_get_insn, mep_push_dummy_call): Likewise. * mips-linux-tdep.c (mips_linux_get_longjmp_target) (mips_linux_in_dynsym_stub): Likewise. * mn10300-tdep.c (mep_pseudo_cr32_write): Likewise. * ppc-linux-nat.c (fetch_register, store_register): Likewise. * regcache.c (dump_endian_bytes): Change type of parameter 'buf' to gdb_byte. * remote-mips.c (mips_set_register): Likewise. * remote-sim.c (gdbsim_fetch_register): Likewise. * score-tdep.c (score7_fetch_inst): Change type of parameter 'memblock' and local 'buf' to gdb_byte. (score7_malloc_and_get_memblock): Change return type to gdb_byte. Change type of local 'buf' to gdb_byte. Adjust. (score7_adjust_memblock_ptr): Change type of parameter 'memblock' to gdb_byte**. (score7_analyze_prologue): Change type of 'memblock' and 'memblock_ptr' locals to gdb_byte*. * sh64-tdep.c (sh64_extract_return_value) (sh64_store_return_value): Change type of local 'buf' to gdb_byte. * solib-darwin.c (darwin_current_sos, darwin_read_exec_load_addr): * solib-pa64.c (pa64_solib_create_inferior_hook) (pa64_open_symbol_file_object): Remove local 'buf'. * solib-som.c (som_solib_create_inferior_hook, link_map_start) (som_open_symbol_file_object): Likewise. * solib-spu.c (spu_current_sos): Likewise. * spu-linux-nat.c (spu_fetch_inferior_registers): Likewise. * spu-multiarch.c (parse_spufs_run, spu_fetch_registers) (spu_store_registers): Likewise. * target.c (debug_print_register): Likewise. * tic6x-tdep.c (tic6x_get_longjmp_target): Likewise. * xstormy16-tdep.c (xstormy16_store_return_value) (xstormy16_push_dummy_call, xstormy16_resolve_jmp_table_entry) (xstormy16_find_jmp_table_entry): Likewise.
2013-03-01 15:38:27 +00:00
2013-03-01 Pedro Alves <palves@redhat.com>
Use gdb_byte for bytes from the program being debugged.
* arm-tdep.c (arm_store_return_value, arm_get_longjmp_target):
Change type of local 'buf' to gdb_byte.
* avr-tdep.c (avr_frame_prev_register, avr_push_dummy_call): Likewise.
* bfin-tdep.c (bfin_push_dummy_call): Likewise.
* cris-tdep.c (cris_sigcontext_addr)
(cris_sigtramp_frame_unwind_cache): Likewise.
* frv-linux-tdep.c (frv_linux_pc_in_sigtramp)
(frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache):
Likewise.
* frv-tdep.c (frv_pseudo_register_write, frv_analyze_prologue): Likewise.
* hppa-hpux-tdep.c (hppa32_hpux_find_global_pointer)
(hppa32_hpux_search_dummy_call_sequence)
(hppa_hpux_supply_save_state): Likewise.
* hppa-linux-tdep.c (insns_match_pattern)
(hppa_linux_find_global_pointer): Likewise.
* hppa-tdep.c (hppa_in_function_epilogue_p)
(skip_prologue_hard_way, hppa_frame_cache): Likewise.
* i386-nto-tdep.c (i386nto_sigcontext_addr): Likewise.
* i386fbsd-tdep.c (i386fbsd_supply_uthread)
(i386fbsd_collect_uthread): Likewise.
* ia64-hpux-tdep.c (ia64_hpux_push_dummy_code): Likewise.
* ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Likewise.
* ia64-tdep.c (examine_prologue, ia64_frame_cache)
(ia64_frame_prev_register, ia64_sigtramp_frame_cache)
(ia64_sigtramp_frame_prev_register, ia64_access_reg)
(ia64_access_rse_reg, ia64_libunwind_frame_this_id)
(ia64_libunwind_frame_prev_register)
(ia64_libunwind_sigtramp_frame_this_id)
(ia64_find_global_pointer_from_dynamic_section)
(find_extant_func_descr, find_func_descr, ia64_dummy_id)
(ia64_unwind_pc): Likewise.
* iq2000-tdep.c (iq2000_store_return_value): Likewise.
* m68hc11-tdep.c (m68hc11_push_dummy_call)
(m68hc11_extract_return_value): Likewise.
* m68klinux-nat.c (fetch_register, store_register): Likewise.
* mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_cr32_write)
(mep_get_insn, mep_push_dummy_call): Likewise.
* mips-linux-tdep.c (mips_linux_get_longjmp_target)
(mips_linux_in_dynsym_stub): Likewise.
* mn10300-tdep.c (mep_pseudo_cr32_write): Likewise.
* ppc-linux-nat.c (fetch_register, store_register): Likewise.
* regcache.c (dump_endian_bytes): Change type of parameter 'buf'
to gdb_byte.
* remote-mips.c (mips_set_register): Likewise.
* remote-sim.c (gdbsim_fetch_register): Likewise.
* score-tdep.c (score7_fetch_inst): Change type of parameter
'memblock' and local 'buf' to gdb_byte.
(score7_malloc_and_get_memblock): Change return type to gdb_byte.
Change type of local 'buf' to gdb_byte. Adjust.
(score7_adjust_memblock_ptr): Change type of parameter 'memblock'
to gdb_byte**.
(score7_analyze_prologue): Change type of 'memblock' and
'memblock_ptr' locals to gdb_byte*.
* sh64-tdep.c (sh64_extract_return_value)
(sh64_store_return_value): Change type of local 'buf' to gdb_byte.
* solib-darwin.c (darwin_current_sos, darwin_read_exec_load_addr):
* solib-pa64.c (pa64_solib_create_inferior_hook)
(pa64_open_symbol_file_object): Remove local 'buf'.
* solib-som.c (som_solib_create_inferior_hook, link_map_start)
(som_open_symbol_file_object): Likewise.
* solib-spu.c (spu_current_sos): Likewise.
* spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
* spu-multiarch.c (parse_spufs_run, spu_fetch_registers)
(spu_store_registers): Likewise.
* target.c (debug_print_register): Likewise.
* tic6x-tdep.c (tic6x_get_longjmp_target): Likewise.
* xstormy16-tdep.c (xstormy16_store_return_value)
(xstormy16_push_dummy_call, xstormy16_resolve_jmp_table_entry)
(xstormy16_find_jmp_table_entry): Likewise.
2013-03-01 Jiong Wang <jiwang@tilera.com>
* tilegx-tdep.c (tilegx_get_longjmp_target): New function.
(tilegx_gdbarch_init): Install it.
2013-02-28 Tom Tromey <tromey@redhat.com>
* python/py-arch.c (archpy_disassemble): Use PyInt_Check and
PyLong_Check.
2013-02-28 Doug Evans <dje@google.com>
* python/py-finishbreakpoint.c (bpfinishpy_init): gcc -Wall lint.
* python/python.c (gdbpy_find_pc_line): Ditto.
2013-02-28 Tom Tromey <tromey@redhat.com>
* contrib/excheck.py: New file.
* contrib/exsummary.py: New file.
* contrib/gcc-with-excheck: New file.
2013-02-28 Tom Tromey <tromey@redhat.com>
* python/python.c (gdbpy_print_stack): Call begin_line and
fprintf_filtered inside TRY_CATCH.
2013-02-28 Tom Tromey <tromey@redhat.com>
* python/python.c (gdbpy_find_pc_line): Call find_pc_line
inside TRY_CATCH.
2013-02-28 Tom Tromey <tromey@redhat.com>
* py-finishbreakpoint.c (bpfinishpy_init): Reorganize to call
frame_object_to_frame_info inside TRY_CATCH.
2013-02-28 Tom Tromey <tromey@redhat.com>
* py-block.c (gdbpy_block_for_pc): Call block_for_pc inside
TRY_CATCH.
2013-02-28 Tom Tromey <tromey@redhat.com>
* objfiles.h (ALL_PSPACE_OBJFILES): Remove trailing backlash.
2013-02-27 Corinna Vinschen <vinschen@redhat.com>
* windows-nat.c: Throughout, fix format strings and casts of
printf-like functions to avoid type related warnings on all
platforms.
(handle_output_debug_string): Fetch context information address
from debug string using string_to_core_addr.
2013-02-27 Jiong Wang <jiwang@tilera.com>
* regformats/reg-tilegx.dat (name): Change abi name to "tilegx".
* regformats/reg-tilegx32.dat: New.
2013-02-27 Jiong Wang <jiwang@tilera.com>
* configure.tgt (tilegx-*-linux*): Enable gdbserver.
2013-02-27 Jiong Wang <jiwang@tilera.com>
* configure.tgt (tilegx-*-linux*): Replace whitespace with tab.
2013-02-27 Yao Qi <yao@codesourcery.com>
Pedro Alves <palves@redhat.com>
* tracepoint.c (tfile_trace_find): For tfind
pc/tp/range/outside, look for the next trace frame instead of
always starting from frame 0.
2013-02-26 22:12:47 +00:00
2013-02-26 Anthony Green <green@moxielogic.com>
* configure.tgt: Add support for moxie-*-rtems* target.
2013-02-25 Pedro Alves <palves@redhat.com>
* common/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Change
warning text.
2013-02-24 Maciej W. Rozycki <macro@codesourcery.com>
* mips-tdep.c (mips32_scan_prologue): Reset frame_offset to zero
if $fp is used as the virtual frame pointer.
2013-02-23 Alan Modra <amodra@gmail.com>
* elfread.c (elf_symtab_read): Do not use udata.p here to find
symbol size.
* ppc64-tdep.c (ppc64_elf_make_msymbol_special): New function.
* ppc64-tdep.h (ppc64_elf_make_msymbol_special): Declare.
* ppc-linux-tdep.c (ppc_linux_init_abi): Set up to use the above.
* ppcfbsd-tdep.c (ppcfbsd_init_abi): Likewise.
2013-02-22 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup.
* elfread.c (build_id_bfd_get): Make the return type const.
(build_id_verify): Make the check parameter const.
(build_id_to_debug_filename): Make the build_id parameter and variable
data const.
(find_separate_debug_file_by_buildid): Make the variable build_id const.
2013-02-21 Alan Modra <amodra@gmail.com>
* elfread.c (build_id_bfd_get): Adjust for elf_tdata changes.
2013-02-20 Siva Chandra Reddy <sivachandra@google.com>
Add a new method 'disassemble' to gdb.Architecture class.
* python/py-arch.c (archpy_disassmble): Implementation of the
new method gdb.Architecture.disassemble.
(arch_object_methods): Add entry for the new method.
2013-02-20 Jiong Wang <jiwang@tilera.com>
* MAINTAINERS (Write After Approval): Add myself to the list.
2013-02-19 Pedro Alves <palves@redhat.com>
Garbage collect 'struct monitor_ops'::load_routine.
* monitor.h (struct monitor_ops) <load_routine>: Remove field.
* monitor.c (monitor_load): No longer call
current_monitor->load_routine.
* dbug-rom.c (init_dbug_cmds): Don't set 'load_routine'.
* m32r-rom.c (init_m32r_cmds): Don't set 'load_routine'.
* ppcbug-rom.c (init_ppc_cmds): Don't set 'load_routine'.
2013-02-19 Pedro Alves <palves@redhat.com>
PR gdb/15161
Harmonize with generic_load.
* monitor.c: Include "readline/readline.h".
(monitor_load): Rename parameter 'file' to 'args'. Use build_argv
instead of sscanf. Use CORE_ADDR/strtoulst instead of unsigned
long/strtol for the 'load_offset' local. Error out if no argument
is given or if too many arguments are given. Tilde expand the
passed in file name.
2013-02-19 Kai Tietz <ktietz@redhat.com>
PR gdb/15161
* symfile.c (load_section_data): Change type of load_offset
to CORE_ADDR.
(generic_load): User strtoulst instead of strtoul for conversion
of load_offset.
2013-02-19 Jiong Wang <jiwang@tilera.com>
* tilegx-tdep.c (tilegx_analyze_prologue): add check for
for return address, "lr" register, saved on stack.
* tilegx-tdep.c (tilegx_frame_cache): update "PC" reg
after we invoke tilegx_analyze_prologue.
2013-02-19 Jiong Wang <jiwang@tilera.com>
* tilegx-tdep.c (itilegx_gdbarch_init): char type should be signed.
2013-02-19 Jiong Wang <jiwang@tilera.com>
* tilegx-tdep.c (tilegx_skip_prologue): Use skip_prologue_using_sal.
2013-02-19 Jiong Wang <jiwang@tilera.com>
* tilegx-tdep.c (INT_SWINT_1_SIGRETURN): New macro.
(tilegx_write_pc): New function.
(tilegx_cannot_reference_register): Return zero if REGNO
is TILEGX_FAULTNUM_REGNUM.
(tilegx_gdbarch_init): Add call to set_gdbarch_write_pc.
(tilegx_register_name): Add handling of "faultnum" register.
* tilegx-tdep.h (enum tilegx_regnum): Add TILEGX_FAULTNUM_REGNUM.
* tilegx-linux-tdep.c (tilegx_linux_supply_regset): Add
handling of TILEGX_FAULTNUM_REGNUM.
* tilegx-linux-nat.c (regmap): Add entry for TILEGX_FAULTNUM_REGNUM.
2013-02-19 Jiong Wang <jiwang@tilera.com>
* tilegx-tdep.c (tilegx_push_dummy_call): args pushed on stack
should be aligned to 64bit.
2013-02-19 Kai Tietz <ktietz@redhat.com>
* windows-nat.c (windows_xfer_memory): Fix debug-output
for LLP64.
2013-02-19 Lei Liu <lei.liu2@windriver.com>
* mips-linux-nat.c (mips64_linux_regsets_store_registers):
Don't check DSP register number if HAVE_DSP is not set.
2013-02-19 Alan Modra <amodra@gmail.com>
* elfread.c (struct build_id): Delete. Use struct elf_build_id
throughout file instead.
(build_id_bfd_get): Update to use new elf_tdata build_id field.
Don't xmalloc return value.
(build_id_verify): Similarly. Don't xfree.
(build_id_to_debug_filename): Update.
(find_separate_debug_file_by_buildid): Update, don't xfree.
2013-02-18 Tom Tromey <tromey@redhat.com>
PR gdb/15102:
* dwarf2read.c (read_subrange_type): Use result of
'check_typedef'.
2013-02-16 Yuanhui Zhang <asmwarrior@gmail.com>
* frame.c: Remove one extra white space after #include
directive.
2013-02-15 Jan Kratochvil <jan.kratochvil@redhat.com>
* contrib/cc-with-tweaks.sh: Extend the comment for -p option.
2013-02-15 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb-gdb.gdb.in: Wrap set complaints, b internal_error, b info_command
and dir commands into an if block.
2013-02-15 Sanimir Agovic <sanimir.agovic@intel.com>
* python/py-breakpoint (struct pybp_code): Use int instead of
enum type_code.
2013-02-15 Pedro Alves <pedro@codesourcery.com>
Hafiz Abid Qadeer <abidh@codesourcery.com>
* NEWS: Mention new field "trace-file".
* tracepoint.c (trace_status_mi): Output "trace-file" field.
(tfile_open): Record the trace file's filename in the trace
status.
(tfile_files_info): Mention the name of the trace file.
Check the "filename" field explicitely.
(trace_status_command): Explicitely check "filename" field.
(trace_find_command): Ditto.
(trace_find_pc_command): Ditto.
(trace_find_tracepoint_command): Ditto.
(trace_find_line_command): Ditto.
(trace_find_range_command): Ditto.
(trace_find_outside_command): Ditto.
* tracepoint.h (struct trace_status) <from_file>: Rename it
to "filename" and make it hold the trace file's filename
instead of a boolean.
* remote.c (remote_get_trace_status): Initialize "filename"
field with NULL instead of 0.
2013-02-15 03:37:12 +00:00
2013-02-15 Yao Qi <yao@codesourcery.com>
* remote.c: Fix a typo.
2013-02-14 Pierre Muller <muller@sourceware.org>
* contrib/ari/gdb_ari.sh (GNU/Linux rule): Remove.
2013-02-14 Pedro Alves <palves@redhat.com>
* utils.c (savestring): Don't #undef it. Move function to
common/common-utils.c.
* common/common-utils.c: Include gdb_string.h.
(savestring): Move here from utils.c.
* common/common-utils.h (savestring): Declare.
2013-02-14 Pedro Alves <palves@redhat.com>
* utils.c (savestring): Rename parameter 'size' to 'len'.
2013-02-14 Pedro Alves <palves@redhat.com>
Yufeng Zhang <yufeng.zhang@arm.com>
* aarch64-linux-nat.c (aarch64_init_debug_reg_state): Delete.
(aarch64_inferior_data, struct aarch64_inferior_data):
Delete.
(struct aarch64_process_info): New.
(aarch64_process_list): New global.
(aarch64_find_process_pid, aarch64_add_process)
(aarch64_process_info_get): New functions.
(aarch64_inferior_data_get): Delete.
(aarch64_process_info_get): New function.
(aarch64_forget_process): New function.
(aarch64_get_debug_reg_state): New parameter 'pid'. Reimplement.
(aarch64_linux_prepare_to_resume): Pass the lwp's pid to
aarch64_get_debug_reg_state.
(aarch64_notify_debug_reg_change): Use iterate_over_lwps
instead of linux_nat_iterate_watchpoint_lwps.
(aarch64_linux_new_fork): New function.
(aarch64_linux_child_post_startup_inferior): Use
aarch64_forget_process instead of aarch64_init_debug_reg_state.
(aarch64_handle_breakpoint, aarch64_linux_insert_hw_breakpoint)
(aarch64_linux_remove_hw_breakpoint)
(aarch64_handle_aligned_watchpoint)
(aarch64_handle_unaligned_watchpoint)
(aarch64_linux_insert_watchpoint)
(aarch64_linux_remove_watchpoint)
(aarch64_linux_stopped_data_address): Adjust to pass the current
process id to aarch64_debug_reg_state.
(_initialize_aarch64_linux_nat): Install aarch64_linux_new_fork as
linux_nat_new_fork hook, and aarch64_forget_process as
linux_nat_forget_process hook; remove the call to
register_inferior_data_with_cleanup.
2013-02-14 Pedro Alves <palves@redhat.com>
* eval.c (evaluate_subexp_for_address) <default_case_after_eval,
EVAL_AVOID_SIDE_EFFECTS>: Swap and handle TYPE_CODE_REF before
lval_memory.
2013-02-14 Pedro Alves <pedro@codesourcery.com>
Hafiz Abid Qadeer <abidh@codesourcery.com>
* tracepoint.h (validate_trace_state_variable_name): Declare.
* tracepoint.c (validate_trace_state_variable_name): New.
(trace_variable_command): Parse the trace state variable's name
without using parse_expression. Do several validations.
* mi/mi-main.c (mi_cmd_trace_define_variable): Don't parse the
trace state variable's name with parse_expression. Validate it.
2013-02-14 Yao Qi <yao@codesourcery.com>
* infcmd.c (breakpoint_proceeded): Remove it.
2013-02-14 Yao Qi <yao@codesourcery.com>
* tracepoint.c (end_actions_pseudocommand): Make it static.
(while_stepping_pseudocommand): Likewise.
* tracepoint.h (end_actions_pseudocommand): Remove the
declaration.
(while_stepping_pseudocommand): Likewise.
2013-02-14 Yao Qi <yao@codesourcery.com>
* cli/cli-decode.c (help_cmd): Remove the declaration of
"cmdlist".
(help_all): Likewise.
[native x86 GNU/Linux] Access debug register mirror from the corresponding process. While reviewing the native AArch64 patch, I noticed a problem: On 02/06/2013 08:46 PM, Pedro Alves wrote: > >> > +static void >> > +aarch64_linux_prepare_to_resume (struct lwp_info *lwp) >> > +{ >> > + struct arch_lwp_info *info = lwp->arch_private; >> > + >> > + /* NULL means this is the main thread still going through the shell, >> > + or, no watchpoint has been set yet. In that case, there's >> > + nothing to do. */ >> > + if (info == NULL) >> > + return; >> > + >> > + if (DR_HAS_CHANGED (info->dr_changed_bp) >> > + || DR_HAS_CHANGED (info->dr_changed_wp)) >> > + { >> > + int tid = GET_LWP (lwp->ptid); >> > + struct aarch64_debug_reg_state *state = aarch64_get_debug_reg_state (); > Hmm. This is always fetching the debug_reg_state of > the current inferior, but may not be the inferior of lwp. > I see the same bug on x86. Sorry about that. I'll fix it. A natural fix would be to make xxx_get_debug_reg_state take an inferior argument, but that doesn't work because of the case where we detach breakpoints/watchpoints from the child fork, at a time there's no inferior for the child fork at all. We do a nasty hack in i386_inferior_data_get, but that relies on all callers pointing the current inferior to the correct inferior, which isn't actually being done by all callers, and I don't think we want to enforce that -- deep in the bowls of linux-nat.c, there are many cases we resume lwps behind the scenes, and it's be better to not have that code rely on global state (as it doesn't today). The fix is to decouple the watchpoints code from inferiors, making it track target processes instead. This way, we can freely keep track of the watchpoint mirrors for these processes behind the core's back. Checkpoints also play dirty tricks with swapping the process behind the inferior, so they get special treatment too in the patch (which just amounts to calling a new hook). Instead of the old hack in i386_inferior_data_get, where we returned a copy of the current inferior's debug registers mirror, as soon as we detect a fork in the target, we copy the debug register mirror from the parent to the child process. I don't have an old kernel handy to test, but I stepped through gdb doing the watchpoint removal in the fork child in the watchpoint-fork test seeing that the debug registers end up cleared in the child. I didn't find the need for linux_nat_iterate_watchpoint_lwps. If we use plain iterate_over_lwps instead, what happens is that when removing watchpoints, that iterate_over_lwps doesn't actually iterate over anything, since the fork child is not added to the lwp list until later, at detach time, in linux_child_follow_fork. And if we don't iterate over that lwp, we don't mark its debug registers as needing update. But linux_child_follow_fork takes care of doing that explicitly: child_lp = add_lwp (inferior_ptid); child_lp->stopped = 1; child_lp->last_resume_kind = resume_stop; make_cleanup (delete_lwp_cleanup, child_lp); /* CHILD_LP has new PID, therefore linux_nat_new_thread is not called for it. See i386_inferior_data_get for the Linux kernel specifics. Ensure linux_nat_prepare_to_resume will reset the hardware debug registers. It is done by the linux_nat_new_thread call, which is being skipped in add_lwp above for the first lwp of a pid. */ gdb_assert (num_lwps (GET_PID (child_lp->ptid)) == 1); if (linux_nat_new_thread != NULL) linux_nat_new_thread (child_lp); if (linux_nat_prepare_to_resume != NULL) linux_nat_prepare_to_resume (child_lp); ptrace (PTRACE_DETACH, child_pid, 0, 0); so unless I'm missing something (quite possible) it ends up all the same. But, the !detach-on-fork, and the "follow-fork child" paths should also call linux_nat_new_thread, and they don't presently. It seems to me in those cases we're not clearing debug regs correctly when that's needed. Instead of copying that bit that works around add_lwp bypassing the linux_nat_new_thread call, I thought it'd be better to add an add_initial_lwp call to be used in the case we really need to bypass linux_nat_new_thread, and make add_lwp always call linux_nat_new_thread. i386_cleanup_dregs is rewritten to forget about the current process debug mirrors, which takes cares of other i386 ports. Only a couple of extra tweaks here and there were needed, as some targets wheren't actually calling i386_cleanup_dregs. Tested on Fedora 17 x86_64 -m64/-m32. GDBserver already fetches the i386_debug_reg_state from the right process, and, it doesn't handle forks at all, so no fix is needed over there. gdb/ 2013-02-13 Pedro Alves <palves@redhat.com> * amd64-linux-nat.c (update_debug_registers_callback): Update comment. (amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use iterate_over_lwps. (amd64_linux_prepare_to_resume): Pass the lwp's pid to i386_debug_reg_state. (amd64_linux_new_fork): New function. (_initialize_amd64_linux_nat): Install amd64_linux_new_fork as linux_nat_new_fork hook, and i386_forget_process as linux_nat_forget_process hook. * i386-linux-nat.c (update_debug_registers_callback): Update comment. (amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use iterate_over_lwps. (i386_linux_prepare_to_resume): Pass the lwp's pid to i386_debug_reg_state. (i386_linux_new_fork): New function. (_initialize_i386_linux_nat): Install i386_linux_new_fork as linux_nat_new_fork hook, and i386_forget_process as linux_nat_forget_process hook. * i386-nat.c (i386_init_dregs): Delete. (i386_inferior_data, struct i386_inferior_data): Delete. (struct i386_process_info): New. (i386_process_list): New global. (i386_find_process_pid, i386_add_process, i386_process_info_get): New functions. (i386_inferior_data_get): Delete. (i386_process_info_get): New function. (i386_debug_reg_state): New parameter 'pid'. Reimplement. (i386_forget_process): New function. (i386_cleanup_dregs): Rewrite. (i386_update_inferior_debug_regs, i386_insert_watchpoint) (i386_remove_watchpoint, i386_region_ok_for_watchpoint) (i386_stopped_data_address, i386_insert_hw_breakpoint) (i386_remove_hw_breakpoint): Adjust to pass the current process id to i386_debug_reg_state. (i386_use_watchpoints): Don't register inferior data. * i386-nat.h (i386_debug_reg_state): Add new 'pid' parameter, and adjust comment. (i386_forget_process): Declare. * linux-fork.c (delete_fork): Call linux_nat_forget_process. * linux-nat.c (linux_nat_new_fork, linux_nat_forget_process_hook): New static globals. (linux_child_follow_fork): Don't call linux_nat_new_thread here. (add_initial_lwp): New, factored out from ... (add_lwp): ... this. Don't check the number of lwps before calling linux_nat_new_thread. (linux_nat_iterate_watchpoint_lwps): Delete. (linux_nat_attach): Use add_initial_lwp instead of add_lwp. (linux_handle_extended_wait): Call the linux_nat_new_fork hook on forks and vforks. (linux_nat_wait_1): Use add_initial_lwp instead of add_lwp for the initial lwp. (linux_nat_kill, linux_nat_mourn_inferior): Call linux_nat_forget_process. (linux_nat_set_new_fork, linux_nat_set_forget_process) (linux_nat_forget_process): New functions. * linux-nat.h (linux_nat_iterate_watchpoint_lwps_ftype): Delete type. (linux_nat_iterate_watchpoint_lwps): Delete declaration. (linux_nat_new_fork_ftype, linux_nat_forget_process_ftype): New types. (linux_nat_set_new_fork, linux_nat_set_forget_process) (linux_nat_forget_process): New declarations. * amd64fbsd-nat.c (super_mourn_inferior): New global. (amd64fbsd_mourn_inferior): New function. (_initialize_amd64fbsd_nat): Override to_mourn_inferior. * windows-nat.c (windows_detach): Call i386_cleanup_dregs.
2013-02-13 14:59:49 +00:00
2013-02-13 Pedro Alves <palves@redhat.com>
* amd64-linux-nat.c (update_debug_registers_callback):
Update comment.
(amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use
iterate_over_lwps.
(amd64_linux_prepare_to_resume): Pass the lwp's pid to
i386_debug_reg_state.
(amd64_linux_new_fork): New function.
(_initialize_amd64_linux_nat): Install amd64_linux_new_fork as
linux_nat_new_fork hook, and i386_forget_process as
linux_nat_forget_process hook.
* i386-linux-nat.c (update_debug_registers_callback):
Update comment.
2013-02-13 15:06:50 +00:00
(i386_linux_dr_set_control, i386_linux_dr_set_addr): Use
[native x86 GNU/Linux] Access debug register mirror from the corresponding process. While reviewing the native AArch64 patch, I noticed a problem: On 02/06/2013 08:46 PM, Pedro Alves wrote: > >> > +static void >> > +aarch64_linux_prepare_to_resume (struct lwp_info *lwp) >> > +{ >> > + struct arch_lwp_info *info = lwp->arch_private; >> > + >> > + /* NULL means this is the main thread still going through the shell, >> > + or, no watchpoint has been set yet. In that case, there's >> > + nothing to do. */ >> > + if (info == NULL) >> > + return; >> > + >> > + if (DR_HAS_CHANGED (info->dr_changed_bp) >> > + || DR_HAS_CHANGED (info->dr_changed_wp)) >> > + { >> > + int tid = GET_LWP (lwp->ptid); >> > + struct aarch64_debug_reg_state *state = aarch64_get_debug_reg_state (); > Hmm. This is always fetching the debug_reg_state of > the current inferior, but may not be the inferior of lwp. > I see the same bug on x86. Sorry about that. I'll fix it. A natural fix would be to make xxx_get_debug_reg_state take an inferior argument, but that doesn't work because of the case where we detach breakpoints/watchpoints from the child fork, at a time there's no inferior for the child fork at all. We do a nasty hack in i386_inferior_data_get, but that relies on all callers pointing the current inferior to the correct inferior, which isn't actually being done by all callers, and I don't think we want to enforce that -- deep in the bowls of linux-nat.c, there are many cases we resume lwps behind the scenes, and it's be better to not have that code rely on global state (as it doesn't today). The fix is to decouple the watchpoints code from inferiors, making it track target processes instead. This way, we can freely keep track of the watchpoint mirrors for these processes behind the core's back. Checkpoints also play dirty tricks with swapping the process behind the inferior, so they get special treatment too in the patch (which just amounts to calling a new hook). Instead of the old hack in i386_inferior_data_get, where we returned a copy of the current inferior's debug registers mirror, as soon as we detect a fork in the target, we copy the debug register mirror from the parent to the child process. I don't have an old kernel handy to test, but I stepped through gdb doing the watchpoint removal in the fork child in the watchpoint-fork test seeing that the debug registers end up cleared in the child. I didn't find the need for linux_nat_iterate_watchpoint_lwps. If we use plain iterate_over_lwps instead, what happens is that when removing watchpoints, that iterate_over_lwps doesn't actually iterate over anything, since the fork child is not added to the lwp list until later, at detach time, in linux_child_follow_fork. And if we don't iterate over that lwp, we don't mark its debug registers as needing update. But linux_child_follow_fork takes care of doing that explicitly: child_lp = add_lwp (inferior_ptid); child_lp->stopped = 1; child_lp->last_resume_kind = resume_stop; make_cleanup (delete_lwp_cleanup, child_lp); /* CHILD_LP has new PID, therefore linux_nat_new_thread is not called for it. See i386_inferior_data_get for the Linux kernel specifics. Ensure linux_nat_prepare_to_resume will reset the hardware debug registers. It is done by the linux_nat_new_thread call, which is being skipped in add_lwp above for the first lwp of a pid. */ gdb_assert (num_lwps (GET_PID (child_lp->ptid)) == 1); if (linux_nat_new_thread != NULL) linux_nat_new_thread (child_lp); if (linux_nat_prepare_to_resume != NULL) linux_nat_prepare_to_resume (child_lp); ptrace (PTRACE_DETACH, child_pid, 0, 0); so unless I'm missing something (quite possible) it ends up all the same. But, the !detach-on-fork, and the "follow-fork child" paths should also call linux_nat_new_thread, and they don't presently. It seems to me in those cases we're not clearing debug regs correctly when that's needed. Instead of copying that bit that works around add_lwp bypassing the linux_nat_new_thread call, I thought it'd be better to add an add_initial_lwp call to be used in the case we really need to bypass linux_nat_new_thread, and make add_lwp always call linux_nat_new_thread. i386_cleanup_dregs is rewritten to forget about the current process debug mirrors, which takes cares of other i386 ports. Only a couple of extra tweaks here and there were needed, as some targets wheren't actually calling i386_cleanup_dregs. Tested on Fedora 17 x86_64 -m64/-m32. GDBserver already fetches the i386_debug_reg_state from the right process, and, it doesn't handle forks at all, so no fix is needed over there. gdb/ 2013-02-13 Pedro Alves <palves@redhat.com> * amd64-linux-nat.c (update_debug_registers_callback): Update comment. (amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use iterate_over_lwps. (amd64_linux_prepare_to_resume): Pass the lwp's pid to i386_debug_reg_state. (amd64_linux_new_fork): New function. (_initialize_amd64_linux_nat): Install amd64_linux_new_fork as linux_nat_new_fork hook, and i386_forget_process as linux_nat_forget_process hook. * i386-linux-nat.c (update_debug_registers_callback): Update comment. (amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use iterate_over_lwps. (i386_linux_prepare_to_resume): Pass the lwp's pid to i386_debug_reg_state. (i386_linux_new_fork): New function. (_initialize_i386_linux_nat): Install i386_linux_new_fork as linux_nat_new_fork hook, and i386_forget_process as linux_nat_forget_process hook. * i386-nat.c (i386_init_dregs): Delete. (i386_inferior_data, struct i386_inferior_data): Delete. (struct i386_process_info): New. (i386_process_list): New global. (i386_find_process_pid, i386_add_process, i386_process_info_get): New functions. (i386_inferior_data_get): Delete. (i386_process_info_get): New function. (i386_debug_reg_state): New parameter 'pid'. Reimplement. (i386_forget_process): New function. (i386_cleanup_dregs): Rewrite. (i386_update_inferior_debug_regs, i386_insert_watchpoint) (i386_remove_watchpoint, i386_region_ok_for_watchpoint) (i386_stopped_data_address, i386_insert_hw_breakpoint) (i386_remove_hw_breakpoint): Adjust to pass the current process id to i386_debug_reg_state. (i386_use_watchpoints): Don't register inferior data. * i386-nat.h (i386_debug_reg_state): Add new 'pid' parameter, and adjust comment. (i386_forget_process): Declare. * linux-fork.c (delete_fork): Call linux_nat_forget_process. * linux-nat.c (linux_nat_new_fork, linux_nat_forget_process_hook): New static globals. (linux_child_follow_fork): Don't call linux_nat_new_thread here. (add_initial_lwp): New, factored out from ... (add_lwp): ... this. Don't check the number of lwps before calling linux_nat_new_thread. (linux_nat_iterate_watchpoint_lwps): Delete. (linux_nat_attach): Use add_initial_lwp instead of add_lwp. (linux_handle_extended_wait): Call the linux_nat_new_fork hook on forks and vforks. (linux_nat_wait_1): Use add_initial_lwp instead of add_lwp for the initial lwp. (linux_nat_kill, linux_nat_mourn_inferior): Call linux_nat_forget_process. (linux_nat_set_new_fork, linux_nat_set_forget_process) (linux_nat_forget_process): New functions. * linux-nat.h (linux_nat_iterate_watchpoint_lwps_ftype): Delete type. (linux_nat_iterate_watchpoint_lwps): Delete declaration. (linux_nat_new_fork_ftype, linux_nat_forget_process_ftype): New types. (linux_nat_set_new_fork, linux_nat_set_forget_process) (linux_nat_forget_process): New declarations. * amd64fbsd-nat.c (super_mourn_inferior): New global. (amd64fbsd_mourn_inferior): New function. (_initialize_amd64fbsd_nat): Override to_mourn_inferior. * windows-nat.c (windows_detach): Call i386_cleanup_dregs.
2013-02-13 14:59:49 +00:00
iterate_over_lwps.
(i386_linux_prepare_to_resume): Pass the lwp's pid to
i386_debug_reg_state.
(i386_linux_new_fork): New function.
(_initialize_i386_linux_nat): Install i386_linux_new_fork as
linux_nat_new_fork hook, and i386_forget_process as
linux_nat_forget_process hook.
* i386-nat.c (i386_init_dregs): Delete.
(i386_inferior_data, struct i386_inferior_data):
Delete.
(struct i386_process_info): New.
(i386_process_list): New global.
(i386_find_process_pid, i386_add_process, i386_process_info_get):
New functions.
(i386_inferior_data_get): Delete.
(i386_process_info_get): New function.
(i386_debug_reg_state): New parameter 'pid'. Reimplement.
(i386_forget_process): New function.
(i386_cleanup_dregs): Rewrite.
(i386_update_inferior_debug_regs, i386_insert_watchpoint)
(i386_remove_watchpoint, i386_region_ok_for_watchpoint)
(i386_stopped_data_address, i386_insert_hw_breakpoint)
(i386_remove_hw_breakpoint): Adjust to pass the current process id
to i386_debug_reg_state.
(i386_use_watchpoints): Don't register inferior data.
* i386-nat.h (i386_debug_reg_state): Add new 'pid' parameter, and
adjust comment.
(i386_forget_process): Declare.
* linux-fork.c (delete_fork): Call linux_nat_forget_process.
* linux-nat.c (linux_nat_new_fork, linux_nat_forget_process_hook):
New static globals.
(linux_child_follow_fork): Don't call linux_nat_new_thread here.
(add_initial_lwp): New, factored out from ...
(add_lwp): ... this. Don't check the number of lwps before
calling linux_nat_new_thread.
(linux_nat_iterate_watchpoint_lwps): Delete.
(linux_nat_attach): Use add_initial_lwp instead of add_lwp.
(linux_handle_extended_wait): Call the linux_nat_new_fork hook on
forks and vforks.
(linux_nat_wait_1): Use add_initial_lwp instead of add_lwp for the
initial lwp.
(linux_nat_kill, linux_nat_mourn_inferior): Call
linux_nat_forget_process.
(linux_nat_set_new_fork, linux_nat_set_forget_process)
(linux_nat_forget_process): New functions.
* linux-nat.h (linux_nat_iterate_watchpoint_lwps_ftype): Delete
type.
(linux_nat_iterate_watchpoint_lwps): Delete declaration.
(linux_nat_new_fork_ftype, linux_nat_forget_process_ftype): New
types.
(linux_nat_set_new_fork, linux_nat_set_forget_process)
(linux_nat_forget_process): New declarations.
* amd64fbsd-nat.c (super_mourn_inferior): New global.
(amd64fbsd_mourn_inferior): New function.
(_initialize_amd64fbsd_nat): Override to_mourn_inferior.
* windows-nat.c (windows_detach): Call i386_cleanup_dregs.
2013-02-13 14:32:56 +00:00
2013-02-13 Marcus Shawcroft <marcus.shawcroft@arm.com>
2013-02-14 03:51:59 +00:00
* aarch64-linux-nat.c (aarch64_linux_get_debug_reg_capacity):
Adding _().
2013-02-13 14:32:56 +00:00
2013-02-13 Marcus Shawcroft <marcus.shawcroft@arm.com>
* aarch64-linux-nat.c (debug_reg_change_callback)
(aarch64_linux_get_debug_reg_capacity): ARI fix: Replace %llx with
%s and phex().
2013-02-13 Marcus Shawcroft <marcus.shawcroft@arm.com>
* aarch64-linux-nat.c (dr_changed_t): ARI fix: Replace long long
with LONGEST.
2013-02-13 Pedro Alves <palves@redhat.com>
Hafiz Abid Qadeer <abidh@codesourcery.com>
* c-lang.c (c_op_print_tab): Add entry for UNOP_PLUS.
2013-02-12 Tom Tromey <tromey@redhat.com>
PR symtab/11464:
* c-exp.y (lex_one_token): Initialize other fields of yylval on
NAME return.
(classify_inner_name): Remove 'first_name' argument, add
'context'. Remove unused variable.
(yylex): Explicitly maintain the context type. Exit loop earlier
if NAME result is seen.
Consistent use of (C) after "Copyright". While writing the previous patch, I noticed that we're not consistent with the (C) in the copyright header. The maintainers manual prefers having it, though also says it's optional. We have over 10x more files with (C) than without in gdb's code, so I spent a few minutes grepping and fixing. Funny enough, the testsuite has it backwards. I'll leave that for another time. gdb/ 2013-02-12 Pedro Alves <palves@redhat.com> * amd64-darwin-tdep.c: Add (C) after Copyright. * cli/cli-cmds.h: Ditto. * cli/cli-decode.c: Ditto. * cli/cli-decode.h: Ditto. * cli/cli-dump.c: Ditto. * cli/cli-dump.h: Ditto. * cli/cli-interp.c: Ditto. * cli/cli-logging.c: Ditto. * cli/cli-script.c: Ditto. * cli/cli-script.h: Ditto. * cli/cli-setshow.c: Ditto. * cli/cli-setshow.h: Ditto. * cli/cli-utils.c: Ditto. * cli/cli-utils.h: Ditto. * config/alpha/nm-osf3.h: Ditto. * config/djgpp/djconfig.sh: Ditto. * config/i386/nm-fbsd.h: Ditto. * config/i386/nm-i386gnu.h: Ditto. * config/nm-linux.h: Ditto. * config/nm-nto.h: Ditto. * config/rs6000/nm-rs6000.h: Ditto. * config/sparc/nm-sol2.h: Ditto. * darwin-nat-info.c: Ditto. * dfp.c: Ditto. * dfp.h: Ditto. * gdb-demangle.h: Ditto. * i386-darwin-nat.c: Ditto. * i386-darwin-tdep.c: Ditto. * linux-fork.h: Ditto. * m32c-tdep.c: Ditto. * microblaze-linux-tdep.c: Ditto. * microblaze-rom.c: Ditto. * microblaze-tdep.c: Ditto. * microblaze-tdep.h: Ditto. * mips-linux-tdep.h: Ditto. * ppc-ravenscar-thread.c: Ditto. * ppc-ravenscar-thread.h: Ditto. * prologue-value.c: Ditto. * prologue-value.h: Ditto. * ravenscar-thread.c: Ditto. * ravenscar-thread.h: Ditto. * sparc-ravenscar-thread.c: Ditto. * sparc-ravenscar-thread.h: Ditto. * tilegx-linux-tdep.c: Ditto. * unwind_stop_reasons.def: Ditto. * windows-nat.h: Ditto. * xtensa-linux-tdep.c: Ditto. * xtensa-xtregs.c: Ditto. * regformats/regdat.sh: Ditto. * regformats/regdef.h: Ditto. gdb/gdbserver/ 2013-02-12 Pedro Alves <palves@redhat.com> * linux-xtensa-low.c: Ditto. * xtensa-xtregs.c: Ditto.
2013-02-12 19:03:57 +00:00
2013-02-12 Pedro Alves <palves@redhat.com>
* amd64-darwin-tdep.c: Add (C) after Copyright.
* cli/cli-cmds.h: Ditto.
* cli/cli-decode.c: Ditto.
* cli/cli-decode.h: Ditto.
* cli/cli-dump.c: Ditto.
* cli/cli-dump.h: Ditto.
* cli/cli-interp.c: Ditto.
* cli/cli-logging.c: Ditto.
* cli/cli-script.c: Ditto.
* cli/cli-script.h: Ditto.
* cli/cli-setshow.c: Ditto.
* cli/cli-setshow.h: Ditto.
* cli/cli-utils.c: Ditto.
* cli/cli-utils.h: Ditto.
* config/alpha/nm-osf3.h: Ditto.
* config/djgpp/djconfig.sh: Ditto.
* config/i386/nm-fbsd.h: Ditto.
* config/i386/nm-i386gnu.h: Ditto.
* config/nm-linux.h: Ditto.
* config/nm-nto.h: Ditto.
* config/rs6000/nm-rs6000.h: Ditto.
* config/sparc/nm-sol2.h: Ditto.
* darwin-nat-info.c: Ditto.
* dfp.c: Ditto.
* dfp.h: Ditto.
* gdb-demangle.h: Ditto.
* i386-darwin-nat.c: Ditto.
* i386-darwin-tdep.c: Ditto.
* linux-fork.h: Ditto.
* m32c-tdep.c: Ditto.
* microblaze-linux-tdep.c: Ditto.
* microblaze-rom.c: Ditto.
* microblaze-tdep.c: Ditto.
* microblaze-tdep.h: Ditto.
* mips-linux-tdep.h: Ditto.
* ppc-ravenscar-thread.c: Ditto.
* ppc-ravenscar-thread.h: Ditto.
* prologue-value.c: Ditto.
* prologue-value.h: Ditto.
* ravenscar-thread.c: Ditto.
* ravenscar-thread.h: Ditto.
* sparc-ravenscar-thread.c: Ditto.
* sparc-ravenscar-thread.h: Ditto.
* tilegx-linux-tdep.c: Ditto.
* unwind_stop_reasons.def: Ditto.
* windows-nat.h: Ditto.
* xtensa-linux-tdep.c: Ditto.
* xtensa-xtregs.c: Ditto.
* regformats/regdat.sh: Ditto.
* regformats/regdef.h: Ditto.
2013-02-12 Pedro Alves <palves@redhat.com>
* break-catch-sig.c: Update copyright years.
2013-02-11 Siva Chandra Reddy <sivachandra@google.com>
Add support for a destructor for ui_out data and use it to
provide a ui_out destructor.
* ui-out.h: Declare the new ui_out destructor.
(ui_out_impl): Add a field for data destructor in ui_out_impl.
* ui-out.c (default_data_destroy): Add a default data destructor
which does nothing.
(default_ui_out_impl): Set the new data_destroy field to
default_data_destroy
(uo_data_destroy): Local function which invokes the data
destructor if present.
(clear_table): Local function which clears the table data of a
ui_out object.
(ui_out_destroy): Public function which frees a ui_out object.
(ui_out_table_end): Use the new clear_table function.
* cli-out.c (cli_ui_out_impl): Set the new data_destroy field to
NULL.
* mi/mi-out.c (mi_ui_out_impl): Set the new data_destroy field
to NULL.
2013-02-11 Doug Evans <dje@google.com>
* printcmd.c (printf_c_string,printf_wide_c_string): New functions.
(printf_decfloat): New function. Broken out from ui_printf.
Remove unnecessary code to shift the entire format string down.
(printf_pointer): New function.
(ui_printf): Code to print C strings, wide C strings, decfloats,
and pointers moved to separate functions.
2013-02-11 Sergio Durigan Junior <sergiodj@redhat.com>
* valops.c (value_assign): Handling bitfield offset in
`lval_internalvar_component' case.
2013-02-08 Doug Evans <dje@google.com>
* common/format.c (parse_format_string): Fix whitespace.
2013-02-08 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
* stack.c (return_command): Work around uninitialized variable
warning.
2013-02-08 Yufeng Zhang <yufeng.zhang@arm.com>
* aarch64-linux-tdep.c (AARCH64_LINUX_SIZEOF_GREGSET): Change the
number of the registers from 36 to 34.
2013-02-08 Marcus Shawcroft <marcus.shawcroft@arm.com>
* NEWS: Mention new AArch64 native and target support.
2013-02-08 Marcus Shawcroft <marcus.shawcroft@arm.com>
* MAINTAINERS (Write After Approval): Add myself.
2013-02-08 Jim MacArthur <jim.macarthur@arm.com>
Marcus Shawcroft <marcus.shawcroft@arm.com>
Nigel Stephens <nigel.stephens@arm.com>
Yufeng Zhang <yufeng.zhang@arm.com>
* aarch64-linux-nat.c: New file.
* config/aarch64/linux.mh: New file.
* configure.host: Add AArch64.
* Makefile.in (ALLDEPFILES): Add aarch64-linux-nat.c.
2013-02-07 Doug Evans <dje@google.com>
* cli/cli-cmds.c (_initialize_cli_cmds): Clarify argument to
disassemble command.
2013-02-07 Marcus Shawcroft <marcus.shawcroft@arm.com>
* aarch64-linux-tdep.c (aarch64_linux_init_abi): Call
set_gdbarch_fetch_tls_load_module_address.
2013-02-06 David S. Miller <davem@davemloft.net>
* sparc-tdep.c (sparc32_return_value): Handle writing return value when
using RETURN_VALUE_ABI_PRESERVES_ADDRESS.
* value.c (struct_return_convention): New function.
(using_struct_return): Implement in terms of struct_return_convention.
* value.h (struct_return_convention): Declare.
* stack.c (return_command): Allow successful overriding of the return
value when RETURN_VALUE_ABI_PRESERVES_ADDRESS.
2013-02-06 Tom Tromey <tromey@redhat.com>
* python/py-type.c (typy_strip_typedefs): Don't call check_typedef
outside of TRY_CATCH.
2013-02-06 Yao Qi <yao@codesourcery.com>
* mi/mi-interp.c: Include "tracepoint.h".
(mi_tsv_modified): Declare.
(mi_tsv_created, mi_tsv_deleted): Update declaration.
(mi_interpreter_init): Call observer_attach_tsv_modified.
(mi_tsv_modified): New.
(mi_tsv_created, mi_tsv_deleted): Update.
* tracepoint.c (trace_variable_command): Call
observer_notify_tsv_modified if the initial value of tsv is
changed.
(delete_trace_state_variable): Call
observer_notify_tsv_deleted earlier.
(trace_variable_command): Caller update.
(create_tsv_from_upload): Likewise.
* observer.sh: Declare "struct trace_state_variable".
* NEWS: Mention the new MI notification "=tsv-modified".
2013-02-05 Doug Evans <dje@google.com>
* completer.c (location_completer): Fix typo in comment.
2013-02-05 Jan Kratochvil <jan.kratochvil@redhat.com>
* breakpoint.c (add_location_to_breakpoint): Insert the location with
ADDRESS sorted.
2013-02-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
* aarch64-tdep.c (aarch64_analyze_prologue): ARI fix:
Refactor if statement to avoid trailing || operator.
2013-02-05 Andreas Tobler <andreast@fgznet.ch>
* NEWS: Add PowerPC FreeBSD as a new native configuration.
2013-02-04 Andreas Tobler <andreast@fgznet.ch>
* Makefile.in (ALL_TARGET_OBS): Add powerpc FreeBSD files.
* configure.host: Add powerpc*-*-freebsd* target.
* configure.tgt: Add target info for powerpc*-*-freebsd*.
* ppcfbsd-nat.c, ppcfbsd-tdep.h, ppcfbsd-tdep.c: New files.
* config/powerpc/fbsd.mh: New file.
2013-02-04 Sergio Durigan Junior <sergiodj@redhat.com>
Denys Vlasenko <dvlasenk@redhat.com>
Pedro Alves <palves@redhat.com>
* gdbarch.sh (elfcore_write_linux_prpsinfo): New F hook.
(struct elf_internal_linux_prpsinfo): Forward declare.
* gdbarch.h, gdbarch.c: Regenerate.
* linux-tdep.c: Include `cli/cli-utils.h'.
(linux_fill_prpsinfo): New function.
(linux_make_corefile_notes): Use linux_fill_prpsinfo. If there's
an elfcore_write_linux_prpsinfo hook, use it, otherwise, use
elfcore_write_linux_prpsinfo32 or elfcore_write_linux_prpsinfo64
depending on gdbarch pointer bitness.
* ppc-linux-tdep.c: Include elf-bfd.h.
(ppc_linux_init_abi): Hook in elfcore_write_ppc_linux_prpsinfo32
on 32-bit.
2013-02-04 Jim MacArthur <jim.macarthur@arm.com>
Marcus Shawcroft <marcus.shawcroft@arm.com>
Nigel Stephens <nigel.stephens@arm.com>
Yufeng Zhang <yufeng.zhang@arm.com>
* configure.tgt (aarch64*-*-linux*): Set build_gdbserver=yes.
2013-02-04 Jim MacArthur <jim.macarthur@arm.com>
Marcus Shawcroft <marcus.shawcroft@arm.com>
Nigel Stephens <nigel.stephens@arm.com>
Yufeng Zhang <yufeng.zhang@arm.com>
* aarch64-newlib-tdep.c: New file.
* configure.tgt: Add aarch64-newlib-tdep.o to gdb_target_obs of
aarch64*-*-elf.
* defs.h (enum gdb_osabi): Add GDB_OSABI_NEWLIB.
* Makefile.in (ALL_64_TARGET_OBS): Add aarch64-newlib-tdep.o.
(ALLDEPFILES): Add aarch64-newlib-tdep.c.
* osabi.c (gdb_osabi_names): Add "Newlib".
2013-02-04 Jim MacArthur <jim.macarthur@arm.com>
Marcus Shawcroft <marcus.shawcroft@arm.com>
Nigel Stephens <nigel.stephens@arm.com>
Yufeng Zhang <yufeng.zhang@arm.com>
* Makefile.in (ALL_64_TARGET_OBS): Add aarch64-linux-tdep.o.
(ALLDEPFILES): Add aarch64-linux-tdep.c.
* aarch64-linux-tdep.c: New file.
* aarch64-linux-tdep.h: New file.
* aarch64-tdep.h (gdbarch_tdep): Define gregset and fpregset.
* configure.tgt: Add aarch64-none-linux-gnu.
2013-02-04 Jim MacArthur <jim.macarthur@arm.com>
Marcus Shawcroft <marcus.shawcroft@arm.com>
Nigel Stephens <nigel.stephens@arm.com>
Yufeng Zhang <yufeng.zhang@arm.com>
* Makefile.in (ALL_64_TARGET_OBS): Add arch64-tdep.o.
(HFILES_NO_SRCDIR): Add aarch64-tdep.h.
(ALLDEPFILES): Add aarch64-tdep.c.
* aarch64-tdep.c: New file.
* aarch64-tdep.h: New file.
* configure.tgt: Add AArch64.
* features/Makefile (WHICH): Add aarch64 and aarch64-without-fpu.
(aarch64-expedite): New definition.
* features/aarch64-core.xml: New file.
* features/aarch64-fpu.xml: New file.
* features/aarch64-without-fpu.c: New file (generated).
* features/aarch64-without-fpu.xml: New file.
* features/aarch64.c: New file (generated).
* features/aarch64.xml: New file.
* regformats/aarch64-without-fpu.dat: New file (generated).
* regformats/aarch64.dat: New file (generated).
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
* contrib/expect-read1.c: New file.
* contrib/expect-read1.sh: New file.
gdb/ * dwarf2read.c (file_file_name): New function with code from file_full_name. (file_full_name): Move most of the code to file_file_name. (macro_start_file): Rename variable full_name to file_name and use file_file_name for it. Add comp_dir parameter to new_macro_table. * macrocmd.c (show_pp_source_pos): New variable fullname. Replace any macro_source_file->filename access by macro_source_fullname call. * macroscope.c (_initialize_macroscope): Update the new_macro_table caller. * macrotab.c (struct macro_table): New field comp_dir. (macro_include): New variables link_fullname and source_fullname. Replace any macro_source_file->filename access by macro_source_fullname call. (macro_lookup_inclusion): Remove the partial filenames checking code. (check_for_redefinition): New variables source_fullname and found_key_fullname. Replace any macro_source_file->filename access by macro_source_fullname call. (macro_undef): New variables source_fullname and key_fullname. Replace any macro_source_file->filename access by macro_source_fullname call. (macro_lookup_definition): New variables retval and source_fullname. Replace any macro_source_file->filename access by macro_source_fullname call. (foreach_macro): New variable key_fullname. Replace any macro_source_file->filename access by macro_source_fullname call. (foreach_macro_in_scope): New variable datum_fullname. Replace any macro_source_file->filename access by macro_source_fullname call. (new_macro_table): Add parameter comp_dir. Initialize T with it. (macro_source_fullname): New function. * macrotab.h (struct macro_source_file): Extent the filename field comment. (new_macro_table): New parameter comp_dir, add a comment for it. (macro_source_fullname): new declaration. gdb/testsuite/ * gdb.linespec/base/one/header.h: New file. * gdb.linespec/base/two/header.h: New file. * gdb.linespec/macro-relative.c: New file. * gdb.linespec/macro-relative.exp: New file.
2013-02-03 16:25:56 +00:00
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2read.c (file_file_name): New function with code from
file_full_name.
(file_full_name): Move most of the code to file_file_name.
(macro_start_file): Rename variable full_name to file_name and use
file_file_name for it. Add comp_dir parameter to new_macro_table.
* macrocmd.c (show_pp_source_pos): New variable fullname. Replace any
macro_source_file->filename access by macro_source_fullname call.
* macroscope.c (_initialize_macroscope): Update the new_macro_table
caller.
* macrotab.c (struct macro_table): New field comp_dir.
(macro_include): New variables link_fullname and source_fullname.
Replace any macro_source_file->filename access by macro_source_fullname
call.
(macro_lookup_inclusion): Remove the partial filenames checking code.
(check_for_redefinition): New variables source_fullname and
found_key_fullname. Replace any macro_source_file->filename access by
macro_source_fullname call.
(macro_undef): New variables source_fullname and key_fullname. Replace
any macro_source_file->filename access by macro_source_fullname call.
(macro_lookup_definition): New variables retval and source_fullname.
Replace any macro_source_file->filename access by macro_source_fullname
call.
(foreach_macro): New variable key_fullname. Replace any
macro_source_file->filename access by macro_source_fullname call.
(foreach_macro_in_scope): New variable datum_fullname. Replace any
macro_source_file->filename access by macro_source_fullname call.
(new_macro_table): Add parameter comp_dir. Initialize T with it.
(macro_source_fullname): New function.
* macrotab.h (struct macro_source_file): Extent the filename field
comment.
(new_macro_table): New parameter comp_dir, add a comment for it.
(macro_source_fullname): new declaration.
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2read.c (dw2_map_symtabs_matching_filename): Move variable
this_real_name to outer block. Use it also for
compare_filenames_for_search.
(dw2_expand_symtabs_matching): New variable this_real_name. Use it
with dw2_get_real_path for file_matcher, considering also
BASENAMES_MAY_DIFFER.
(file_full_name): Prepend COMP_DIR even for relative lh->INCLUDE_DIRS.
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2read.c (dw2_expand_symtabs_matching): Add basenames parameter
to the file_matcher parameter. Pass 0 to it.
(dwarf2_create_include_psymtab): Copy also DIRNAME.
* psymtab.c (partial_map_symtabs_matching_filename): Drop handling of
NULL psymtab_to_fullname result.
(psymtab_to_fullname): Remove variable r. Never return NULL, assemble
an expected filename instead.
(expand_symtabs_matching_via_partial): Add basenames parameter to the
file_matcher parameter. Call also psymtab_to_fullname, after newly
considering BASENAMES_MAY_DIFFER.
* source.c (rewrite_source_path): Remove static.
* source.h (rewrite_source_path): New declaration.
* symfile.h (struct quick_symbol_functions): Add basenames parameter to
the expand_symtabs_matching field. Comment it.
* symtab.c (file_matches): New function comment. Add parameter
basenames, implement it.
(search_symbols_file_matches): Add basenames parameter. Update the
file_matches caller.
(search_symbols): Match FILES also against symtab_to_fullname.
Optimize it for BASENAMES_MAY_DIFFER.
gdb/ * source.c (print_source_lines_base): Print for TUI also "fullname". * tui/tui-data.c (init_content_element): Change tui_locator_element field to full_name. * tui/tui-data.h (struct tui_locator_element): Likewise. * tui/tui-disasm.c (tui_show_disassem_and_update_source): Rename tui_update_locator_filename calls to tui_update_locator_fullname. Replace symtab->filename refererence by symtab_to_fullname call. * tui/tui-out.c (tui_field_string): Check for "fullname" now. * tui/tui-source.c (tui_set_source_content): Change tui_locator_element field to full_name. Replace symtab->filename refererence by symtab_to_fullname call. (tui_show_symtab_source): Rename parameter to fullname. Change tui_locator_element field to full_name. * tui/tui-stack.c: Include source.h. (tui_set_locator_filename): Rename the declaration to ... (tui_set_locator_fullname): ... here. Rename its parameter to fullname, updates its comment. (tui_set_locator_info): Rename its parameter to fullname. (tui_set_locator_filename): Rename the definition to ... (tui_set_locator_fullname): ... here. Rename its parameter to fullname, updates its comment. Change tui_locator_element field to full_name. (tui_set_locator_info): Rename its parameter to fullname. (tui_set_locator_info): Rename callee to tui_set_locator_fullname. (tui_update_locator_filename): Rename to ... (tui_update_locator_fullname): ... here. Rename callee to tui_set_locator_fullname. (tui_show_frame_info): Replace symtab->filename refererence by symtab_to_fullname call. * tui/tui-stack.h (tui_update_locator_filename): Rename to ... (tui_update_locator_fullname): ... here. * tui/tui-winsource.c (tui_display_main): Rename the callee to tui_update_locator_fullname. Replace symtab->filename refererence by symtab_to_fullname call. * tui/tui.c (tui_show_source): Rename its parameter to fullname. Rename the callee to tui_update_locator_fullname. * tui/tui.h (tui_show_source): Rename its parameter to fullname.
2013-02-03 16:16:42 +00:00
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
* source.c (print_source_lines_base): Print for TUI also "fullname".
* tui/tui-data.c (init_content_element): Change tui_locator_element
field to full_name.
* tui/tui-data.h (struct tui_locator_element): Likewise.
* tui/tui-disasm.c (tui_show_disassem_and_update_source): Rename
tui_update_locator_filename calls to tui_update_locator_fullname.
Replace symtab->filename refererence by symtab_to_fullname call.
* tui/tui-out.c (tui_field_string): Check for "fullname" now.
* tui/tui-source.c (tui_set_source_content): Change tui_locator_element
field to full_name. Replace symtab->filename refererence by
symtab_to_fullname call.
(tui_show_symtab_source): Rename parameter to fullname. Change
tui_locator_element field to full_name.
* tui/tui-stack.c: Include source.h.
(tui_set_locator_filename): Rename the declaration to ...
(tui_set_locator_fullname): ... here. Rename its parameter to
fullname, updates its comment.
(tui_set_locator_info): Rename its parameter to fullname.
(tui_set_locator_filename): Rename the definition to ...
(tui_set_locator_fullname): ... here. Rename its parameter to
fullname, updates its comment. Change tui_locator_element field to
full_name.
(tui_set_locator_info): Rename its parameter to fullname.
(tui_set_locator_info): Rename callee to tui_set_locator_fullname.
(tui_update_locator_filename): Rename to ...
(tui_update_locator_fullname): ... here. Rename callee to
tui_set_locator_fullname.
(tui_show_frame_info): Replace symtab->filename refererence by
symtab_to_fullname call.
* tui/tui-stack.h (tui_update_locator_filename): Rename to ...
(tui_update_locator_fullname): ... here.
* tui/tui-winsource.c (tui_display_main): Rename the callee to
tui_update_locator_fullname. Replace symtab->filename refererence by
symtab_to_fullname call.
* tui/tui.c (tui_show_source): Rename its parameter to fullname.
Rename the callee to tui_update_locator_fullname.
* tui/tui.h (tui_show_source): Rename its parameter to fullname.
gdb/ * ada-lang.c (user_select_syms): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * breakpoint.c (print_breakpoint_location, resolve_sal_pc): Likewise. (clear_command): New variable sal_fullname, initialize it. Replace compare_filenames_for_search by filename_cmp with sal_fullname. (say_where, update_static_tracepoint): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * cli/cli-cmds.c (edit_command, list_command, ambiguous_line_spec): Likewise. * dwarf2read.c: Include source.h. (fixup_go_packaging): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * linespec.c (add_sal_to_sals): Rename variable filename to fullname. Replace symtab->filename refererences by symtab_to_filename_for_display calls. (create_sals_line_offset, convert_linespec_to_sals): New variable fullname, initialize it, replace symtab->filename reference by the variable. * linux-fork.c: Include source.h. (info_checkpoints_command): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * macroscope.c (sal_macro_scope): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * mdebugread.c: Include source.h. (psymtab_to_symtab_1): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file) (mi_cmd_file_list_exec_source_files): Likewise. * printcmd.c: Include source.h. (build_address_symbolic): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * psymtab.c (partial_map_symtabs_matching_filename) (read_psymtabs_with_fullname): Call compare_filenames_for_search also with psymtab_to_fullname. * python/py-symtab.c (stpy_str): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (stpy_get_filename): New variable filename, initialize it, use instead of symtab->filename refererences. (salpy_str): Make variable filename const char *. Replace symtab->filename refererences by symtab_to_filename_for_display calls. * skip.c: Include source.h and filenames.h. (skip_file_command): Remove const from the symtab variable. Replace symtab->filename refererences by symtab_to_fullname call. (function_name_is_marked_for_skip): New variables searched_for_fullname and fullname. Use them to search also with symtab's fullname. * source.c (find_source_lines): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (print_source_lines_base): New variable filename, use it instead of symtab->filename. Replace symtab->filename refererences by symtab_to_filename_for_display calls. (line_info, forward_search_command): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (reverse_search_command): Replace symtab->filename refererences by symtab_to_filename_for_display calls. New variable filename for it. * stack.c (frame_info): Likewise. * symmisc.c: Include source.h. (dump_objfile, dump_symtab_1, maintenance_print_symbols) (maintenance_info_symtabs): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * symtab.c (iterate_over_some_symtabs): Call compare_filenames_for_search also with symtab_to_fullname. (lookup_symbol_aux_quick, basic_lookup_transparent_type_quick): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (find_line_symtab): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (file_matches): Replace filename_cmp by compare_filenames_for_search. (print_symbol_info): Make the last parameter const char *. New variable s_filename. Use it in the function. (symtab_symbol_info): Make the last_filename variable const char *. Replace symtab->filename refererences by symtab_to_filename_for_display calls. (rbreak_command): New variable fullname. Use it. Replace symtab->filename refererence by symtab_to_filename_for_display call. * tracepoint.c (set_traceframe_context, trace_find_line_command) (print_one_static_tracepoint_marker): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * tui/tui-source.c (tui_set_source_content): New variables filename and s_filename. Replace symtab->filename refererences by this variable. Replace other symtab->filename refererences by symtab_to_filename_for_display calls.
2013-02-03 16:13:31 +00:00
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
* ada-lang.c (user_select_syms): Replace symtab->filename refererences
by symtab_to_filename_for_display calls.
* breakpoint.c (print_breakpoint_location, resolve_sal_pc): Likewise.
(clear_command): New variable sal_fullname, initialize it. Replace
compare_filenames_for_search by filename_cmp with sal_fullname.
(say_where, update_static_tracepoint): Replace symtab->filename
refererences by symtab_to_filename_for_display calls.
* cli/cli-cmds.c (edit_command, list_command, ambiguous_line_spec):
Likewise.
* dwarf2read.c: Include source.h.
(fixup_go_packaging): Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
* linespec.c (add_sal_to_sals): Rename variable filename to fullname.
Replace symtab->filename refererences by symtab_to_filename_for_display
calls.
(create_sals_line_offset, convert_linespec_to_sals): New variable
fullname, initialize it, replace symtab->filename reference by the
variable.
* linux-fork.c: Include source.h.
(info_checkpoints_command): Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
* macroscope.c (sal_macro_scope): Replace symtab->filename refererences
by symtab_to_filename_for_display calls.
* mdebugread.c: Include source.h.
(psymtab_to_symtab_1): Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
(mi_cmd_file_list_exec_source_files): Likewise.
* printcmd.c: Include source.h.
(build_address_symbolic): Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
* psymtab.c (partial_map_symtabs_matching_filename)
(read_psymtabs_with_fullname): Call compare_filenames_for_search also
with psymtab_to_fullname.
* python/py-symtab.c (stpy_str): Replace symtab->filename refererences
by symtab_to_filename_for_display calls.
(stpy_get_filename): New variable filename, initialize it, use instead
of symtab->filename refererences.
(salpy_str): Make variable filename const char *. Replace
symtab->filename refererences by symtab_to_filename_for_display calls.
* skip.c: Include source.h and filenames.h.
(skip_file_command): Remove const from the symtab variable. Replace
symtab->filename refererences by symtab_to_fullname call.
(function_name_is_marked_for_skip): New variables searched_for_fullname
and fullname. Use them to search also with symtab's fullname.
* source.c (find_source_lines): Replace symtab->filename refererences
by symtab_to_filename_for_display calls.
(print_source_lines_base): New variable filename, use it instead of
symtab->filename. Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
(line_info, forward_search_command): Replace symtab->filename
refererences by symtab_to_filename_for_display calls.
(reverse_search_command): Replace symtab->filename refererences by
symtab_to_filename_for_display calls. New variable filename for it.
* stack.c (frame_info): Likewise.
* symmisc.c: Include source.h.
(dump_objfile, dump_symtab_1, maintenance_print_symbols)
(maintenance_info_symtabs): Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
* symtab.c (iterate_over_some_symtabs): Call
compare_filenames_for_search also with symtab_to_fullname.
(lookup_symbol_aux_quick, basic_lookup_transparent_type_quick): Replace
symtab->filename refererences by symtab_to_filename_for_display calls.
(find_line_symtab): Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
(file_matches): Replace filename_cmp by compare_filenames_for_search.
(print_symbol_info): Make the last parameter const char *. New
variable s_filename. Use it in the function.
(symtab_symbol_info): Make the last_filename variable const char *.
Replace symtab->filename refererences by symtab_to_filename_for_display
calls.
(rbreak_command): New variable fullname. Use it. Replace
symtab->filename refererence by symtab_to_filename_for_display call.
* tracepoint.c (set_traceframe_context, trace_find_line_command)
(print_one_static_tracepoint_marker): Replace symtab->filename
refererences by symtab_to_filename_for_display calls.
* tui/tui-source.c (tui_set_source_content): New variables filename and
s_filename. Replace symtab->filename refererences by this variable.
Replace other symtab->filename refererences by
symtab_to_filename_for_display calls.
2013-02-03 Eldar Gaynetdinov <hal9000ed2k@gmail.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
Add a new variable that controls a way in which filenames are
displayed.
* NEWS (set filename-display): New entry.
* source.c (filename_display_basename, filename_display_relative)
(filename_display_absolute, filename_display_kind_names)
(filename_display_string, show_filename_display_string)
(symtab_to_filename_for_display): New.
(_initialize_source): Added initialization of 'filename-display'
variable.
* source.h (symtab_to_filename_for_display): Added declaration.
* stack.c (print_frame): Added new variable and calling of a new
function and condition with this variable. Changed third argument of
calling of a function.
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
* tui/tui-data.c (init_win_info, tui_del_window, tui_free_window):
Rename field reference filename to fullname.
* tui/tui-data.h (struct tui_source_info): Rename field filename to
fullname. New comment for it.
* tui/tui-source.c (tui_set_source_content): Rename field reference
filename to fullname. Initialize field by symtab_to_fullname now.
* tui/tui-winsource.c (tui_update_breakpoint_info): Rename field
reference filename to fullname. Use symtab_to_fullname during
comparison.
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup.
* dwarf2read.c (dw2_expand_symtabs_with_filename): Rename to ...
(dw2_expand_symtabs_with_fullname): ... here. Rename parameter
filename to fullname. Rename variable this_name to this_fullname.
Lowercase FILENAME_CMP call.
(dw2_find_symbol_file): New comment for the returned string.
(dwarf2_gdb_index_functions): Rename the function to
dw2_expand_symtabs_with_fullname.
* psymtab.c (read_psymtabs_with_filename): Rename to ...
(read_psymtabs_with_fullname): ... here. Rename parameter filename to
fullname.
(psym_functions): Rename the function to read_psymtabs_with_fullname.
* symfile.h (struct quick_symbol_functions): Rename field
expand_symtabs_with_filename to expand_symtabs_with_fullname and its
parameter filename to fullname. Document returned string meaning for
find_symbol_file.
* symtab.c (find_line_symtab): Rename the called function to
expand_symtabs_with_fullname.
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup.
* breakpoint.c (clear_command): Remove variable is_abs, unify the
call of filename_cmp with compare_filenames_for_search.
* dwarf2read.c (dw2_map_symtabs_matching_filename): Remove variable
is_abs, unify the call of FILENAME_CMP with
compare_filenames_for_search. New gdb_asserts for real_path and name.
Unify the call of compare_filenames_for_search with FILENAME_CMP.
* psymtab.c (partial_map_symtabs_matching_filename): Likewise.
* symfile.h (struct quick_symbol_functions): Extend the comment for
map_symtabs_matching_filename.
* symtab.c (compare_filenames_for_search): Remove the function comment
relative path requirement. Handle absolute filenames, with a comment.
(iterate_over_some_symtabs): Remove variable is_abs, unify the call of
FILENAME_CMP with compare_filenames_for_search. New gdb_asserts for
real_path and name. Unify the call of compare_filenames_for_search
with FILENAME_CMP.
(iterate_over_symtabs): New gdb_assert on REAL_PATH.
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup.
* breakpoint.c (print_breakpoint_location): Replace bp_location field
source_file references by symtab field references. Remove variables
sal and fullname.
(momentary_breakpoint_from_master, add_location_to_breakpoint):
(clear_command, say_where): Replace bp_location field source_file
references by symtab field references.
(bp_location_dtor): Remove the source_file reference.
(update_static_tracepoint): Replace bp_location field source_file
references by symtab field references.
(breakpoint_free_objfile): New function.
* breakpoint.h (struct bp_location): Extend the comment for line_number.
Replace the field source_file by field symtab, extend its comment.
(breakpoint_free_objfile): New declaration.
* objfiles.c (free_objfile): Call breakpoint_free_objfile.
* tui/tui-winsource.c (tui_update_breakpoint_info): Replace bp_location
field source_file references by symtab field references.
gdb/ Replace xfullpath calls by gdb_realpath calls. * cli/cli-cmds.c (find_and_open_script): Remove xfullpath from the function comment. * dwarf2read.c (dw2_map_expand_apply): Remove parameter full_path. Remove it from the iterate_over_some_symtabs call. (dw2_map_symtabs_matching_filename): Remove parameter full_path. Remove it from the dw2_map_expand_apply calls, remove a block handling it. * psymtab.c (partial_map_expand_apply): Remove parameter full_path. Remove it from the iterate_over_some_symtabs call. (partial_map_symtabs_matching_filename): Remove parameter full_path. Remove it from the partial_map_expand_apply calls, remove a block handling it. Drop gdb_realpath call and cleanups from the real_path handling. * source.c (openp): Drop the comment part about xfullpath. Replace xfullpath calls by gdb_realpath calls. (find_and_open_source): Replace xfullpath call by gdb_realpath call. * symfile.h (struct quick_symbol_functions): Remove parameter full_path from method map_symtabs_matching_filename and its comment. * symmisc.c (maintenance_print_msymbols): Replace xfullpath call by gdb_realpath call. * symtab.c (iterate_over_some_symtabs): Remove parameter full_path, remove it also from the function comment, remove a block handling it. Drop gdb_realpath call and cleanups from the real_path handling. (iterate_over_symtabs): Drop variable full_path and its use. * symtab.h (iterate_over_some_symtabs): Remove parameter full_path. * utils.c (xfullpath): Remove. * utils.h (xfullpath): Remove. gdb/testsuite/ * gdb.gdb/xfullpath.exp: Replace xfullpath calls by gdb_realpath calls.
2013-02-03 15:54:18 +00:00
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
Replace xfullpath calls by gdb_realpath calls.
* cli/cli-cmds.c (find_and_open_script): Remove xfullpath from the
function comment.
* dwarf2read.c (dw2_map_expand_apply): Remove parameter full_path.
Remove it from the iterate_over_some_symtabs call.
(dw2_map_symtabs_matching_filename): Remove parameter full_path.
Remove it from the dw2_map_expand_apply calls, remove a block handling
it.
* psymtab.c (partial_map_expand_apply): Remove parameter full_path.
Remove it from the iterate_over_some_symtabs call.
(partial_map_symtabs_matching_filename): Remove parameter full_path.
Remove it from the partial_map_expand_apply calls, remove a block
handling it. Drop gdb_realpath call and cleanups from the real_path
handling.
* source.c (openp): Drop the comment part about xfullpath. Replace
xfullpath calls by gdb_realpath calls.
(find_and_open_source): Replace xfullpath call by gdb_realpath call.
* symfile.h (struct quick_symbol_functions): Remove parameter full_path
from method map_symtabs_matching_filename and its comment.
* symmisc.c (maintenance_print_msymbols): Replace xfullpath call by
gdb_realpath call.
* symtab.c (iterate_over_some_symtabs): Remove parameter full_path,
remove it also from the function comment, remove a block handling it.
Drop gdb_realpath call and cleanups from the real_path handling.
(iterate_over_symtabs): Drop variable full_path and its use.
* symtab.h (iterate_over_some_symtabs): Remove parameter full_path.
* utils.c (xfullpath): Remove.
* utils.h (xfullpath): Remove.
2013-02-01 Andreas Tobler <andreast@fgznet.ch>
* Makefile.in (ALL_TARGET_OBS): Add ppc64-tdep.o.
(HFILES_NO_SRCDIR): Add ppc64-tdep.h.
(ALLDEPFILES): Add ppc64-tdep.c.
* configure.tgt (powerpc-*-linux* | powerpc64-*-linux*): Add
ppc64-tdep.o to gdb_target_obs.
* ppc64-tdep.h: New file.
* ppc64-tdep.c: New file.
(insn_d, insn_ds, insn_xfx, ppc64_desc_entry_point): Move from
ppc-linux-tdep.c to here.
(PPC64_STANDARD_LINKAGE1_LEN, PPC64_STANDARD_LINKAGE2_LEN)
(PPC64_STANDARD_LINKAGE2_LEN): Likewise and use ARRAY_SIZE macro.
(ppc64_standard_linkage1_target, ppc64_standard_linkage2_target)
(ppc64_standard_linkage3_target, ppc64_skip_trampoline_code): Move
from ppc-linux-tdep.c to here.
(ppc64_convert_from_func_ptr_addr): Rename from
ppc64_linux_convert_from_func_ptr_addr to
ppc64_convert_from_func_ptr_addr and move from ppc-linux-tdep.c to
here.
* rs6000-tdep.c:
(read_insn): Move from ppc-linux-tdep.c to here.
(insns_match_pattern, insn_d_field, insn_ds_field): Move
from ppc-linux-tdep.c to here and rename them with the ppc_ prefix.
* ppc-linux-tdep.c: Include ppc64-tdep.h.
Removed above functions.
(ppc_linux_init_abi): Adjust.
2013-02-01 Aleksandar Ristovski <aristovski@qnx.com>
* ada-valprint.c (ada_print_floating): Remove unused 'len'.
2013-02-01 Aleksandar Ristovski <aristovski@qnx.com>
* ada-lang.c (assign_aggregate): Remove unused 'is_array_aggregate'.
2013-02-01 Pedro Alves <palves@redhat.com>
* dummy-frame.c (deprecated_pc_in_call_dummy): Delete function.
* frame.h (deprecated_pc_in_call_dummy): Delete declaration.
2013-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* elfread.c (elf_symfile_read): Limit separate debug info additions to
files with no separate debug info.
* objfiles.c (add_separate_debug_objfile): Add gdb_assert calls.
* symfile.c (read_symbols): Call find_separate_debug_file_in_section
only for files with no separate debug info.
2013-01-31 Tom Tromey <tromey@redhat.com>
* jit.c (jit_program_space_data): Rename from jit_inferior_data;
change type.
(struct jit_program_space_data): Rename from jit_inferior_data.
Update comments.
(get_jit_program_space_data): Rename from get_jit_inferior_data.
Change return type. Attach data to program space.
(jit_program_space_data_cleanup): Rename from
jit_inferior_data_cleanup; change argument type.
(jit_read_descriptor): Change 'inf_data' argument to 'ps_data',
change type.
(jit_register_code): Update.
(jit_update_inferior_cache): Remove.
(jit_breakpoint_deleted): Get jit data from the location's program
space.
(jit_breakpoint_re_set_internal): Rename 'inf_data' argument to
'ps_data', change type.
(jit_inferior_init, jit_breakpoint_re_set_internal)
(jit_event_handler): Update.
(free_objfile_data): Get data from objfile's program space.
(_initialize_jit): Update.
2013-01-31 Tom Tromey <tromey@redhat.com>
PR gdb/13987:
* jit.c (struct jit_inferior_data) <cached_code_address,
jit_breakpoint>: New fields.
(jit_breakpoint_re_set_internal): Fix logging. Only create
breakpoint if cached address has changed.
(jit_update_inferior_cache, jit_breakpoint_deleted): New
functions.
(_initialize_jit): Register breakpoint deleted observer.
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
* infrun.c (handle_syscall_event): Remove unused gdbarch.
(save_infcall_suspend_state): Ifdef out unused inf.
(restore_infcall_suspend_state): Ifdef out unused inf.
* jit.c (jit_register_code): Remove unused i, b, inf_data.
(jit_frame_sniffer): Remove unused inf_data.
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
* c-exp.y (classify_inner_name): Remove unused type.
* c-lang.c (c_printstr): Remove unused byte_order, i, things_printed,
in_quotes, need_comma, wchar_buf, output, cleanup, iter, finished,
need_escape.
(c_get_string): Remove unused kind.
* c-typeprint.c (c_type_print_args): Remove unused i, len, args, table2.
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com> * charset.c (intermediate_encoding): Remove unused i. * completer.c (signal_completer): Remove unused i. * continuations.c (discard_my_continuations_1): Remove unused continuation_ptr. * corelow.c (core_close): Remove unuseD name. (get_core_siginfo): Remove unused pid. * cp-namespace.c (cp_lookup_symbol_imports_or_template): Remove unused i, cps. * dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove unused base_offset. (loclist_describe_location): Remove unused first. * event-top.c (command_line_handler): Remove unused got_eof. * exec.c (exec_close_1): Remove unused need_symtab_cleanup. (resize_section_table): Remove unused old_value. * gdb_bfd.c (gdb_bfd_map_section): Remove unused header. * gnu-v3-abi.c (compute_vtable_size): Remove unused addr. * i386-tdep.c (i386_process_record): Remove unused rex. * infcmd.c (get_return_value): Remove unused uiout. * jv-lang.c (type_from_class): Remove unused is_array. * jv-valprint.c (java_val_print): Remove unused i. * linux-nat.c (linux_nat_stop_lwp): Remove unused ptid. * linux-thread-db.c (thread_db_find_new_threads_2): Remove unuseD pid. * m2-typeprint.c (m2_print_type): Remove unused code. * macroexp.c (get_character_constant): Remove unused body_start. (macro_stringify): Remove unused result. * objc-lang.c (find_methods): Remove unused gdbarch. * objfiles.c (filter_overlapping_sections): Remove unused abfd1, abfd2. * regcache.c (regcache_cooked_read): Remove unused gdbarch. * stack.c (print_frame_args): Remove unused summary. * thread.c (thread_apply_command): Remove unused p. * valarith.c (value_x_unop): Remove unused mangle_ptr. * valops.c (search_struct_method): Remove unused skip. * valprint.c (generic_val_print): Remove unused byte_order. * varobj.c (varobj_update): Remove unused changed. * cli/cli-cmds.c (complete_command): Remove unused next_item. (alias_command): Remove unused c. * mi/mi-cmd-catch.c (mi_catch_load_unload): Remove unused c. * mi/mi-main.c (mi_cmd_data_write_register_values): Remove unused format. (mi_cmd_data_write_memory): Remove unused word_format. (mi_cmd_data_write_memory_bytes): Remove unused r. * python/py-gdb-readline.c (gdbpy_readline_wrapper): Remove unused p_start, p_end. * python/python.c (_initialize_python): Remove unused cmd_name, cmd. * tui/tui-disasm.c (tui_set_disassem_content): Remove unused line_width. Reference: http://sourceware.org/ml/gdb-patches/2013-01/msg00766.html
2013-01-31 18:37:39 +00:00
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
* charset.c (intermediate_encoding): Remove unused i.
* completer.c (signal_completer): Remove unused i.
* continuations.c (discard_my_continuations_1): Remove unused
continuation_ptr.
* corelow.c (core_close): Remove unuseD name.
(get_core_siginfo): Remove unused pid.
* cp-namespace.c (cp_lookup_symbol_imports_or_template): Remove unused
i, cps.
* dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove unused base_offset.
(loclist_describe_location): Remove unused first.
* event-top.c (command_line_handler): Remove unused got_eof.
* exec.c (exec_close_1): Remove unused need_symtab_cleanup.
(resize_section_table): Remove unused old_value.
* gdb_bfd.c (gdb_bfd_map_section): Remove unused header.
* gnu-v3-abi.c (compute_vtable_size): Remove unused addr.
* i386-tdep.c (i386_process_record): Remove unused rex.
* infcmd.c (get_return_value): Remove unused uiout.
* jv-lang.c (type_from_class): Remove unused is_array.
* jv-valprint.c (java_val_print): Remove unused i.
* linux-nat.c (linux_nat_stop_lwp): Remove unused ptid.
* linux-thread-db.c (thread_db_find_new_threads_2): Remove unuseD pid.
* m2-typeprint.c (m2_print_type): Remove unused code.
* macroexp.c (get_character_constant): Remove unused body_start.
(macro_stringify): Remove unused result.
* objc-lang.c (find_methods): Remove unused gdbarch.
* objfiles.c (filter_overlapping_sections): Remove unused abfd1, abfd2.
* regcache.c (regcache_cooked_read): Remove unused gdbarch.
* stack.c (print_frame_args): Remove unused summary.
* thread.c (thread_apply_command): Remove unused p.
* valarith.c (value_x_unop): Remove unused mangle_ptr.
* valops.c (search_struct_method): Remove unused skip.
* valprint.c (generic_val_print): Remove unused byte_order.
* varobj.c (varobj_update): Remove unused changed.
* cli/cli-cmds.c (complete_command): Remove unused next_item.
(alias_command): Remove unused c.
* mi/mi-cmd-catch.c (mi_catch_load_unload): Remove unused c.
* mi/mi-main.c (mi_cmd_data_write_register_values): Remove unused
format.
(mi_cmd_data_write_memory): Remove unused word_format.
(mi_cmd_data_write_memory_bytes): Remove unused r.
* python/py-gdb-readline.c (gdbpy_readline_wrapper): Remove unused
p_start, p_end.
* python/python.c (_initialize_python): Remove unused cmd_name, cmd.
* tui/tui-disasm.c (tui_set_disassem_content): Remove unused
line_width.
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
* dwarf2-frame.c (dwarf2_compile_cfa_to_ax): Remove unused num_regs.
* symtab.c (iterate_over_symtabs): Remove unused s.
(find_pc_sect_symtab): Remove unused pspAce.
(find_pc_sect_line): Remove unused alt_symtab.
(find_pcs_for_symtab_line): Remove unused ix, previous_function.
(completion_list_add_name): Remove unused newsize.
2013-01-31 Tom Tromey <tromey@redhat.com>
PR c++/14998:
* dwarf2read.c (read_tag_ptr_to_member_type): Handle
TYPE_CODE_FUNC.
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
* target.c (target_read_string): Remove unused origlen.
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
* auto-load.c (auto_load_expand_dir_vars): Remove unused dir_vec.
* ax-gdb.c (gen_printf): Remove unused expr, i, bot, fr, flen, fmt.
* ax-general.c (ax_print): Remove unused is_float.
* blockframe.c (block_innermost_frame): Remove unused start, end.
* break-catch-sig.c (catch_signal_command): Remove unused gdbarch.
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
* solib-svr4.c (svr4_keep_data_in_core): Remove unused lmo.
(svr4_read_so_list): Remove unused lmo.
* solib-target.c (solib_target_relocate_section_addresses): Remove
unused flags.
2013-01-30 Tom Tromey <tromey@redhat.com>
* hppa-tdep.c (read_unwind_info): Use SECT_OFF_TEXT, not "0".
2013-01-30 Tom Tromey <tromey@redhat.com>
* symfile.c (get_file_crc): Use bfd_calc_gnu_debuglink_crc32.
* utils.c (gnu_debuglink_crc32): Remove.
* utils.h (gnu_debuglink_crc32): Don't declare.
2013-01-30 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (compute_delayed_physnames, read_call_site_scope)
(read_structure_type, read_enumeration_type): Remove cast.
2013-01-30 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (read_namespace_type): Remove cast.
(read_typedef): Likewise.
2013-01-29 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (free_dwo_file): Remove assert.
2013-01-29 Tom Tromey <tromey@redhat.com>
* value.c (deprecated_set_value_modifiable): Remove.
* value.h (deprecated_set_value_modifiable): Remove.
2013-01-28 Doug Evans <dje@google.com>
* dwarf2loc.c (dwarf2_find_location_expression): Don't add base address
to addresses from dwo files.
2013-01-25 Siva Chandra Reddy <sivachandra@google.com>
* valops.c (find_overload_match): Remove unused argument 'lax'.
* value.h: Remove unused argument 'lax' from the declaration of
find_overload_match.
* eval.c (value_subexp_standard): Do not pass a 'lax' argument
to find_overload_match.
* valarith.c (value_user_defined_cpp_op): Do not pass a 'lax'
argument to find_overload_match.
2013-01-25 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (processing_has_namespace_info): Remove.
(struct dwarf2_cu) <processing_has_namespace_info>: New field.
(process_die, read_func_scope, dwarf2_start_symtab)
(new_symbol_full): Update.
2013-01-25 Tom Tromey <tromey@redhat.com>
* cp-namespace.c (cp_set_block_scope): Remove.
* cp-support.h (cp_set_block_scope): Remove.
* dbxread.c: Include block.h.
(cp_set_block_scope): New function.
(process_one_symbol): Update.
* dwarf2read.c (read_func_scope): Use block_set_scope.
2013-01-25 Pedro Alves <palves@redhat.com>
* remote.c (add_current_inferior_and_thread): Tweak comment.
2013-01-25 Tom Tromey <tromey@redhat.com>
* cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
(cp_add_using_directive): Add 'copy_names' argument.
* cp-support.h (cp_add_using_directive): Update.
(struct using_direct) <import_src, import_dest, alias,
declaration>: Now const.
* dwarf2read.c (read_import_statement): Use obconcat.
Don't copy names passed to cp_add_using_directive.
2013-01-25 Tom Tromey <tromey@redhat.com>
* c-exp.y (qualified_name): Use TYPE_SAFE_NAME.
Fix GDB internal error against targets that return a thread in T stop replies but don't support qC. Yao writes: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GDB gets an internal error when it connects to GDBserver started with '--disable-packet=qC'. Sending packet: $QNonStop:0#8c...Packet received: OK Sending packet: $?#3f...Packet received: T0505:00000000;04:00f0ffbf;08:b0c2e44c;thread:p4255.4255;core:1; Sending packet: $Hc-1#09...Packet received: E01 Sending packet: $qC#b4...Packet received: Sending packet: $qAttached:a410#bf...Packet received: E01 Packet qAttached (query-attached) is supported warning: Remote failure reply: E01 Sending packet: $qOffsets#4b...Packet received: ../../../git/gdb/target.c:3248: internal-error: Can't determine the current address space of thread Thread 16981 When start remote, the call chain is as follows, remote_start_remote add_current_inferior_and_thread <--[1] ... start_remote wait_for_inferior remote_wait_as process_stop_reply get_thread_arch_regcache <--[2] remote_notice_new_inferior <--[3] GDB sends packet "qC" in [1] and adds the thread/inferior if the remote stubs understands "qC". In [2], GDB looks for the inferior to build a regcache, and notices a new inferior in [3]. As we can see, GDB assumes that the inferior can be found in [2]. Once the remote stub doesn't support "qC", GDB can't look for the inferior in [2], and emits an internal error. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Right after the initial connection, we query the target for its state, with the ? packet. We store the resulting wait status / stop reply aside, and query the target for the current thread, using qC, which fails, so we fake a ptid for the target's thread. We then later, after the initial setup, end up consuming that set-aside wait status, parsing the T stop reply, which contains a "thread" "register" (which was the thread the target would have replied to qC). We get into trouble because the ptid in that stop reply doesn't match our faked up ptid in the initial setup, although the target threads are the same... So we had the T stop reply handy all along. We might as well extract the thread's ptid from it, and avoid all the resulting issues. qC is also used after vRun, in order to discover the new process'es main thread. But, vRun's reply is also a wait status, just like '?''s, which is quite convenient. This means that if we have a "Txx thread: ptid" reply, then we don't really need qC. The patch makes GDB look in the T reply first, and if not found, try with qC. The packet handling seems to have been added in gdb-4.18 (1999), and I see that in that same release, "Txx thread: ptid" didn't exist yet, which probably explains why nobody though of doing this before. Regression tested against a gdbserver with qC disabled (and then enabled), on x86_64 Fedora 17. 2013-01-25 Pedro Alves <palves@redhat.com> * remote.c (stop_reply_extract_thread): New. (add_current_inferior_and_thread): New parameter 'wait_status'. Handle it. (remote_start_remote): Pass wait status to add_current_inferior_and_thread. (extended_remote_run): Update comment. (extended_remote_create_inferior_1): Pass wait status to add_current_inferior_and_thread.
2013-01-25 17:25:59 +00:00
2013-01-25 Pedro Alves <palves@redhat.com>
* remote.c (stop_reply_extract_thread): New.
(add_current_inferior_and_thread): New parameter 'wait_status'.
Handle it.
(remote_start_remote): Pass wait status to
add_current_inferior_and_thread.
(extended_remote_run): Update comment.
(extended_remote_create_inferior_1): Pass wait status to
add_current_inferior_and_thread.
2013-01-25 Andrew Burgess <aburgess@broadcom.com>
Ulrich Weigand <uweigand@de.ibm.com>
* valarith.c (value_vector_widen): New function for replicating a
scalar into a vector.
(value_binop): Use value_vector_widen to widen scalar to vector
rather than casting, this better matches gcc C behaviour.
* valops.c (value_casst): Update logic for casting between vector
types, and for casting from scalar to vector, try to match gcc C
behaviour.
* value.h (value_vector_widen): Declare.
* opencl-lang.c (opencl_value_cast): New opencl specific casting
function, handle special case for casting scalar to vector.
(opencl_relop): Use opencl_value_cast.
(evaluate_subexp_opencl): Use opencl_value_cast instead of
value_cast, and handle BINOP_ASSIGN, UNOP_CAST, and UNOP_CAST_TYPE
in order to use opencl_value_cast.
2013-01-25 Yao Qi <yao@codesourcery.com>
* event-loop.c: Include "queue.h".
(gdb_event_p): New typedef.
(DECLARE_QUEUE_P): Use.
(DEFINE_QUEUE_P): Use.
(async_queue_event): Remove.
(gdb_event_xfree): New.
(initialize_event_loop): New.
(process_event): Use QUEUE macros.
(event_queue): Remove.
(gdb_wait_for_event): Caller update.
(check_async_event_handlers): Likewise.
(poll_timers): Likewise.
* event-loop.h (initialize_event_loop): Declare.
* event-loop.c (gdb_event_xfree): New.
* top.c (gdb_init): Call initialize_event_loop.
2013-01-25 Yao Qi <yao@codesourcery.com>
* event-loop.c (async_queue_event): Remove one parameter
'position'. Remove code handling 'position' == TAIL.
(gdb_wait_for_event): Caller update.
(check_async_event_handlers): Caller update.
(poll_timers): Caller update.
* event-loop.h (enum queue_position): Remove.
2013-01-25 04:22:01 +00:00
2013-01-25 Maxim Kuvyrkov <maxim@kugelworks.com>
* MAINTAINERS: Update my email.
2013-01-25 Yao Qi <yao@codesourcery.com>
* main.c (print_gdb_help): Remove "--epoch" from the help
message.
2013-01-24 Ulrich Weigand  <uweigand@de.ibm.com>
* symtab.c (skip_prologue_using_sal): Consider a file
change the same as an increased line number
2013-01-24 Tiago Stürmer Daitx  <tdaitx@linux.vnet.ibm.com>
* MAINTAINERS (Write After Approval): Add myself to the list.
2013-01-24 Tom Tromey <tromey@redhat.com>
* ada-lang.h (ada_decode_symbol): Make return type const.
* ada-lang.c (ada_decode_symbol): Likewise.
2013-01-23 Doug Evans <dje@google.com>
* linespec.c (find_linespec_symbols): Make static.
2013-01-23 Tiago Stürmer Daitx <tdaitx@linux.vnet.ibm.com>
* ppc-sysv-tdep.c (ppc64_sysv_abi_return_value): Set correct
type on float conversion for complex type.
2013-01-23 Siva Chandra Reddy <sivachandra@google.com>
Add a new class gdb.Architecture which exposes GDB's
internal representation of architecture via GDB Python API.
* Makefile.in: Add entries corresponding to the new file
python/py-arch.c.
* NEWS (Python Scripting): Add entries for the new class
gdb.Architecture and the new method gdb.Frame.architecture.
* python/py-arch.c: Implement gdb.Architecture class.
* python/py-frame.c (frapy_arch): Implement the method
gdb.Frame.architecture().
(frame_object_methods): Add 'architecture' to the method table.
* python/python-internal.h: Add declarations of new utility
functions.
* python/python.c (_initialize_python): Initialize
gdb.Architecture class.
2013-01-23 Doug Evans <dje@google.com>
Work around binutils/15021.
* dwarf2read.c (dwarf2_per_cu_data): Split imported_symtabs and
type_unit_group out of union s. All uses updated.
(read_index_from_section): Watch for index version 8.
(follow_die_sig): If using .gdb_index version <= 7, record the TU as
an imported symtab.
(write_psymtabs_to_index): Increment version number to 8.
2013-01-22 Pedro Alves <palves@redhat.com>
* annotate.c (breakpoint_changed): Skip if breakpoint is not
user-visible.
All annotate_breakpoints_changed calls are along-side observer_notify_breakpoints_changed calls. All, except the init_raw_breakpoint one. But that one is actually wrong. The breakpoint is being constructed at that point, and hasn't been placed on the breakpoint chain yet. It would be better placed in install_breakpoint, and I actually started out that way. But once the annotate_breakpoints_changed are parallel to the observer calls, we can fully move annotations to observers too. One issue is that this changes the order of annotations a bit. Before, we'd emit the annotation, and after call "mention()" on the breakpoint (which prints the breakpoint number, etc.). But, we call the observers _after_ mention is called, so the annotation output will change a little: void install_breakpoint (int internal, struct breakpoint *b, int update_gll) { add_to_breakpoint_chain (b); set_breakpoint_number (internal, b); if (is_tracepoint (b)) set_tracepoint_count (breakpoint_count); if (!internal) mention (b); observer_notify_breakpoint_created (b); if (update_gll) update_global_location_list (1); } I believe this order doesn't really matter (the frontend needs to wait for the prompt anyway), so I just adjust the expected output in the tests. Emacs in annotations mode doesn't seem to complain. Couple that with the previous patch that suppressed duplicated annotations, and, the fact that some annotations calls were actually missing (were we do have observer calls), more changes to the tests are needed anyway. Tested on x86_64 Fedora 17. gdb/ 2013-01-22 Pedro Alves <palves@redhat.com> * annotate.c (annotate_breakpoints_changed): Rename to ... (annotate_breakpoints_invalid): ... this. Make static. (breakpoint_changed): Adjust. (_initialize_annotate): Always install the observers. Install a "breakpoint_created" observer. * annotate.h (annotate_breakpoints_changed): Delete declaration. * breakpoint.c (set_breakpoint_condition) (breakpoint_set_commands, do_map_commands_command) (init_raw_breakpoint, clear_command, set_ignore_count) (enable_breakpoint_disp): No longer call annotate_breakpoints_changed. gdb/testsuite/ 2013-01-22 Pedro Alves <palves@redhat.com> * gdb.base/annota1.exp (breakpoints_invalid): New variable. Adjust tests to breakpoints-invalid changes. * gdb.cp/annota2.exp (breakpoints_invalid, frames_invalid): New variables. Adjust tests to breakpoints-invalid changes.
2013-01-22 20:19:40 +00:00
2013-01-22 Pedro Alves <palves@redhat.com>
* annotate.c (annotate_breakpoints_changed): Rename to ...
(annotate_breakpoints_invalid): ... this. Make static.
(breakpoint_changed): Adjust.
(_initialize_annotate): Always install the observers. Install a
"breakpoint_created" observer.
* annotate.h (annotate_breakpoints_changed): Delete declaration.
* breakpoint.c (set_breakpoint_condition)
(breakpoint_set_commands, do_map_commands_command)
(init_raw_breakpoint, clear_command, set_ignore_count)
(enable_breakpoint_disp): No longer call
annotate_breakpoints_changed.
With some changes to how software single-step (SSS) breakpoints are handled, one of those being to place SSS breakpoints on the breakpoint chain as all other breakpoints, annota1.exp times out with lots and lots of breakpoint-invalid and frame-changed annotations. All those extra annotations are actually unnecessary. For one, SSS breakpoints are internal breakpoints, so the frontend shouldn't care if they were added, removed or changed. Then, there's really no point in emitting "breakpoints-invalid" or "frames-invalid" more than once between times the frontend/user can actually issues GDB commands; the frontend will have to wait for the GDB prompt to refresh its state, so emitting those annotations at most once between prompts is enough. Non-stop or async would complicate this, but no frontend will be using annotations in those modes (one of goes of emacs switching to MI was non-stop mode support, AFAIK). The previous patch reveals there has been an intention in the past to suppress multiple breakpoints-invalid annotations caused by ignore count changes. As the previous patch shows, that's always been broken, but in any case, this patch actually makes it work. The next patch will remove several annotation-specific calls in breakpoint.c in favor of always using the breakpoint modified & friends observers, and that causes yet more of these annotations, because several calls to the corresponding annotate_* functions in breakpoint.c are missing, particularly in newer code. So all in all, here's a simple mechanism that avoids sending the same annotation to the frontend more than once until gdb is ready to accept further commands. Tested on x86_64 Fedora 17. 2013-01-22 Pedro Alves <palves@redhat.com> * annotate.c: Include "inferior.h". (frames_invalid_emitted) (breakpoints_invalid_emitted): New globals. (async_background_execution_p): New function. (annotate_breakpoints_changed, annotate_frames_invalid): Skip emitting the annotation if it has already been emitted. (annotate_display_prompt): New function. * annotate.h (annotate_display_prompt): New declaration. * event-top.c: Include annotate.h. (display_gdb_prompt): Call annotate_display_prompt.
2013-01-22 20:17:10 +00:00
2013-01-22 Pedro Alves <palves@redhat.com>
* annotate.c: Include "inferior.h".
(frames_invalid_emitted)
(breakpoints_invalid_emitted): New globals.
(async_background_execution_p): New function.
(annotate_breakpoints_changed, annotate_frames_invalid): Skip
emitting the annotation if it has already been emitted.
(annotate_display_prompt): New function.
* annotate.h (annotate_display_prompt): New declaration.
* event-top.c: Include annotate.h.
(display_gdb_prompt): Call annotate_display_prompt.
There's code in annotate.c and breakpoint.c that is supposed to suppress multiple breakpoints-invalid annotations when the ignore count of a breakpoint changes, up until the target actually stops. But, the code is bogus: void annotate_breakpoints_changed (void) { if (annotation_level == 2) { target_terminal_ours (); printf_unfiltered (("\n\032\032breakpoints-invalid\n")); if (ignore_count_changed) ignore_count_changed = 0; /* Avoid multiple break annotations. */ } } The "ignore_count_changed" flag isn't actually guarding the output of the annotation at all. It would have been better written something like: void annotate_breakpoints_changed (void) { if (annotation_level == 2 && !ignore_count_changed) { target_terminal_ours (); printf_unfiltered (("\n\032\032breakpoints-invalid\n")); ignore_count_changed = 0; /* Avoid multiple break annotations. */ } } but, it wasn't. AFAICS, that goes all the way back to the original patch'es submission and check in, at <http://sourceware.org/ml/gdb-patches/1999-q4/msg00106.html>. I looked a tar of HP's wdb from 1999, and even though that contains local changes in the annotate code, this suppression seems borked there too to me. The original patch added a test to supposedly exercise this suppression, but, it actually doesn't. It merely tests that "breakpoints-invalid" is output after "stopped", but doesn't check whether the duplicates supression actually works (IOW, check that only _one_ annotation is seen). I was going to simply delete the tests too, but a following patch will eliminate the duplicates in a different way (which I needed for a different reason), so instead, I'm making the tests actually fail if a duplicate annotation is seen. Worry not, the test doesn't actually fail! The reason is that breakpoint.c does: else if (b->ignore_count > 0) { b->ignore_count--; annotate_ignore_count_change (); bs->stop = 0; /* Increase the hit count even though we don't stop. */ ++(b->hit_count); observer_notify_breakpoint_modified (b); } where the annotate_ignore_count_change call is meant to inform the "breakpoint_modified" annotation observer to ignore the notification. All sounds good. But, the trouble is that nowadays annotate.c only installs the observers if GDB is started with annotations enabled with a command line option (gdb --annotate=2): void _initialize_annotate (void) { if (annotation_level == 2) { observer_attach_breakpoint_deleted (breakpoint_changed); observer_attach_breakpoint_modified (breakpoint_changed); } } and annota1.exp, to enable annotations, starts GDB normally, and afterwards does "set annotate 2", so the observers aren't installed when annota1.exp is run, and therefore changing the ignore count isn't triggering any annotation at all... gdb/ 2013-01-22 Pedro Alves <palves@redhat.com> * annotate.c (ignore_count_changed): Delete. (annotate_breakpoints_changed): Don't clear ignore_count_changed. (annotate_ignore_count_change): Delete. (annotate_stopped): Don't emit a delayed breakpoints-changed annotation. * annotate.h (annotate_ignore_count_change): Delete. * breakpoint.c (bpstat_check_breakpoint_conditions): Don't call annotate_ignore_count_change. gdb/testsuite/ 2013-01-22 Pedro Alves <palves@redhat.com> * gdb.base/annota1.exp (annotate ignore count change): Add expected output for failure case.
2013-01-22 20:08:30 +00:00
2013-01-22 Pedro Alves <palves@redhat.com>
* annotate.c (ignore_count_changed): Delete.
(annotate_breakpoints_changed): Don't clear ignore_count_changed.
(annotate_ignore_count_change): Delete.
(annotate_stopped): Don't emit a delayed breakpoints-changed
annotation.
* annotate.h (annotate_ignore_count_change): Delete.
* breakpoint.c (bpstat_check_breakpoint_conditions): Don't call
annotate_ignore_count_change.
2013-01-22 Tom Tromey <tromey@redhat.com>
* dwarf2loc.c (dwarf2_compile_expr_to_ax) <DW_OP_fbreg>: Only
require_rvalue for a register location.
2013-01-21 Marc Khouzam <marc.khouzam@ericsson.com>
* breakpoint.c (print_one_breakpoint_location): Add MI
field 'thread-groups' when printing a breakpoint.
(output_thread_groups): New function.
2013-01-21 Siva Chandra Reddy <sivachandra@google.com>
* python/lib/gdb/commands/explore.py
(CompoundExplorer.explore_expr): Correct the name of a method
being invoked.
(ExploreTypeCommand.invoke): Add a missing 'return'.
2013-01-21 Tom Tromey <tromey@redhat.com>
* gdb_obstack.h (obconcat): Move declaration here, from...
* symfile.h (obconcat): ... here.
* gdb_obstack.c: New file.
(obconcat): Move from...
* symfile.c (obconcat): ... here.
* Makefile.in (SFILES): Add gdb_obstack.c.
(COMMON_OBS): Add gdb_obstack.o.
2013-01-21 Tom Tromey <tromey@redhat.com>
* symfile.h (obsavestring): Don't declare.
* symfile.c (obsavestring): Remove.
* ada-exp.y: Use obstack_copy0, not obsavestring.
* ada-lang.c: Use obstack_copy0, not obsavestring.
* coffread.c: Use obstack_copy0, not obsavestring.
* cp-namespace.c: Use obstack_copy0, not obsavestring.
* dbxread.c: Use obstack_copy0, not obsavestring.
* dwarf2read.c: Use obstack_copy0, not obsavestring.
* jit.c: Use obstack_copy0, not obsavestring.
* mdebugread.c: Use obstack_copy0, not obsavestring.
* psymtab.c: Use obstack_copy0, not obsavestring.
* stabsread.c: Use obstack_copy0, not obsavestring.
* xcoffread.c: Use obstack_copy0, not obsavestring.
2013-01-21 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (fixup_go_packaging): Save package name
on objfile obstack.
* gdbtypes.c (init_type): Don't copy name.
2013-01-21 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (struct partial_die_info) <name, scope>: Now
const.
(struct attribute) <u.str>: Now const.
(struct fnfieldlist) <name>: Now const.
(dw2_get_file_names_reader, init_cutu_and_read_dies): Update.
(partial_die_parent_scope): Make return type const.
(partial_die_full_name, add_partial_symbol): Update.
(dwarf2_compute_name, dwarf2_full_name, dwarf2_physname): Make
'name' const.
(find_file_and_directory): Make 'name' and 'comp_dir' const.
(read_file_scope, read_func_scope, dwarf2_add_field)
(dwarf2_add_member_fn, read_structure_type)
(process_enumeration_scope, read_array_type, read_module_type)
(read_base_type, read_subrange_type): Update.
(dwarf2_start_symtab): Make 'name' and 'comp_dir' const.
(new_symbol_full, guess_full_die_structure_name): Update.
(dwarf2_canonicalize_name): Return const type. Make 'name' const.
(dwarf2_name): Return const type.
(dwarf_decode_macro_bytes, dwarf_decode_macros): Make 'comp_dir'
const.
2013-01-21 Tom Tromey <tromey@redhat.com>
* gdbtypes.c (init_type): Make 'name' const.
* gdbtypes.h (init_type): Update.
2013-01-21 Tom Tromey <tromey@redhat.com>
* buildsym.c (patch_subfile_names): Use set_last_source_file.
(start_symtab): Make 'name' and 'dirname' const. Use
set_last_source_file.
(restart_symtab, reset_symtab_globals): Use set_last_source_file.
(last_source_file): Define. Now static.
(set_last_source_file, get_last_source_file): New functions.
* buildsym.h (last_source_file): Don't declare.
(start_symtab): Update.
(set_last_source_file, get_last_source_file): Declare.
* coffread.c (complete_symtab): Use set_last_source_file.
(coff_end_symtab): Likewise.
(coff_symtab_read): Use set_last_source_file, get_last_source_file.
* dbxread.c (read_dbx_symtab, read_ofile_symtab): Use
set_last_source_file.
(process_one_symbol): Use get_last_source_file.
* mdebugread.c (parse_partial_symbols): Use set_last_source_file.
(psymtab_to_symtab_1): Use get_last_source_file.
* xcoffread.c (process_linenos): Use get_last_source_file.
(complete_symtab): Use set_last_source_file.
(read_xcoff_symtab): Use set_last_source_file, get_last_source_file.
(scan_xcoff_symtab): Use set_last_source_file.
2013-01-21 Tom Tromey <tromey@redhat.com>
* symtab.c (struct demangled_name_entry) <mangled>: Now const.
(symbol_set_names): Remove casts. Handle field const-ness.
2013-01-21 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (new_symbol_full): Remove cast.
* symtab.c (symbol_set_demangled_name): Make 'name' const.
* symtab.h (symbol_set_demangled_name): Update.
2013-01-21 Tom Tromey <tromey@redhat.com>
* main.c (captured_main): Call bfd_init.
2013-01-21 Tom Tromey <tromey@redhat.com>
* gnu-v2-abi.c (_initialize_gnu_v2_abi): Don't set default ABI.
* gnu-v3-abi.c (_initialize_gnu_v3_abi): Set default ABI.
* minsyms.c (install_minimal_symbols): Don't check for _Z symbols.
* NEWS: Update.
2013-01-21 Jan Kratochvil <jan.kratochvil@redhat.com>
* symmisc.c (maintenance_print_msymbols): Check also ST_DEV.
2013-01-21 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix gdb.fortran/common-block.exp crash in PIE mode.
* dwarf2read.c (new_symbol_full) <DW_TAG_common_block>: Use
LOC_COMMON_BLOCK.
* f-valprint.c (info_common_command_for_block): Expect
LOC_COMMON_BLOCK in gdb_assert.
* symtab.h (struct general_symbol_info): Update comment for the
common_block member.
(domain_enum): Extend comment for the COMMON_BLOCK_DOMAIN member.
(enum address_class): New member LOC_COMMON_BLOCK.
2013-01-18 David Blaikie <dblaikie@gmail.com>
* MAINTAINERS (Write After Approval): Add "David Blaikie".
2013-01-18 Tom Tromey <tromey@redhat.com>
PR c++/14999:
* dwarf2loc.c (dwarf2_compile_expr_to_ax) <DW_OP_fbreg>:
Call require_rvalue.
2013-01-18 Yao Qi <yao@codesourcery.com>
* dbxread.c (dbx_psymtab_to_symtab): Delete the declaration.
(dbx_read_symtab): New declaration.
(dbx_psymtab_to_symtab): Delete.
(dbx_read_symtab): Rename from dbx_psymtab_to_symtab.
Rename parameter PST to SELF. Exchanged two parameters.
(start_psymtab): Caller update.
* dwarf2read.c (dwarf2_psymtab_to_symtab): Delete the declaration.
(dwarf2_read_symtab): New declaration.
(dwarf2_psymtab_to_symtab): Delete.
(dwarf2_read_symtab): Rename from dwarf2_psymtab_to_symtab.
Rename parameter PST to SELF. Exchanged two parameters.
(create_partial_symtab): Caller update.
* mdebugread.c (mdebug_psymtab_to_symtab): Delete.
(mdebug_read_symtab): Rename from mdebug_psymtab_to_symtab.
Rename parameter PST to SELF. Exchanged two parameters.
(parse_partial_symbols, new_psymtab): Caller update.
* psympriv.h (struct partial_symtab) <read_symtab>: Exchange
two parameters.
* psymtab.c (psymtab_to_symtab): Caller update.
* xcoffread.c (xcoff_psymtab_to_symtab): Delete.
(xcoff_read_symtab): Rename from xcoff_psymtab_to_symtab.
Rename parameter PST to SELF. Exchanged two parameters.
(xcoff_start_psymtab): Caller update.
2013-01-18 Yao Qi <yao@codesourcery.com>
* infrun.c (proceed): Rename local variable 'oneproc' to
'force_step'.
2013-01-17 Doug Evans <dje@google.com>
* dwarf2read.c (dw2_build_type_unit_groups_reader): Delete.
(dw2_build_type_unit_groups): Delete. All uses updated.
* symtab.h (struct symbol_search): Add comment.
2013-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
* symtab.c (compare_filenames_for_search): New comment for
HAS_DRIVE_SPEC.
2013-01-17 Tom Tromey <tromey@redhat.com>
* cp-abi.c (cp_abi_completer): Fix typo in assignment.
2013-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
* symtab.c (iterate_over_some_symtabs): New variable cleanups,
initialize it by existing make_cleanup. Call new do_cleanups.
2013-01-17 Tom Tromey <tromey@redhat.com>
* cp-abi.c (cp_abi_completer): New function.
(_initialize_cp_abi): Set completer for "set cp-abi".
2013-01-17 Tom Tromey <tromey@redhat.com>
* mem-break.c: Remove obsolete comment.
* bfin-tdep.c (bfin_breakpoint_from_pc): Fix comment.
2012-01-17 Sanjoy Das <sanjoy@playingwithpointers.com>
* jit.c (jit_reader_load_command): Interpret the jit reader name
as an absolute path if it begins with a forward slash.
2012-01-17 Sanjoy Das <sanjoy@playingwithpointers.com>
PR gdb/14550
* jit.c (finalize_symtab): Ensure that only the global block has a
NULL superblock.
2013-01-17 Pedro Alves <palves@redhat.com>
* acinclude.m4: Include ../config/plugins.m4,
../config/largefile.m4 and ../config/lead-dot.m4. Add comments.
* Makefile.in (aclocal_m4_deps): Update.
* aclocal.m4: Renegerate.
2013-01-16 Doug Evans <dje@google.com>
* contrib/cc-with-tweaks.sh: Add references to Fission docs.
2013-01-16 Pedro Alves <palves@redhat.com>
Tom Tromey <tromey@redhat.com>
PR cli/7221:
* NEWS: Add "catch signal".
* breakpoint.c (base_breakpoint_ops): No longer static.
(bpstat_explains_signal): New function.
(init_catchpoint): No longer static.
(base_breakpoint_explains_signal): New function.
(base_breakpoint_ops): Initialize new field.
* breakpoint.h (enum bpstat_signal_value): New.
(struct breakpoint_ops) <explains_signal>: New field.
(bpstat_explains_signal): Remove macro, declare as function.
(base_breakpoint_ops, init_catchpoint): Declare.
* break-catch-sig.c: New file.
* inferior.h (signal_catch_update): Declare.
* infrun.c (signal_catch): New global.
(handle_syscall_event): Update for change to
bpstat_explains_signal.
(handle_inferior_event): Likewise. Always handle random signals
via bpstats.
(signal_cache_update): Check signal_catch.
(signal_catch_update): New function.
(_initialize_infrun): Initialize signal_catch.
* Makefile.in (SFILES): Add break-catch-sig.c.
(COMMON_OBS): Add break-catch-sig.o.
2013-01-16 Tom Tromey <tromey@redhat.com>
* breakpoint.c (print_one_catch_fork, print_one_catch_vfork)
(print_one_catch_solib, print_one_catch_syscall)
(print_one_catch_exec, print_one_exception_catchpoint): Emit
"catch-type".
2013-01-16 Yao Qi <yao@codesourcery.com>
* printcmd.c (current_display_number): Make it static.
2013-01-16 Yao Qi <yao@codesourcery.com>
* infcmd.c (step_once): Don't check '!single_inst' as it was
checked before.
2013-01-15 Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2read.c (psymtab_include_file_name): Extend the function comment.
2013-01-14 Tom Tromey <tromey@redhat.com>
* cli/cli-decode.c (add_setshow_string_noescape_cmd): Return the
set command.
* command.h (add_setshow_string_noescape_cmd): Update.
* corefile.c (set_gnutarget_command): Remove trailing whitespace.
(complete_set_gnutarget): New function.
(_initialize_core): Set the "set gnutarget" completer.
2013-01-14 Tom Tromey <tromey@redhat.com>
PR symtab/14442:
* c-typeprint.c (cp_type_print_method_args): Handle 'restrict'.
(c_type_print_modifier): Likewise.
* dwarf2read.c (read_tag_restrict_type): New function.
(read_type_die_1): Handle DW_TAG_restrict_type.
* gdbtypes.c (make_restrict_type): New function.
(recursive_dump_type): Handle TYPE_RESTRICT.
* gdbtypes.h (enum type_flag_values): Renumber.
(enum type_instance_flag_value): Add
TYPE_INSTANCE_FLAG_RESTRICT.
(TYPE_RESTRICT): New macro.
(make_restrict_type): Declare.
2013-01-14 Tom Tromey <tromey@redhat.com>
PR symtab/14931:
* psymtab.c (struct psymtab_state): New.
(discard_psymtabs_upto, make_cleanup_discard_psymtabs): New
functions.
* psympriv.h (make_cleanup_discard_psymtabs): Declare.
* dwarf2read.c (dwarf2_build_psymtabs): Catch exceptions.
2013-01-14 Richard Sharman <richard_sharman@mitel.com>
Pedro Alves <palves@redhat.com>
PR remote/14786
* remote.c (remote_threads_info): Make a copy of the reply from
qfThreadInfo and use that instead of rs->buf.
2013-01-14 Yao Qi <yao@codesourcery.com>
* dbxread.c (dbx_psymtab_to_symtab_1): Don't check PST is NULL.
(dbx_psymtab_to_symtab): Likewise.
* dwarf2read.c (dwarf2_psymtab_to_symtab): Likewise.
* mdebugread.c (mdebug_psymtab_to_symtab): Likewise.
* xcoffread.c (xcoff_psymtab_to_symtab_1): Likewise.
2013-01-13 Jan Kratochvil <jan.kratochvil@redhat.com>
* parse.c (parse_exp_in_context): New variable inner_chain. Call
make_cleanup_restore_current_language. Call set_language. Move
OLD_CHAIN and INNER_CHAIN cleanups.
* utils.c (do_restore_current_language)
(make_cleanup_restore_current_language): New functions.
* utils.h (make_cleanup_restore_current_language): New declaration.
2013-01-13 Jan Kratochvil <jan.kratochvil@redhat.com>
* source.c (symtab_to_fullname): Apply rewrite_source_path also for
non-existing files.
* source.c (symtab_to_fullname): Do not prepend DIRNAME for
non-existing files if FILENAME is already absolute.
2013-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* macrocmd.c (macro_inform_no_debuginfo): Use puts_filtered instead of
fputs_filtered. Append trailing newline.
2013-01-11 Yao Qi <yao@codesourcery.com>
Stan Shebs <stan@codesourcery.com>
* psymtab.c (init_psymbol_list): Clarify the comment.
2013-01-11 Yao Qi <yao@codesourcery.com>
* breakpoint.c (print_one_breakpoint_location): Remove dead code.
(update_dprintf_command_list): Assert that 'printf_line' is
non-null. Remove condition check.
2013-01-10 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup.
* psymtab.c (psymtab_to_fullname, psymtab_to_fullname): Make the return
type const char *.
* tui/tui-source.c (tui_source_is_displayed): Make the parameter fname
const char *.
* tui/tui-source.h (tui_source_is_displayed): Likewise.
2013-01-09 21:51:18 +00:00
2013-01-09 Anthony Green <green@moxielogic.com>
* cp-abi.c (cplus_print_vtable): Don't return value from void
function.
* ada-lang.c (re_set_catch_assert): Ditto.
2013-01-09 Doug Evans <dje@google.com>
* symfile.h (quick_symbol_functions): Delete member
pre_expand_symtabs_matching. All uses removed.
* dwarf2read.c (dw2_lookup_symbol): Implement.
(dw2_do_expand_symtabs_matching): Delete.
(dw2_pre_expand_symtabs_matching): Delete.
(struct dw2_symtab_iterator): New type.
(dw2_symtab_iter_init, dw2_symtab_iter_next): New functions.
(dw2_expand_symtabs_for_function): Rewrite.
(dwarf2_gdb_index_functions): Update.
* psymtab.c (pre_expand_symtabs_matching_psymtabs): Delete.
(psym_functions): Update.
2013-01-09 Tom Tromey <tromey@redhat.com>
* config/pa/hpux.mh (NATDEPFILES): Remove somread.o.
* configure: Rebuild.
* configure.ac: Add somread.o to the build if BFD has SOM
support.
* somread.c: Include som/aout.h, not syms.h.
(som_symtab_read): Use som_external_symbol_dictionary_record.
Unpack records manually.
(_initialize_somread): Declare.
2012-01-08 Mike Frysinger <vapier@gentoo.org>
* common/linux-ptrace.c (linux_ptrace_test_ret_to_nx) [__x86_64__]:
Cast return_address to 64bits.
2013-01-08 Hui Zhu <hui_zhu@mentor.com>
* printcmd.c: Remove define of function output_command.
* tracepoint.c: Remove extern of function output_command.
* valprint.h: (output_command): New extern.
2013-01-07 Tom Tromey <tromey@redhat.com>
* objc-lang.c (objc_emit_char, objc_printchar, objc_printstr):
Remove.
(objc_language_defn): Use c_printchar, c_printstr,
c_emit_char.
2013-01-07 Tom Tromey <tromey@redhat.com>
PR cli/7719:
* NEWS: Update.
* ada-valprint.c (printstr, print_field_values): Remove
"inspect_it" code.
* cp-valprint.c (cp_print_value_fields): Remove "inspect_it"
code.
* jv-valprint.c (java_print_value_fields): Remove "inspect_it"
code.
* m2-lang.c (m2_printstr): Remove "inspect_it" code.
* main.c (captured_main): Remove "epoch" argument.
* objc-lang.c (objc_printstr): Remove "inspect_it" code.
* p-lang.c (pascal_printstr): Remove "inspect_it" code.
* p-valprint.c (pascal_object_print_value_fields): Remove
"inspect_it" code.
* printcmd.c (print_command_1): Remove 'inspect' argument.
(print_command, call_command): Update.
(inspect_command): Remove.
(_initialize_printcmd): Make "inspect" an alias for "print".
* top.c (epoch_interface): Remove.
* top.h (epoch_interface): Remove.
* valprint.c (user_print_options): Update.
(print_converted_chars_to_obstack): Remove "inspect_it" code.
* valprint.h (struct value_print_options) <inspect_it>: Remove
field.
2013-01-04 Tom Tromey <tromey@redhat.com>
* valprint.h (read_string): Add 'extern'.
2013-01-07 Joel Brobecker <brobecker@adacore.com>
* darwin-nat.c: Fix typo in TASK_DYLD_INFO_COUNT macro test
used to decide whether to define darwin_read_dyld_info or not.
2013-01-03 Pierre Muller <muller@sourceware.org>
* main.c (relocate_gdb_directory): Avoid calling stat function
if DIR is empty.
2013-01-03 Yao Qi <yao@codesourcery.com>
* psymtab.c (fixup_psymbol_section): Update declaration.
(fixup_psymbol_section): Remove code returning value.
2013-01-03 Yao Qi <yao@codesourcery.com>
* symtab.h: Remove some out of date comments.
(enum exception_event_kind): Move it ...
* breakpoint.c: ... here.
2013-01-02 Iain Sandoe <developer@sandoe-acoustics.co.uk>
2013-01-02 21:07:53 +00:00
PR gdb/14405
* darwin-nat.c (darwin_read_dyld_info): Only build if
TASK_DYLD_INFO_COUNT is defined.
(darwin_xfer_partial): Call darwin_read_dyld_info only if
TASK_DYLD_INFO_COUNT is defined.
2013-01-02 Tom Tromey <tromey@redhat.com>
* symfile.h (struct ecoff_debug_hack): Remove.
* objfiles.c: Don't include mdebugread.h.
2013-01-02 Tom Tromey <tromey@redhat.com>
* config/i386/darwin.mh (NATDEPFILES): Remove machoread.o.
* configure.ac: Check for Mach-O support in BFD. Update
CONFIG_OBS.
* configure: Rebuild.
2013-01-02 Tom Tromey <tromey@redhat.com>
* acinclude.m4 (GDB_AC_CHECK_BFD): New macro.
* configure.ac: Use GDB_AC_CHECK_BFD.
* configure: Rebuild.
2013-01-02 04:49:56 +00:00
2013-01-01 Maxim Kuvyrkov <maxim.kuvyrkov@gmail.com>
* MAINTAINERS: Update my email.
2013-01-01 Joel Brobecker <brobecker@adacore.com>
* cli/cli-script.h (make_cleanup_free_command_lines): Make extern.
2013-01-01 Joel Brobecker <brobecker@adacore.com>
* rs6000-nat.c (bss_data_overlap): New function.
(vmap_symtab): Use it to adjust the .bss section's offset.
2013-01-01 Joel Brobecker <brobecker@adacore.com>
Update year range in copyright notice of all files.
2013-01-01, 13 Joel Brobecker <brobecker@adacore.com>
* top.c (print_gdb_version): Update copyright year.
For older changes see ChangeLog-2012.
Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
2007-08-09 22:44:38 +00:00
coding: utf-8
End: