Pedro Alves
1b3f60162b
* i387-fp.c, linux-arm-low.c, linux-cris-low.c,
...
linux-crisv32-low.c, linux-i386-low.c, linux-low.c,
linux-mips-low.c, linux-s390-low.c, linux-sparc-low.c,
linux-x86-64-low.c, linux-xtensa-low.c, proc-service.c,
regcache.c, remote-utils.c, server.c, spu-low.c, target.h,
thread-db.c, win32-low.c, xtensa-xtregs.c, gdbreplay.c,
Makefile.in, configure.ac: Fix whitespace throughout.
* configure: Regenerate.
2009-03-22 23:57:10 +00:00
Pedro Alves
54a0b537b8
Rename "process" to "lwp" throughout.
...
* linux-low.c (all_processes): Rename to...
(all_lwps): ... this.
(inferior_pid, handle_extended_wait, get_stop_pc): Adjust.
(add_process): Rename to ...
(add_lwp): ... this. Adjust.
(linux_create_inferior): Adjust.
(linux_attach_lwp): Adjust.
(linux_attach): Adjust.
(linux_kill_one_process): Rename to ...
(linux_kill_one_lwp): ... this. Adjust.
(linux_kill): Adjust.
(linux_detach_one_process): Rename to ...
(linux_detach_one_lwp): ... this. Adjust.
(linux_detach): Adjust.
(check_removed_breakpoint): Adjust.
(status_pending_p): Adjust.
(linux_wait_for_process): Rename to ...
(linux_wait_for_lwp): ... this. Adjust.
(linux_wait_for_event): Adjust.
(send_sigstop): Adjust.
(wait_for_sigstop): Adjust.
(stop_all_processes): Rename to ...
(stop_all_lwps): ... this.
(linux_resume_one_process): Rename to ...
(linux_resume_one_lwp): ... this. Adjust.
(linux_set_resume_request, linux_continue_one_thread)
(linux_queue_one_thread, resume_status_pending_p)
(usr_store_inferior_registers, regsets_store_inferior_registers)
(linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
Adjust.
* linux-low.h (get_process): Rename to ...
(get_lwp): ... this. Adjust.
(get_thread_process): Rename to ...
(get_thread_lwp): ... this. Adjust.
(get_process_thread): Rename to ...
(get_lwp_thread): ... this. Adjust.
(struct process_info): Rename to ...
(struct lwp_info): ... this.
(all_processes): Rename to ...
(all_lwps): ... this.
* proc-service.c (ps_lgetregs): Adjust.
* thread-db.c (thread_db_create_event, find_one_thread)
(maybe_attach_thread, thread_db_get_tls_address): Adjust.
2009-03-17 20:25:35 +00:00
Pedro Alves
4aa995e123
2009-02-06 Pedro Alves <pedro@codesourcery.com>
...
gdb/
* target.h (enum target_object): Add new TARGET_OBJECT_SIGNAL_INFO.
* infrun.c (siginfo_value_read, siginfo_value_write): New.
(siginfo_value_funcs): New.
(siginfo_make_value): New.
(_initialize_infrun): Create the $_siginfo convenience variable.
* gdbtypes.h (append_composite_type_field_aligned): Declare.
* gdbtypes.c (append_composite_type_field): Rename to...
(append_composite_type_field_aligned): ... this. Add ALIGNMENT
argument. Handle it.
(append_composite_type_field): Rewrite on top of
append_composite_type_field_aligned.
* value.h (internalvar_make_value): New typedef.
(struct internalvar) <make_value>: New field.
(create_internalvar_type_lazy): Declare.
* value.c (create_internalvar): Clear make_value.
(create_internalvar_type_lazy): New.
(value_of_internalvar): If make_value is set use it.
(preserve_values): Skip internal variables that don't have a
value.
* gdbarch.sh (get_siginfo_type): New.
* gdbarch.h, gdbarch.c: Regenerate.
* linux-tdep.h, linux-tdep.c: New.
* amd64-linux-tdep.c: Include "linux-tdep.h".
(amd64_linux_init_abi): Register linux_get_siginfo_type and
linux_get_siginfo_mapper.
* i386-linux-tdep.c: Include "linux-tdep.h".
(i386_linux_init_abi): Register linux_get_siginfo_type and
linux_get_siginfo_mapper.
* arm-linux-tdep.c: Include "linux-tdep.h".
(i386_linux_init_abi): Register linux_get_siginfo_type and
linux_get_siginfo_mapper.
* linux-nat.c (linux_xfer_siginfo): New.
(linux_nat_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO.
* remote.c (PACKET_qXfer_siginfo_read)
(PACKET_qXfer_siginfo_write): New.
(feature remote_protocol_features): Add "qXfer:siginfo:read" and
"qXfer:siginfo:write" features.
(remote_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO.
(_initialize_remote): Add "set/show remote read-siginfo-object"
and "set/show remote write-siginfo-object" commands.
* Makefile.in (ALL_TARGET_OBS): Add linux-tdep.o.
(HFILES_NO_SRCDIR): Add linux-tdep.h.
(ALLDEPFILES): Add linux-tdep.c.
* configure.tgt (arm*-*-linux* | arm*-*-uclinux*)
(i[34567]86-*-linux*, x86_64-*-linux*): Add linux-tdep.o to
gdb_target_obs.
2009-02-06 Pedro Alves <pedro@codesourcery.com>
gdb/gdbserver/
* server.c (handle_query): Report qXfer:siginfo:read and
qXfer:siginfo:write as supported and handle them.
* target.h (struct target_ops) <qxfer_siginfo>: New field.
* linux-low.c (linux_xfer_siginfo): New.
(linux_target_ops): Set it.
2009-02-06 Pedro Alves <pedro@codesourcery.com>
gdb/doc/
* gdb.texinfo (Signals): Document $_siginfo.
(Convenience Variables): Mention $_siginfo.
(Remote Configuration): Document qXfer:siginfo:read,
qXfer:siginfo:write packets, and the read-siginfo-object,
write-siginfo-object commands.
2009-02-06 Pedro Alves <pedro@codesourcery.com>
gdb/testsuite/
* gdb.base/siginfo-obj.c, gdb.base/siginfo-obj.exp: New.
2009-02-06 22:59:01 +00:00
Doug Evans
f21cc1a2b7
* ChangeLog: Fix date of last entry.
...
* linux-low.c (handle_extended_wait): Improve comment.
2009-01-06 00:20:44 +00:00
Doug Evans
0e21c1ec8e
* linux-low.c (linux_attach_lwp): Add some comments/fixmes.
2009-01-05 23:11:48 +00:00
Joel Brobecker
0fb0cc7590
Updated copyright notices for most files.
2009-01-03 05:58:08 +00:00
Doug Evans
bca929d3a6
* utils.c (xmalloc,xcalloc,xstrdup): New fns.
...
* server.h (ATTR_MALLOC): New macro.
(xmalloc,xcalloc,xstrdup): Declare.
* hostio.c: Replace malloc,calloc,strdup with xmalloc,xcalloc,xstrdup.
* inferiors.c: Ditto.
* linux-low.c: Ditto.
* mem-break.c: Ditto.
* regcache.c: Ditto.
* remote-utils.c: Ditto.
* server.c: Ditto.
* target.c: Ditto.
* win32-low.c: Ditto.
2008-12-14 20:51:04 +00:00
Doug Evans
896c7fbbd4
* linux-low.c (linux_wait_for_process): Don't clobber current_inferior
...
in debugging printf.
2008-12-12 23:14:28 +00:00
Doug Evans
97438e3f62
* linux-low.c (handle_extended_wait): Simplify, use my_waitpid.
2008-12-12 23:13:20 +00:00
Vladimir Prus
07e059b5a9
Implement -list-thread-groups --available
...
* Makefile.in (XMLFILES): Add osdata.dtd.
(SFILES): Add osdata.c.
(COMMON_OBS): Add osdata.o.
* linux-nat.c: Include pwd.h, sys/types.h, gdb_dirent.h and xml-support.h.
(linux_nat_xfer_osdata): New function.
(linux_xfer_partial): Handle TARGET_OBJECT_OSDATA.
* osdata.c: New file.
* osdata.h: New file.
* remote.c (PACKET_qXfer_osdata): New packet enum.
(remote_protocol_features): Add "qXfer:osdata:read".
(remote_read_qxfer): Handle TARGET_OBJECT_OSDATA.
(extended_remote_can_run): New.
(init_extended_remote_ops): Set to_can_run to
extended_remote_can_run.
(_initialize_remote): Add packet config command for
"qXfer:osdata:read".
* xml-support.c (obstack_xml_printf): New function.
* xml-support.h (obstack_xml_printf): Declare.
* target.c (target_get_osdata): New function.
* target.h (enum target_object): Add TARGET_OBJECT_OSDATA.
(target_os_data): Declare.
* features/osdata.dtd: New file.
* mi/mi-main.c (mi_list_thread_groups): Handle the --available
option.
2008-12-02 07:57:38 +00:00
Daniel Jacobowitz
dfb64f85d3
2008-11-14 Daniel Gutson <dgutson@codesourcery.com>
...
* configure.tgt (sparc64-*-linux*): Added gdbserver support.
* regformats/reg-sparc64.dat: New file.
gdbserver/
2008-11-14 Daniel Gutson <dgutson@codesourcery.com>
* Makefile.in (SFILES, clean): Added sparc64 files.
(reg-sparc64.o, reg-sparc64.c): New.
* configure.srv (sparc*-*-linux*): New configuration.
* linux-low.c (regsets_fetch_inferior_registers): Swap ptrace
syscall arguments for SPARC.
(regsets_store_inferior_registers): Likewise.
* linux-sparc-low.c: New file.
2008-11-14 22:06:41 +00:00
Ulrich Weigand
3221518cf2
* linux-low.c (linux_resume_one_process): Ignore ESRCH.
...
(usr_store_inferior_registers): Likewise.
(regsets_store_inferior_registers): Likewise.
2008-08-05 22:13:23 +00:00
Doug Evans
2fe5e3ffed
* linux-low.c (sys/dir.h, sys/user.h): Remove includes.
...
(linux_write_memory): Remove declaration of errno.
2008-07-28 18:28:56 +00:00
Ulrich Weigand
836acd6d9a
* linux-low.c (handle_extended_wait): Do not use "status"
...
variable uninitialized.
2008-07-12 22:22:42 +00:00
Ulrich Weigand
52fa2412d2
2008-04-17 Daniel Jacobowitz <dan@codesourcery.com>
...
* linux-low.c (disabled_regsets, num_regsets): New.
(use_regsets_p): Delete.
(linux_wait_for_process): Clear disabled_regsets.
(regsets_fetch_inferior_registers): Check and set it.
(regsets_store_inferior_registers): Likewise.
(linux_fetch_registers, linux_store_registers): Do not use
use_regsets_p.
(initialize_low): Allocate disabled_regsets.
2008-04-17 21:21:38 +00:00
Ulrich Weigand
9b4b61c8db
ChangeLog:
...
* features/Makefile (%.dat): Emit xmltarget statement.
* regformats/regdat.sh: Support xmltarget and xmlarch statments.
Generate code to set gdbserver_xmltarget in init_registers_${name}.
* regformats/arm-with-iwmmxt.dat: Regenerate.
* regformats/mips64-linux.dat: Regenerate.
* regformats/mips-linux.dat: Regenerate.
* regformats/rs6000/powerpc-32.dat: Regenerate.
* regformats/rs6000/powerpc-64.dat: Regenerate.
* regformats/rs6000/powerpc-e500.dat: Regenerate.
* regformats/reg-arm.dat: Add xmlarch statement.
* regformats/reg-i386.dat: Likewise.
* regformats/reg-i386-linux.dat: Likewise.
* regformats/reg-x86-64-linux.dat: Likewise.
* regformats/reg-spu.dat: Likewise.
gdbserver/ChangeLog:
* regcache.h (gdbserver_xmltarget): Add extern declaration.
* server.c (gdbserver_xmltarget): Define.
(get_features_xml): Use it to replace "target.xml" and arch_string.
* configure.srv: Remove srv_xmltarget. Add XML files that were
mentioned there to srv_xmlfiles instead. Remove conditional tests
on gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe; set
srv_xmlfiles and srv_regobj to include all possible choices.
* configure.ac (srv_xmltarget): Remove.
(srv_xmlfiles): Do not add "target.xml".
(gdb_cv_arm_iwmmxt, gdb_cv_ppc_altivec, gdb_cv_ppc_spe): Remove
checks for supplementary target information.
* configure: Regenerate.
* Makefile.in (XML_TARGET): Remove.
(target.xml): Remove rule.
(clean): Do not clean up target.xml.
(.PRECIOUS): Do not mention target.xml.
* target.h (struct target_ops): Remove arch_string member.
* linux-low.c (linux_arch_string): Remove.
(linux_target_ops): Remove arch_string initializer.
* linux-low.h (struct linux_target_ops): Remove arch_string member.
* linux-i386-low.c (the_low_target): Remove arch_string initializer.
* linux-x86-64-low.c (the_low_target): Remove arch_string initializer.
* spu-low.c (spu_arch_string): Remove.
(spu_target_ops): Remove arch_string initializer.
* win32-low.c (win32_arch_string): Remove.
(win32_target_ops): Remove arch_string initializer.
* win32-low.h (struct win32_target_ops): Remove arch_string member.
* win32-arm-low.c (the_low_target): Remove arch_string initializer.
* win32-i368-low.c (the_low_target): Remove arch_string initializer.
2008-02-28 05:54:10 +00:00
Ulrich Weigand
ee1a7ae440
* linux-low.h (struct linux_target_ops): Replace left_pad_xfer field
...
by collect_ptrace_register and supply_ptrace_register hooks.
* linux-low.c (fetch_register): Use supply_ptrace_register callback
instead of checking for the_low_target.left_pad_xfer.
(usr_store_inferior_registers): Use collect_ptrace_register callback
instead of checking for the_low_target.left_pad_xfer.
* linux-s390-low.c (s390_collect_ptrace_register): New function.
(s390_supply_ptrace_register): Likewise.
(s390_fill_gregset): Call s390_collect_ptrace_register.
(the_low_target): Update.
* linux-ppc64-low.c (ppc_collect_ptrace_register): New function.
(ppc_supply_ptrace_register): Likewise.
(the_low_target): Update.
* linux-i386-low.c (the_low_target): Update.
* linux-x86-64-low.c (the_low_target): Update.
2008-02-27 03:33:07 +00:00
Ulrich Weigand
d61ddec435
* configure.srv [s390x-*-linux*]: Set srv_regobj to include both
...
reg-s390.o and reg-s390x.o.
* linux-low.c (new_inferior): New global variable.
(linux_create_inferior, linux_attach): Set it.
(linux_wait_for_process): Call the_low_target.arch_setup after the
target has stopped for the first time.
(initialize_low): Do not call the_low_target.arch_setup.
* linux-s390-low.c (s390_get_pc): Support bi-arch operation.
(s390_set_pc): Likewise.
(s390_arch_setup): New function.
(the_low_target): Use s390_arch_setup as arch_setup routine.
* regcache.c (realloc_register_cache): New function.
(set_register_cache): Call it for each existing regcache.
2008-02-27 03:31:05 +00:00
Ulrich Weigand
d05b4ac3aa
gdb/ChangeLog:
...
* regformats/regdat.sh: Rename init_registers function in
generated file to init_registers_${name}.
* regformats/reg-crisv32.dat: Set "name" to crisv32.
* regformats/reg-ppc64.dat: Set "name" to ppc64.
* regformats/reg-s390x.dat: Set "name" to s390x.
gdbserver/ChangeLog:
* server.h (init_registers): Remove prototype.
* linux-low.h (struct linux_target_ops): Add arch_setup field.
* linux-low.c (initialize_low): Call the_low_target.arch_setup ()
instead of init_registers ().
* linux-arm-low.c (init_registers_arm): Add prototype.
(init_registers_arm_with_iwmmxt): Likewise.
(the_low_target): Add initializer for arch_setup field.
* linux-cris-low.c (init_registers_cris): Add prototype.
(the_low_target): Add initializer for arch_setup field.
* linux-crisv32-low.c (init_registers_crisv32): Add prototype.
(the_low_target): Add initializer for arch_setup field.
* linux-i386-low.c (init_registers_i386_linux): Add prototype.
(the_low_target): Add initializer for arch_setup field.
* linux-ia64-low.c (init_registers_ia64): Add prototype.
(the_low_target): Add initializer for arch_setup field.
* linux-m32r-low.c (init_registers_m32r): Add prototype.
(the_low_target): Add initializer for arch_setup field.
* linux-m68k-low.c (init_registers_m68k): Add prototype.
(the_low_target): Add initializer for arch_setup field.
* linux-mips-low.c (init_registers_mips_linux): Add prototype.
(init_registers_mips64_linux): Likewise.
(the_low_target): Add initializer for arch_setup field.
* linux-ppc-low.c (init_registers_ppc): Add prototype.
(init_registers_powerpc_32, init_registers_powerpc_e500): Likewise.
(the_low_target): Add initializer for arch_setup field.
* linux-ppc64-low.c (init_registers_ppc64): Add prototype.
(init_registers_powerpc_64): Likewise.
(the_low_target): Add initializer for arch_setup field.
* linux-s390-low.c (init_registers_s390): Add prototype.
(init_registers_s390x): Likewise.
(the_low_target): Add initializer for arch_setup field.
* linux-sh-low.c (init_registers_sh): Add prototype.
(the_low_target): Add initializer for arch_setup field.
* linux-x86-64-low.c (init_registers_x86_64_linux): Add prototype.
(the_low_target): Add initializer for arch_setup field.
* linux-xtensa-low.c (init_registers_xtensa): Add prototype.
(the_low_target): Add initializer for arch_setup field.
* win32-low.h (struct win32_target_ops): Add arch_setup field.
* win32-low.c (initialize_low): Call the_low_target.arch_setup ()
instead of init_registers ().
* win32-arm-low.c (init_registers_arm): Add prototype.
(the_low_target): Add initializer for arch_setup field.
* win32-i386-low.c (init_registers_i386): Add prototype.
(the_low_target): Add initializer for arch_setup field.
* spu-low.c (init_registers_spu): Add prototype.
(initialize_low): Call initialie_registers_spu () instead of
initialize_registers ().
2008-02-27 03:27:40 +00:00
Pedro Alves
59a016f09f
* hostio.c: Don't include errno.h.
...
(errno_to_fileio_errno): Move to hostio-errno.
* hostio.c: (hostio_error): Remove the error parameter. Defer the
error number outputting to the target->hostio_last_error callback.
(hostio_packet_error): Use FILEIO_EINVAL directly.
(handle_open, handle_pread, hostio_error, handle_unlink): Update
calls to hostio_error.
* hostio-errno.c: New.
* server.h (hostio_last_error_from_errno): Declare.
* target.h (target_ops): Add hostio_last_error member.
* linux-low.c (linux_target_op): Register hostio_last_error_from_errno
as hostio_last_error handler.
* spu-low.c (spu_target_ops): Likewise.
* win32-low.c [_WIN32_WCE] (win32_error_to_fileio_error)
(wince_hostio_last_error): New functions.
(win32_target_ops) [_WIN32_WCE]: Register wince_hostio_last_error
as hostio_last_error handler.
(win32_target_ops) [!_WIN32_WCE]: Register
hostio_last_error_from_errno as hostio_last_error handler.
* Makefile.in (SFILES): Add hostio.c and hostio-errno.c.
(hostio-errno.o): New rule.
* configure.ac (GDBSERVER_DEPFILES): Add $srv_hostio_err_objs.
* configure.srv (srv_hostio_err_objs): New variable. Default to
hostio-errno.o.
(arm*-*-mingw32ce*): Set srv_hostio_err_objs to "".
* configure: Regenerate.
2008-02-01 00:08:25 +00:00
Daniel Jacobowitz
2d717e4f8a
* linux-low.c (linux_attach_lwp): Do not _exit after errors.
...
(linux_kill, linux_detach): Clean up the process list.
* remote-utils.c (remote_open): Improve port number parsing.
(putpkt_binary, input_interrupt): Only send interrupts if the target
is running.
* server.c (extended_protocol): Make static.
(attached): Define earlier.
(exit_requested, response_needed, program_argv): New variables.
(target_running): New.
(start_inferior): Clear attached here.
(attach_inferior): Set attached here.
(require_running): Define.
(handle_query): Use require_running and target_running. Implement
"monitor exit".
(handle_v_attach, handle_v_run): New.
(handle_v_requests): Use require_running. Handle vAttach and vRun.
(gdbserver_usage): Update.
(main): Redo argument parsing. Handle --debug and --multi. Handle
--attach along with other options or after the port. Save
program_argv. Support no initial program. Resynchronize
communication with GDB after an error. Handle "monitor exit".
Use require_running and target_running. Always allow the extended
protocol. Do not error out for Hc0 or Hc-1. Do not automatically
restart in extended mode.
* README: Refer to the GDB manual. Update --attach usage.
* remote.c (struct remote_state): Add cached_wait_status.
(remote_exec_file): New variable.
(PACKET_vAttach, PACKET_vRun): New constants.
(extended_remote_restart): Do not query for status.
(struct start_remote_args): New.
(remote_start_remote): Take it as a second argument. Check
whether the target is running. Issue an error for non-running
non-extended targets. Cache the wait status. Set inferior_ptid
here.
(remote_open_1): Prompt to disconnect non-running targets. Make
sure the target is marked running. Do not set inferior_ptid here.
Update call to remote_start_remote. Do not call remote_check_symbols
if the target is not running.
(remote_detach_1): Rename from remote_detach. Take an EXTENDED
argument. Handle a non-running target.
(remote_detach): Use it.
(extended_remote_detach): New.
(remote_disconnect): Fix typo. Use remoute_mourn_1.
(extended_remote_attach_1, extended_remote_attach)
(extended_async_remote_attach): New.
(remote_vcont_resume): Remove unused variable.
(remote_wait, remote_async_wait): Use any cached wait status.
(putpkt_binary, getpkt): Clear any cached wait status.
(extended_remoute_mourn_1): New.
(extended_remote_mourn): Use it.
(extended_async_remote_mourn, extended_remote_run): New.
(extended_remote_create_inferior_1): New.
(extended_remote_create_inferior): Use it.
(extended_remote_async_create_inferior): Likewise.
(remote_xfer_partial): Skip for non-executing targets.
(init_extended_remote_ops): Set to_detach and to_attach.
(init_extended_async_remote_ops): Likewise. Use
extended_async_remote_mourn.
(_initialize_remote): Register vAttach, vRun, and
set remote exec-file.
* NEWS: Mention vAttach, vRun, and gdbserver extended-remote support.
* gdb.server/ext-attach.c, gdb.server/ext-attach.exp,
gdb.server/ext-run.exp: New files.
* lib/gdbserver-support.exp (gdbserver_download): New.
(gdbserver_start): New. Update gdbserver expected
output.
(gdbserver_spawn): Use them.
(gdbserver_start_extended): New.
* gdb.texinfo (Using the `gdbserver' Program): Add security
warning. Rearrange into subsections and subsubsections. Document
--multi and --debug. Correct --with-sysroot typo. Update --attach
usage. Make load reference clearer. Document monitor exit.
(Remote Configuration): Document set remote exec-file, attach-packet,
and run-packet.
(Packets): Document vAttach and vRun.
2008-01-30 00:51:50 +00:00
Daniel Jacobowitz
9b254dd1ce
Updated copyright notices for most files.
2008-01-01 22:53:26 +00:00
Andreas Schwab
7407e2de24
* linux-low.c (STACK_SIZE): Define.
...
(linux_tracefork_child): Use it. Use __clone2 on ia64.
(linux_test_for_tracefork): Likewise.
2007-12-21 16:04:27 +00:00
Daniel Jacobowitz
b65d95c576
* linux-low.c (linux_wait_for_event): Update messages. Do not
...
reinsert auto-delete breakpoints.
* mem-break.c (struct breakpoint): Change return type of handler to
int.
(set_breakpoint_at): Update handler type.
(reinsert_breakpoint_handler): Return 1 instead of calling
delete_breakpoint.
(reinsert_breakpoint_by_bp): Check for the original breakpoint before
setting a new one.
(check_breakpoints): Delete auto-delete breakpoints and return 2.
* mem-break.h (set_breakpoint_at): Update handler type.
* thread-db.c (thread_db_create_event, thread_db_create_event): Update.
* win32-low.c (auto_delete_breakpoint): New.
(get_child_debug_event): Use it.
2007-12-18 21:58:01 +00:00
Daniel Jacobowitz
a20d5e98e5
* linux-low.c (linux_wait, linux_resume): Do not handle async I/O.
...
* remote-utils.c (remote_open): Do not call disable_async_io.
(block_async_io): Delete.
(unblock_async_io): Make static.
(initialize_async_io): New.
* server.c (handle_v_cont): Handle async I/O here.
(myresume): Likewise. Move other common resume tasks here...
(main): ... from here. Call initialize_async_io. Disable async
I/O before the main loop.
* server.h (initialize_async_io): Declare.
(block_async_io, unblock_async_io): Delete prototypes.
* spu-low.c (spu_resume, spu_wait): Do not handle async I/O here.
2007-12-07 01:41:29 +00:00
Daniel Jacobowitz
f9387fc3b0
* linux-low.c: Include <sched.h>.
2007-11-05 19:22:08 +00:00
Daniel Jacobowitz
51c2684ec1
* linux-low.c (linux_tracefork_grandchild): New.
...
(linux_tracefork_child): Use clone.
(linux_test_for_tracefork): Use clone; allocate and free a stack.
2007-11-01 19:19:39 +00:00
Daniel Jacobowitz
da5898cee8
* linux-low.c (handle_extended_wait): Handle unexpected signals.
2007-10-24 13:27:01 +00:00
Daniel Jacobowitz
24a09b5f37
* inferiors.c (change_inferior_id): Delete.
...
(add_pid_to_list, pull_pid_from_list): New.
* linux-low.c (PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG)
(PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK)
(PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC, PTRACE_O_TRACEVFORKDONE)
(PTRACE_O_TRACEEXIT, PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK)
(PTRACE_EVENT_CLONE, PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE)
(PTRACE_EVENT_EXIT, __WALL): Provide default definitions.
(stopped_pids, thread_db_active, must_set_ptrace_flags): New variables.
(using_threads): Always set to 1.
(handle_extended_wait): New.
(add_process): Do not set TID.
(linux_create_inferior): Set must_set_ptrace_flags.
(linux_attach_lwp): Remove TID argument. Do not check using_threads.
Use PTRACE_SETOPTIONS. Call new_thread_notify. Update all callers.
(linux_thread_alive): Rename TID argument to LWPID.
(linux_wait_for_process): Handle unknown processes. Do not use TID.
(linux_wait_for_event): Do not use TID or check using_threads. Update
call to dead_thread_notify. Call handle_extended_wait.
(linux_create_inferior): Use PTRACE_SETOPTIONS.
(send_sigstop): Delete sigstop_sent.
(wait_for_sigstop): Avoid TID.
(linux_supports_tracefork_flag, linux_tracefork_child, my_waitpid)
(linux_test_for_tracefork): New.
(linux_lookup_signals): Use thread_db_active and
linux_supports_tracefork_flag.
(initialize_low): Use thread_db_active and linux_test_for_tracefork.
* linux-low.h (get_process_thread): Avoid TID.
(struct process_ifo): Move thread_known and tid to the end. Remove
sigstop_sent.
(linux_attach_lwp, thread_db_init): Update prototypes.
* server.h (change_inferior_id): Delete prototype.
(add_pid_to_list, pull_pid_from_list): New prototypes.
* thread-db.c (thread_db_use_events): New.
(find_first_thread): Rename to...
(find_one_thread): ...this. Update callers and messages. Do not
call fatal. Check thread_db_use_events. Do not call
change_inferior_id or new_thread_notify.
(maybe_attach_thread): Update. Do not call new_thread_notify.
(thread_db_init): Set thread_db_use_events. Check use_events.
* utils.c (fatal, warning): Correct message prefix.
2007-10-23 20:05:03 +00:00
Daniel Jacobowitz
fd462a6189
* linux-low.c (O_LARGEFILE): Define.
...
(linux_read_memory): Use /proc/PID/mem.
* configure.ac: Use AC_GNU_SOURCE. Check for pread64.
* configure, config.in: Regenerated.
2007-09-19 14:41:50 +00:00
Daniel Jacobowitz
69f223edd7
* linux-low.c (linux_wait_for_event): Do not pass signals while
...
single-stepping.
2007-09-04 21:30:23 +00:00
Joel Brobecker
a9762ec78a
Switch the license of all .c files to GPLv3.
...
Switch the license of all .h files to GPLv3.
Switch the license of all .cc files to GPLv3.
2007-08-23 18:08:50 +00:00
Daniel Jacobowitz
ae13219ef8
* inferiors.c (change_inferior_id): Add comment.
...
* linux-low.c (check_removed_breakpoint): Add an early
prototype. Improve debug output.
(linux_attach): Doc update.
(linux_detach_one_process, linux_detach): Clean up before releasing
each process.
(send_sigstop, wait_for_sigstop): Improve comments and debug output.
* linux-low.h (struct process_info): Doc improvement.
* mem-break.c (delete_all_breakpoints): New.
* mem-break.h (delete_all_breakpoints): New prototype.
* thread-db.c (find_first_thread): New.
(thread_db_create_event): Call it instead of
thread_db_find_new_threads. Clean up unused variables.
(maybe_attach_thread): Remove first thread handling.
(thread_db_find_new_threads): Use find_first_thread.
(thread_db_get_tls_address): Likewise.
2007-07-02 15:35:36 +00:00
Daniel Jacobowitz
2b876972d0
* linux-low.c (linux_create_inferior): Try execv before execvp.
...
* spu-low.c (spu_create_inferior): Likewise.
2007-06-20 18:54:21 +00:00
Daniel Jacobowitz
7a245884a8
2007-06-13 Mike Frysinger <vapier@gentoo.org>
...
* linux-low.c (linux_create_inferior): Change execv to execvp.
* spu-low.c (spu_create_inferior): Likewies.
2007-06-13 21:03:38 +00:00
Pedro Alves
dd6953e1f3
* linux-low.c (linux_detach): Change return type to int. Return 0.
...
* spu-low.c (spu_detach): Likewise.
2007-05-10 21:33:31 +00:00
Pedro Alves
444d61395b
* target.h (target_ops): Change return type of detach to int.
...
Add join.
(join_inferior): New.
* server.c (main): Don't skip detach support on mingw32.
If the inferior doesn't support detaching return error.
Call join_inferior instead of using waitpid.
* linux-low.c (linux_join): New.
(linux_target_op): Add linux_join.
* spu-low.c (spu_join): New.
(spu_target_ops): Add spu_join.
* win32-low.c (win32_detach): Adapt to new interface.
Reopen current_process_handle before detaching. Issue a child
resume before detaching.
(win32_join): New.
(win32_target_op): Add win32_join.
2007-05-10 21:05:15 +00:00
Daniel Jacobowitz
42c81e2acb
2007-03-27 Jon Ringle <jon@ringle.org>
...
* linux-low.c: Check __ARCH_HAS_MMU__ also.
2007-03-27 18:32:01 +00:00
Daniel Jacobowitz
c74d0ad827
* gdb.texinfo (Monitor commands for gdbserver): New subsection.
...
* remote-utils.c (monitor_output): New function.
* server.c (debug_threads): Define here.
(monitor_show_help): New function.
(handle_query): Handle qRcmd.
(main): Do not handle 'd' packet.
* server.h (debug_threads, remote_debug, monitor_output): Declare.
* linux-low.c, spu-low.c, win32-i386-low.c: Remove definitions
of debug_threads.
* gdb.server/server-mon.exp: New test.
2007-02-26 20:10:18 +00:00
Pedro Alves
ef57601be4
* target.h (target_ops): Rename send_signal to request_interrupt,
...
and remove enum target_signal parameter.
* linux-low.c (linux_request_interrupt): Rename from
linux_send_signal, and always send SIGINT.
* spu-low.c (spu_request_interrupt): Rename from spu_send_signal,
and always send SIGINT.
* remote-utils.c (putpkt_binary): Call request_interrupt, instead
of send_signal.
(input_interrupt): Likewise.
2007-02-25 17:59:43 +00:00
Daniel Jacobowitz
23181151a2
XML feature description support.
...
* NEWS: Mention target descriptions, "set tdesc filename",
"unset tdesc filename", "show tdesc filename", and
qXfer:features:read.
* arch-utils.c (choose_architecture_for_target): New function.
(gdbarch_info_fill): Call it.
* target-descriptions.c (struct property): Make members non-const.
(struct target_desc): Add arch member.
(target_description_filename): New variable.
(target_find_description): Try via XML first.
(tdesc_architecture): New.
(free_target_description, make_cleanup_free_target_description): New.
(set_tdesc_property): Call xstrdup.
(set_tdesc_architecture, tdesc_set_cmdlist, tdesc_show_cmdlist)
(tdesc_unset_cmdlist, unset_tdesc_cmd, unset_tdesc_filename_cmd)
(set_tdesc_cmd, show_tdesc_cmd, set_tdesc_filename_cmd)
(show_tdesc_filename_cmd, _initialize_target_descriptions): New.
* target-descriptions.h (tdesc_architecture)
(make_cleanup_free_target_description, set_tdesc_architecture): New
prototypes.
* Makefile.in (SFILES): Add xml-tdesc.c.
(COMMON_OBS): Add xml-tdesc.o.
(target-descriptions.o): Update.
(xml-tdesc.o): New rule.
* xml-tdesc.c, xml-tdesc.h: New files.
* remote.c (PACKET_qXfer_features): New enum.
(remote_protocol_features): Add qXfer:features:read.
(remote_xfer_partial): Handle TARGET_OBJECT_AVAILABLE_FEATURES.
(_initialize_remote): Register qXfer:features:read.
* target.h (enum target_object): Add TARGET_OBJECT_AVAILABLE_FEATURES.
* features/gdb-target.dtd: New file.
* linux-i386-low.c (the_low_target): Set arch_string.
* linux-x86-64-low.c (the_low_target): Likewise.
* linux-low.c (linux_arch_string): New.
(linux_target_ops): Add it.
* linux-low.h (struct linux_target_ops): Add arch_string.
* server.c (write_qxfer_response): Use const void * for DATA.
(get_features_xml): New.
(handle_query): Handle qXfer:features:read. Report it for qSupported.
* target.h (struct target_ops): Add arch_string method.
* gdb.texinfo (Target Descriptions): New section.
(General Query Packets): Add QPassSignals anchor. Mention
qXfer:features:read under qSupported. Expand mentions of
qXfer:memory-map:read and QPassSignals. Document
qXfer:features:read.
2007-01-09 22:55:10 +00:00
Daniel Jacobowitz
6aba47ca06
Copyright updates for 2007.
2007-01-09 17:59:20 +00:00
Daniel Jacobowitz
9d6063994f
* linux-low.c (linux_kill): Handle being called with no threads.
...
* win32-i386-low.c (win32_kill): Likewise.
(get_child_debug_event): Clear current_process_handle.
2007-01-03 17:57:16 +00:00
Daniel Jacobowitz
89be209149
gdb/
...
* remote.c (PACKET_QPassSignals): New.
(last_pass_packet, remote_pass_signals): New.
(remote_protocol_features): Add QPassSignals.
(remote_query_supported): Correct an infinite loop.
(remote_open_1): Reset last_pass_packet.
(remote_resume): Call remote_pass_signals.
(_initialize_remote): Register "set remote pass-signals".
gdb/doc/
* gdb.texinfo (Remote configuration): Mention
"pass-signals-packet".
(General Query Packets): Document QPassSignals. Fix
a typo.
gdb/gdbserver/
* linux-low.c (linux_wait_for_event): Reformat. Use the
pass_signals array.
* remote-utils.c (decode_address_to_semicolon): New.
* server.c (pass_signals, handle_general_set): New.
(handle_query): Mention QPassSignals for qSupported.
(main): Call handle_general_set.
* server.h (pass_signals, decode_address_to_semicolon): New.
2006-11-16 15:08:25 +00:00
Daniel Jacobowitz
dae5f5cf4b
* acinclude.m4 (SRV_CHECK_TLS_GET_ADDR): New.
...
* configure.ac: Use it. Define HAVE_TD_THR_TLS_GET_ADDR.
* config.in, configure: Regenerated.
* inferiors.c (gdb_id_to_thread): New function.
(gdb_id_to_thread_id): Use it.
* linux-low.c (linux_target_ops): Use thread_db_get_tls_address.
* linux-low.h (struct process_info): Add th member.
(thread_db_get_tls_address): New prototype.
* remote-utils.c (decode_address): Make non-static.
* server.c (handle_query): Handle qGetTLSAddr.
* server.h (gdb_id_to_thread, decode_address): New prototypes.
* target.h (struct target_ops): Add get_tls_address.
* thread-db.c (maybe_attach_thread): Save the thread handle.
(thread_db_get_tls_address): New.
2006-10-17 16:02:27 +00:00
Daniel Jacobowitz
32ca6d6157
* linux-low.c (PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
...
(linux_resume_one_process): Take a siginfo_t *. Update all
callers. Queue it if necessary. Use PTRACE_SETSIGINFO.
(struct pending_signals): Add a siginfo_t.
(linux_wait_for_process): Always set last_status.
(linux_wait_for_event): Use PTRACE_GETSIGINFO.
(linux_queue_one_thread): Use PTRACE_GETSIGINFO.
* linux-low.h (struct process_info): Add last_status.
2006-09-28 22:46:29 +00:00
Daniel Jacobowitz
b80864fbe5
gdb/
...
* configure.tgt: Build gdbserver for Cygwin and mingw32.
gdb/gdbserver/
* configure.ac: Check for more headers which are missing on
Windows. Automatically supply -lwsock32 and USE_WIN32API.
* configure.srv: Add Cygwin and mingw32.
* remote-utils.c: Don't include headers unconditionally which
are missing on mingw32. Include <winsock.h> for mingw32.
(remote_open): Adjust for mingw32 support. Flush
standard error after writing to it.
(remote_close, putpkt_binary, input_interrupt, block_async_io)
(unblock_async_io, enable_async_io, disable_async_io)
(readchar, getpkt): Update for Winsock support.
(prepare_resume_reply): Expect a protocol signal number.
* server.c: Disable <sys/wait.h> on mingw32.
(start_inferior): Adjust for mingw32 support. Flush
standard error after writing to it.
(attach_inferior): Likewise. Use protocol signal
numbers.
(main): Skip 'D' packet on mingw32. Use protocol signal numbers
and names.
* win32-i386-low.c: New file.
* Makefile.in (XM_CLIBS): Set.
(gdbserver, gdbreplay): Use $(INTERNAL_CFLAGS).
(win32-i386-low.o): New dependency rule.
* linux-low.c (linux_wait): Use target signal numbers.
* target.h (struct target_ops): Doc fix.
* server.h (target_signal_to_name): New prototype.
* gdbreplay.c: Don't include headers unconditionally which
are missing on mingw32. Include <winsock.h> for mingw32.
(remote_close, remote_open): Adjust for Winsock support.
* configure, config.in: Regenerated.
2006-07-23 03:52:15 +00:00
Nathan Sidwell
52fb643739
* configure.srv (m68k*-*-uclinux*): New target.
...
* linux-low.c (linux_create_inferior): Use vfork on mmuless systems.
(linux_resume_one_process): Remove extraneous cast.
(linux_read_offsets): New.
(linux_target_op): Add linux_read_offsets on mmuless systems.
* server.c (handle_query): Add qOffsets logic.
* target.h (struct target_ops): Add read_offsets.
2006-05-09 15:21:19 +00:00
Daniel Jacobowitz
545587ee60
* linux-low.c (regsets_store_inferior_registers): Read the regset
...
from the target before filling it.
2006-02-15 14:36:32 +00:00
Eli Zaretskii
6f0f660e7b
* linux-arm-low.c:
...
* linux-cris-low.c:
* inferiors.c:
* i387-fp.h:
* i387-fp.c:
* gdbreplay.c:
* regcache.c:
* proc-service.c:
* mem-break.h:
* mem-break.c:
* linux-x86-64-low.c:
* linux-sh-low.c:
* linux-s390-low.c:
* linux-ppc64-low.c:
* linux-ppc-low.c:
* linux-mips-low.c:
* linux-m68k-low.c:
* linux-m32r-low.c:
* linux-low.h:
* linux-low.c:
* linux-ia64-low.c:
* linux-i386-low.c:
* linux-crisv32-low.c:
* thread-db.c:
* terminal.h:
* target.h:
* target.c:
* server.h:
* server.c:
* remote-utils.c:
* regcache.h:
* utils.c:
* Makefile.in:
* configure.ac:
* gdbserver.1: Add (C) after Copyright. Update the FSF
address.
2005-12-23 18:11:55 +00:00