No description
Find a file
Pedro Alves 9665ffdd59 gdb.threads/{siginfo-thread.c,watchthreads-reorder.c,ia64-sigill.c} races with GDB
These three test all spawn a few threads and then send a SIGSTOP to
their parent GDB in order to pause it while the new threads set things
up for the test.  With a GDB patch that changes the inferior thread's
scheduling a bit, I sometimes see:

  FAIL: gdb.threads/siginfo-threads.exp: catch signal 0 (timeout)
  ...
  FAIL: gdb.threads/watchthreads-reorder.exp: reorder1: continue a (timeout)
  ...
  FAIL: gdb.threads/ia64-sigill.exp: continue (timeout)
  ...

The issue is that the test program stops GDB before it had a chance of
processing the new thread's clone event:

  (gdb) PASS: gdb.threads/siginfo-threads.exp: get pid
  continue
  Continuing.
  Stopping GDB PID 21541.
  Waiting till the threads initialize their TIDs.
  FAIL: gdb.threads/siginfo-threads.exp: catch signal 0 (timeout)

On Linux (at least), new threads start stopped, and the debugger must
resume them.  The fix is to make the test program wait for the new
threads to be running before stopping GDB.

gdb/testsuite/
2015-01-09  Pedro Alves  <palves@redhat.com>

	* gdb.threads/ia64-sigill.c (threads_started_barrier): New global.
	(thread_func): Wait on barrier.
	(main): Wait for all threads to start before stopping GDB.
	* gdb.threads/siginfo-threads.c (threads_started_barrier): New
	global.
	(thread1_func, thread2_func): Wait on barrier.
	(main): Wait for all threads to start before stopping GDB.
	* gdb.threads/watchthreads-reorder.c (threads_started_barrier):
	New global.
	(thread1_func, thread2_func): Wait on barrier.
	(main): Wait for all threads to start before stopping GDB.
2015-01-09 13:58:29 +00:00
bfd Use official ELF machine number for moxie 2015-01-09 07:13:07 -05:00
binutils Fix memory access violations exposed by running strip on fuzzed binaries. 2015-01-08 15:39:49 +00:00
config Fix --diable-shared --enable-plugins build breakage 2014-08-19 21:59:56 +09:30
cpu or1k: add missing l.msync, l.psync and l.psync instructions. 2014-07-20 20:26:09 +03:00
elfcpp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
etc PR external/{16327,16328}: Remove etc/configure.texi and etc/standards.texi. 2014-06-27 11:33:25 +02:00
gas arm: fix extension feature disabling 2015-01-07 09:39:27 +01:00
gdb gdb.threads/{siginfo-thread.c,watchthreads-reorder.c,ia64-sigill.c} races with GDB 2015-01-09 13:58:29 +00:00
gold Handle stack split for x32 2015-01-06 15:38:25 -08:00
gprof Regenerate Makeile.in file for copyright update 2015-01-02 22:27:27 +10:30
include Use official ELF machine number for moxie 2015-01-09 07:13:07 -05:00
intl
ld ld/x86-64: adjust pr14207 test expectations 2015-01-08 14:10:36 +01:00
libdecnumber PR c/59871 c/ * c-typeck.c (build_compound_expr): Warn even for right-hand operand of a comma expression. (emit_side_effect_warnings): Likewise. libdecnumber/ * decNumberLocal.h (UBFROMUS, UBFROMUI): Remove last argument. testsuite/ * gcc.dg/20020220-2.c: Adjust dg-warning message. * gcc.dg/pr59871.c: New test. 2014-05-08 10:18:28 -06:00
libiberty Sync with gcc/libiberty. 2015-01-07 17:34:29 +00:00
opcodes Regenerate Makeile.in file for copyright update 2015-01-02 22:27:27 +10:30
readline Fix executable indicator in file name completion on Windows. 2014-12-30 21:14:25 +02:00
sim Regenerate sim/common/aclocal.m4 and sim/common/configure... 2015-01-07 14:00:06 +04:00
texinfo
.cvsignore
.gitattributes Add a .gitattributes file for use with git-merge-changelog 2014-07-25 18:07:23 -04:00
.gitignore
ChangeLog [GCC bug #63539]: libgo does not use the newly built objcopy when doing a combined build 2015-01-03 14:54:45 -08:00
compile Update from upstream Automake 2014-11-16 13:43:48 +01:00
config-ml.in
config.guess config.sub, config.guess: Update from upstream, to 2015-01-01 version. 2015-01-02 10:40:57 +01:00
config.rpath
config.sub config.sub, config.guess: Update from upstream, to 2015-01-01 version. 2015-01-02 10:40:57 +01:00
configure [GCC bug #63539]: libgo does not use the newly built objcopy when doing a combined build 2015-01-03 14:54:45 -08:00
configure.ac [GCC bug #63539]: libgo does not use the newly built objcopy when doing a combined build 2015-01-03 14:54:45 -08:00
COPYING
COPYING.LIB
COPYING.LIBGLOSS
COPYING.NEWLIB
COPYING3
COPYING3.LIB
depcomp Update from upstream Automake 2014-11-16 13:43:48 +01:00
djunpack.bat
install-sh Update from upstream Automake 2014-11-16 13:43:48 +01:00
libtool.m4 Update libtool.m4 from GCC trunk 2014-11-24 09:14:09 -08:00
ltgcc.m4
ltmain.sh PR target/59788 2014-02-06 11:01:57 +01:00
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS Update description of ownership of files in include/ 2014-11-04 16:14:14 -08:00
Makefile.def [GCC bug #63539]: libgo does not use the newly built objcopy when doing a combined build 2015-01-03 14:54:45 -08:00
Makefile.in [GCC bug #63539]: libgo does not use the newly built objcopy when doing a combined build 2015-01-03 14:54:45 -08:00
Makefile.tpl [GCC bug #63539]: libgo does not use the newly built objcopy when doing a combined build 2015-01-03 14:54:45 -08:00
makefile.vms
missing Update from upstream Automake 2014-11-16 13:43:48 +01:00
mkdep
mkinstalldirs Update from upstream Automake 2014-11-16 13:43:48 +01:00
move-if-change Update `move-if-change' from gnulib 2014-11-16 17:04:02 +01:00
README
README-maintainer-mode
setup.com
src-release.sh src-release.sh: configure using --target. 2014-10-15 09:50:53 +02:00
symlink-tree
ylwrap Update from upstream Automake 2014-11-16 13:43:48 +01:00

		   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.