binutils-gdb.git
10 years agodaily update
Alan Modra [Fri, 21 Feb 2014 23:00:38 +0000 (09:30 +1030)]
daily update

10 years agoFix crash on process name "(sd-pam)" (PR 16594).
Jan Kratochvil [Fri, 21 Feb 2014 17:39:40 +0000 (18:39 +0100)]
Fix crash on process name "(sd-pam)" (PR 16594).

info os processes -fsanitize=address error
https://sourceware.org/bugzilla/show_bug.cgi?id=16594

info os processes
=================================================================
==5795== ERROR: AddressSanitizer: heap-use-after-free on address
0x600600214974 at pc 0x757a92 bp 0x7fff95dd9f00 sp 0x7fff95dd9ef0
READ of size 4 at 0x600600214974 thread T0
    #0 0x757a91 in get_cores_used_by_process (.../gdb/gdb+0x757a91)

At least Fedora 20 has process(es):
 6678 ?        Ss     0:00 /usr/lib/systemd/systemd --user
 6680 ?        S      0:00  \_ (sd-pam)

and GDB "info os processes" crashes on it as /proc/6680/stat contains:

6680 ((sd-pam)) S 6678 6678 6678 0 -1 1077961024 33 0 0 0 0 0 0 0 20 0 1 0 18568 73768960 120 18446744073709551615 1 1
0 0 0 0 0 4096 0 18446744073709551615 0 0 17 6 0 0 0 0 0 0 0 0 0 0 0 0 0

and GDB fails to find the proper end of the process name "((sd-pam))".
Therefore it reads core number off-by-one (it reads 17 instead of 6) and
overruns the array.

(1) Make the process name parsing more foolproof.

(2) Do not trust the parsed number from /proc/PID/stat and verify it against
    the array size.

I noticed that 'ps' gets this right, so I've peeked at its
sources, and it just looks for the first ')' starting at
the end.

https://gitorious.org/procps/procps/source/dc072aced7250fed9b01fb05f0d672678752a63e:proc/readproc.c

Look for stat2proc.

Given ps does that, I believe the kernel won't ever be changed
in a way that would break it.  So it sounds like could do strrchr
from the end of stat just as well without worry, which is simpler.

gdb/
2014-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>

PR gdb/16594
* common/linux-osdata.c (linux_common_core_of_thread): Find the end of
process name.
(get_cores_used_by_process): New parameter num_cores, use it.
(linux_xfer_osdata_processes): Pass num_cores to it.
* linux-tdep.c (linux_info_proc, linux_fill_prpsinfo): Find the end of
process name.

Message-ID: <20140217212826.GA15080@host2.jankratochvil.net>

10 years agoAdd support for CPUID PREFETCHWT1
Ilya Tocar [Thu, 20 Feb 2014 14:57:31 +0000 (18:57 +0400)]
Add support for CPUID PREFETCHWT1

Latest AVX512 spec
http://download-software.intel.com/sites/default/files/managed/50/1a/319433-018.pdf
Has CPUID PREFETCHWT1 for prefetchwt1 instruction, which we list as AVX512PF.
This patch introduces CPUID PREFETCHWT1.

gas/

        * config/tc-i386.c (cpu_arch): Add .prefetchwt1.
        * doc/c-i386.texi: Document .prefetchwt1/prefetchwt1.

opcodes/

        * i386-gen.c (cpu_flag_init): Add CPU_PREFETCHWT1_FLAGS/
        (cpu_flags): Add CpuPREFETCHWT1.
        * i386-init.h: Regenerate.
        * i386-opc.h (CpuPREFETCHWT1): New.
        (i386_cpu_flags): Add cpuprefetchwt1.
        * i386-opc.tbl: Cahnge CPU of prefetchwt1 from CpuAVX512PF to CpuPREFETCHWT1.
        * i386-tbl.h: Regenerate.

gas/testsuite

        * gas/i386/avx512pf-intel.d: Remove prefetchwt1.
        * gas/i386/avx512pf.s: Ditto.
        * gas/i386/avx512pf.d: Ditto.
        * gas/i386/x86-64-avx512pf-intel.d: Ditto.
        * gas/i386/x86-64-avx512pf.s: Ditto.
        * gas/i386/x86-64-avx512pf.d: Ditto.
        * gas/i386/prefetchwt1-intel.d: New file.
        * gas/i386/prefetchwt1.s: Ditto.
        * gas/i386/prefetchwt1.d: Ditto.
        * gas/i386/x86-64-prefetchwt1-intel.d: Ditto.
        * gas/i386/x86-64-prefetchwt1.s: Ditto.
        * gas/i386/x86-64-prefetchwt1.d: Ditto.

10 years agoFix length arg in call to breakpoint_xfer_memory.
Andreas Krebbel [Fri, 21 Feb 2014 14:55:37 +0000 (15:55 +0100)]
Fix length arg in call to breakpoint_xfer_memory.

The patch "return target_xfer_status in to_xfer_partial" caused a
regression in various s390(x) test cases, because memory_xfer_partial
filled only the first byte of the read buffer from a breakpoint shadow:

    https://sourceware.org/ml/gdb-patches/2014-01/msg01071.html

This patch fixes the regression.

10 years agoRename test.
Pedro Alves [Fri, 21 Feb 2014 13:30:12 +0000 (13:30 +0000)]
Rename test.

I realized that the name of this test only made sense when considering
the old (never committed) implementation of the fix that came along
with the test originally, that forced a schedlock while a step-resume
(to get over the signal handler) was inserted.  The final solution
that went into the tree does not force that locking.

So this renames it to something more descriptive.

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

* gdb.threads/step-after-sr-lock.c: Rename to ...
* gdb.threads/signal-while-stepping-over-bp-other-thread.c: ... this.
* gdb.threads/step-after-sr-lock.exp: Rename to ...
* gdb.threads/signal-while-stepping-over-bp-other-thread.exp:
... this.

10 years agoAdd file missed from last commit.
Alan Modra [Fri, 21 Feb 2014 12:48:50 +0000 (23:18 +1030)]
Add file missed from last commit.

10 years agoAdd ppc476 workaround bootstrap test
Alan Modra [Thu, 20 Feb 2014 23:48:01 +0000 (10:18 +1030)]
Add ppc476 workaround bootstrap test

I was running this by hand to test out --ppc476-workaround.  Another
bootstrap test doesn't take all that long, so let's add it to the
testsuite.

* ld-bootstrap/bootstrap.exp: Add ppc476 workaround test.
* ld-bootstrap/ppc476.t: New file.

10 years agodaily update
Alan Modra [Thu, 20 Feb 2014 23:00:38 +0000 (09:30 +1030)]
daily update

10 years agoFix for PR tdep/16397: SystemTap SDT probe support for x86 doesn't work with "triplet...
Sergio Durigan Junior [Thu, 20 Feb 2014 21:49:09 +0000 (18:49 -0300)]
Fix for PR tdep/16397: SystemTap SDT probe support for x86 doesn't work with "triplet operands"

This is the continuation of what Joel proposed on:

<https://sourceware.org/ml/gdb-patches/2013-12/msg00977.html>

Now that I have already submitted and pushed the patch to split
i386_stap_parse_special_token into two smaller functions, it is indeed
simpler to understand this patch.

It occurs because, on x86, triplet displacement operands are allowed
(like "-4+8-20(%rbp)"), and the current parser for this expression is
buggy.  It does not correctly extract the register name from the
expression, which leads to incorrect evaluation.  The parser was also
being very "generous" with the expression, so I included a few more
checks to ensure that we're indeed dealing with a triplet displacement
operand.

This patch also includes testcases for the two different kind of
expressions that can be encountered on x86: the triplet displacement
(explained above) and the three-argument displacement (as in
"(%rbx,%ebx,-8)").  The tests are obviously arch-dependent and are
placed under gdb.arch/.

Message-ID: <m3mwj1j12v.fsf@redhat.com>
URL: <https://sourceware.org/ml/gdb-patches/2014-01/msg00310.html>

gdb/
2014-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>

PR tdep/16397
* i386-tdep.c (i386_stap_parse_special_token_triplet): Check if a
number comes after the + or - signs.  Adjust length of register
name to be extracted.

gdb/testsuite/
2014-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>

