Red Hat's newlib C library with support for Jehanne
Go to file
Christopher Faylor 8cb359d947 * child_info.h (child_info_spawn::hexec_proc): Eliminate.
* dcrt0.cc (dll_crt0_0): Remove hexec_proc stuff.
* fork.cc (fork_child): Remove call to pinfo_fixup_after_fork.
* pinfo.cc (set_myself): Close and zero pid_handle if set.
(pinfo_fixup_after_fork): Delete.
(proc_waiter): Don't close vchild.hProcess here.  Do that when we are remove
the vchild from procs.  Save hProcess as pid_handle only on first reparent
operation.
(pinfo::wait): Don't set pid_handle here.
(pinfo::alert_parent): Always try to send signal.  If unsuccessful then close
and zero wr_proc_pipe.
* pinfo.h (pinfo::pinfo): Make sure that appropriate parts of the class are
zeroed on construction.
(pinfo::alert_parent): Take char argument.
(pinfo_fixup_after_fork): Delete declaration.
(hexec_proc): Ditto.
* sigproc.cc (remove_proc): Close pid_handle and hProcess if appropriate.
* spawn.cc (spawn_guts): Set cygheap->pid_handle on first exec.
* cygheap.h (init_cygheap::pid_handle): New element.
* pinfo.cc (set_myself): Clear previously existing cygheap->pid_handle when a
new process has been started.
(pinfo::wait): Make sure that a handle to the newly forked/spawned process is
kept around so that the pid will not be reused.
* pinfo.h (_pinfo::pid_handle): Move.
(pinfo::pid_handle): to here.
* spawn.cc (spawn_guts): Create a pid_handle in cygheap prior to spawning to
ensure that the pid does not get reused during the lifetime of the "cygwin
pid".
* pinfo.h (pinfo::alert_parent): New function.
* exceptions.cc (sig_handle_tty_stop): Use alert_parent to send "signals" to
parent.
* fork.cc (fork_parent): Don't close pi.hProcess.  Let the waiter thread do
that.
* pinfo.cc (proc_waiter): Detect case where process exits without setting the
exit code and use value from GetExitCodeProcess.  Reluctantly implement
__SIGREPARENT.
(pinfo::alert_parent): Define.
* sigproc.h (__SIGREPARENT): New enum.
* spawn.cc (spawn_guts): Send reparent signal to parent on exec.  Always create
process in suspended state to avoid races.  Remove cygthread.h in favor of
cygtls.h throughout since cygtls now includes cygthread.h.  Eliminate
ppid_handle usage throughout.
* child_info.h: Regenerate magic number
(child_info): Remove pppid_handle.
* cygthread.h (cygthread::release): New method.  Frees thread without waiting.
* cygthread.cc (cygthread::stub): Set _ctinfo in _mytls to point to information
for executing thread.  Don't call SetEvent if thread is no longer in use.
(cygthread::simplestub): Ditto.
* cygtls.h (_cygtls::_ctinfo): New element contains pointer to information
about executing cygthread, if any.
* dcrt0.cc: Remove last vestiges of per_thread stuff.
(dll_crt0_0): Ditto.  Remove accommodation for ppid_handle.
(do_exit): Remove obsolete reparenting test.
(_exit): Exit with a more SUSv3-like exit value.
* dtable.cc (dtable::stdio_init): Check for myself->cygstarted rather than
myself->ppid_handle to see if we were started by a cygwin process.
* exceptions.cc (open_stackdumpfile): Ditto.
(handle_exceptions): Ditto.
(ctrl_c_handler): Ditto.
(sig_handle_tty_stop): Ditto.  Let parent send signal to itself on STOP.
(sigpacket::process): Comment out vfork test.
(signal_exit): Use more SUSv3-like exit value on signal.
* external.cc (fillout_pinfo): Don't set hProcess.
* fork.cc: Remove VFORK cruft.
(per_thread::set): Delete.
(fork_child): Remove perthread stuff.
(fork_parent): Remove obsolete subproc_init.  Accommodate new method for
tracking subprocesses.
* pinfo.cc (set_myself): Accommodate new pinfo/_pinfo layout.  Set some things
here that used to be set in wait_sig.
(_pinfo::exit): Set exitcode here.  Close process pipe.
(_pinfo::commune_send): Accommodeate new pinfo/_pinfo layout.
(proc_waiter): New function.  Waits, in a thread for subprocess to go away.
(pinfo::wait): New function.  Initialization for proc_waiter.
* pinfo.h (_pinfo::exitcode): New element.
(_pinfo::cygstarted): Ditto.
(_pinfo::wr_proc_pipe): Ditto.
(_pinfo::ppid_handle): Delete.
(_pinfo::hProcess): Delete.
(_pinfo::lock): Delete.
(pinfo::hProcess): New element.
(pinfo::lock): Ditto.
(pinfo::wait): Declare new function.
(pinfo::preserve): Define new function.
* sigproc.cc: Remove old stuff from wait_subproc thread based method.
(zombies): Remove.
(procs): New.
(my_parent_is_alive): Just check that the parent pid exists.
(mychild): Just use pinfo methods to determine if child is mine.
(proc_subproc): Revamp PROC_ADDCHILD to use pinfo::wait.  Remove
PROC_CHILDTERMINATED logic.  Use different method to remove processes from list
when SIGCHLD == SIG_IGN.
(proc_terminate): Gut.
(subproc_init): Delete.
(init_child_info): Remove setting of pppid_handle.
(checkstate): Revamp to only scan procs array.
(remove_proc): Rename from remove_zombie.  Don't close hProcess or pid_handle.
Don't release memory if it's myself.
(stopped_or_terminated): Change logic to handle new consolidated proc/zombie
array.
(wait_subproc): Delete.
* sigproc.h: Remove obsolete EXIT_* defines.
(subproc_init): Remove declaration.
* spawn.cc (spawn_guts): Remove reparenting stuff.  Use standard wait logic to
wait for child if started from a non-cygwin process.
* tlsoffsets.h: Regenerate.
* tty.cc (tty_init): Check for myself->cygstarted rather than
myself->ppid_handle to see if we were started by a cygwin process.
* include/sys/signal.h (external_pinfo::exitcode): Replace hProcess.
* include/sys/wait.h (WCOREDUMP): Define.
* fhandler_tty.cc (fhandler_tty_slave::read): Add debugging output for timeout
case.
* signal.cc (abort): Flag that we are exiting with the ABORT signal.
2004-11-26 04:15:10 +00:00
config Merge from gcc: 2004-09-25 00:26:33 +00:00
etc Replace i[3456]86 with i[3-7]86 2003-05-16 16:30:26 +00:00
include gas/ 2004-11-25 08:42:54 +00:00
libgloss Enable the iq2000 support 2004-10-28 08:18:18 +00:00
newlib 2004-11-24 Jeff Johnston <jjohnstn@redhat.com> 2004-11-24 22:34:47 +00:00
texinfo 2004-02-23 Andrew Cagney <cagney@redhat.com> 2004-02-23 19:37:48 +00:00
winsup * child_info.h (child_info_spawn::hexec_proc): Eliminate. 2004-11-26 04:15:10 +00:00
ChangeLog 2004-11-15 Kelley Cook <kcook@gcc.gnu.org> 2004-11-16 01:18:39 +00:00
compile 2004-11-15 Kelley Cook <kcook@gcc.gnu.org> 2004-11-16 01:18:39 +00:00
config-ml.in * config-ml.in: Pass FCFLAGS for multilibs, handle GFORTRAN 2004-11-08 15:28:01 +00:00
config.guess 2004-11-15 Kelley Cook <kcook@gcc.gnu.org> 2004-11-16 01:18:39 +00:00
config.if * config.if: Remove unused libc_interface determination. 2003-07-16 06:35:35 +00:00
config.sub 2004-11-15 Kelley Cook <kcook@gcc.gnu.org> 2004-11-16 01:18:39 +00:00
configure PR 18423 2004-11-12 19:38:13 +00:00
configure.in PR 18423 2004-11-12 19:38:13 +00:00
COPYING
COPYING.LIB
COPYING.LIBGLOSS 2002-12-20 Jeff Johnston <jjohnstn@redhat.com> 2002-12-20 21:36:01 +00:00
COPYING.NEWLIB 2004-02-02 Jeff Johnston <jjohnstn@redhat.com> 2004-02-03 00:05:49 +00:00
depcomp Merge from gcc: 2004-09-23 19:54:49 +00:00
djunpack.bat
gettext.m4 * gettext.m4: Quote names of macros to be defined by AC_DEFUN 2004-01-14 13:41:37 +00:00
install-sh 2004-11-15 Kelley Cook <kcook@gcc.gnu.org> 2004-11-16 01:18:39 +00:00
libtool.m4 knetbsd/kfreebsd patches from Robert Millan. 2004-07-21 19:21:41 +00:00
ltcf-c.sh 2004-10-05 Ulrich Weigand <uweigand@de.ibm.com> 2004-10-05 13:34:42 +00:00
ltcf-cxx.sh 2004-10-05 Ulrich Weigand <uweigand@de.ibm.com> 2004-10-05 13:34:42 +00:00
ltcf-gcj.sh knetbsd/kfreebsd patches from Robert Millan. 2004-07-21 19:21:41 +00:00
ltconfig 2004-10-05 Ulrich Weigand <uweigand@de.ibm.com> 2004-10-05 13:34:42 +00:00
ltmain.sh * ltmain.sh (relink_command): Fix typo in previous change. 2002-03-16 14:43:09 +00:00
MAINTAINERS Include Makefile.*, not just Makefile.in, in the top-level policy. 2004-06-09 22:48:28 +00:00
Makefile.def * Makefile.def: Add html support. 2004-11-13 17:42:50 +00:00
Makefile.in * Makefile.def: Add html support. 2004-11-13 17:42:50 +00:00
Makefile.tpl * Makefile.def: Add html support. 2004-11-13 17:42:50 +00:00
makefile.vms
missing 2004-09-07 Paolo Bonzini <bonzini@gnu.org> 2004-09-07 08:34:06 +00:00
mkdep
mkinstalldirs PR bootstrap/11932 2004-02-20 02:05:00 +00:00
move-if-change
README
README-maintainer-mode Update URL 2003-05-30 07:30:26 +00:00
setup.com
src-release 2004-10-19 Andrew Cagney <cagney@gnu.org> 2004-10-19 18:52:04 +00:00
symlink-tree * config-ml.in, symlink-tree: Add license. 2003-08-14 20:44:13 +00:00
ylwrap * ylwrap: Revert to previous version. 2004-09-24 13:21:46 +00: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.