No description
Find a file
Pedro Alves c33e31fd4a unpush the remote target if serial_write fails.
PR gdb/15275 notes that when debugging with a remote connection over a
serial link and the link is disconnected, say by disconnecting USB
serial port, the GDB quit command no longer works:

 (gdb)
 tar ext /dev/ttyACM0
 &"tar ext /dev/ttyACM0\n"
 ~"Remote debugging using /dev/ttyACM0\n"
 ^done
 (gdb)
 set debug remote 1
 &"set debug remote 1\n"
 ^done
 (gdb)
 quit
 &"quit\n"
 &"Sending packet: $qTStatus#49..."
 &"putpkt: write failed: Input/output error.\n"
 ^error,msg="putpkt: write failed: Input/output error."
 (gdb)
 (gdb)
 quit
 &"quit\n"
 &"Sending packet: $qTStatus#49..."
 &"putpkt: write failed: Input/output error.\n"
 ^error,msg="putpkt: write failed: Input/output error."

This is not reproducible with TCP connections, as with that, sending
doesn't error out, but instead the error is detected on the subsequent
readchar.  When that read fails, we unpush the remote target, and
throw TARGET_CLOSE_ERROR.  To address PR gdb/15275, instead of
catching the error in remote_get_trace_status as presently done (which
leaves this same issue latent for another packet to trip on), or of
making ser-unix.c fake success too on failed writes, so we'd get to
readchar detecting the error on serial ports too, better let the error
propagate out of serial_write, and catch it at the remote.c level,
throwing away the target if writing fails too, instead of delaying
that until the next read.

gdb/
2013-04-02  Pedro Alves  <palves@redhat.com>

	PR gdb/15275

	* remote.c (send_interrupt_sequence): Use remote_serial_write.
	(remote_serial_write): New function.
	(putpkt_binary, getpkt_or_notif_sane_1): Use remote_serial_write.
2013-04-02 13:51:07 +00:00
bfd daily update 2013-04-01 23:00:05 +00:00
binutils Increment hdrptr by 8 after SAFE_BYTE_GET64 2013-03-29 20:42:48 +00:00
config * configure: Regenerate after syncing config/. 2013-02-04 23:31:16 +00:00
cpu PR binutils/15241 2013-03-08 17:25:12 +00:00
elfcpp elfcpp/ 2013-03-01 22:45:56 +00:00
etc PR other/46202: implement install-strip. 2010-11-20 19:37:58 +00:00
gas Add support for Cortex-A53 and Cortex-A57. 2013-03-28 11:00:15 +00:00
gdb unpush the remote target if serial_write fails. 2013-04-02 13:51:07 +00:00
gold 2013-03-29 Sriraman Tallam <tmsriram@google.com> 2013-03-30 01:03:23 +00:00
gprof Rotate binutils ChangeLog for 2013 2013-01-02 17:06:32 +00:00
include PR binutils/15068 2013-03-28 09:25:11 +00:00
intl
ld PR ld/15323 2013-03-30 10:14:15 +00:00
libdecnumber merge from gcc 2013-03-28 02:00:05 +00:00
libiberty merge from gcc 2013-03-28 02:00:05 +00:00
opcodes Properly check address mode for SIB 2013-03-27 18:49:10 +00:00
readline Remove some extraneous changes in readline/terminal.c 2012-10-18 18:55:41 +00:00
sim sim: frv/m32r: back out hard failure when dv-sockser is not available 2013-03-31 00:39:35 +00:00
texinfo
.cvsignore
.gitignore Sync the root .gitignore file with GCC's. 2013-01-11 15:17:35 +00:00
ChangeLog src-release: fix version look up for bfd based projects 2013-03-22 23:16:40 +00:00
compile
config-ml.in * config-ml.in: Don't handle arc-*-elf*. 2011-03-22 20:01:13 +00:00
config.guess * config.guss: Update from config repo. 2013-01-08 22:42:34 +00:00
config.rpath Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 21:00:14 +00:00
config.sub * config.sub: Update from config repo. 2013-01-11 12:57:41 +00:00
configure * configure.ac: Sync with GCC repo. 2013-02-15 17:55:25 +00:00
configure.ac * configure.ac: Sync with GCC repo. 2013-02-15 17:55:25 +00:00
COPYING
COPYING.LIB
COPYING.LIBGLOSS 2013-01-07 Jeff Johnston <jjohnstn@redhat.com> 2013-01-07 21:39:26 +00:00
COPYING.NEWLIB 2012-03-09 Jeff Johnston <jjohnstn@redhat.com> 2012-03-09 20:31:34 +00:00
COPYING3
COPYING3.LIB
depcomp
djunpack.bat
install-sh
libtool.m4 PR target/38607 2012-09-14 23:55:22 +00:00
ltgcc.m4
ltmain.sh Backport from Libtool: Fix relink mode to use absolute path if hardcode_minus_L. 2011-01-13 18:52:53 +00:00
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS MAINTAINERS: clarify policy with config/ (and other top level files) 2012-05-12 03:10:17 +00:00
Makefile.def * configure.ac: Sync with GCC repo. 2013-01-15 21:47:02 +00:00
Makefile.in * configure.ac: Sync with GCC repo. 2013-01-15 21:47:02 +00:00
Makefile.tpl * Makefile.tpl (BOOT_ADAFLAGS): Remove -gnata. 2013-01-11 11:48:54 +00:00
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change Import move-if-change script from gnulib. 2011-02-12 15:47:02 +00:00
README
README-maintainer-mode
setup.com
src-release src-release: fix version look up for bfd based projects 2013-03-22 23:16:40 +00:00
symlink-tree
ylwrap

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.