PR tdep/16397
* gdb.arch/amd64-stap-special-operands.exp: New file.
* gdb.arch/amd64-stap-three-arg-disp.S: Likewise.
* gdb.arch/amd64-stap-three-arg-disp.c: Likewise.
* gdb.arch/amd64-stap-triplet.S: Likewise.
* gdb.arch/amd64-stap-triplet.c: Likewise.

10 years agoAdd single sentence description to top of entry of previous commit.
Doug Evans [Thu, 20 Feb 2014 21:33:44 +0000 (13:33 -0800)]
Add single sentence description to top of entry of previous commit.

10 years agomark *_varobj_ops as "extern"
Tom Tromey [Thu, 20 Feb 2014 21:05:32 +0000 (14:05 -0700)]
mark *_varobj_ops as "extern"

The AIX linker pointed out that gdb had multiple definitions of the
various *_varobj_ops objects.  This patch fixes the problem by marking
the declarations as "extern" in varobj.h.  Tested by rebuilding on
x86-64 Fedora 18 and on AIX.

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

* varobj.h (c_varobj_ops, cplus_varobj_ops, java_varobj_ops)
(ada_varobj_ops): Mark "extern".

10 years agoRemove all_lwps global.
Doug Evans [Thu, 20 Feb 2014 20:23:26 +0000 (12:23 -0800)]
Remove all_lwps global.

* inferiors.h (ptid_of): Move here from linux-low.h.
(pid_of, lwpid_of): Ditto.
* linux-aarch64-low.c (debug_reg_change_callback): Update, "entry"
parameter is a struct thread_info * now.
(aarch64_notify_debug_reg_change): Fetch pid from current_inferior
directly.  Pass &all_threads to find_inferior instead of &all_lwps.
(aarch64_stopped_data_address): Fetch lwpid from current_inferior
directly.
(aarch64_linux_prepare_to_resume): Fetch ptid from thread.
(aarch64_arch_setup): Fetch lwpid from current_inferior directly.
* linux-arm-low.c (update_registers_callback): Update, "entry"
parameter is a struct thread_info * now.
Fetch lwpid from current_inferior directly.
(arm_insert_point): Pass &all_threads to find_inferior instead of
&all_lwps.
(arm_remove_point): Ditto.
(arm_stopped_by_watchpoint): Fetch lwp from current_inferior.
(arm_prepare_to_resume): Fetch pid from thread.
(arm_read_description): Fetch lwpid from current_inferior directly.
* linux-low.c (all_lwps): Delete.
(delete_lwp): Delete call to remove_inferior.
(handle_extended_wait): Fetch lwpid from thread.
(add_lwp): Don't set lwp->entry.id.  Remove call to
add_inferior_to_list.
(linux_attach_lwp_1): Fetch pid from current_inferior directly.
(linux_kill_one_lwp): Fetch ptid,lwpid from thread.
(kill_one_lwp_callback): Ditto.
(linux_kill): Don't dereference NULL pointer.
Fetch ptid,lwpid from thread.
(get_detach_signal): Fetch ptid from thread.
(linux_detach_one_lwp): Fetch ptid,lwpid from thread.
Simplify call to regcache_invalidate_thread.
(delete_lwp_callback): Update, "entry" parameter is a
struct thread_info * now.  Fetch pid from thread.
(linux_mourn): Pass &all_threads to find_inferior instead of &all_lwps.
(status_pending_p_callback): Update, "entry" parameter is a
struct thread_info * now.  Fetch ptid from thread.
(find_lwp_pid): Update, "entry" parameter is a
struct thread_info * now.
(linux_wait_for_lwp): Fetch pid from thread.
(linux_fast_tracepoint_collecting): Fetch lwpid from thread.
(maybe_move_out_of_jump_pad): Fetch lwpid from current_inferior.
(enqueue_one_deferred_signal): Fetch lwpid from thread.
(dequeue_one_deferred_signal): Ditto.
(cancel_breakpoint): Fetch ptid from current_inferior.
(linux_wait_for_event): Pass &all_threads to find_inferior,
not &all_lwps.  Fetch ptid, lwpid from thread.
(count_events_callback): Update, "entry" parameter is a
struct thread_info * now.
(select_singlestep_lwp_callback): Ditto.
(select_event_lwp_callback): Ditto.
(cancel_breakpoints_callback): Ditto.
(linux_cancel_breakpoints): Pass &all_threads to find_inferior,
not &all_lwps.
(select_event_lwp): Ditto.  Fetch ptid from event_thread.
(unsuspend_one_lwp): Update, "entry" parameter is a
struct thread_info * now.
(unsuspend_all_lwps): Pass &all_threads to find_inferior,
not &all_lwps.
(linux_stabilize_threads): Ditto.  And for for_each_inferior.
Fetch lwpid from thread, not lwp.
(linux_wait_1): Fetch ptid, lwpid from current_inferior.
Pass &all_threads to find_inferior, not &all_lwps.
(send_sigstop): Fetch lwpid from thread, not lwp.
(send_sigstop_callback): Update, "entry" parameter is a
struct thread_info * now.
(suspend_and_send_sigstop_callback): Ditto.
(wait_for_sigstop): Ditto.  Fetch ptid, lwpid from thread, lwp.
(stuck_in_jump_pad_callback): Update, "entry" parameter is a
struct thread_info * now.
(move_out_of_jump_pad_callback): Ditto.  Fetch ptid, lwpid
from thread, lwp.
(lwp_running): Update, "entry" parameter is a
struct thread_info * now.
(stop_all_lwps): Fetch ptid from thread.
Pass &all_threads to find_inferior, for_each_inferior, not &all_lwps.
(linux_resume_one_lwp): Fetch lwpid from thread.
(linux_set_resume_request): Update, "entry" parameter is a
struct thread_info * now.  Fetch pid, lwpid from thread.
(resume_status_pending_p): Update, "entry" parameter is a
struct thread_info * now.
(need_step_over_p): Ditto.  Fetch lwpid from thread.
(start_step_over): Fetch lwpid from thread.
(linux_resume_one_thread): Update, "entry" parameter is a
struct thread_info * now.  Fetch lwpid from thread.
(linux_resume): Pass &all_threads to find_inferior, not &all_lwps.
(proceed_one_lwp): Update, "entry" parameter is a
struct thread_info * now.  Fetch lwpid from thread.
(unsuspend_and_proceed_one_lwp): Update, "entry" parameter is a
struct thread_info * now.
(proceed_all_lwps): Pass &all_threads to find_inferior, not &all_lwps.
(unstop_all_lwps): Ditto.  Fetch lwpid from thread.
(regsets_fetch_inferior_registers): Fetch lwpid from current_inferior
directly.
(regsets_store_inferior_registers): Ditto.
(fetch_register, store_register): Ditto.
(linux_read_memory, linux_write_memory): Ditto.
(linux_request_interrupt): Ditto.
(linux_read_auxv): Ditto.
(linux_xfer_siginfo): Ditto.
(linux_qxfer_spu): Ditto.
(linux_qxfer_libraries_svr4): Ditto.
* linux-low.h (ptid_of, pid_of, lwpid_of): Delete,
moved to inferiors.h.
(get_lwp): Delete.
(get_thread_lwp): Update.
(struct lwp_info): Delete member "entry".  Simplify comment for
member "thread".
(all_lwps): Delete.
* linux-mips-low.c (mips_read_description): Fetch lwpid from
current_inferior directly.
(update_watch_registers_callback): Update, "entry" parameter is a
struct thread_info * now.  Fetch pid from thread.
(mips_linux_prepare_to_resume): Fetch ptid from thread.
(mips_insert_point): Fetch lwpid from current_inferior.
Pass &all_threads to find_inferior, not &all_lwps.
(mips_remove_point): Pass &all_threads to find_inferior, not &all_lwps.
(mips_stopped_by_watchpoint): Fetch lwpid from current_inferior
directly.
(mips_stopped_data_address): Ditto.
* linux-s390-low.c (s390_arch_setup): Fetch pid from current_inferior
directly.
* linux-tile-low.c (tile_arch_setup): Ditto.
* linux-x86-low.c (x86_get_thread_area): Fetch lwpid from thread.
(update_debug_registers_callback): Update, "entry" parameter is a
struct thread_info * now.  Fetch pid from thread.
(i386_dr_low_set_addr): Fetch pid from current_inferior directly.
Pass &all_threads to find_inferior, not &all_lwps.
(i386_dr_low_get_addr): Fetch ptid from current_inferior directly.
(i386_dr_low_set_control): Fetch pid from current_inferior directly.
Pass &all_threads to find_inferior, not &all_lwps.
(i386_dr_low_get_control): Fetch ptid from current_inferior directly.
(i386_dr_low_get_status): Ditto.
(x86_linux_prepare_to_resume): Fetch ptid from thread.
(x86_siginfo_fixup): Fetch lwpid from current_inferior directly.
(x86_linux_read_description): Ditto.
* proc-service.c (ps_getpid): Fetch pid from current_inferior directly.

