2013-02-22 16:40:56 +00:00
|
|
|
|
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.
|
|
|
|
|
|
bfd/
* elf-bfd.h (struct elf_build_id): Extracted from..
(struct elf_build_id_info): ..here. Delete.
(struct output_elf_obj_tdata): New, extracted from..
(struct elf_obj_tdata): ..here. Reorganize for better packing.
Add "o" field.
(elf_program_header_size): Reference tdata->o.
(elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
elf_stack_flags, elf_shstrtab, elf_strtab_sec, elf_shstrtab_sec,
elf_section_syms, elf_num_section_syms, elf_flags_init): Likewise.
* elf.c (bfd_elf_allocate_object): Allocate output_elf_obj_tdata
when opening bfd in any mode that might write.
(_bfd_elf_write_object_contents): Use build_id field in
output_elf_obj_tdata.
(_bfd_elf_close_and_cleanup): Tweak elf_shstrtab test.
(elfobj_grok_gnu_build_id): Adjust for elf_tdata changes.
gdb/
* elfread.c (build_id_bfd_get): Adjust for elf_tdata changes.
ld/
* emultempl/elf32.em (write_build_id, setup_build_id): Adjust
for elf_tdata changes.
2013-02-21 04:35:22 +00:00
|
|
|
|
2013-02-21 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* elfread.c (build_id_bfd_get): Adjust for elf_tdata changes.
|
|
|
|
|
|
2013-02-21 01:46:57 +00:00
|
|
|
|
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 07:45:14 +00:00
|
|
|
|
2013-02-20 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS (Write After Approval): Add myself to the list.
|
|
|
|
|
|
2013-02-19 19:41:28 +00:00
|
|
|
|
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 19:27:21 +00:00
|
|
|
|
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 18:31:49 +00:00
|
|
|
|
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 16:22:42 +00:00
|
|
|
|
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 16:20:47 +00:00
|
|
|
|
2013-02-19 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
|
2013-02-19 16:21:29 +00:00
|
|
|
|
* tilegx-tdep.c (itilegx_gdbarch_init): char type should be signed.
|
|
|
|
|
|
2013-02-19 16:22:42 +00:00
|
|
|
|
2013-02-19 Jiong Wang <jiwang@tilera.com>
|
2013-02-19 16:21:29 +00:00
|
|
|
|
|
2013-02-20 07:45:14 +00:00
|
|
|
|
* tilegx-tdep.c (tilegx_skip_prologue): Use skip_prologue_using_sal.
|
2013-02-19 16:20:47 +00:00
|
|
|
|
|
2013-02-19 16:19:33 +00:00
|
|
|
|
2013-02-19 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
|
2013-02-20 07:45:14 +00:00
|
|
|
|
* tilegx-tdep.c (INT_SWINT_1_SIGRETURN): New macro.
|
2013-02-19 16:19:33 +00:00
|
|
|
|
(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 16:09:13 +00:00
|
|
|
|
2013-02-19 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
|
|
|
|
|
* tilegx-tdep.c (tilegx_push_dummy_call): args pushed on stack
|
2013-02-20 07:45:14 +00:00
|
|
|
|
should be aligned to 64bit.
|
2013-02-19 16:09:13 +00:00
|
|
|
|
|
2013-02-19 15:46:32 +00:00
|
|
|
|
2013-02-19 Kai Tietz <ktietz@redhat.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (windows_xfer_memory): Fix debug-output
|
|
|
|
|
for LLP64.
|
|
|
|
|
|
2013-02-19 07:50:30 +00:00
|
|
|
|
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-18 23:50:32 +00:00
|
|
|
|
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 21:04:28 +00:00
|
|
|
|
2013-02-18 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/15102:
|
|
|
|
|
* dwarf2read.c (read_subrange_type): Use result of
|
|
|
|
|
'check_typedef'.
|
|
|
|
|
|
2013-02-16 08:57:48 +00:00
|
|
|
|
2013-02-16 Yuanhui Zhang <asmwarrior@gmail.com>
|
|
|
|
|
|
|
|
|
|
* frame.c: Remove one extra white space after #include
|
|
|
|
|
directive.
|
|
|
|
|
|
2013-02-15 20:30:16 +00:00
|
|
|
|
2013-02-15 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* contrib/cc-with-tweaks.sh: Extend the comment for -p option.
|
|
|
|
|
|
2013-02-15 20:28:24 +00:00
|
|
|
|
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 17:12:29 +00:00
|
|
|
|
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 09:47:50 +00:00
|
|
|
|
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 21:08:35 +00:00
|
|
|
|
2013-02-14 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* contrib/ari/gdb_ari.sh (GNU/Linux rule): Remove.
|
|
|
|
|
|
2013-02-14 17:11:41 +00:00
|
|
|
|
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 17:09:00 +00:00
|
|
|
|
2013-02-14 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* utils.c (savestring): Rename parameter 'size' to 'len'.
|
|
|
|
|
|
2013-02-14 13:50:30 +00:00
|
|
|
|
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 12:43:46 +00:00
|
|
|
|
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 10:19:39 +00:00
|
|
|
|
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 04:00:16 +00:00
|
|
|
|
2013-02-14 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* infcmd.c (breakpoint_proceeded): Remove it.
|
|
|
|
|
|
2013-02-14 03:57:13 +00:00
|
|
|
|
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 03:39:42 +00:00
|
|
|
|
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 13:42:39 +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 13:41:12 +00:00
|
|
|
|
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 10:41:11 +00:00
|
|
|
|
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 20:27:36 +00:00
|
|
|
|
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.
|
|
|
|
|
|
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 18:27:29 +00:00
|
|
|
|
2013-02-12 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* break-catch-sig.c: Update copyright years.
|
|
|
|
|
|
2013-02-12 01:47:49 +00:00
|
|
|
|
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 22:04:58 +00:00
|
|
|
|
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 18:05:35 +00:00
|
|
|
|
2013-02-11 Sergio Durigan Junior <sergiodj@redhat.com>
|
|
|
|
|
|
|
|
|
|
* valops.c (value_assign): Handling bitfield offset in
|
|
|
|
|
`lval_internalvar_component' case.
|
|
|
|
|
|
2013-02-08 22:52:20 +00:00
|
|
|
|
2013-02-08 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* common/format.c (parse_format_string): Fix whitespace.
|
|
|
|
|
|
2013-02-08 13:55:14 +00:00
|
|
|
|
2013-02-08 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
|
|
|
|
|
|
|
|
|
|
* stack.c (return_command): Work around uninitialized variable
|
|
|
|
|
warning.
|
|
|
|
|
|
2013-02-08 12:46:28 +00:00
|
|
|
|
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 11:11:47 +00:00
|
|
|
|
2013-02-08 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention new AArch64 native and target support.
|
|
|
|
|
|
2013-02-08 09:12:35 +00:00
|
|
|
|
2013-02-08 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS (Write After Approval): Add myself.
|
|
|
|
|
|
2013-02-08 09:00:35 +00:00
|
|
|
|
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 20:38:23 +00:00
|
|
|
|
2013-02-07 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-cmds.c (_initialize_cli_cmds): Clarify argument to
|
|
|
|
|
disassemble command.
|
|
|
|
|
|
2013-02-07 10:49:29 +00:00
|
|
|
|
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 19:40:04 +00:00
|
|
|
|
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 17:05:22 +00:00
|
|
|
|
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 14:45:20 +00:00
|
|
|
|
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 21:31:31 +00:00
|
|
|
|
2013-02-05 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* completer.c (location_completer): Fix typo in comment.
|
|
|
|
|
|
2013-02-05 20:23:19 +00:00
|
|
|
|
2013-02-05 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (add_location_to_breakpoint): Insert the location with
|
|
|
|
|
ADDRESS sorted.
|
|
|
|
|
|
2013-02-05 13:54:38 +00:00
|
|
|
|
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 05:59:55 +00:00
|
|
|
|
2013-02-05 Andreas Tobler <andreast@fgznet.ch>
|
|
|
|
|
|
|
|
|
|
* NEWS: Add PowerPC FreeBSD as a new native configuration.
|
|
|
|
|
|
2013-02-04 20:48:53 +00:00
|
|
|
|
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 18:40:41 +00:00
|
|
|
|
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 18:20:05 +00:00
|
|
|
|
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 12:57:44 +00:00
|
|
|
|
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 12:53:59 +00:00
|
|
|
|
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 12:48:37 +00:00
|
|
|
|
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 16:27:57 +00:00
|
|
|
|
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* contrib/expect-read1.c: New file.
|
|
|
|
|
* contrib/expect-read1.sh: 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 16:22:29 +00:00
|
|
|
|
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 16:20:20 +00:00
|
|
|
|
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.
|
|
|
|
|
|
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 16:09:33 +00:00
|
|
|
|
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 16:05:09 +00:00
|
|
|
|
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 16:03:07 +00:00
|
|
|
|
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 16:00:36 +00:00
|
|
|
|
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 15:57:07 +00:00
|
|
|
|
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.
|
|
|
|
|
|
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 20:54:18 +00:00
|
|
|
|
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 20:08:45 +00:00
|
|
|
|
2013-02-01 Aleksandar Ristovski <aristovski@qnx.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (ada_print_floating): Remove unused 'len'.
|
|
|
|
|
|
2013-02-01 20:06:35 +00:00
|
|
|
|
2013-02-01 Aleksandar Ristovski <aristovski@qnx.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (assign_aggregate): Remove unused 'is_array_aggregate'.
|
|
|
|
|
|
2013-02-01 19:58:04 +00:00
|
|
|
|
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 19:39:04 +00:00
|
|
|
|
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 19:55:15 +00:00
|
|
|
|
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 19:52:03 +00:00
|
|
|
|
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 19:18:59 +00:00
|
|
|
|
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.
Reference: http://sourceware.org/ml/gdb-patches/2013-01/msg00759.html
2013-01-31 18:46:11 +00:00
|
|
|
|
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 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 18:31:48 +00:00
|
|
|
|
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 17:41:09 +00:00
|
|
|
|
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 16:32:44 +00:00
|
|
|
|
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
|
|
|
|
|
|
|
|
|
|
* target.c (target_read_string): Remove unused origlen.
|
|
|
|
|
|
2013-01-31 16:27:50 +00:00
|
|
|
|
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 13:52:52 +00:00
|
|
|
|
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 20:42:11 +00:00
|
|
|
|
2013-01-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* hppa-tdep.c (read_unwind_info): Use SECT_OFF_TEXT, not "0".
|
|
|
|
|
|
2013-01-30 20:38:04 +00:00
|
|
|
|
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 18:45:39 +00:00
|
|
|
|
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 17:19:57 +00:00
|
|
|
|
2013-01-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (read_namespace_type): Remove cast.
|
|
|
|
|
(read_typedef): Likewise.
|
|
|
|
|
|
2013-01-29 19:26:22 +00:00
|
|
|
|
2013-01-29 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (free_dwo_file): Remove assert.
|
|
|
|
|
|
2013-01-29 18:54:24 +00:00
|
|
|
|
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 18:02:48 +00:00
|
|
|
|
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 22:31:43 +00:00
|
|
|
|
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 17:57:31 +00:00
|
|
|
|
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 17:55:24 +00:00
|
|
|
|
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 17:38:00 +00:00
|
|
|
|
2013-01-25 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (add_current_inferior_and_thread): Tweak comment.
|
|
|
|
|
|
2013-01-25 17:36:01 +00:00
|
|
|
|
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 17:34:03 +00:00
|
|
|
|
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 17:16:43 +00:00
|
|
|
|
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 14:17:10 +00:00
|
|
|
|
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 14:14:18 +00:00
|
|
|
|
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 00:46:19 +00:00
|
|
|
|
2013-01-25 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* main.c (print_gdb_help): Remove "--epoch" from the help
|
|
|
|
|
message.
|
|
|
|
|
|
2013-01-24 20:36:03 +00:00
|
|
|
|
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 20:25:18 +00:00
|
|
|
|
2013-01-24 Tiago Stürmer Daitx <tdaitx@linux.vnet.ibm.com>
|
|
|
|
|
|
2013-02-18 23:50:32 +00:00
|
|
|
|
* MAINTAINERS (Write After Approval): Add myself to the list.
|
2013-01-24 20:25:18 +00:00
|
|
|
|
|
2013-01-24 18:04:34 +00:00
|
|
|
|
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 20:07:39 +00:00
|
|
|
|
2013-01-23 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* linespec.c (find_linespec_symbols): Make static.
|
|
|
|
|
|
2013-01-23 20:03:18 +00:00
|
|
|
|
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 19:59:13 +00:00
|
|
|
|
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 18:47:51 +00:00
|
|
|
|
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 20:22:39 +00:00
|
|
|
|
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 15:57:28 +00:00
|
|
|
|
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-22 00:06:26 +00:00
|
|
|
|
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 21:44:57 +00:00
|
|
|
|
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 18:15:32 +00:00
|
|
|
|
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.
|
|
|
|
|
|
* 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 18:13:14 +00:00
|
|
|
|
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 18:10:33 +00:00
|
|
|
|
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.
|
|
|
|
|
|
* 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 18:08:53 +00:00
|
|
|
|
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 18:07:03 +00:00
|
|
|
|
2013-01-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gdbtypes.c (init_type): Make 'name' const.
|
|
|
|
|
* gdbtypes.h (init_type): Update.
|
|
|
|
|
|
2013-01-21 18:05:13 +00:00
|
|
|
|
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 18:03:08 +00:00
|
|
|
|
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 18:01:34 +00:00
|
|
|
|
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 17:32:10 +00:00
|
|
|
|
2013-01-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* main.c (captured_main): Call bfd_init.
|
|
|
|
|
|
2013-01-21 17:29:39 +00:00
|
|
|
|
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 17:14:33 +00:00
|
|
|
|
2013-01-21 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symmisc.c (maintenance_print_msymbols): Check also ST_DEV.
|
|
|
|
|
|
2013-01-21 16:46:12 +00:00
|
|
|
|
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 21:42:58 +00:00
|
|
|
|
2013-01-18 David Blaikie <dblaikie@gmail.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS (Write After Approval): Add "David Blaikie".
|
2013-01-18 19:26:07 +00:00
|
|
|
|
|
2013-01-18 18:32:35 +00:00
|
|
|
|
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 03:09:42 +00:00
|
|
|
|
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 03:03:42 +00:00
|
|
|
|
2013-01-18 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* infrun.c (proceed): Rename local variable 'oneproc' to
|
|
|
|
|
'force_step'.
|
|
|
|
|
|
2013-01-17 23:17:43 +00:00
|
|
|
|
2013-01-17 Doug Evans <dje@google.com>
|
|
|
|
|
|
2013-01-17 23:21:41 +00:00
|
|
|
|
* dwarf2read.c (dw2_build_type_unit_groups_reader): Delete.
|
|
|
|
|
(dw2_build_type_unit_groups): Delete. All uses updated.
|
|
|
|
|
|
2013-01-17 23:17:43 +00:00
|
|
|
|
* symtab.h (struct symbol_search): Add comment.
|
|
|
|
|
|
2013-01-17 20:40:44 +00:00
|
|
|
|
2013-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (compare_filenames_for_search): New comment for
|
|
|
|
|
HAS_DRIVE_SPEC.
|
|
|
|
|
|
2013-01-17 20:26:14 +00:00
|
|
|
|
2013-01-17 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cp-abi.c (cp_abi_completer): Fix typo in assignment.
|
|
|
|
|
|
2013-01-17 19:55:18 +00:00
|
|
|
|
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 16:27:35 +00:00
|
|
|
|
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 15:23:38 +00:00
|
|
|
|
2013-01-17 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* mem-break.c: Remove obsolete comment.
|
|
|
|
|
* bfin-tdep.c (bfin_breakpoint_from_pc): Fix comment.
|
|
|
|
|
|
2013-01-17 14:17:16 +00:00
|
|
|
|
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.
|
|
|
|
|
|
2013-01-17 14:11:27 +00:00
|
|
|
|
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 11:06:26 +00:00
|
|
|
|
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 22:02:16 +00:00
|
|
|
|
2013-01-16 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* contrib/cc-with-tweaks.sh: Add references to Fission docs.
|
|
|
|
|
|
2013-01-16 17:31:40 +00:00
|
|
|
|
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 17:27:53 +00:00
|
|
|
|
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 14:53:24 +00:00
|
|
|
|
2013-01-16 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* printcmd.c (current_display_number): Make it static.
|
|
|
|
|
|
2013-01-16 14:44:03 +00:00
|
|
|
|
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 21:32:36 +00:00
|
|
|
|
2013-01-15 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (psymtab_include_file_name): Extend the function comment.
|
|
|
|
|
|
2013-01-14 21:05:07 +00:00
|
|
|
|
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 20:59:27 +00:00
|
|
|
|
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 20:51:48 +00:00
|
|
|
|
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 18:06:21 +00:00
|
|
|
|
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 10:39:33 +00:00
|
|
|
|
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 18:57:01 +00:00
|
|
|
|
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 18:52:45 +00:00
|
|
|
|
2013-01-13 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* source.c (symtab_to_fullname): Apply rewrite_source_path also for
|
|
|
|
|
non-existing files.
|
|
|
|
|
|
2013-01-13 18:53:51 +00:00
|
|
|
|
* source.c (symtab_to_fullname): Do not prepend DIRNAME for
|
|
|
|
|
non-existing files if FILENAME is already absolute.
|
|
|
|
|
|
2013-01-11 21:34:29 +00:00
|
|
|
|
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 00:56:05 +00:00
|
|
|
|
2013-01-11 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
Stan Shebs <stan@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* psymtab.c (init_psymbol_list): Clarify the comment.
|
|
|
|
|
|
2013-01-11 00:41:08 +00:00
|
|
|
|
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 21:15:51 +00:00
|
|
|
|
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 20:46:03 +00:00
|
|
|
|
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 17:21:36 +00:00
|
|
|
|
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.
|
|
|
|
|
|
2013-01-08 19:38:51 +00:00
|
|
|
|
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 02:00:34 +00:00
|
|
|
|
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 16:51:47 +00:00
|
|
|
|
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 16:40:39 +00:00
|
|
|
|
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 11:14:37 +00:00
|
|
|
|
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 22:18:35 +00:00
|
|
|
|
2013-01-03 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* main.c (relocate_gdb_directory): Avoid calling stat function
|
|
|
|
|
if DIR is empty.
|
|
|
|
|
|
2013-01-03 07:17:52 +00:00
|
|
|
|
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 07:13:28 +00:00
|
|
|
|
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 21:06:30 +00:00
|
|
|
|
2013-01-02 Iain Sandoe <developer@sandoe-acoustics.co.uk>
|
|
|
|
|
|
2013-01-02 21:07:53 +00:00
|
|
|
|
PR gdb/14405
|
2013-01-02 21:06:30 +00:00
|
|
|
|
* 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 18:52:07 +00:00
|
|
|
|
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 14:58:15 +00:00
|
|
|
|
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 14:54:17 +00:00
|
|
|
|
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 07:38:02 +00:00
|
|
|
|
2013-01-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-script.h (make_cleanup_free_command_lines): Make extern.
|
|
|
|
|
|
2013-01-01 11:04:34 +00:00
|
|
|
|
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 06:33:28 +00:00
|
|
|
|
2013-01-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
Update year range in copyright notice of all files.
|
|
|
|
|
|
2013-01-07 16:40:39 +00:00
|
|
|
|
2013-01-01, 13 Joel Brobecker <brobecker@adacore.com>
|
2013-01-01 05:45:22 +00:00
|
|
|
|
|
|
|
|
|
* top.c (print_gdb_version): Update copyright year.
|
|
|
|
|
|
2013-01-01 05:30:40 +00:00
|
|
|
|
For older changes see ChangeLog-2012.
|
1999-04-16 01:35:26 +00:00
|
|
|
|
|
|
|
|
|
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
|
1999-04-16 01:35:26 +00:00
|
|
|
|
End:
|