Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* server.c (handle_query): Add reply for qC packet.
|
|
* remote_utils.c (INVALID_DESCRIPTOR): New define.
(remote_desc): Initialize with INVALID_DESCRIPTOR.
(input_interrupt): Expose on USE_WIN32API too. Fix whitespace.
(check_remote_input_interrupt_request): New function.
* server.h (check_remote_input_interrupt_request): Declare.
* win32-low.(winapi_DebugBreakProcess,
winapi_GenerateConsoleCtrlEvent): New typedefs.
(get_child_debug_event): Lower Win32 debug event polling from 1 sec
to 250 ms.
(win32_wait): Check for remote interrupt request
with check_remote_input_interrupt_request.
(win32_request_interrupt): New function.
(win32_target_op): Set request_interrupt to win32_request_interrupt.
|
|
debug_registers_used, CONTEXT_EXTENDED_REGISTERS,
CONTEXT_FLOATING_POINT, CONTEXT_DEBUG_REGISTERS,
CONTEXT_DEBUGGER, CONTEXT_DEBUGGER_DR): Delete.
(thread_rec): Get context using the low target.
(child_add_thread): Call thread_added on the low target,
which does the same thing.
(regptr): Delete.
(do_initial_child_stuff): Remove debug registers references.
Set context using the low target. Resume threads after
setting the contexts.
(child_continue): Remove dead variable. Remove debug
registers references.
(child_fetch_inferior_registers): Go through the low target.
(do_child_store_inferior_registers): Remove.
(child_store_inferior_registers): Go through the low target.
(win32_resume): Remove debug registers references.
Set context using the low target.
(handle_exception): Change return type to void. Don't record
context here. Set status to TARGET_WAITKIND_SPURIOUS on a
first chance exception.
(get_child_debug_event): Change return type to void. Remove
goto loop. Always return after waiting for debug event.
(win32_wait): Convert to switch statement. Handle spurious
events.
* win32-i386-low.c (debug_registers_changed,
debug_registers_used): New.
(initial_stuff): Rename to ...
(i386_initial_stuff): ... this. Clear debug registers
state variables.
(store_debug_registers): Delete.
(i386_get_thread_context): New.
(load_debug_registers): Delete.
(i386_set_thread_context): New.
(i386_thread_added): New.
(single_step): Rename to ...
(i386_single_step): ... this.
(do_fetch_inferior_registers): Rename to ...
(i386_fetch_inferior_register): ... this.
(i386_store_inferior_register): New.
(the_low_target): Adapt to new interface.
* win32-arm-low.c (CONTEXT_FLOATING_POINT): Define.
(arm_get_thread_context): New.
(arm_set_thread_context): New.
(regptr): New.
(do_fetch_inferior_registers): Rename to ...
(arm_fetch_inferior_register): ... this.
(arm_store_inferior_register): New.
(arm_wince_breakpoint): Reimplement as unsigned long.
(arm_wince_breakpoint_len): Define.
(the_low_target): Adapt to new interface.
* win32-low.h (target_ops): Remove regmap, store_debug_registers and
load_debug_registers. Add get_thread_context, set_thread_context,
thread_added and store_inferior_register. Rename
fetch_inferior_registers to fetch_inferior_register.
(regptr): Remove declaration.
|
|
* spu-low.c (spu_detach): Likewise.
|
|
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.
|
|
* target.h (target_ops): Describe ATTACH return values.
|
|
(winapi_DebugActiveProcessStop): Add WINAPI. typedef as pointer.
(winapi_DebugSetProcessKillOnExit): Likewise.
(win32_create_inferior): Force usage of ansi CreateProcessA.
(win32_attach): Use GETPROCADDRESS.
(win32_detach): Likewise.
|
|
|
|
|
|
fields short instead of int. Add explicit padding.
(i387_cache_to_fsave): Remove unnecessary casts.
(i387_fsave_to_cache): Doc fix.
(i387_cache_to_fxsave): Remove unnecessary casts and masking.
|
|
(i387_fxsave_to_cache): Check fp->ftag while building ftag value.
|
|
arm targets.
|
|
|
|
* arm-wince-tdep.c: New.
* config/arm/wince.mt (DEPRECATED_TM_FILE): Use tm-arm.h.
(MT_CFLAGS): Delete.
(TM_CLIBS): Delete.
(TDEPFILES): Add arm-wince-tdep.o, corelow.o, solib.o,
solib-legacy.o, solib-svr4.o, and remove wince.o.
* configure.tgt (arm*-*-mingw32ce*): Add.
* signals/signals.c [HAVE_SIGNAL_H]: Check.
(do_target_signal_to_host): Silence 'not used' warning.
* config/arm/tm-wince.h: Remove.
gdb/gdbserver/
* gdbserver/configure.ac: Add errno checking.
(AC_CHECK_HEADERS): Add errno.h, fcntl.h, signal.h,
sys/file.h and malloc.h.
(AC_CHECK_DECLS): Add perror.
(srv_mingwce): Handle.
* gdbserver/configure.srv (i[34567]86-*-cygwin*): Add
win32-i386-low.o to srv_tgtobj.
(i[34567]86-*-mingw*): Likewise.
(arm*-*-mingw32ce*): Add case.
* gdbreplay.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
HAVE_FCNTL_H, HAVE_ERRNO_H, HAVE_MALLOC_H]: Check.
[__MINGW32CE__] (strerror): New function.
[__MINGW32CE__] (errno): Define to GetLastError.
[__MINGW32CE__] (COUNTOF): New macro.
(remote_open): Remove extra close call.
* mem-break.c (delete_breakpoint_at): New function.
* mem-break.h (delete_breakpoint_at): Declare.
* remote-utils.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
HAVE_FCNTL_H, HAVE_UNISTD_H, HAVE_ERRNO_H]: Check.
[USE_WIN32API] (read, write): Add char* casts.
* server.c [HAVE_UNISTD_H, HAVE_SIGNAL_H]: Check.
* server.h: Include wincecompat.h on Windows CE.
[HAVE_ERRNO_H]: Check.
(perror): Declare if not declared.
* utils.c: Add stdlib.h, errno.h and malloc.h includes.
(perror_with_name): Remove errno declaration.
* wincecompat.h: New.
* wincecompat.c: New.
* win32-low.h: New.
* win32-arm-low.c: New.
* win32-i386-low.c: New.
(win32-low.c): Include mem-break.h and win32-low.h, and winnt.h.
(OUTMSG2): Make it safe.
(_T): New macro.
(COUNTOF): New macro.
(NUM_REGS): Get it from the low target.
(CONTEXT_EXTENDED_REGISTERS, CONTEXT_FLOATING_POINT,
CONTEXT_DEBUG_REGISTERS): Add fallbacks to 0.
(thread_rec): Let low target handle debug registers.
(child_add_thread): Likewise.
(child_init_thread_list): Likewise.
(continue_one_thread): Likewise.
(regptr): New.
(do_child_fetch_inferior_registers): Move to ...
* win32-i386-low.c: ... here, and rename to ...
(do_fetch_inferior_registers): ... this.
* win32-low.c (child_fetch_inferior_registers):
Go through the low target.
(do_child_store_inferior_registers): Use regptr.
(strwinerror): New function.
(win32_create_inferior): Handle Windows CE.
Use strwinerror instead of strerror on Windows error
codes. Add program to the error output.
Don't close the main thread handle on Windows CE.
(win32_attach): Use coredll.dll on Windows CE.
(win32_kill): Close current process and current
thread handles.
(win32_detach): Use coredll.dll on Windows CE.
(win32_resume): Let low target handle debug registers, and
step request.
(handle_exception): Add/Remove initial breakpoint. Avoid
non-existant WSTOPSIG on Windows CE.
(win32_read_inferior_memory): Cast to remove warning.
(win32_arch_string): Go through the low target.
(initialize_low): Call set_breakpoint_data with the low
target's breakpoint.
* win32-low.c (dr, FLAG_TRACE_BIT, FCS_REGNUM,
FOP_REGNUM, mappings): Move to ...
* win32-i386-low.c: ... here.
* win32-low.c (win32_thread_info): Move to ...
* win32-low.h: ... here.
* Makefile.in (SFILES): Add win32-low.c, win32-i386-low.c,
win32-arm-low.c and wincecompat.c.
(all:): Add $EXEEXT.
(install-only:): Likewise.
(gdbserver:): Likewise.
(gdbreplay:): Likewise.
* config.in: Regenerate.
* configure: Regenerate.
|
|
win32_thread_info throughout.
|
|
* win32-low.c: ... this.
* configure.srv: Replace win32-i386-low.o with win32-low.o.
* Makefile.in: Likewise.
|
|
* server.h (monitor_output): Likewise.
* win32-i386-low.c (handle_output_debug_string): New.
(win32_kill): Handle OUTPUT_DEBUG_STRING_EVENT events using
handle_output_debug_string.
(get_child_debug_event): Likewise.
|
|
* server.c (main): Correct strtoul check.
|
|
* linux-low.c: Check __ARCH_HAS_MMU__ also.
|
|
<brooks.moses@codesourcery.com>.
|
|
|
|
* remote-utils.c (remote_open): Print out the assigned port number.
|
|
* 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.
|
|
(clean): Use $(EXEEXT).
|
|
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.
|
|
arch_string.
* win32-i386-low.c (win32_arch_string): New.
(win32_target_ops): Add win32_arch_string as arch_string member.
|
|
(spu_target_ops): Add spu_arch_string.
|
|
* configure.ac: Do not check for terminal.h.
* configure, config.in: Regenerated.
|
|
features/gdbserver-regs.xsl, features/number-regs.xsl,
features/sort-regs.xsl, features/xscale-iwmmxt.xml: New files.
* regformats/arm-with-iwmmxt.dat: Generate.
* NEWS: Mention iWMMXt.
* gdb.arch/iwmmxt-regs.c, gdb.arch/iwmmxt-regs.exp: New.
* Makefile.in (OBS): Add $(XML_BUILTIN).
(XML_DIR, XML_TARGET, XML_FILES, XML_BUILTIN): New.
(clean): Update.
(target.xml, xml-builtin.c, stamp-xml, arm-with-iwmmxt.o)
(arm-with-iwmmxt.c): New.
* config.in, configure: Regenerate.
* configure.ac: Check for iWMMXt. Handle srv_xmltarget,
srv_xmlbuiltin, and srv_xmlfiles. Define USE_XML.
* configure.srv: Mention srv_xmltarget and srv_xmlfiles.
(arm*-*-linux*): Add iWMMXt and regset support.
* linux-arm-low.c (PTRACE_GETWMMXREGS, PTRACE_SETWMMXREGS): Define.
(arm_fill_gregset, arm_store_gregset, arm_fill_wmmxregset)
(arm_store_wmmxregset, target_regsets): New.
* server.c (get_features_xml): Take annex argument. Check builtin
XML documents.
(handle_query): Handle multiple annexes.
|
|
(putpkt_binary, input_interrupt, readchar, getpkt): Use read and
write.
|
|
* 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.
|
|
|
|
* win32-i386-low.c (win32_kill): Likewise.
(get_child_debug_event): Clear current_process_handle.
|
|
serial port devices before opening them.
* server.c (main): Kill the inferior if an error occurs during
the first remote_open.
|
|
* README: Update supported targets.
|
|
* Makefile.in (clean): Remove reg-mips64.c.
(reg-mips64.c, reg-mips64.o): New rules.
* configure.srv: Handle mips64. Include regset support for mips.
* linux-mips-low.c (union mips_register): New.
(mips_get_pc, mips_set_pc, mips_reinsert_addr): Use it.
(mips_breakpoint, mips_breakpoint_at): Use int.
(mips_collect_register, mips_supply_register)
(mips_collect_register_32bit, mips_supply_register_32bit)
(mips_fill_gregset, mips_store_gregset, mips_fill_fpregset)
(mips_store_fpregset, target_regsets): New.
* thread-db.c (thread_db_get_tls_address): Use uintptr_t.
gdb/
* regformats/reg-mips64.dat: New file.
|
|
* configure.tgt: Enable gdbserver for SPU target.
* configure.ac: Build gdbserver when gdb_native is yes.
* configure: Regenerate.
* regformats/reg-spu.dat: New file.
gdbserver/ChangeLog:
* configure.srv: Add target "spu*-*-*".
* Makefile.in (clean): Remove reg-spu.c.
(reg-spu.c, reg-spu.o, spu-low.o): Add dependencies.
* spu-low.c: New file.
|
|
* configure: Regenerated.
|
|
* 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.
|
|
|
|
* configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets
and srv_linux_thread_db to yes.
* linux-s390-low.c (s390_fill_gregset): New function.
(target_regsets): Define data structure.
|
|
* 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.
|
|
(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.
|
|
(putpkt_binary): Use it.
|
|
* Makefile.in (amd64_linux_tdep_h): New.
(amd64-linux-nat.o, amd64-linux-tdep.o): Update.
* amd64-linux-nat.c (amd64_linux_gregset64_reg_offset): Add
ORIG_RAX.
(_initialize_amd64_linux_nat): Set amd64_native_gregset64_num_regs.
* amd64-linux-tdep.c (amd64_linux_register_name)
(amd64_linux_register_type, amd64_linux_register_reggroup_p)
(amd64_linux_write_pc): New.
(amd64_linux_init_abi): Use them, and update num_regs.
* amd64-linux-tdep.h: New file.
* amd64-tdep.c (amd64_register_name, amd64_register_type): Make
public.
* amd64-tdep.h (amd64_register_name, amd64_register_type): New
prototypes.
* regformats/reg-x86-64-linux.dat: New file.
gdb/testsuite/
* Makefile.in (clean): Clean reg-x86-64-linux.c.
(reg-x86-64-linux.o, reg-x86-64-linux.c): New.
* configure.srv (x86_64-*-linux*): Use reg-x86-64-linux.o.
* linux-x86-64-low.c (x86_64_regmap): Include ORIG_RAX.
(x86_64_fill_gregset, x86_64_store_gregset): Skip floating
point registers.
|
|
* server.c (terminal_fd): New variable.
(old_foreground_pgrp): Likewise.
(restore_old_foreground_pgrp): New function.
(start_inferior): Record the terminal file descriptor in terminal_fd
and its original foreground group in old_foreground_pgrp. Register
restore_old_foreground_pgrp with atexit().
|
|
|
|
* 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.
|
|
* remote.c (PACKET_qXfer_auxv): New, renamed from PACKET_qPart_auxv.
(remote_supported_packet): Remove #if 0.
(remote_protocol_features): Add qPart:auxv:read.
(remote_unescape_input): New function.
(readchar): Don't mask off the high bit.
(read_frame): Use fputstrn_filtered for packet data.
(getpkt_sane): Return the number of bytes read or -1. Use
fputstrn_unfiltered.
(remote_read_qxfer): New.
(remote_xfer_partial): Use it for TARGET_OBJECT_AUXV.
(_initialize_remote): Update packet registration.
* defs.h (fputstrn_filtered): New prototype.
* utils.c (fputstrn_filtered): New.
* NEWS: Mention qXfer.
gdb/doc/
* gdb.texinfo (OS Information): Update qPart reference to
qXfer.
(Remote configuration): Likewise.
(Overview): Move @cindex to the start of a paragraph. Talk
about binary data encoding.
(Packets): Refer to the overview for the details of the X
packet encoding.
(General Query Packets): Remove qPart description. Add qXfer
description. Add an anchor to qSupported. Correct feature
table title. Add a new feature for qXfer:auxv:read.
(Interrupts): Add a missing parenthesis.
gdb/gdbserver/
* server.c (decode_xfer_read, write_qxfer_response): New.
(handle_query): Take a packet length argument. Handle
qXfer:auxv:read instead of qPart:auxv:read. Mention it in
the qSupported response.
(main): Update call to handle_query.
|