10 years agominor cleanup in dbxread.c
Tom Tromey [Thu, 20 Feb 2014 19:14:23 +0000 (12:14 -0700)]
minor cleanup in dbxread.c

I happened to notice that last_o_file_start is write-only in
read_dbx_symtab.  This patch removes it.  Tested by rebuilding.

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

* dbxread.c (read_dbx_symtab): Remove last_o_file_start.

10 years ago* inferiors.c (get_first_inferior): Fix buglet.
Doug Evans [Thu, 20 Feb 2014 19:11:34 +0000 (11:11 -0800)]
* inferiors.c (get_first_inferior): Fix buglet.

10 years agoSimplify .section in dw2-icycle.S
Joel Brobecker [Thu, 20 Feb 2014 17:34:45 +0000 (18:34 +0100)]
Simplify .section in dw2-icycle.S

The arm-elf assembler chokes on the extra parameters in the .section
pseudo-op, so this patch removes them.

gdb/testsuite/ChangeLog:

        * gdb.dwarf2/dw2-icycle.S: Remove second and third parameters
        in .section pseudo-op.

10 years agoMove containing_scm arg from gdbscm_fill_eqable_gsmob_ptr_slot
Doug Evans [Thu, 20 Feb 2014 17:27:12 +0000 (09:27 -0800)]
Move containing_scm arg from gdbscm_fill_eqable_gsmob_ptr_slot
to gdbscm_init_eqable_gsmob.

* guile/scm-gsmob.c (gdbscm_init_eqable_gsmob): New arg containing_scm.
All callers updated.
(gdbscm_fill_eqable_gsmob_ptr_slot): Delete arg containing_scm.
All callers updated.
* guile/guile-internal.h (gdbscm_init_eqable_gsmob): Update.
(gdbscm_fill_eqable_gsmob_ptr_slot): Update.

10 years agofix whitespace in previous commit
Doug Evans [Thu, 20 Feb 2014 17:16:32 +0000 (09:16 -0800)]
fix whitespace in previous commit

10 years agoFix PR symtab/16581
Doug Evans [Thu, 20 Feb 2014 17:13:53 +0000 (09:13 -0800)]
Fix PR symtab/16581

* dwarf2read.c (struct die_info): New member in_process.
(reset_die_in_process): New function.
(process_die): Set it at the start, reset when returning.
(inherit_abstract_dies): Only call process_die if origin_child_die
not already being processed.

testsuite/
* gdb.dwarf2/dw2-icycle.S: New file.
* gdb.dwarf2/dw2-icycle.c: New file.
* gdb.dwarf2/dw2-icycle.exp: New file.

10 years agowindows-nat.c: Bring comment back regarding handling of DLL load events.
Joel Brobecker [Thu, 20 Feb 2014 16:18:47 +0000 (17:18 +0100)]
windows-nat.c: Bring comment back regarding handling of DLL load events.

This patch brings back a comment that got stripped down a bit too much
during a recent change.

gdb/ChangeLog:

        * windows-nat.c (handle_unload_dll): Add function documentation.
        (do_initial_windows_stuff): Add comment explaining why we wait
        until after inferior initialization has finished before
        processing all DLLs.

10 years agoChange cpu for vptestnmd and vptestnmq instructions.
Ilya Tocar [Thu, 20 Feb 2014 14:31:11 +0000 (18:31 +0400)]
Change cpu for vptestnmd and vptestnmq instructions.

In latest release of AVX512 spec
http://download-software.intel.com/sites/default/files/managed/50/1a/319433-018.pdf
Vptestnmq and vptestnmq instructions have CPUID AVX512F, not AVX512CD.
This patch fixes it.

opcodes/

        * i386-opc.tbl: Change CPU of vptestnmq, vptestnmd from CpuAVX512CD,
        to CpuAVX512F.
        * i386-tbl.h: Regenerate.

gas/testsuite/

        * gas/i386/avx512cd-intel.d: Remove vptestnmq, vptestnmd.
        * gas/i386/avx512cd.s: Ditto.
        * gas/i386/avx512cd.d: Ditto.
        * gas/i386/x86-64-avx512cd-intel.d: Ditto.
        * gas/i386/x86-64-avx512cd.s: Ditto.
        * gas/i386/x86-64-avx512cd.d: Ditto.
        * gas/i386/avx512f-intel.d: Add vptestnmq, vptestnmd.
        * gas/i386/avx512f.s: Ditto.
        * gas/i386/avx512f.d: Ditto.
        * gas/i386/x86-64-avx512f-intel.d: Ditto.
        * gas/i386/x86-64-avx512f.s: Ditto.
        * gas/i386/x86-64-avx512f.d: Ditto.

10 years agoSimplify windows-nat.c::get_module_name
Joel Brobecker [Mon, 3 Feb 2014 11:10:48 +0000 (06:10 -0500)]
Simplify windows-nat.c::get_module_name

Now that get_module_name is no longer called for handling DLL events,
we can simplify it a bit, knowing that the only use is to get the
executable's filename.

While doing so, we adjusted the implementation a bit to avoid
references to DLLs, renamed it to make its more-targeted usage
more explicit, moved it right before the only function that uses it.
We also remove the use of hard-coded length for the buffers being
used.

gdb/ChangeLog:

* windows-nat.c (get_module_name): Delete.
(windows_get_exec_module_filename): New function, mostly
inspired from get_module_name.
(windows_pid_to_exec_file): Replace call to get_module_name
by call to windows_get_exec_module_filename.

10 years agoWindows: Rely purely on event info when handling DLL load event
Joel Brobecker [Mon, 3 Feb 2014 08:03:39 +0000 (03:03 -0500)]
Windows: Rely purely on event info when handling DLL load event

When a DLL gets loaded an the debugger gets a debug event about it,
the currently implementation in handle_load_dll currently tries to
fetch the DLL's name by first iterating over all DLLs known to
the system.  It should be sufficient to rely on the name provided
with the event, however, especially in the situation we are now,
where we now know that we're past the statup phase for our inferior.

This patch therefore simplifies windows-nat.c::handle_load_dll to
only rely on the event's lpImageName.

It also updates the function's comment to document the assumption
regarding not being during the inferior's startup phase. And while
at it, it fixes the function documentation, which was probably
unintentionally inherited from another function (perhaps windows_wait).

gdb/ChangeLog:

* windows-nat.c (handle_load_dll): Rewrite this function's
introductory comment.  Remove code using get_module_name
to get the DLL's name.

10 years agoIgnore DLL load/unload events during inferior initialization.
Joel Brobecker [Mon, 3 Feb 2014 07:32:40 +0000 (08:32 +0100)]
Ignore DLL load/unload events during inferior initialization.

This patch aims at simplifying DLL handling during the inferior
initialization (process creation during the "run", or during an
"attach"). Instead of processing each DLL load event, which is
sometimes incomplete, we ignore these events until the inferior
has completed its startup phase, and then just iterate over all
DLLs via EnumProcessModules.

gdb/ChangeLog:

        * windows-nat.c (get_windows_debug_event): Ignore
        LOAD_DLL_DEBUG_EVENT and UNLOAD_DLL_DEBUG_EVENT
        if windows_initialization_done == 0.
        (windows_add_all_dlls): Renames windows_ensure_ntdll_loaded.
        Adjust implementation to always load all DLLs.
        (do_initial_windows_stuff): Replace call to
        windows_ensure_ntdll_loaded by call to windows_add_all_dlls.

