Yao Qi
55a8c0761d
gdb/
...
Import gnulib module inttypes from git
(250b80067c1e1d8faa0c42fb572f721975b929c5)
* Makefile.in (HFILES_NO_SRCDIR): Add gnulib/inttypes.in.h.
(aclocal_m4_deps): Add gnulib/m4/inttypes.m4 and gnulib/m4/inttypes-pri.m4
* aclocal.m4, config.in, configure: Regenerated.
* gnulib/Makefile.am: Update.
* gnulib/Makefile.in: Update.
* gnulib/m4/gnulib-cache.m4: Update.
* gnulib/m4/gnulib-comp.m4: Update.
* gnulib/inttypes.in.h: New.
* gnulib/m4/inttypes-pri.m4: New.
* gnulib/m4/inttypes.m4: New.
gdb/gdbserver/
Import gnulib module inttypes.
* aclocal.m4, config.in, configure: Regenerated.
2012-04-14 05:24:57 +00:00
Yao Qi
dc750257de
gdb/gdbserver/
...
* Makefile.in (maintainer-clean, realclean, distclean): Remove
Makefile and config.status at last.
2012-04-14 04:14:04 +00:00
Yao Qi
0ab5faf998
gdb/gdbserver/
...
* tracepoint.c: Include stdint.h unconditionally.
2012-04-14 04:10:04 +00:00
Thiago Jung Bauermann
18f5fd8146
* acinclude.m4 (GDBSERVER_HAVE_THREAD_DB_TYPE): New macro based
...
on BFD_HAVE_SYS_PROCFS_TYPE.
* configure.ac: Look for lwpid_t and psaddr_t in libthread_db.h.
* configure: Regenerate.
* config.in: Likewise.
2012-04-13 19:56:05 +00:00
H.J. Lu
4d47af5cf2
Enable x32 support in gdbserver
...
* Makefile.in (clean): Also remove x32.c x32-linux.c
x32-avx.c x32-avx-linux.c.
(x32.o): New target.
(x32.c): Likewise.
(x32-linux.o): Likewise.
(x32-linux.c): Likewise.
(x32-avx.o): Likewise.
(x32-avx.c): Likewise.
(x32-avx-linux.o): Likewise.
(x32-avx-linux.c): Likewise.
* configure.srv (srv_amd64_regobj): Add x32.o x32-avx.o.
(srv_amd64_linux_regobj): Add x32-linux.o x32-avx-linux.o.
(srv_i386_64bit_xmlfiles): Add i386/x32-core.xml.
(srv_amd64_xmlfiles): Add i386/x32.xml i386/x32-avx.xml.
(srv_amd64_linux_xmlfiles): Add i386/x32-linux.xml
i386/x32-avx-linux.xml.
* linux-x86-low.c (init_registers_x32_linux): New prototype.
(init_registers_x32_avx_linux): Likwise.
(x86_linux_update_xmltarget): Call init_registers_x32_linux
or init_registers_x32_avx_linux if linux_is_elf64 is false.
2012-04-13 14:39:41 +00:00
Pedro Alves
ecedbe5852
2012-04-13 Pedro Alves <palves@redhat.com>
...
* Makefile.in (GNULIB_FLAGS_TO_PASS): New.
(FLAGS_TO_PASS): Don't change or set $top_srcdir, $srcdir and VPATH.
(all, uninstall, clean-info, all-lib, clean, maintainer-clean)
(realclean, distclean): Explicitly pass $GNULIB_FLAGS_TO_PASS to
the sub-make.
2012-04-13 13:12:33 +00:00
H.J. Lu
c92b51775c
Convert siginfo for x32 in gdbserver
...
* linux-x86-low.c (compat_x32_clock_t): New.
(compat_x32_siginfo_t): Likewise.
(compat_x32_siginfo_from_siginfo): Likewise.
(siginfo_from_compat_x32_siginfo): Likewise.
(linux_is_elf64): Likewise.
(x86_siginfo_fixup): Call compat_x32_siginfo_from_siginfo
and siginfo_from_compat_x32_siginfo for x32.
(x86_arch_setup): Set linux_is_elf64.
2012-04-12 21:06:12 +00:00
H.J. Lu
214d508ee1
Check if GDBserver is compatible with process
...
PR gdb/13969
* linux-low.c (linux_pid_exe_is_elf_64_file): Also return the
e_machine field.
(linux_qxfer_libraries_svr4): Update call to elf_64_file_p.
* linux-low.h (linux_pid_exe_is_elf_64_file): Updated.
* linux-x86-low.c (x86_arch_setup): Check if GDBserver is
compatible with process.
2012-04-12 15:35:32 +00:00
Yao Qi
c9a1864ab2
gdb/gdbserver/
...
* Makefile.in: Define abs_top_srcdir and abs_srcdir.
(INCLUDE_CFLAGS): Append GNULIB_INCLUDE_DIR.
(install-only, install-info, clean): Handle sub dir gnulib.
(all-lib, am--refresh): New targets.
(memmem.o): Remove target.
* configure.ac: Remove AC_CONFIG_LIBOBJ_DIR.
Invoke gl_EARLY. Invoke AC_CHECK_PROGS for make.
(AC_REPLACE_FUNCS): Remove memmem.
Invoke gl_INIT and AM_INIT_AUTOMAKE.
(AC_OUTPUT): Generate Makefile in gnulib/.
* aclocal.m4, config.in, configure: Regenerated.
2012-04-12 11:11:01 +00:00
Maciej W. Rozycki
367ba2c262
* linux-low.c (get_r_debug): Handle DT_MIPS_RLD_MAP.
2012-04-10 22:33:13 +00:00
Pedro Alves
9d236627e7
2012-04-05 Pedro Alves <palves@redhat.com>
...
-Werror=strict-aliasing
* spu-low.c (parse_spufs_run): Avoid dereferencing type-punned
pointer.
2012-04-05 11:20:50 +00:00
Pedro Alves
111217b396
2012-04-04 Pedro Alves <palves@redhat.com>
...
* linux-sparc-low.c (sparc_fill_gregset_to_stack)
(sparc_store_gregset_from_stack, sparc_store_gregset)
(sparc_breakpoint_at): Fix formatting.
2012-04-04 14:42:15 +00:00
Thiago Jung Bauermann
8365dcf5f8
* configure.ac: Check whether Elf32_auxv_t and Elf64_auxv_t
...
are available.
* linux-low.c [HAVE_ELF32_AUXV_T] (Elf32_auxv_t): Add typedef.
[HAVE_ELF64_AUXV_T] (Elf64_auxv_t): Likewise.
* config.in: Regenerate.
* configure: Likewise.
2012-03-30 20:23:16 +00:00
Pedro Alves
689cc2ae8d
2012-03-29 Pedro Alves <palves@redhat.com>
...
* linux-low.c (regsets_store_inferior_registers) [__sparc__]:
Correct ptrace arguments.
2012-03-29 21:27:28 +00:00
Pedro Alves
c14dfd3206
2012-03-28 Pedro Alves <palves@redhat.com>
...
* linux-ia64-low.c (ia64_regmap): Map IA64_EC_REGNUM to PT_AR_EC.
(IA64_GR0_REGNUM, IA64_FR0_REGNUM)
(IA64_FR1_REGNUM): New defines.
(ia64_fetch_register): New.
(the_low_target): Install it.
* linux-low.h (struct linux_target_ops) <fetch_register>: New
field.
* linux-low.c (linux_fetch_registers): Try the
the_low_target.fetch_register hook first.
* linux-arm-low.c (the_low_target): Adjust.
* linux-bfin-low.c (the_low_target): Adjust.
* linux-cris-low.c (the_low_target): Adjust.
* linux-crisv32-low.c (the_low_target): Adjust.
* linux-m32r-low.c (the_low_target): Adjust.
* linux-m68k-low.c (the_low_target): Adjust.
* linux-mips-low.c (the_low_target): Adjust.
* linux-ppc-low.c (the_low_target): Adjust.
* linux-s390-low.c (the_low_target): Adjust.
* linux-sh-low.c (the_low_target): Adjust.
* linux-sparc-low.c (the_low_target): Adjust.
* linux-tic6x-low.c (the_low_target): Adjust.
* linux-x86-low.c (the_low_target): Adjust.
* linux-xtensa-low.c (the_low_target): Adjust.
2012-03-28 18:30:01 +00:00
Pedro Alves
63c88e1312
2012-03-26 Pedro Alves <palves@redhat.com>
...
* server.c (handle_qxfer_libraries): Don't bail early if
the_target->qxfer_libraries_svr4 is not NULL.
2012-03-26 13:54:57 +00:00
Pedro Alves
fb723180bd
2012-03-26 Pedro Alves <palves@redhat.com>
...
* linux-low.c (linux_qxfer_libraries_svr4): Fix pasto in comment.
2012-03-26 12:39:19 +00:00
Pedro Alves
0afae3cf2e
2012-03-23 Pedro Alves <palves@redhat.com>
...
* linux-low.c (linux_qxfer_libraries_svr4): Terminate the
"library-list-svr4" element's start tag when the the DSO list is
empty.
2012-03-23 20:27:08 +00:00
Pedro Alves
485f1ee4f6
2012-03-23 Pedro Alves <palves@redhat.com>
...
* linux-low.c (read_one_ptr): Read the inferior's pointer through
a variable whose type size is the same as the inferior's pointer
size.
2012-03-23 20:26:14 +00:00
Thomas Schwinge
a5362b9aa4
struct siginfo vs. siginfo_t
...
gdb/
* amd64-linux-nat.c (amd64_linux_siginfo_fixup): Use siginfo_t instead
of struct siginfo.
* arm-linux-nat.c (arm_linux_stopped_data_address): Likewise.
* ia64-linux-nat.c (ia64_linux_stopped_data_address): Likewise.
* linux-nat.c (linux_nat_siginfo_fixup, siginfo_fixup)
(linux_xfer_siginfo, linux_nat_set_siginfo_fixup)
(linux_nat_get_siginfo): Likewise.
* linux-nat.h (struct lwp_info, linux_nat_set_siginfo_fixup)
(linux_nat_get_siginfo): Likewise.
* linux-tdep.c (linux_get_siginfo_type): Likewise.
* ppc-linux-nat.c (ppc_linux_stopped_data_address): Likewise.
* procfs.c (gdb_siginfo_t): Likewise.
gdbserver/
* linux-arm-low.c (arm_stopped_by_watchpoint): Use siginfo_t instead of
struct siginfo.
* linux-low.c (siginfo_fixup, linux_xfer_siginfo): Likewise.
* linux-x86-low.c (x86_siginfo_fixup): Likewise.
* linux-low.h: Include <signal.h>.
(struct siginfo): Remove forward declaration.
(struct linux_target_ops) <siginfo_fixup>: Use siginfo_t instead of
struct siginfo.
2012-03-21 13:43:55 +00:00
Mike Frysinger
d226c1429b
gdbserver: update gitignore
2012-03-21 04:51:36 +00:00
Pedro Alves
122f36efc1
2012-03-19 Pedro Alves <palves@redhat.com>
...
Jan Kratochvil <jan.kratochvil@redhat.com>
* server.c (cont_thread, general_thread): Add describing comments.
(start_inferior): Clear `cont_thread'.
(handle_v_cont): Don't set `cont_thread' if resuming all threads
of a process.
2012-03-19 14:33:35 +00:00
Yao Qi
fc3e51758a
gdb/gdbserver/
...
* tracepoint.c (install_tracepoint): Move duplicated tracepoint
handling to ...
(cmd_qtdp): ... here.
2012-03-15 12:57:13 +00:00
Yao Qi
8d0d92cd22
gdb/gdbserver/
...
* tracepoint.c (struct tracepoint_action_ops): New.
(struct tracepoint_action) [!IN_PROCESS_AGENT] <ops>: New field.
(m_tracepoint_action_download): New.
(r_tracepoint_action_download): New.
(x_tracepoint_action_download): New.
(l_tracepoint_action_download): New.
(add_tracepoint_action): Install `action->ops' according type.
(download_tracepoint_1): Move code `download' function pointer
of various tracepoint_action_ops.
2012-03-15 10:42:38 +00:00
Jan Kratochvil
87b0bb13cb
gdb/
...
* common/linux-procfs.c (linux_proc_get_int): New, from
linux_proc_get_tgid, change its LWPID type to pid_t, add parameter
field.
(linux_proc_get_tgid): Only call linux_proc_get_int.
(linux_proc_get_tracerpid): New.
(linux_proc_pid_has_state): New, from linux_proc_pid_is_zombie.
(linux_proc_pid_is_stopped, linux_proc_pid_is_zombie): Only call
linux_proc_pid_has_state.
* common/linux-procfs.h (linux_proc_get_tracerpid): New declaration.
* common/linux-ptrace.c: Include linux-procfs.h and buffer.h.
(linux_ptrace_attach_warnings): New.
* common/linux-ptrace.h (struct buffer, linux_ptrace_attach_warnings):
New declaration.
* linux-nat.c: Include exceptions.h, linux-ptrace.h and buffer.h.
(linux_nat_attach): New variables ex, buffer, message and message_s.
Wrap to_attach by TRY_CATCH and call linux_ptrace_attach_warnings.
gdb/gdbserver/
* linux-low.c (linux_attach_lwp_1): New variable buffer. Call
linux_ptrace_attach_warnings.
gdb/testsuite/
* gdb.base/attach-twice.c: New files.
* gdb.base/attach-twice.exp: New files.
2012-03-13 15:02:25 +00:00
Jan Kratochvil
5f572decf9
gdb/
...
* Makefile.in (linux-ptrace.o): New.
* common/linux-procfs.c (linux_proc_pid_is_zombie): New,
from linux-nat.c.
* common/linux-procfs.h (linux_proc_pid_is_zombie): New declaration.
* common/linux-ptrace.c: New file.
* config/alpha/alpha-linux.mh (NATDEPFILES): Add linux-ptrace.o.
* config/arm/linux.mh: Likewise.
* config/i386/linux.mh: Likewise.
* config/i386/linux64.mh: Likewise.
* config/ia64/linux.mh: Likewise.
* config/m32r/linux.mh: Likewise.
* config/m68k/linux.mh: Likewise.
* config/mips/linux.mh: Likewise.
* config/pa/linux.mh: Likewise.
* config/powerpc/linux.mh: Likewise.
* config/powerpc/ppc64-linux.mh: Likewise.
* config/powerpc/spu-linux.mh: Likewise.
* config/s390/s390.mh: Likewise.
* config/sparc/linux.mh: Likewise.
* config/sparc/linux64.mh: Likewise.
* config/xtensa/linux.mh: Likewise.
* linux-nat.c (linux_lwp_is_zombie): Remove, move it to
common/linux-procfs.c.
(wait_lwp): Rename linux_lwp_is_zombie to linux_proc_pid_is_zombie.
gdb/gdbserver/
* Makefile.in (linux-ptrace.o): New.
* configure.srv (arm*-*-linux*, bfin-*-*linux*, crisv32-*-linux*)
(cris-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*)
(m68*-*-linux*, m68*-*-uclinux*, mips*-*-linux*, powerpc*-*-linux*)
(s390*-*-linux*, sh*-*-linux*, sparc*-*-linux*, tic6x-*-uclinux)
(x86_64-*-linux*, xtensa*-*-linux*): Add linux-ptrace.o to SRV_TGTOBJ
of these targets.
* linux-low.c (linux_attach_lwp_1): Remove redundent else clause.
2012-03-13 15:00:37 +00:00
Yao Qi
f4647387fe
2012-03-08 Yao Qi <yao@codesourcery.com>
...
Pedro Alves <palves@redhat.com>
Fix PR server/13392.
* linux-x86-low.c (amd64_install_fast_tracepoint_jump_pad): Check
offset of JMP insn.
* tracepoint.c (remove_tracepoint): New.
(cmd_qtdp): Call remove_tracepoint when failed to install.
2012-03-08 Yao Qi <yao@codesourcery.com>
Pedro Alves <palves@redhat.com>
Fix PR server/13392.
* gdb.trace/change-loc.exp (tracepoint_change_loc_1): Remove kfail.
(tracepoint_change_loc_2): Remove kfail. Return if failed to
download tracepoints.
* gdb.trace/pending.exp (pending_tracepoint_works): Likewise.
(pending_tracepoint_resolved_during_trace): Likewise.
(pending_tracepoint_installed_during_trace): Likewise.
(pending_tracepoint_with_action_resolved): Likewise.
2012-03-09 03:47:15 +00:00
Pedro Alves
9b224c5e1a
2012-03-07 Pedro Alves <palves@redhat.com>
...
gdb/doc/
* gdb.texinfo (General Query Packets): Document new
QProgramSignals packet.
* gdb.texinfo (Remote configuration): Mention
"program-signals-packet".
gdb/gdbserver/
* linux-low.c (get_detach_signal): New.
(linux_detach_one_lwp): Get rid of a pending SIGSTOP with SIGCONT.
Pass on pending signals to PTRACE_DETACH. Check the result of the
ptrace call.
* server.c (program_signals, program_signals_p): New.
(handle_general_set): Handle QProgramSignals.
* server.h (program_signals, program_signals_p): Declare.
gdb/
* NEWS: Mention QProgramSignals.
* inferior.h (update_signals_program_target): Declare.
* infrun.c: (update_signals_program_target): New.
(handle_command): Update the target of the new program signals
array changes.
* remote.c (PACKET_QProgramSignals): New enum.
(last_program_signals_packet): New global.
(remote_program_signals): New.
(remote_start_remote): Update the target with the program signals
list.
(remote_protocol_features): Add entry for QPassSignals.
(remote_open_1): Free anc clear last_program_signals_packet.
(init_remote_ops): Install remote_program_signals.
* target.c (update_current_target): Adjust.
(target_program_signals): New.
* target.h (struct target_ops) <to_program_signals>: New field.
(target_program_signals): Declare.
2012-03-07 19:25:39 +00:00
Jan Kratochvil
e237a7e2c5
gdb/gdbserver/
...
* linux-low.c (get_dynamic): Don't warn when PT_PHDR isn't found.
New comment why.
2012-03-05 17:09:37 +00:00
Yao Qi
5808517f9a
gdb:
...
* common/agent.c (agent_look_up_symbols): Add one parameter 'arg'.
* common/agent.h: Update declaration.
* inf-child.c (inf_child_use_agent): New.
(inf_child_can_use_agent): New.
(inf_child_target): Initialize fields `to_use_agent'
and `to_can_use_agent'.
* agent.c (agent_new_objfile): New.
(_initialize_agent): Add agent_new_objfile to new_objfile
observer.
* linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
New.
(linux_target_install_ops): Initialize field
`to_static_tracepoint_markers_by_strid'.
* remote.c (free_current_marker): Move it to ...
* tracepoint.c (free_current_marker): ... here. New.
(cleanup_target_stop): New.
* tracepoint.h: Declare free_current_marker.
* NEWS: Add one entry about `info static-tracepoint-marker'.
gdb/gdbserver:
* tracepoint.c (tracepoint_look_up_symbols): Update call to
agent_look_up_symbols.
gdb/testsuite:
* gdb.trace/strace.exp: run strace_info_marker in linux native gdb.
2012-03-03 09:51:29 +00:00
Yao Qi
58b4daa56a
gdb:
...
* common/agent.c (agent_loaded_p): New.
(agent_look_up_symbols): New global.
* common/agent.h: Declare agent_loaded_p.
gdb/gdbserver:
* Makefile.in (linux-low.o): Keep dependence on agent.h.
(linux-x86-low.o): Likewise.
* server.h: Remove in_process_agent_loaded.
* tracepoint.c (in_process_agent_loaded): Removed. Moved it
common/agent.c.
Update callers.
2012-03-03 04:34:52 +00:00
Yao Qi
8ffcbaaf40
gdb:
...
* common/agent.c (struct ipa_sym_addresses) <addr_capability>: New.
(agent_capability_check, agent_capability_invalidate): New.
(symbol_list): New array element.
* common/agent.h (enum agent_capa): New.
* target.c (target_pre_inferior): Call agent_capability_invalidate.
gdb/gdbserver:
* tracepoint.c (gdb_agent_capability): New global.
(in_process_agent_loaded_ust): Renamed to
`in_process_agent_supports_ust'.
Update callers.
(in_process_agent_supports_ust): Call agent_capability_check.
(clear_installed_tracepoints): Assert that agent supports
agent.
2012-03-03 04:04:35 +00:00
Yao Qi
d1feda864e
gdb:
...
* target.h (struct target_ops) <to_use_agent>: New field.
(struct target_ops) <to_can_use_agent>: New field.
(target_use_agent, target_can_use_agent): New macro.
* target.c (update_current_target): Update.
* remote.c: New enum `PACKET_QAgent'.
(remote_protocol_features): Add a new element.
(remote_use_agent, remote_can_use_agent): New.
(init_remote_ops): Initialize field `can_use_agent' with
remote_can_use_agent. Intiailize field `use_agent' with
remote_use_agent.
* common/agent.c (use_agent): New global.
* common/agent.h: Declare it.
* tracepoint.c (info_static_tracepoint_markers_command): Add
comment.
* Makefile.in (SFILES): Add common/agent.c and agent.c.
(COMMON_OBS): Add common/agent.o and agent.o
(common-agent.o): New rule.
* agent.c: New.
gdb/doc:
* gdb.texinfo (In-Process Agent): New node.
Document new commands.
(General Query Packets): Add packet `QAgent'.
gdb/gdbserver:
* linux-low.c (linux_supports_agent): New.
(linux_target_ops): Initialize field `supports_agent' with
linux_supports_agent.
* target.h (struct target_ops) <supports_agent>: New.
(target_supports_agent): New macro.
* server.c (handle_general_set): Handle packet 'QAgent'.
(handle_query): Send `QAgent+'.
* Makefile.in (server.o): Depends on agent.h.
2012-03-03 03:32:46 +00:00
Yao Qi
2fa291aca4
gdb:
...
* common/agent.c: New.
* common/agent.h: New.
* configure.ac: Add `sys/socket.h' and `sys/un.h' to
AC_CHECK_HEADERS.
* configure, configh.in: Regenerated.
gdb/gdbserver:
* Makefile.in (OBS): Add agent.o.
Add new rule for agent.o.
Track dependence of tracepoint.c on agent.h.
* tracepoint.c (run_inferior_command_1):
(run_inferior_command): Call agent_run_command.
(gdb_ust_connect_sync_socket): Deleted. Move it to
common/agent.c.
(resume_thread, stop_thread): Likewise.
(gdb_ust_socket_init): Renamed to ...
(gdb_agent_socket_init): ... New.
(gdb_ust_thread): Renamed to ...
(gdb_agent_helper_thread): ... New.
(gdb_ust_init): Move some code to ...
(gdb_agent_init): ... here. New.
[HAVE_UST]: Call gdb_ust_init.
(initialize_tracepoint_ftlib): Call gdb_agent_init.
* configure.ac: Add `sys/un.h' to AC_CHECK_HEADERS.
* config.in, configure: Regenerated.
2012-03-03 03:08:36 +00:00
Pedro Alves
0504465367
2012-03-02 Pedro Alves <palves@redhat.com>
...
* inferiors.c (add_pid_to_list, pull_pid_from_list): Delete.
* linux-low.c (struct simple_pid_list): New.
(stopped_pids): New a struct simple_pid_list pointer.
(add_to_pid_list, pull_pid_from_list): New.
(handle_extended_wait): Don't assume the first signal new children
report is SIGSTOP. Adjust call to pull_pid_from_list.
(linux_wait_for_lwp): Adjust.
2012-03-02 16:23:42 +00:00
Yao Qi
8d00225bba
gdb/gdbserver:
...
* tracepoint.c (do_action_at_tracepoint): Write `stop_pc' in
debug log.
2012-03-02 00:18:51 +00:00
Yao Qi
19560ba53e
gdb/gdbserver:
...
* tracepoint.c (collect_ust_data_at_tracepoint): Remove parameters
`stop_pc' and `tpoint'. Update caller.
2012-03-02 00:12:47 +00:00
Maciej W. Rozycki
1faeff088b
gdb/
...
* features/mips-dsp.xml: New file.
* features/mips64-dsp.xml: New file.
* features/mips-dsp-linux.xml: New file.
* features/mips64-dsp-linux.xml: New file.
* features/Makefile (WHICH): Add mips-dsp-linux and
mips64-dsp-linux.
(mips-dsp-expedite, mips64-dsp-expedite): New variables.
* features/mips-dsp-linux.c: New file.
* features/mips64-dsp-linux.c: New file.
* regformats/mips-dsp-linux.dat: New file.
* regformats/mips64-dsp-linux.dat: New file.
* mips-linux-nat.c (mips_linux_register_addr): Handle DSP
registers.
(mips64_linux_register_addr): Likewise.
(mips64_linux_regsets_fetch_registers): Likewise.
(mips64_linux_regsets_store_registers): Likewise.
(mips64_linux_fetch_registers): Update call to
mips64_linux_regsets_fetch_registers.
(mips64_linux_store_registers): Update call to
mips64_linux_regsets_store_registers.
(mips_linux_read_description): Probe for DSP registers.
(_initialize_mips_linux_nat): Call initialize_tdesc_mips_dsp_linux
and initialize_tdesc_mips64_dsp_linux.
* mips-linux-tdep.c (supply_gregset, mips64_supply_gregset):
Remove padding of no longer used embedded register slots.
* mips-linux-tdep.h (DSP_BASE, DSP_CONTROL): New macros.
(MIPS_RESTART_REGNUM): Redefine enum value.
* mips-tdep.c (mips_generic_reg_names): Remove trailing null
strings.
(mips_tx39_reg_names): Likewise.
(mips_linux_reg_names): New array of register names for Linux
targets.
(mips_register_name): Check for a null pointer in
mips_processor_reg_names and return an empty string.
(mips_register_type): Exclude embedded registers for the IRIX
and Linux ABIs.
(mips_pseudo_register_type): Likewise. Use dynamic numbers to
refer to FP registers, LO, HI, BadVAddr, Cause and PC. Handle
DSP registers.
(mips_stab_reg_to_regnum): Handle DSP accumulators.
(mips_dwarf_dwarf2_ecoff_reg_to_regnum): Likewise.
(mips_gdbarch_init): Likewise. Initialize internal register
indices for the Linux ABI. Use dynamic numbers to refer to
registers, as applicable, while parsing the target description.
* mips-tdep.h (struct mips_regnum): Add dspacc/dspctl offsets.
gdb/doc/
* gdb.texinfo (MIPS Features): Add org.gnu.gdb.mips.dsp.
gdb/gdbserver/
* linux-low.h (linux_target_ops): Add regset_bitmap member.
* linux-low.c (use_linux_regsets): New macro.
[!HAVE_LINUX_REGSETS] (regsets_fetch_inferior_registers): Likewise.
[!HAVE_LINUX_REGSETS] (regsets_store_inferior_registers): Likewise.
(linux_register_in_regsets): New function.
(usr_fetch_inferior_registers): Skip registers covered by
regsets.
(usr_store_inferior_registers): Likewise.
(usr_fetch_inferior_registers): New macro.
(usr_store_inferior_registers): Likewise.
(linux_fetch_registers): Handle mixed regset/non-regset targets.
(linux_store_registers): Likewise.
* linux-mips-low.c (init_registers_mips_dsp_linux): New
prototype.
(init_registers_mips64_dsp_linux): Likewise.
(init_registers_mips_linux): New macro.
(init_registers_mips_dsp_linux): Likewise.
(mips_dsp_num_regs): Likewise.
(DSP_BASE, DSP_CONTROL): New fallback macros.
(mips_base_regs): New macro.
(mips_regmap): Use it. Fix the size.
(mips_dsp_regmap): New variable.
(mips_dsp_regset_bitmap): Likewise.
(mips_arch_setup): New function.
(mips_cannot_fetch_register): Use the_low_target.regmap rather
than mips_regmap.
(mips_cannot_store_register): Likewise.
(the_low_target): Update .arch_setup, .num_regs and .regmap
initializers. Add .regset_bitmap initializer.
* linux-arm-low.c (the_low_target): Add .regset_bitmap
initializer.
* linux-bfin-low.c (the_low_target): Likewise.
* linux-cris-low.c (the_low_target): Likewise.
* linux-crisv32-low.c (the_low_target): Likewise.
* linux-ia64-low.c (the_low_target): Likewise.
* linux-m32r-low.c (the_low_target): Likewise.
* linux-m68k-low.c (the_low_target): Likewise.
* linux-ppc-low.c (the_low_target): Likewise.
* linux-s390-low.c (the_low_target): Likewise.
* linux-sh-low.c (the_low_target): Likewise.
* linux-sparc-low.c (the_low_target): Likewise.
* linux-tic6x-low.c (the_low_target): Likewise.
* linux-x86-low.c (the_low_target): Likewise.
* linux-xtensa-low.c (the_low_target): Likewise.
* configure.srv <mips*-*-linux*>: Add mips-dsp-linux.o and
mips64-dsp-linux.o to srv_regobj. Add mips-dsp-linux.xml,
mips64-dsp-linux.xml, mips-dsp.xml and mips64-dsp.xml to
srv_xmlfiles.
* Makefile.in (mips-dsp-linux.o, mips-dsp-linux.c): New targets.
(mips64-dsp-linux.o, mips64-dsp-linux.c): Likewise.
gdb/testsuite/
* gdb.xml/tdesc-regs.exp: Add "mips-dsp.xml" to the list of MIPS
core registers.
2012-03-01 22:19:48 +00:00
Yao Qi
c03e6ccce2
gdb/gdbserver:
...
2012-02-29 Yao Qi <yao@codesourcery.com>
Pedro Alves <palves@redhat.com>
* linux-low.c (linux_wait_1): Call unsuspend_all_lwps when
`step_over_finished' is true.
gdb/testsuite:
2012-02-29 Yao Qi <yao@codesourcery.com>
Pedro Alves <palves@redhat.com>
* gdb.trace/trace-mt.c: New
* gdb.trace/trace-mt.exp: New.
2012-02-29 13:59:41 +00:00
Pedro Alves
644cebc98c
2012-02-27 Pedro Alves <palves@redhat.com>
...
gdb/gdbserver/
* linux-low.c (pid_is_stopped): Delete, moved to common/.
(linux_attach_lwp_1): Adjust to use linux_proc_pid_is_stopped.
gdb/
* linux-nat.c (pid_is_stopped): Delete, moved to common/.
(linux_nat_post_attach_wait): Adjust to use
linux_proc_pid_is_stopped.
* common/linux-procfs.h (linux_proc_pid_is_stopped): Declare.
* common/linux-procfs.c (linux_proc_pid_is_stopped): New function,
based on pid_is_stopped from both linux-nat.c and
gdbserver/linux-low.c, and renamed.
2012-02-27 16:22:16 +00:00
Pedro Alves
c14d7ab2b6
2012-02-27 Pedro Alves <palves@redhat.com>
...
PR server/9684
* linux-low.c (pid_is_stopped): New.
(linux_attach_lwp_1): Handle attaching to 'T (stopped)' processes.
2012-02-27 16:19:19 +00:00
Luis Machado
412c89dd53
2012-02-25 Luis Machado <lgustavo@codesourcery.com>
...
* mem-break.c (clear_gdb_breakpoint_conditions): Fix de-allocation
of conditions.
2012-02-25 19:54:50 +00:00
Maciej W. Rozycki
b745defe51
* linux-mips-low.c (mips_regmap): Correct the index of $f9.
2012-02-24 16:16:02 +00:00
Luis Machado
9f3a5c850e
2012-02-24 Luis Machado <lgustavo@codesourcery>
...
* server.c (handle_query): Advertise support for target-side
breakpoint condition evaluation.
(process_point_options): New function.
(process_serial_event): When inserting a breakpoint, check for
a target-side condition that should be evaluated.
* mem-break.c: Include regcache.h and ax.h.
(point_cond_list_t): New data structure.
(breakpoint) <cond_list>: New field.
(find_gdb_breakpoint_at): Make non-static.
(delete_gdb_breakpoint_at): Clear any target-side
conditions.
(clear_gdb_breakpoint_conditions): New function.
(add_condition_to_breakpoint): Likewise.
(add_breakpoint_condition): Likewise.
(gdb_condition_true_at_breakpoint): Likewise.
(gdb_breakpoint_here): Return result directly instead
of going through a local variable.
* mem-break.h (find_gdb_breakpoint_at): New prototype.
(clear_gdb_breakpoint_conditions): Likewise.
(add_breakpoint_condition): Likewise.
(gdb_condition_true_at_breakpoint): Likewise.
* linux-low.c (linux_wait_1): Evaluate target-side breakpoint condition.
(need_step_over_p): Take target-side breakpoint condition into
consideration.
2012-02-24 15:15:56 +00:00
Luis Machado
5e1dc49674
2012-02-24 Luis Machado <lgustavo@codesourcery>
...
* server.h: Include tracepoint.h.
(agent_mem_read, agent_get_trace_state_variable_value,
agent_set_trace_state_variable_value,
agent_tsv_read, agent_mem_read_string, get_get_tsv_func_addr,
get_set_tsv_func_addr): New prototypes.
* ax.h: New include file.
* ax.c: New source file.
* tracepoint.c: Include ax.h.
(gdb_agent_op, gdb_agent_op_names, gdb_agent_op_sizes,
agent_expr, eval_result_type): Move to ax.h.
(parse_agent_expr): Rename to ...
(gdb_parse_agent_expr): ... this, make it non-static and move
to ax.h.
(unparse_agent_expr) Rename to ...
(gdb_unparse_agent_expr): ... this, make it non-static and move
to ax.h.
(eval_agent_expr): Rename to ...
(eval_tracepoint_agent_expr): ... this.
(agent_mem_read, agent_mem_read_string, agent_tsv_read): Remove
forward declarations.
(add_tracepoint_action): Call gdb_parse_agent_expr (...).
(agent_get_trace_state_variable_value): New function.
(agent_set_trace_state_variable_value): New function.
(cmd_qtdp): Call gdb_parse_agent_expr (...).
(response_tracepoint): Call gdb_unparse_agent_expr (...).
(do_action_at_tracepoint): Call eval_tracepoint_agent_expr (...).
(condition_true_at_tracepoint): Likewise.
(parse_agent_expr): Rename to ...
(gdb_parse_agent_expr): ... this and move to ax.c.
(unparse_agent_expr): Rename to ...
(gdb_unparse_agent_expr): ... this and move to ax.c.
(gdb_agent_op_name): Move to ax.c.
(eval_agent_expr): Rename to ...
(gdb_eval_agent_expr): ... this, use regcache passed as parameter
and move to ax.c.
(eval_tracepoint_agent_expr): New function.
(agent_mem_read, agent_mem_read_string, agent_tsv_read): Make
non-static.
(current_insn_ptr, emit_error, struct bytecode_address): Move to
ax.c.
(emit_prologue, emit_epilogue, emit_add, emit_sub, emit_mul, emit_lsh,
emit_rsh_signed, emit_rsh_unsigned, emit_ext, emit_log_not,
emit_bit_and, emit_bit_or, emit_bit_xor, emit_bit_not, emit_equal,
emit_less_signed, emit_less_unsigned, emit_ref, emit_if_goto,
emit_goto, write_goto_address, emit_const, emit_reg, emit_pop,
emit_stack, emit_zero_ext, emit_swap, emit_stack_adjust,
emit_int_call_1, emit_void_call_2, emit_eq_goto, emit_ne_goto,
emit_lt_goto, emit_ge_goto, emit_gt_goto, emit_le_goto): Move to ax.c.
(get_get_tsv_func_addr, get_set_tsv_func_addr): New functions.
(compile_bytecodes): Remove forward declaration.
(is_goto_target): Move to ax.c.
(compile_bytecodes): Move to ax.c and call
agent_get_trace_state_variable_value (...) and
agent_set_trace_state_variable_value (...).
* Makefile.in: Update ax.c and IPA dependencies.
2012-02-24 15:13:37 +00:00
Pedro Alves
277e4e5235
2012-02-24 Pedro Alves <palves@redhat.com>
...
* tracepoint.c (cmd_bigqtbuffer): Rename as ...
(cmd_bigqtbuffer_circular): ... this. Only handle
'QTBuffer:circular:'.
(handle_tracepoint_general_set): Adjust.
2012-02-24 14:46:48 +00:00
Yao Qi
bf4c19f73e
gdb/gdbserver/
...
* inferiors.c: Move code to ...
* dll.c: .... here. New.
* server.h: Declare clear_dlls.
* Makefile.in (SFILES): Add dll.c.
(OBS): Add dll.o
(dll.o): New rule.
2012-02-16 10:38:15 +00:00
Yao Qi
d73f2619de
gdb/gdbserver/
...
* server.c: (handle_monitor_command): Add a new parameter
`own_buf'.
(handle_query): Update caller.
2012-02-11 13:36:41 +00:00
Joel Brobecker
f8255c2a40
[gdbserver] return ENOSYS if readlink not supported.
...
This reproduces on the GDBserver side what GDB does when readlink is
not supported.
gdb/gdbserver/ChangeLog:
* configure.ac: Add readlink to AC_CHECK_FUNCS list.
* configure, config.in: Regenerate.
* hostio.c: Provide an alternate implementation if HAVE_READLINK
is not defined.
2012-02-09 17:29:34 +00:00
Pedro Alves
da84f473b7
2012-02-02 Pedro Alves <palves@redhat.com>
...
Try SIGKILL first, then PTRACE_KILL.
* linux-low.c (linux_kill_one_lwp): New.
(linux_kill_one_lwp): Rename to ...
(kill_one_lwp_callback): ... this. Use the new
linux_kill_one_lwp.
2012-02-02 18:06:40 +00:00