binutils-gdb modified for the FreeChainXenon project
Find a file
Tom de Vries 2016d3e60f [gdb/testsuite] Reduce errors after gdb exit in default_gdb_start
When running test-case gdb.base/readnever.exp with target board readnow, and
without commit 96038148d0 "[gdb/testsuite] Skip gdb.base/readnever.exp with
target board readnow", we run into a bunch of errors, starting with:
...
spawn gdb -nw -nx -data-directory data-directory -ex set sysroot -readnow \
  --readnever^M
gdb: '--readnow' and '--readnever' cannot be specified simultaneously^M
ERROR: : spawn id exp9 not open
    while executing
"expect {
-i exp9 -timeout 10
        -re "$gdb_prompt $" {
            verbose "Setting height to 0." 2
        }
...

The illegal combination of --readnow and --readnever causes gdb to start,
print an error message and exit.  There's a gdb_expect in default_gdb_start
that is supposed to detect the initial gdb prompt and handle related problems,
but since there's no eof case it succeeds, and default_gdb_start continues as
if the gdb prompt had been detected, causing the error above.

Fix this by adding an eof case to the gdb_expect, such that we have the more
accurate:
...
ERROR: (eof) GDB never initialized.
...

Further errors are triggered in clean_restart, because we're not testing for
gdb_start success.  Fix this by detecting gdb_start failure, and bailing out.

Finally, we're running into further errors in gdb.base/readnever.exp because
we're not testing for clean_restart success.  Fix this by making clean_restart
return -1 upon error, and testing for this.

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2020-04-24  Tom de Vries  <tdevries@suse.de>

	* lib/gdb.exp (default_gdb_start): Handle eof.
	(clean_restart): Detect and handle gdb_start failure.  Return -1 upon
	failure.
	* gdb.base/readnever.exp: Handle clean_restart failure.
2020-04-24 12:21:49 +02:00
bfd Automatic date update in version.in 2020-04-24 00:00:20 +00:00
binutils readelf: memory leaks in process_dynamic_section 2020-04-24 10:52:26 +09:30
config Merge changes from GCC for the config/ directory 2020-02-19 17:51:24 +00:00
contrib contrib: Update dg-extract-results.* from gcc 2019-10-21 15:26:48 +01:00
cpu cpu,gas,opcodes: support for eBPF JMP32 instruction class 2020-04-16 09:52:57 +02:00
elfcpp Add markers for 2.34 branch to the NEWS files and ChangeLogs. 2020-01-18 13:50:25 +00:00
etc texi2pod.pl: import support for @t{...} from gcc 2020-01-15 12:58:09 -05:00
gas xtensa: fix PR ld/25861 2020-04-22 18:46:45 -07:00
gdb [gdb/testsuite] Reduce errors after gdb exit in default_gdb_start 2020-04-24 12:21:49 +02:00
gdbserver Fix search of large memory area in gdbserver 2020-04-22 21:23:39 +02:00
gdbsupport Mark move constructors as "noexcept" 2020-04-20 11:45:06 -06:00
gnulib gdb: update gnulib import 2020-02-22 20:37:18 -05:00
gold Add support for --no-rosegment option. 2020-03-19 15:54:38 -07:00
gprof Updated Serbian translation for the gprof subdirectory 2020-04-01 14:37:02 +01:00
include arc: Add support for ARC HS extra registers in core files 2020-04-23 11:09:09 +03:00
intl Regen with blessed automake-1.15.1 2020-02-20 13:02:24 +10:30
ld xtensa: fix PR ld/25861 2020-04-22 18:46:45 -07:00
libctf libctf: Mark bswap_identity_64 inline function as static. 2020-03-11 17:48:49 +10:30
libdecnumber Merge config/ changes from GCC. 2018-10-31 17:16:41 +00:00
libiberty Import latest fixes to libiberty from GCC 2020-03-02 03:56:36 -08:00
opcodes Disallow PC relative for CMPI on MC68000/10 2020-04-21 16:53:36 +02:00
readline Fix compilation of Readline on mingw.org's MinGW 2019-12-23 16:28:32 +02:00
sim sim: ppc: netbsd: Sync signal names with NetBSD 9.99.49 2020-03-12 16:07:37 +01:00
texinfo
zlib Merge changes from GCC for the config/ directory 2020-02-19 17:51:24 +00:00
.cvsignore
.gitattributes
.gitignore Add profiling outputs to .gitignore 2019-12-26 06:54:58 +01:00
ar-lib Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
ChangeLog Since the pdp11-aout target does not support gdb, gdbserver or gprof these should be excluded in configure. 2020-04-21 10:27:50 +01:00
compile
config-ml.in Update top level configure files by synchronizing them with gcc. 2018-01-10 15:29:21 +00:00
config.guess Update top level config files with copies from the official repository. 2020-01-18 13:43:19 +00:00
config.rpath
config.sub Update top level config files with copies from the official repository. 2020-01-18 13:43:19 +00:00
configure Since the pdp11-aout target does not support gdb, gdbserver or gprof these should be excluded in configure. 2020-04-21 10:27:50 +01:00
configure.ac Since the pdp11-aout target does not support gdb, gdbserver or gprof these should be excluded in configure. 2020-04-21 10:27:50 +01:00
COPYING
COPYING.LIB
COPYING.LIBGLOSS
COPYING.NEWLIB
COPYING3
COPYING3.LIB
depcomp
djunpack.bat
install-sh
libtool.m4 Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS Move gdbserver to top level 2020-02-07 08:42:25 -07:00
Makefile.def Change gdbserver to use existing gdbsupport 2020-03-12 13:32:16 -06:00
Makefile.in Change gdbserver to use existing gdbsupport 2020-03-12 13:32:16 -06:00
Makefile.tpl Revert "Sync top level files with versions from gcc." 2019-05-30 11:17:19 +01:00
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change
multilib.am Merge autoconf / automake update changes from GCC. 2018-10-31 17:10:56 +00:00
README
README-maintainer-mode Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
setup.com
src-release.sh Move gdbserver to top level 2020-02-07 08:42:25 -07:00
symlink-tree
test-driver Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
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.