10 years agoDeprecate windows-specific dll-symbols command and aliases
Joel Brobecker [Fri, 31 Jan 2014 09:22:53 +0000 (04:22 -0500)]
Deprecate windows-specific dll-symbols command and aliases

The "dll-symbols" command, specific to native Windows platforms,
gives the impression that the symbols were not loaded, first
because it completes silently, and second because the "info shared"
output does not get updated after the command completes:

    (gdb) dll-symbols C:\WINDOWS\syswow64\rpcrt4.dll
    (gdb) info shared
    From        To          Syms Read   Shared Object Library
    [...]
    0x77e51000  0x77ee2554  No          C:\WINDOWS\system32\rpcrt4.dll

(we exected the "Syms Read" column to read "Yes").

As far as I can tell, the symbols actually do get loaded, but completely
independently from the solib framework, which explains the silent
loading and the fact that the "Syms Read" column does not get updated.
See windows-nat.c::safe_symbol_file_add_stub, which calls symbol_file_add
instead of calling solib_add.

But, aside from the fact that the "Syms Read" status does not get
updated, I also noticed that it does not take into account the DLL's
actual load address when loading its symbols. As a result, I believe
that we get it wrong if the DLL does not get loaded at the prefered
address.

Rather than trying to fix this command, there does not seem to be
a reason other than historical for having Windows-specific commands
which essentially re-implements the "sharedlibrary" command. The
command interface is slightly different (the latter takes a regexp
rather than a plain filename), but it should be just as easy to use
the "sharedlibrary" command, or its "share" alias, as usisng the
"dll-symbols" command. For instance:

    (gdb) share rpcrt4.dll
    Reading symbols from C:\WINDOWS\system32\rpcrt4.dll...(no debugging symbols found)...done.
    Loaded symbols for C:\WINDOWS\system32\rpcrt4.dll
    (gdb) info shared
    From        To          Syms Read   Shared Object Library
    [...]
    0x77e51000  0x77ee2554  Yes (*)     C:\WINDOWS\system32\rpcrt4.dll

This patch therefore deprecates the "dll-symbols" command, as well
as its two aliases "add-shared-symbol-files" and "assf", with a view
of deleting them as soon as the 7.8 branch gets cut.

gdb/ChangeLog:

* windows-nat.c (_initialize_windows_nat): Deprecate the
"dll-symbols" command.  Turn the "add-shared-symbol-files"
and "assf" aliases into commands, and deprecate them as well.
* NEWS: Add entry explaining that "dll-symbols" and its two
aliases are now deprecated.

gdb/doc/ChangeLog:

        * gdb.texinfo (Files): Document "add-shared-symbol-files"
        and "assf" as being deprecated.
        (Cygwin Native): Likewise for "dll-symbols".
        (Non-debug DLL Symbols): Remove reference to "dll-symbols"
        as a way to force the loading of symbols from a DLL.

10 years agoFix ARI warning in thread-thread.c::dec_thread_get_ada_task_ptid
Joel Brobecker [Thu, 20 Feb 2014 07:56:35 +0000 (08:56 +0100)]
Fix ARI warning in thread-thread.c::dec_thread_get_ada_task_ptid

This patch fixes the following ARI warning:

    gdb/dec-thread.c:695: regression: multi-line string: Multi-line string
    must have the newline escaped

I think the new-line was unintentional, so I simply removed it,
and then reformatted the string to fit within our 70-80 max characters-
per-line rule.

gdb/ChangeLog:

       * dec-thread.c (dec_thread_get_ada_task_ptid): Avoid unescaped
       new-line in debug string.  Remove trailing spaces.

10 years ago2014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
Chung-Lin Tang [Thu, 20 Feb 2014 05:40:21 +0000 (21:40 -0800)]
2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>

        * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
        of GOTOFF relocations.

10 years agodarwin-nat.c (darwin_xfer_partial): Fix return type.
Stan Shebs [Thu, 20 Feb 2014 00:48:26 +0000 (16:48 -0800)]
darwin-nat.c (darwin_xfer_partial): Fix return type.

10 years agoAdd backlink from lwp_info to thread_info.
Doug Evans [Thu, 20 Feb 2014 00:38:44 +0000 (16:38 -0800)]
Add backlink from lwp_info to thread_info.

* gdbthread.h (add_thread): Change result type to struct thread_info *.
* inferiors.c (add_thread): Change result type to struct thread_info *.
All callers updated.
(add_lwp): Call add_thread here instead of in callers.
All callers updated.
* linux-low.h (get_lwp_thread): Rewrite.
(struct lwp_info): New member "thread".

This speeds up gdbserver attach in non-stop mode because now get_lwp_thread
doesn't do a linear search for the corresponding thread_info object.

10 years ago * linux-low.c (add_lwp): Change result to struct lwp_info *.
Doug Evans [Thu, 20 Feb 2014 00:22:51 +0000 (16:22 -0800)]
* linux-low.c (add_lwp): Change result to struct lwp_info *.
All callers updated.

10 years ago* inferiors.c (add_thread): Fix whitespace.
Doug Evans [Thu, 20 Feb 2014 00:19:10 +0000 (16:19 -0800)]
* inferiors.c (add_thread): Fix whitespace.

10 years agoCall overloaded operators to perform operations on gdb.Value objects.
Siva Chandra [Mon, 2 Dec 2013 14:45:09 +0000 (06:45 -0800)]
Call overloaded operators to perform operations on gdb.Value objects.

* NEWS: Add entry for the new feature
* python/py-value.c (valpy_binop): Call value_x_binop for struct
and class values.

testsuite/
* gdb.python/py-value-cc.cc: Improve test case to enable testing
operations on gdb.Value objects.
* gdb.python/py-value-cc.exp: Add new test to test operations on
gdb.Value objects.

doc/
* python.texi (Values From Inferior): Add description about the
new feature.

10 years agoReplace code accessing list implementation details with API calls.
Doug Evans [Wed, 19 Feb 2014 23:28:50 +0000 (15:28 -0800)]
Replace code accessing list implementation details with API calls.

* dll.c (clear_dlls): Replace accessing list implemention details
with API function.
* gdbthread.h (get_first_thread): Declare.
* inferiors.c (for_each_inferior_with_data): New function.
(get_first_thread): New function.
(find_thread_ptid): Simplify.
(get_first_inferior): New function.
(clear_list): Delete.
(one_inferior_p): New function.
(clear_inferior_list): New function.
(clear_inferiors): Update.
* inferiors.h (for_each_inferior_with_data): Declare.
(clear_inferior_list): Declare.
(one_inferior_p): Declare.
(get_first_inferior): Declare.
* linux-low.c (linux_wait_for_event): Replace accessing list
implemention details with API function.
* server.c (target_running): Ditto.
(accumulate_file_name_length): New function.
(emit_dll_description): New function.
(handle_qxfer_libraries): Replace accessing list implemention
details with API function.
(handle_qxfer_threads_worker): New function.
(handle_qxfer_threads_proper): Replace accessing list implemention
details with API function.
(handle_query): Ditto.
(visit_actioned_threads_callback_ftype): New typedef.
(visit_actioned_threads_data): New struct.
(visit_actioned_threads): Rewrite to be find_inferior callback.
(resume): Call find_inferior.
(handle_status): Replace accessing list implemention
details with API function.
(process_serial_event): Replace accessing list implemention details
with API function.
* target.c (set_desired_inferior): Replace accessing list implemention
details with API function.
* tracepoint.c (same_process_p): New function.
(gdb_agent_about_to_close): Replace accessing list implemention
details with API function.
* win32-low.c (child_delete_thread): Replace accessing list
implemention details with API function.
(match_dll_by_basename): New function.
(dll_is_loaded_by_basename): New function.
(win32_ensure_ntdll_loaded): Replace accessing list implemention
details call to dll_is_loaded_by_basename.

10 years agodaily update
Alan Modra [Wed, 19 Feb 2014 23:00:38 +0000 (09:30 +1030)]
daily update

10 years agoRename inferior_list_entry uses from "head" to "entry" for consistency.
Doug Evans [Wed, 19 Feb 2014 22:51:55 +0000 (14:51 -0800)]
Rename inferior_list_entry uses from "head" to "entry" for consistency.

* dll.h (struct dll_info): Add comment.
* gdbthread.h (struct thread_info): Add comment.
(current_ptid): Simplify.
* inferiors.c (add_process): Update.
(remove_process): Update.
* inferiors.h (struct process_info): Rename member "head" to "entry".
* linux-low.c (delete_lwp): Update.
(add_lwp): Update.
(last_thread_of_process_p): Update.
(kill_one_lwp_callback, linux_kill): Update.
(status_pending_p_callback): Update.
(wait_for_sigstop): Update.  Simplify read of ptid.
(start_step_over): Update.
* linux-low.h (ptid_of, pid_of, lwpid_of): Update.
(get_lwp_thread): Update.
(struct lwp_info): Rename member "head" to "entry".
* regcache.h (inferior_list_entry): Delete.
* server.c (kill_inferior_callback): Update.
(detach_or_kill_inferior_callback): Update.
(print_started_pid): Update.
(print_attached_pid): Update.
(process_serial_event): Simplify read of ptid.
* thread-db.c (thread_db_create_event): Update.
(thread_db_get_tls_address): Update.
* win32-low.c (current_inferior_ptid): Simplify.

10 years agoList Yao Qi as nios2 maintainer
Stan Shebs [Wed, 19 Feb 2014 21:38:12 +0000 (13:38 -0800)]
List Yao Qi as nios2 maintainer

10 years agoDon't output trailing space
H.J. Lu [Wed, 19 Feb 2014 20:53:27 +0000 (12:53 -0800)]
Don't output trailing space

* i386-gen.c (output_cpu_flags): Don't output trailing space.
(output_opcode_modifier): Likewise.
(output_operand_type): Likewise.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.

10 years agoCreate the second PLT for BND relocations
H.J. Lu [Wed, 20 Nov 2013 17:01:04 +0000 (09:01 -0800)]
Create the second PLT for BND relocations

Intel MPX introduces 4 bound registers, which will be used for parameter
passing in x86-64.  Bound registers are cleared by branch instructions.
Branch instructions with BND prefix will keep bound register contents.
This leads to 2 requirements to 64-bit MPX run-time:

1. Dynamic linker (ld.so) should save and restore bound registers during
symbol lookup.
2. Change the current 16-byte PLT0:

  ff 35 08 00 00 00 pushq  GOT+8(%rip)
  ff 25 00 10 00 jmpq  *GOT+16(%rip)
  0f 1f 40 00 nopl   0x0(%rax)

and 16-byte PLT1:

  ff 25 00 00 00 00     jmpq   *name@GOTPCREL(%rip)
  68 00 00 00 00        pushq  $index
  e9 00 00 00 00        jmpq   PLT0

which clear bound registers, to preserve bound registers.

We use 2 new relocations:

to mark branch instructions with BND prefix.

When linker sees any R_X86_64_PC32_BND or R_X86_64_PLT32_BND relocations,
it switches to a different PLT0:

  ff 35 08 00 00 00 pushq  GOT+8(%rip)
  f2 ff 25 00 10 00 bnd jmpq *GOT+16(%rip)
  0f 1f 00 nopl   (%rax)

to preserve bound registers for symbol lookup and it also creates an
external PLT section, .pl.bnd.  Linker will create a BND PLT1 entry
in .plt:

  68 00 00 00 00        pushq  $index
  f2 e9 00 00 00 00     bnd jmpq PLT0
  0f 1f 44 00 00        nopl 0(%rax,%rax,1)

and a 8-byte BND PLT entry in .plt.bnd:

  f2 ff 25 00 00 00 00  bnd jmpq *name@GOTPCREL(%rip)
  90 nop

Otherwise, linker will create a legacy PLT1 entry in .plt:

  68 00 00 00 00        pushq  $index
  e9 00 00 00 00        jmpq PLT0
  66 0f 1f 44 00 00     nopw 0(%rax,%rax,1)

and a 8-byte legacy PLT in .plt.bnd:

  ff 25 00 00 00 00     jmpq  *name@GOTPCREL(%rip)
  66 90                 xchg  %ax,%ax

The initial value of the GOT entry for "name" will be set to the the
"pushq" instruction in the corresponding entry in .plt.  Linker will
resolve reference of symbol "name" to the entry in the second PLT,
.plt.bnd.

Prelink stores the offset of pushq of PLT1 (plt_base + 0x10) in GOT[1]
and GOT[1] is stored in GOT[3].  We can undo prelink in GOT by computing
the corresponding the pushq offset with

GOT[1] + (GOT offset - &GOT[3]) * 2

Since for each entry in .plt except for PLT0 we create a 8-byte entry in
.plt.bnd, there is extra 8-byte per PLT symbol.

We also investigated the 16-byte entry for .plt.bnd.  We compared the
8-byte entry vs the the 16-byte entry for .plt.bnd on Sandy Bridge.
There are no performance differences in SPEC CPU 2000/2006 as well as
micro benchmarks.

Pros:
No change to undo prelink in dynamic linker.
Only 8-byte memory overhead for each PLT symbol.
Cons:
Extra .plt.bnd section is needed.
Extra 8 byte for legacy branches to PLT.
GDB is unware of the new layout of .plt and .plt.bnd.

bfd/

* elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New.
(elf_x86_64_legacy_plt_entry): Likewise.
(elf_x86_64_bnd_plt_entry): Likewise.
(elf_x86_64_legacy_plt2_entry): Likewise.
(elf_x86_64_bnd_plt2_entry): Likewise.
(elf_x86_64_bnd_arch_bed): Likewise.
(elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd.
(elf_x86_64_link_hash_table): Add plt_bnd.
(elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and
plt_bnd.
(elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc.
(elf_x86_64_check_relocs): Create the second PLT for Intel MPX
in 64-bit mode.
(elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC
symbols.  Resolve call to the second PLT if it is created.
(elf_x86_64_size_dynamic_sections): Keep the second PLT section.
(elf_x86_64_relocate_section): Resolve PLT references to the
second PLT if it is created.
(elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the
second PLT entry for BND relocation.
(elf_x86_64_finish_dynamic_sections): Use MPX backend data if
the second PLT is created.
(elf_x86_64_get_synthetic_symtab): New.
(bfd_elf64_get_synthetic_symtab): Likewise.  Undefine for NaCl.

ld/

* emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New.

ld/testsuite/

* ld-x86-64/mpx.exp: Run bnd-ifunc-1 and bnd-plt-1.
* ld-x86-64/bnd-ifunc-1.d: New file.
* ld-x86-64/bnd-ifunc-1.s: Likewise.
* ld-x86-64/bnd-plt-1.d: Likewise.

10 years agocommon/ptid.h: Mention that process_stratum targets should prefer ptid.lwp.
Pedro Alves [Wed, 19 Feb 2014 18:25:41 +0000 (18:25 +0000)]
common/ptid.h: Mention that process_stratum targets should prefer ptid.lwp.

It's best that we standardize on process_stratum targets using the
ptid.lwp field to store thread ids.  The idea being leave the ptid.tid
field free for any thread_stratum target that might want to sit on
top.  This patch adds a comment in that direction to struct ptid's
definition.

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

* common/ptid.h (struct ptid): Mention that process_stratum
targets should prefer ptid.lwp.

10 years agoremote.c: Use the ptid.lwp field to store remote thread ids rather than ptid.tid.
Pedro Alves [Wed, 19 Feb 2014 18:25:40 +0000 (18:25 +0000)]
remote.c: Use the ptid.lwp field to store remote thread ids rather than ptid.tid.

From GDB's perspective, independently of how the target really
implements threads, gdb/remote sees all threads as if kernel/system
threads.  A rationale along theses lines led to gdbserver storing
thread ids in ptid.lwp in all ports.

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

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

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

Tested on x86_64 Fedora 17, w/ local gdbserver.

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

* remote.c (remote_thread_alive, write_ptid, read_ptid)
(read_ptid, remote_newthread_step, remote_threads_extra_info)
(remote_get_ada_task_ptid, append_resumption, remote_stop_ns)
(threadalive_test, remote_pid_to_str): Use the ptid.lwp field to
store remote thread ids rather than ptid.tid.
(_initialize_remote): Adjust.

10 years agoconvert to_get_unwinder and to_get_tailcall_unwinder to methods
Tom Tromey [Thu, 16 Jan 2014 20:00:07 +0000 (13:00 -0700)]
convert to_get_unwinder and to_get_tailcall_unwinder to methods

This converts to_get_unwinder and to_get_tailcall_unwinder to methods
and arranges for them to use the new delegation scheme.

This just lets us avoid having a differing style (neither new-style
nor INHERIT) of delegation in the tree.

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

* target.c (target_get_unwinder): Rewrite.
(target_get_tailcall_unwinder): Rewrite.
* record-btrace.c (record_btrace_to_get_unwinder): New function.
(record_btrace_to_get_tailcall_unwinder): New function.
(init_record_btrace_ops): Update.
* target.h (struct target_ops) <to_get_unwinder,
to_get_tailcall_unwinder>: Now function pointers.  Use
TARGET_DEFAULT_RETURN.

10 years agofix buglet in nto-procfs.c
Tom Tromey [Thu, 16 Jan 2014 18:46:23 +0000 (11:46 -0700)]
fix buglet in nto-procfs.c

I happened to notice that nto-procfs.c defines
procfs_remove_hw_breakpoint but never uses it.  This caused it not to
be updated by my target-method-updating script.  This patch fixes the
function and installs it properly.  I have no way to test this,
however.

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

* nto-procfs.c (procfs_remove_hw_breakpoint): Add 'self'
argument.
(init_procfs_ops): Correctly set to_remove_hw_breakpoint.

10 years agoconvert to_decr_pc_after_break
Tom Tromey [Thu, 16 Jan 2014 18:39:32 +0000 (11:39 -0700)]
convert to_decr_pc_after_break

This converts to_decr_pc_after_break to the new style of delegation,
removing forward_target_decr_pc_after_break.

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

* record-btrace.c (record_btrace_decr_pc_after_break): Delegate
directly.
* target-delegates.c: Rebuild.
* target.h (struct target_ops) <to_decr_pc_after_break>: Use
TARGET_DEFAULT_FUNC.
* target.c (default_target_decr_pc_after_break): Rename from
forward_target_decr_pc_after_break.  Simplify.
(target_decr_pc_after_break): Rely on delegation.

10 years agoremove some calls to INHERIT and de_fault
Tom Tromey [Wed, 15 Jan 2014 19:58:50 +0000 (12:58 -0700)]
remove some calls to INHERIT and de_fault

This removes a few unnecessary calls to INHERIT and de_fault:

* to_doc is only used when a target is registered
* to_magic is only used when a target is pushed and not useful for
  current_target.
* to_open and to_close are only ever called using a specific
  target_ops object; there is no need to de_fault them.

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

* target.c (update_current_target): Do not INHERIT to_doc or
to_magic.  Do not de_fault to_open or to_close.

10 years agoremove exec_set_find_memory_regions
Tom Tromey [Wed, 15 Jan 2014 16:40:13 +0000 (09:40 -0700)]
remove exec_set_find_memory_regions

exec_set_find_memory_regions is used to modify the exec target.
However, it only has a single caller, and so it is much clearer to
simply set the appropriate field directly.  It's also better for the
coming multi-target world to avoid this kind of global state change
anyway.

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

* gcore.h (objfile_find_memory_regions): Declare.
* gcore.c (objfile_find_memory_regions): No longer static.  Add
"self" argument.
(_initialize_gcore): Don't call exec_set_find_memory_regions.
* exec.c: Include gcore.h.
(exec_set_find_memory_regions): Remove.
(exec_find_memory_regions): Remove.
(exec_do_find_memory_regions): Remove.
(init_exec_ops): Update.
* defs.h (exec_set_find_memory_regions): Remove.

10 years agopass NULL to TARGET_DEFAULT_RETURN when appropriate
Tom Tromey [Wed, 15 Jan 2014 16:30:05 +0000 (09:30 -0700)]
pass NULL to TARGET_DEFAULT_RETURN when appropriate

This changes instances of TARGET_DEFAULT_RETURN(0) to
TARGET_DEFAULT_RETURN(NULL) when appropriate.  The use of "0" was a
relic from an earlier implementation of make-target-delegates; and I
didn't want to go back through the long patch series, fixing up
conflicts, just to change this small detail.

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

* target-delegates.c: Rebuild.
* target.h (struct target_ops) <to_extra_thread_info,
to_thread_name, to_pid_to_exec_file, to_get_section_table,
to_memory_map, to_read_description, to_traceframe_info>: Use NULL,
not 0, in TARGET_DEFAULT_RETURN.

10 years agoremove function casts from target.c
Tom Tromey [Mon, 13 Jan 2014 19:16:41 +0000 (12:16 -0700)]
remove function casts from target.c

This cleans up target.c to avoid function casts.

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

* target.c (complete_target_initialization): Remove casts.  Use
return_zero_has_execution.
(return_zero): Add "ignore" argument.
(return_zero_has_execution): New function.
(init_dummy_target): Remove casts.  Use
return_zero_has_execution.

10 years agominor cleanups to update_current_target
Tom Tromey [Mon, 13 Jan 2014 18:49:32 +0000 (11:49 -0700)]
minor cleanups to update_current_target

During the conversion I kept all the "do not inherit" comments in
update_current_target.  However, now they are not needed.  This patch
updates the comments for INHERIT and de_fault, and removes the
somewhat odd INHERIT of to_stratum.

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

* target.c (update_current_target): Update comments.  Do not
INHERIT to_stratum.

10 years agochange delegation for to_read_description
Tom Tromey [Mon, 13 Jan 2014 16:30:30 +0000 (09:30 -0700)]
change delegation for to_read_description

This switches to_read_description to the "new normal" delegation
scheme.  This one was a bit trickier than the other changes due to the
way that target_read_description handled delegation.  I examined all
the target implementations of to_read_description and changed the ones
returning NULL to instead delegate.

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

* arm-linux-nat.c (arm_linux_read_description): Delegate when
needed.
* corelow.c (core_read_description): Delegate when needed.
* remote.c (remote_read_description): Delegate when needed.
* target-delegates.c: Rebuild.
* target.c (target_read_description): Rewrite.
* target.h (struct target_ops) <to_read_description>: Update
comment.  Use TARGET_DEFAULT_RETURN.

10 years agoconvert to_can_run
Tom Tromey [Fri, 20 Dec 2013 19:19:37 +0000 (12:19 -0700)]
convert to_can_run

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

* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_can_run.
(find_default_run_target): Check against delegate_can_run.
* target.h (struct target_ops) <to_can_run>: Use
TARGET_DEFAULT_RETURN.

10 years agoconvert to_disconnect
Tom Tromey [Fri, 20 Dec 2013 17:30:13 +0000 (10:30 -0700)]
convert to_disconnect

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

* target-delegates.c: Rebuild.
* target.c (target_disconnect): Unconditionally delegate.
* target.h (struct target_ops) <to_disconnect>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_stop_recording
Tom Tromey [Thu, 19 Dec 2013 15:21:20 +0000 (08:21 -0700)]
convert to_stop_recording

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

* record.c (record_stop): Unconditionally delegate.
* target-delegates.c: Rebuild.
* target.c (target_stop_recording): Unconditionally delegate.
* target.h (struct target_ops) <to_stop_recording>: Use
TARGET_DEFAULT_IGNORE.

10 years agoconvert to_enable_btrace
Tom Tromey [Thu, 19 Dec 2013 15:19:41 +0000 (08:19 -0700)]
convert to_enable_btrace

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

* target-delegates.c: Rebuild.
* target.c (target_enable_btrace): Unconditionally delegate.
* target.h (struct target_ops) <to_enable_btrace>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_read_btrace
Tom Tromey [Thu, 19 Dec 2013 15:19:02 +0000 (08:19 -0700)]
convert to_read_btrace

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

* target-delegates.c: Rebuild.
* target.c (target_read_btrace): Unconditionally delegate.
* target.h (struct target_ops) <to_read_btrace>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_teardown_btrace
Tom Tromey [Thu, 19 Dec 2013 15:18:04 +0000 (08:18 -0700)]
convert to_teardown_btrace

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

* target-delegates.c: Rebuild.
* target.c (target_teardown_btrace): Unconditionally delegate.
* target.h (struct target_ops) <to_teardown_btrace>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_disable_btrace
Tom Tromey [Thu, 19 Dec 2013 15:17:16 +0000 (08:17 -0700)]
convert to_disable_btrace

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

* target-delegates.c: Rebuild.
* target.c (target_disable_btrace): Unconditionally delegate.
* target.h (struct target_ops) <to_disable_btrace>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_search_memory
Tom Tromey [Thu, 19 Dec 2013 15:12:26 +0000 (08:12 -0700)]
convert to_search_memory

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

* target-delegates.c: Rebuild.
* target.c (default_search_memory): New function.
(simple_search_memory): Update comment.
(target_search_memory): Unconditionally delegate.
* target.h (struct target_ops) <to_search_memory>: Use
TARGET_DEFAULT_FUNC.

10 years agoconvert to_auxv_parse
Tom Tromey [Thu, 19 Dec 2013 14:56:20 +0000 (07:56 -0700)]
convert to_auxv_parse

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

* auxv.c (default_auxv_parse): No longer static.
(target_auxv_parse): Unconditionally delegate.
* auxv.h (default_auxv_parse): Declare.
* target-delegates.c: Rebuild.
* target.c: Include auxv.h.
* target.h (struct target_ops) <to_auxv_parse>: Use
TARGET_DEFAULT_FUNC.

10 years agoconvert to_memory_map
Tom Tromey [Thu, 19 Dec 2013 14:47:11 +0000 (07:47 -0700)]
convert to_memory_map

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

* target-delegates.c: Rebuild.
* target.c (target_memory_map): Unconditionally delegate.
* target.h (struct target_ops) <to_memory_map>: Use
TARGET_DEFAULT_RETURN.

10 years agoconvert to_thread_alive
Tom Tromey [Thu, 19 Dec 2013 14:21:56 +0000 (07:21 -0700)]
convert to_thread_alive

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

* target-delegates.c: Rebuild.
* target.c (target_thread_alive): Unconditionally delegate.
* target.h (struct target_ops) <to_thread_alive>: Use
TARGET_DEFAULT_RETURN.

10 years agoconvert to_save_record
Tom Tromey [Thu, 19 Dec 2013 03:26:34 +0000 (20:26 -0700)]
convert to_save_record

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

* target-delegates.c: Rebuild.
* target.c (target_save_record): Unconditionally delegate.
* target.h (struct target_ops) <to_save_record>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_delete_record
Tom Tromey [Thu, 19 Dec 2013 03:25:47 +0000 (20:25 -0700)]
convert to_delete_record

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

* target-delegates.c: Rebuild.
* target.c (target_delete_record): Unconditionally delegate.
* target.h (struct target_ops) <to_delete_record>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_record_is_replaying
Tom Tromey [Thu, 19 Dec 2013 03:25:01 +0000 (20:25 -0700)]
convert to_record_is_replaying

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

* target-delegates.c: Rebuild.
* target.c (target_record_is_replaying): Unconditionally
delegate.
* target.h (struct target_ops) <to_record_is_replaying>: Use
TARGET_DEFAULT_RETURN.

10 years agoconvert to_goto_record_begin
Tom Tromey [Thu, 19 Dec 2013 03:24:04 +0000 (20:24 -0700)]
convert to_goto_record_begin

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

* target-delegates.c: Rebuild.
* target.c (target_goto_record_begin): Unconditionally delegate.
* target.h (struct target_ops) <to_goto_record_begin>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_goto_record_end
Tom Tromey [Thu, 19 Dec 2013 03:23:23 +0000 (20:23 -0700)]
convert to_goto_record_end

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

* target-delegates.c: Rebuild.
* target.c (target_goto_record_end): Unconditionally delegate.
* target.h (struct target_ops) <to_goto_record_end>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_goto_record
Tom Tromey [Thu, 19 Dec 2013 03:22:36 +0000 (20:22 -0700)]
convert to_goto_record

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

* target-delegates.c: Rebuild.
* target.c (target_goto_record): Unconditionally delegate.
* target.h (struct target_ops) <to_goto_record>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_insn_history
Tom Tromey [Thu, 19 Dec 2013 03:18:49 +0000 (20:18 -0700)]
convert to_insn_history

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

* target-delegates.c: Rebuild.
* target.c (target_insn_history): Unconditionally delegate.
* target.h (struct target_ops) <to_insn_history>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_insn_history_from
Tom Tromey [Thu, 19 Dec 2013 03:16:56 +0000 (20:16 -0700)]
convert to_insn_history_from

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

* target-delegates.c: Rebuild.
* target.c (target_insn_history_from): Unconditionally delegate.
* target.h (struct target_ops) <to_insn_history_from>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_insn_history_range
Tom Tromey [Thu, 19 Dec 2013 03:15:44 +0000 (20:15 -0700)]
convert to_insn_history_range

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

* target-delegates.c: Rebuild.
* target.c (target_insn_history_range): Unconditionally delegate.
* target.h (struct target_ops) <to_insn_history_range>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_call_history
Tom Tromey [Thu, 19 Dec 2013 03:13:40 +0000 (20:13 -0700)]
convert to_call_history

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

* target-delegates.c: Rebuild.
* target.c (target_call_history): Unconditionally delegate.
* target.h (struct target_ops) <to_call_history>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_call_history_from
Tom Tromey [Thu, 19 Dec 2013 03:11:49 +0000 (20:11 -0700)]
convert to_call_history_from

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

* target-delegates.c: Rebuild.
* target.c (target_call_history_from): Unconditionally delegate.
* target.h (struct target_ops) <to_call_history_from>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_call_history_range
Tom Tromey [Thu, 19 Dec 2013 03:10:20 +0000 (20:10 -0700)]
convert to_call_history_range

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

* target-delegates.c: Rebuild.
* target.c (target_call_history_range): Unconditionally delegate.
* target.h (struct target_ops) <to_call_history_range>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_verify_memory
Tom Tromey [Wed, 18 Dec 2013 21:55:44 +0000 (14:55 -0700)]
convert to_verify_memory

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

* target-delegates.c: Rebuild.
* target.c (target_verify_memory): Unconditionally delegate.
* target.h (struct target_ops) <to_verify_memory>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_core_of_thread
Tom Tromey [Wed, 18 Dec 2013 21:55:06 +0000 (14:55 -0700)]
convert to_core_of_thread

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

* target-delegates.c: Rebuild.
* target.c (target_core_of_thread): Unconditionally delegate.
* target.h (struct target_ops) <to_core_of_thread>: Use
TARGET_DEFAULT_RETURN.

10 years agoconvert to_flash_done
Tom Tromey [Wed, 18 Dec 2013 21:52:02 +0000 (14:52 -0700)]
convert to_flash_done

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

* target-delegates.c: Rebuild.
* target.c (target_flash_done): Unconditionally delegate.
* target.h (struct target_ops) <to_flash_done>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_flash_erase
Tom Tromey [Wed, 18 Dec 2013 21:50:56 +0000 (14:50 -0700)]
convert to_flash_erase

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

* target-delegates.c: Rebuild.
* target.c (target_flash_erase): Unconditionally delegate.
* target.h (struct target_ops) <to_flash_erase>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_get_section_table
Tom Tromey [Wed, 18 Dec 2013 21:47:06 +0000 (14:47 -0700)]
convert to_get_section_table

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

* target-delegates.c: Rebuild.
* target.c (target_get_section_table): Unconditionally delegate.
* target.h (struct target_ops) <to_get_section_table>: Use
TARGET_DEFAULT_RETURN.

10 years agoconvert to_pid_to_str
Tom Tromey [Wed, 18 Dec 2013 21:46:03 +0000 (14:46 -0700)]
convert to_pid_to_str

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

* target-delegates.c: Rebuild.
* target.c (target_pid_to_str): Unconditionally delegate.
(init_dummy_target): Don't initialize to_pid_to_str.
(default_pid_to_str): Rename from dummy_pid_to_str.
* target.h (struct target_ops) <to_pid_to_str>: Use
TARGET_DEFAULT_FUNC.

10 years agoconvert to_find_new_threads
Tom Tromey [Wed, 18 Dec 2013 21:44:20 +0000 (14:44 -0700)]
convert to_find_new_threads

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

* target-delegates.c: Rebuild.
* target.c (target_find_new_threads): Unconditionally delegate.
* target.h (struct target_ops) <to_find_new_threads>: Use
TARGET_DEFAULT_RETURN.

10 years agoconvert to_program_signals
Tom Tromey [Wed, 18 Dec 2013 21:42:54 +0000 (14:42 -0700)]
convert to_program_signals

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

* target-delegates.c: Rebuild.
* target.c (target_program_signals): Unconditionally delegate.
* target.h (struct target_ops) <to_program_signals>: Use
TARGET_DEFAULT_IGNORE.

10 years agoconvert to_pass_signals
Tom Tromey [Wed, 18 Dec 2013 21:42:10 +0000 (14:42 -0700)]
convert to_pass_signals

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

* target-delegates.c: Rebuild.
* target.c (target_pass_signals): Unconditionally delegate.
* target.h (struct target_ops) <to_pass_signals>: Use
TARGET_DEFAULT_IGNORE.

10 years agoconvert to_mourn_inferior
Tom Tromey [Wed, 18 Dec 2013 21:40:23 +0000 (14:40 -0700)]
convert to_mourn_inferior

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

* target-delegates.c: Rebuild.
* target.c (default_mourn_inferior): New function.
(target_mourn_inferior): Unconditionally delegate.
* target.h (struct target_ops) <to_mourn_inferior>: Use
TARGET_DEFAULT_FUNC.

10 years agoconvert to_follow_fork
Tom Tromey [Wed, 18 Dec 2013 21:38:04 +0000 (14:38 -0700)]
convert to_follow_fork

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

* target-delegates.c: Rebuild.
* target.c (default_follow_fork): New function.
(target_follow_fork): Unconditionally delegate.
* target.h (struct target_ops) <to_follow_fork>: Use
TARGET_DEFAULT_FUNC.

10 years agoconvert to_kill
Tom Tromey [Wed, 18 Dec 2013 21:35:15 +0000 (14:35 -0700)]
convert to_kill

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

* target-delegates.c: Rebuild.
* target.c (target_kill): Unconditionally delegate.
* target.h (struct target_ops) <to_kill>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_masked_watch_num_registers
Tom Tromey [Wed, 18 Dec 2013 21:34:15 +0000 (14:34 -0700)]
convert to_masked_watch_num_registers

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

* target-delegates.c: Rebuild.
* target.c (target_masked_watch_num_registers): Unconditionally
delegate.
* target.h (struct target_ops) <to_masked_watch_num_registers>:
Use TARGET_DEFAULT_RETURN.

10 years agoconvert to_remove_mask_watchpoint
Tom Tromey [Wed, 18 Dec 2013 21:33:28 +0000 (14:33 -0700)]
convert to_remove_mask_watchpoint

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

* target-delegates.c: Rebuild.
* target.c (target_remove_mask_watchpoint): Unconditionally
delegate.
* target.h (struct target_ops) <to_remove_mask_watchpoint>: Use
TARGET_DEFAULT_RETURN.

10 years agoconvert to_insert_mask_watchpoint
Tom Tromey [Wed, 18 Dec 2013 21:32:43 +0000 (14:32 -0700)]
convert to_insert_mask_watchpoint

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

* target-delegates.c: Rebuild.
* target.c (target_insert_mask_watchpoint): Unconditionally
delegate.
* target.h (struct target_ops) <to_insert_mask_watchpoint>: Use
TARGET_DEFAULT_RETURN.

10 years agoconvert to_ranged_break_num_registers
Tom Tromey [Wed, 18 Dec 2013 21:31:42 +0000 (14:31 -0700)]
convert to_ranged_break_num_registers

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

* target-delegates.c: Rebuild.
* target.c (target_ranged_break_num_registers): Unconditionally
delegate.
* target.h (struct target_ops) <to_ranged_break_num_registers>:
Use TARGET_DEFAULT_RETURN.

10 years agoconvert to_fetch_registers
Tom Tromey [Wed, 18 Dec 2013 21:30:22 +0000 (14:30 -0700)]
convert to_fetch_registers

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

* target-delegates.c: Rebuild.
* target.c (target_fetch_registers): Unconditionally delegate.
* target.h (struct target_ops) <to_fetch_registers>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_stop
Tom Tromey [Wed, 18 Dec 2013 21:28:07 +0000 (14:28 -0700)]
convert to_stop

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

* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_stop.
* target.h (struct target_ops) <to_stop>: Use
TARGET_DEFAULT_IGNORE.

10 years agoconvert to_can_run_breakpoint_commands
Tom Tromey [Wed, 18 Dec 2013 21:20:36 +0000 (14:20 -0700)]
convert to_can_run_breakpoint_commands

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

* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_can_run_breakpoint_commands.
* target.h (struct target_ops) <to_can_run_breakpoint_commands>:
Use TARGET_DEFAULT_RETURN.

10 years agoconvert to_supports_evaluation_of_breakpoint_conditions
Tom Tromey [Wed, 18 Dec 2013 21:20:06 +0000 (14:20 -0700)]
convert to_supports_evaluation_of_breakpoint_conditions

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

* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_supports_evaluation_of_breakpoint_conditions.
* target.h (struct target_ops)
<to_supports_evaluation_of_breakpoint_conditions>: Use
TARGET_DEFAULT_RETURN.

10 years agoconvert to_augmented_libraries_svr4_read
Tom Tromey [Wed, 18 Dec 2013 21:19:33 +0000 (14:19 -0700)]
convert to_augmented_libraries_svr4_read

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

* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_augmented_libraries_svr4_read.
* target.h (struct target_ops) <to_augmented_libraries_svr4_read>:
Use TARGET_DEFAULT_RETURN.

10 years agoconvert to_can_use_agent
Tom Tromey [Wed, 18 Dec 2013 21:19:04 +0000 (14:19 -0700)]
convert to_can_use_agent

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

* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_can_use_agent.
* target.h (struct target_ops) <to_can_use_agent>: Use
TARGET_DEFAULT_RETURN.

10 years agoconvert to_use_agent
Tom Tromey [Wed, 18 Dec 2013 21:18:35 +0000 (14:18 -0700)]
convert to_use_agent

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

* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_use_agent.
* target.h (struct target_ops) <to_use_agent>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_traceframe_info
Tom Tromey [Wed, 18 Dec 2013 21:18:10 +0000 (14:18 -0700)]
convert to_traceframe_info

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

* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_traceframe_info.
(return_null): Remove.
* target.h (struct target_ops) <to_traceframe_info>: Use
TARGET_DEFAULT_RETURN.

10 years agoconvert to_static_tracepoint_markers_by_strid
Tom Tromey [Wed, 18 Dec 2013 21:17:35 +0000 (14:17 -0700)]
convert to_static_tracepoint_markers_by_strid

Note that this patch reformats the
to_static_tracepoint_markers_by_strid field declaration in struct
target_ops.  This was needed because make-target-delegates requires
the opening paren for the parameters to be on the same line as the
method name, and I didn't see an easy way to fix this.

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

* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_static_tracepoint_markers_by_strid.
* target.h (struct target_ops)
<to_static_tracepoint_markers_by_strid>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_static_tracepoint_marker_at
Tom Tromey [Wed, 18 Dec 2013 21:16:51 +0000 (14:16 -0700)]
convert to_static_tracepoint_marker_at

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

* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_static_tracepoint_marker_at.
* target.h (struct target_ops) <to_static_tracepoint_marker_at>:
Use TARGET_DEFAULT_RETURN.

10 years agoconvert to_set_permissions
Tom Tromey [Wed, 18 Dec 2013 21:16:24 +0000 (14:16 -0700)]
convert to_set_permissions

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

* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_set_permissions.
* target.h (struct target_ops) <to_set_permissions>: Use
TARGET_DEFAULT_IGNORE.

10 years agoconvert to_get_tib_address
Tom Tromey [Wed, 18 Dec 2013 21:15:55 +0000 (14:15 -0700)]
convert to_get_tib_address

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

* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_get_tib_address.
* target.h (struct target_ops) <to_get_tib_address>: Use
TARGET_DEFAULT_NORETURN.

10 years agoconvert to_set_trace_notes
Tom Tromey [Wed, 18 Dec 2013 21:15:23 +0000 (14:15 -0700)]
convert to_set_trace_notes

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

* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_set_trace_notes.
* target.h (struct target_ops) <to_set_trace_notes>: Use
TARGET_DEFAULT_RETURN.