2000-08-21  DJ Delorie  <dj@redhat.com>

	* include/cygwin/cygwin_dll.h (DECLARE_CYGWIN_DLL): hinstance,
	not handle.

Fri Aug 18 11:11:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* dtable.cc (dtable::dup2): Extend fdtab if newfd is out of current
	allocated bounds.

Sat Aug 12 01:47:28 2000  Christopher Faylor <cgf@cygnus.com>

	* mkvers.sh: Properly trap exit removal of temp file.  Remove debugging
	statement.

Sat Aug 12 01:37:56 2000  Christopher Faylor <cgf@cygnus.com>

	* poll.cc: Make winsup.h the first include file, re 2000-08-02 change.

Sat Aug 12 01:33:12 2000  Christopher Faylor <cgf@cygnus.com>

	* winsup.h: Split out dtable definitions into separate header file.
	* dtable.h: New file.
	* sigproc.h: Eliminate pinfo.h usage here.  Use it in source files that
	need it.

Sat Aug 12 01:08:11 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Use dtable.o rather than hinfo.o.

Sat Aug 12 00:47:11 2000  Christopher Faylor <cgf@cygnus.com>

	Rename hinfo -> dtable.  Name the former dtable array 'fdtab'.

Fri Aug 11 14:47:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* poll.cc: Allow any descriptor and any number of descriptors.
	Allocate fd_set struct sdynamically.

Fri Aug 11 14:47:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* poll.cc: Add bounds checking for file descriptors. Return POLLNVAL
	if fd is invalid. Return POLLERR for each valid fd if cygwin_select
	returned with error.
	include/sys/poll.h: Change POLLERR comment according to above change.

Thu Aug 10 21:54:29 2000  Christopher Faylor <cgf@cygnus.com>

	* syslog.cc (syslog): Use a less malloc-intensive method for allocating
	the buffer.  Also fix a buffer overrun.

Thu Aug 10 15:31:39 2000  Christopher Faylor <cgf@cygnus.com>

	* winsup.h: Change strchr inline for strange gcc problem.
	* select.cc (select_stuff::wait): Bounds check w4 array.

Thu Aug 10 15:17:53 2000  Christopher Faylor <cgf@cygnus.com>

	* dir.cc (readdir): Ensure that errno is *only* set when we've run out
	of filenames.
	* fhandler.cc (fhandler_disk_file::fstat): Use modern method for saving
	errno, making it effective for the whole function.

Tue Aug  8 22:25:39 2000  Christopher Faylor <cgf@cygnus.com>

	* select.cc (allocfd_set): Zero allocated fd_set.
	(cygwin_select): Move fd_set copying logic from ::wait to here.  Use
	common return through sell.poll.
	(select_stuff::wait): Just return success or failure and let caller
	fill in fd_set.
	* pinfo.h (pinfo): Eliminate self-referential pointer to sidbuf since
	pinfo structure exists at random locations now.
	* fork.cc (fork): Use 'use_psid' element to control when the psid is
	relevant.
	* shared.cc (sec_user): Ditto.
	* spawn.cc (spawn_guts): Ditto.
	* uinfo.cc (internal_getlogin): Ditto.
	* syscall.cc (seteuid): Ditto.  Set use_psid element.

Tue Aug  8 13:20:00 2000  Bob Wilson  <bwilson@tensilica.com>

	* fhandler_serial.cc (tcsendbreak): "sleeptime" argument to usleep()
	must be in units of microseconds, not milliseconds.

Mon Aug  7 00:11:35 2000  Christopher Faylor <cgf@cygnus.com>

	* include/cygwin/cygwin_dll.h: Remove extraneous (and incorrect)
	declarations.

Fri Aug  4 00:00:46 2000  Christopher Faylor <cgf@cygnus.com>

	* hinfo.cc (hinfo::find_unused_handle): Just check for table entry ==
	NULL since we are already bounds checked by default.
	* thread.cc (ResourceLocks::Lock): Streamline this function since it is
	called a lot.
	(ReleaseResourceLock): Ditto.

Thu Aug  3 20:44:39 2000  Christopher Faylor <cgf@cygnus.com>

	* select.cc (fhandler_console::select_read): Call set_cursor_maybe
	since select may block and cursor may not be visible.
	* select.cc (fhandler_console::select_write): Ditto.
	* select.cc (fhandler_console::select_except): Ditto.

Thu Aug  3 09:01:14 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler_tty.cc (fhandler_pty_master::process_slave_output): Set
	length field correctly when "need_nl".

Wed Aug  2 22:58:07 2000  Christopher Faylor <cgf@cygnus.com>

	* fork.cc (vfork): Store complete stack frame in vfork_save structure
	for later recovery.
	* spawn.cc (spawn_guts): Reorganize slightly to consolidate handling
	when there is a CreateProcess error.
	(_spawnve): Only longjmp back to vfork handling when a process has been
	successfuly started.
	* winsup.h (vfork_save): Extend to include frame info.  Remove obsolete
	cpplus conditionals.

Wed Aug  2 15:14:51 2000  Christopher Faylor <cgf@cygnus.com>

	* strace.cc (strace::prntf): Make second argument the function name,
	rather than use special format options.
	(strace::vprntf): Ditto.
	(getfunc): New function.
	* include/sys/strace.h: Reflect above changes.
	* smallprint.c (__small_vsprintf): Eliminate '%F' formatting.
	* pinfo.cc (set_myself): Modify for new strace::prntf parameter.
	* errno.cc (seterrno_from_win_error): Ditto.
	* fhandler_tty.cc (fhandler_tty_common::__acquire_output_mutex): Ditto.
	* fhandler_tty.cc (fhandler_tty_common::__release_output_mutex): Ditto.

Wed Aug  2 13:20:04 2000  Christopher Faylor <cgf@cygnus.com>

	* regexp/regexp.c: Add winsup.h.

2000-08-02  DJ Delorie  <dj@redhat.com>

	* winsup.h: take out protections of environ, errno, allow C use
	* *.cc: put winsup.h before other headers (for __INSIDE_CYGWIN__);
	use cur_environ() instead of just environ
	* times.cc: remove import protections
	* glob.c: add winsup.h
	* localtime.c: ditto
	* smallprint.c: ditto
	* Makefile.in: don't __INSIDE_CYGWIN__ as it messes up profiling.
	
Wed Aug  2 11:22:53 2000  Christopher Faylor <cgf@cygnus.com>

	* include/sys/strace.h: Fix strace definition.

Tue Aug  1 23:37:08 2000  Christopher Faylor <cgf@cygnus.com>

	* strace.h: Add kludgy workarounds to avoid using deprecated methods
	for variable argument macros when possible.
	* sigproc.cc: Throughout, use sigproc_printf rather than sip_printf.
	* strace.cc (strace::prntf): Remove 'active' check, since callers are
	supposed to ensure this.
	(__system_printf): Remove.  Subsumed by strace::prntf.
	* winsup.h: Define "NEW_MACRO_VARARGS" to indicate when to use new
	macro varargs capability.

Sun Jul 30 13:54:35 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler_console.cc: Remove VK_DIVIDE detection.
	(get_nonascii_key): Simplify previous patch to return ascii char if it
	is non-zero.  Add a second "temporary buffer" argument to help with
	thread safety.
	* select.cc (peek_console): Pass a temporary buffer argument to
	get_nonascii_key.

Sat Jul 29 14:32:12 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler_console.cc: Add VK_DIVIDE detection.  Return virtual keycode
	if it is not detected and it is less than ' '.

Sat Jul 29 13:33:49 2000  Christopher Faylor <cgf@cygnus.com>

	* path.cc (chdir): Avoid trailing dot calculation when chdir == '/'
	or we end up with an empty string.

Sat Jul 29 12:11:33 2000  Christopher Faylor <cgf@cygnus.com>

	* include/cygwin/version.h: Bump DLL minor version number to 5 due
	to all of the changes below.

Sat Jul 29 12:01:32 2000  Christopher Faylor <cgf@cygnus.com>

	Redefine process structure to avoid a fixed size table.  Redefine
	pinfo/_pinfo classes.  Use these throughout.
	* dcrt0.cc (dll_crt0_1): Accomodate set_myself argument change.
	(__api_fatal): Accomodate _pinfo::record_death argument change.
	* exceptions.cc (really_exit): Ditto.
	(sig_handle_tty_stop): Use pinfo constructor to access process info.
	(events_init): Don't create pinfo_mutex since it is no longer required.
	* external.cc (fillout_pinfo): Use winpids class to iterate over all
	system pids.
	(cygwin_internal): lock_pinfo_for_update and unlock_pinfo are now
	noops.
	* fhandler_termios.cc (fhandler_termios::set_ctty): Use pinfo
	constructor to access process info.
	* fork.cc (fork): Reorganize to initialize child info after the child
	has started since that is when we know the child's winpid, which is
	necessary to allocate the pinfo shared memory.
	* mmap.cc (recreate_mmaps_after_fork): Change arg type to _pinfo.
	* pinfo.cc: Rename pinfo methods to _pinfo throughout.  Eliminate
	pinfo_list stuff.
	(set_myself): Accept a pid argument now.  Call pinfo initializer to
	initialize myself.  Detect when this is an "execed" process and create
	an "indirect" pid block.
	(pinfo_init): Accomodate set_myself arg change.
	(procinfo): Remove.
	(pinfo::lock_pinfo): Remove.
	(pinfo::unlock_pinfo): Remove.
	(pinfo::init): New method.  Allocates shared memory space for process
	pinfo structure.
	(pinfo::record_death): Don't call locking functions.
	(cygwin_winpid_to_pid): Simplify by using new pinfo constructor.
	(EnumProcessesW95): New function for iterating over processes on
	Windows 95.
	(winpids::winpids): New constructor for winpids class.  Sets up a list
	of process ids.
	(enum_init): Initialize w95/wnt pid enumerators.
	* shared.cc (shared-info::initialize): Remove pid initialization.
	* shared.h: Move pinfo stuff into pinfo.h.
	(class shared_info): Remove pinfo_list element.
	* signal.cc (kill_worker): Use pinfo constructor to access process
	info.
	(kill_pgrp): Ditto.  Use winpids methods to access list of processes.
	* sigproc.cc: Throughout, modify to use _pinfo where appropriate.
	(proc_exists (pid_t)): New function.  Determines if a process exists
	based on the pid.
	(proc_exists (_pinfo *p): Use new proc_exists function above.
	(proc_subproc): Copy pinfo stuff around rather than _pinfo pointers.
	Try to be careful about releasing shared memory when we don't need it
	anymore.  Remove pinfo locks.
	(remove_zombies): Remove pinfo memory when zombie is going away.
	* sigproc.h: Reflect _pinfo/pinfo changes in sigproc.cc.
	* spawn.cc (spawn_guts): Eliminate pinfo *child argument.  Reorganize
	to only initialize child pinfo after process has been started and we
	know the windows pid.
	(_spawnve): Reflect spawn_guts changes.
	* syscalls.cc (setpgid): Use pinfo constructor to access process info.
	(getpgid): Ditto.
	(internal_getlogin): Use _pinfo.
	* winsup.h: Eliminate pinfo_mutex.  Eliminate spawn_guts declaration
	since it is static now.  Reflect set_myself argument change.
	* include/sys/cygwin.h: Add some PID_* enums to accomodate new pinfo
	stuff.

Sat Jul 29 12:13:27 2000  Christopher Faylor <cgf@cygnus.com>

	* include/cygwin/version.h: Update minor version for cygdrive changes
	below.

Sat Jul 29 11:59:29 2000  Christopher Faylor <cgf@cygnus.com>

	* environ.cc (parse_thing): Make binmode a DWORD.
	* hinfo.cc (hinfo::init_std_file_from_handle): Use 'binmode' to
	determine default open mode.
	* winsup.h: Declare binmode.

Sat Jul 29 00:16:35 2000  Christopher Faylor <cgf@cygnus.com>

	* include/cygwin/cygwin_dll.h: Update for modern compilers.
	* lib/cygwin_crt0.c: Inexplicably need to define alloca for newer
	compilers.
	* fhandler.h (fhandler_console): Add new method.
	* fhandler.cc (fhandler_console::set_cursor_maybe): New method.
	(fhandler_console::read): Set cursor if it has moved to make it
	visible.

Thu Jul 27 22:54:28 2000  Jason Tishler <jt@dothill.com>

	* dcrt0.cc (dummy_autoload): Add load statement for RegDeleteValueA.
	* external.cc (get_cygdrive_prefixes): New function.
	(cygwin_internal): Add CW_GET_CYGDRIVE_PREFIXES case.
	* path.cc (mount_info::read_cygdrive_info_from_registry): Read system
	cygdrive prefix if user one is undefined.
	(mount_info::write_cygdrive_info_to_registry): Write cygdrive prefix to
	the appropriate registry hive.  Overwrite in-memory copy of cygdrive,
	if appropriate.
	(mount_info::remove_cygdrive_info_from_registry): New method.
	(mount_info::get_cygdrive_prefixes): New method.
	(cygwin_umount): Remove cygdrive prefix, if appropriate.
	* registry.cc (reg_key::killvalue): New method.
	* shared.h (class reg_key): Add killvalue,
	remove_cygdrive_info_to_registry, and get_cygdrive_prefixes
	declarations.
	* include/sys/cygwin.h (cygwin_getinfo_types): Add
	CW_GET_CYGDRIVE_PREFIXES.

Thu Jul 27 23:33:32 2000  Christopher Faylor <cgf@cygnus.com>

	* include/cygwin/version.h: Bump DLL minor version number to 4.

2000-07-27  DJ Delorie  <dj@redhat.com>

	* testsuite/winsup.api/winsup.exp: ignore stdout by default
	* testsuite/winsup.api/crlf.c: non-verbose by default
	
	* winsup.h: prune out windows headers we don't normally need
	* assert.cc: add wingdi.h and winuser.h
	* fhandler_console.cc: ditto
	* fhandler_windows.cc: ditto
	* select.cc: ditto
	* spawn.cc: ditto
	* strace.cc: ditto
	* tty.cc: ditto
	* window.cc: ditto
	* hinfo.cc: add winsock.h
	* syscalls.cc: add winnls.h
	* uinfo.cc: ditto
	
Thu Jul 27 10:24:36 2000  Egor Duda <deo@logos-m.ru>

	* fhandler.cc (fhandler_disk_file::fstat): Allow block calculation to
	succeed for files >= 2GB and <= 4GB.

Wed Jul 26 16:05:04 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (signal_exit): Renamed from "really_exit".  Always sets
	EXIT_SIGNAL bit and reorganizes exit value for backwards cygwin
	handling.
	(handle_exceptions): Call signal_exit.  Set "core dumped" bit.
	(sig_handle): Call signal_exit.  Set "core dumped" bit appropriately.

Wed Jul 26 20:44:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* environ.cc (posify): Revert previous patch.
	(_addenv): Remove check_null_empty_path from here.
	(putenv): Call check_nullempty_path.
	(setenv): Call check_nullempty_path for name as well here.
	Don't report an error if value is empty string.
	(environ_init): Revert usage of newp.

Wed Jul 26 14:32:38 2000  Egor Duda <deo@logos-m.ru>

	* syscalls.cc (stat_worker): Make stat return correct st_blocks for
	files with size bigger than 2Gb and less than 4Gb

Wed Jul 26 17:43:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* security.cc (lookup_name): Search on local machine first if
	myself->domain is not empty.

2000-07-26  DJ Delorie  <dj@cygnus.com>

	* fhandler_console.cc (fhandler_console::read): Explicitly set cursor
	to make it visible while waiting in WaitForMultipleObjects.

Wed Jul 26 10:59:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* passwd.cc: Change name of passwd_in_memory_p to passwd_state.
	Change type to enum. Change storage class to static. Adjust comments.
	(read_etc_passwd): Set passwd_state to different values when loaded
	from file in contrast to being emulated.
	(search_for): Return default passwd entry if passwd is emulated or
	it's a request for the current user. Otherwise return NULL.

Tue Jul 25 21:50:42 2000  Christopher Faylor <cgf@cygnus.com>

	* syscalls.cc (statfs): Use path_conv method to convert input path.

Tue Jul 25 21:40:51 2000  Christopher Faylor <cgf@cygnus.com>

	* syscalls.cc (_link): Avoid extraneous call to
	cygwin_conv_to_win32_path.

Tue Jul 25 21:11:15 2000  Christopher Faylor <cgf@cygnus.com>

	* environ.cc (_addenv): New function.  Subsumes functionality of
	putenv/setenv.  Does not allocate space for putenv case.
	(putenv): Use _addenv to add a value to the environment.
	(setenv): Ditto.
	(environ_init): Don't malloc space for each entry in the environment
	table.  Just use the space from GetEnvironmentStrings.
	(posify): Don't free the src argument since it is no longer malloced.

Mon Jul 24 21:10:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* syscalls.cc (_link): Corrected previous patch.

Mon Jul 24 13:26:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* fhandler.h (class fhandler_dev_random): Add members for managing
	pseudo randomness.
	* fhandler_random.cc: Rearrange. Use pseudo random number generator
	as entropy source if system entropy isn't available and if device is
	used as /dev/urandom. Allow initializing device by calling write().

Sun Jul 23 23:11:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* fhandler.h: Add comment.

Sun Jul 23 20:00:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* fhandler.h (class fhandler_dev_raw): Add private member `varblkop'
	to be set when variable blocksize mode is on.
	* fhandler_raw.cc: Eliminate `\n' from trace output.
	(clear): Set `varblkop' to 0.
	(dup): Copy varblkop as well.
	(writebuf): Care for variable blocksize.
	(open): Ditto.
	(raw_read): Ditto.
	(raw_write): Ditto.
	* fhandler_tape.cc (open): Ditto.
	(ioctl): Ditto. Some cleanups.

Sat Jul 22 18:40:00 2000  Corinna Vinschen <corinna@vinschen.de>

	Patch suggested by Kazuhiro Fujieda  <fujieda@jaist.ac.jp>.
	* winsup.h: Add new macros sys_wcstombs and sys_mbstowcs.
	* syscalls.cc (_link): Replace calls to mbstowcs by call to
	sys_mbstowcs.
	* uinfo.cc (internal_getlogin): Replace calls to wcstombs and
	mbstowcs by calls to sys_wcstombs and sys_mbstowcs. Replace
	usage of constants by meaningful defines. Use result of
	GetSystemDirectory for HOMEPATH and HOMEDRIVE as a last resort.

Fri Jul 21 21:33:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* spawn.cc (span_guts): Retrieve security attributes before setting
	psid to NULL.

Fri Jul 21 12:03:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* security.cc (acl_worker): Use stat_suffixes in call to path_conv
	just as in `stat_worker'.

Wed Jul 19 22:24:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* spawn.cc (spawn_guts): Don't restore impersonation in case
	of _P_OVERLAY. Clean up slightly. Accomodate comments.

Wed Jul 19 22:11:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* shared.h (class pinfo): New members `root' and `rootlen'.
	* syscalls.cc (chroot): Set new root for process.
	* path.cc (getcwd_inner): Add parameter to force use of
	new root from chroot() call.
	(ischrootpath): New macro.
	(normalize_posix_path): Care for changed root dir.
	(normalize_win32_path): Ditto.
	(getcwd_inner): Ditto.
	(chdir): Eliminate trailing path component consisting
	entirely of dots.
	* fork.cc (fork): Copy pinfo members regarding chroot().
	* spawn.cc (_spawnve): Ditto.
	* dir.cc (opendir): Don't use computed win32 path if
	chroot() took place.

Mon Jul 17 22:21:34 2000  Christopher Faylor <cgf@cygnus.com>

	* dll_init.cc (dll_list::alloc): Fix debugging output.

Mon Jul 17 14:57:53 2000  Christopher Faylor <cgf@cygnus.com>

	Throughout, eliminate third argument to path_conv and use new PC_*
	constants for second argument.
	* dcrt0.cc (dll_crt0_1): Reorganize to allow more initialization prior
	to returning due to dynamic loading.
	* path.h: Generalize SYMLINK_* constants to PC_*.
	(path_conv): Create a new method.  Fold third argument into second.
	* dll_init.cc (dll_list::alloc): Try harder to find space to allocate
	dll struct.
	(dll_dllcrt0): Don't check sanity if we've already called dll_crt0.
	* path.cc (path_conv::check): Don't check for a null or empty path
	unless specifically told with a flag setting.
	(check_null_empty_path): New function, adapted from macro.
	* syscalls.cc (_rename): Use already-determined file attributes rather
	than checking again.
	* lib/cygwin/cygwin_attach.dll.c (cygwin_attach_dll): Use a static
	per_process structure since this is apparently supposed to be zeroed.
	* lib/cygwin_crt0.c (cygwin_crt0): Zero per_process structure sent to
	older DLLs.

Mon Jul 17 19:39:00 2000  Corinna Vinschen <corinna@vinschen.de>

	Patch suggested by Eric Fifer <EFifer@sanwaint.com>
	* poll.cc (poll): Fix erroneous negations.

Mon Jul 17 17:56:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* environ.cc (setenv): Use __cygwin_environ instead of
	environ after reallocating environment space.

Sun Jul 16 20:23:21 2000  Christopher Faylor <cgf@cygnus.com>

	* _cygwin_crt0_common.cc: Undef 'environ' or suffer compiler error.

Sun Jul 16 16:03:00 2000  Christopher Faylor <cgf@cygnus.com>

	* environ.cc: Use new definition of "environ" throughout.
	(environ_init): Explicitly initialize __cygwin_environ.
	(cur_environ): New function.  Detects when user has updated
	their environment.
	* exec.cc: Use 'environ' define throughout rather than __cygwin_environ.
	* spawn.cc: Ditto.
	* winsup.h: Declare cur_environ, main_environ, environ.

Sun Jul 16 13:23:04 2000  Christopher Faylor <cgf@cygnus.com>

	* acconfig.h: Add support for NEWVFORK.
	* config.h.in: Ditto.
	* configure.in: Add --enable-vfork option.
	* configure: Regenerate.
	* dcrt0.cc (quoted): Detect and fix up quoted backslashes.
	* sigproc.cc (proc_subproc): Correctly name handle of newly added child
	process to avoid erroneous debugging messages about closing the wrong
	handle.

Sun Jul 16 02:30:09 2000  Christopher Faylor <cgf@cygnus.com>

	* spawn.cc (spawn_guts): Use \ for quoting '"'.
	* dcrt0.cc (quoted): Understand \ quoting for '"'.

Sun Jul 16 00:32:58 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (build_argv): Strip quotes from argv[0] since it should
	never be globified.

Sat Jul 15 00:32:41 2000  Christopher Faylor <cgf@cygnus.com>

	* dll_init.cc (dll_list::alloc): Round correctly.  Use VirtualAlloc
	since shared file mapping is unnecessary.
	(dll_list::detach): Release memory via VirtualFree since there we no
	longer use shared file mapping.

Fri Jul 14 22:40:22 2000  Christopher Faylor <cgf@cygnus.com>

	* hinfo.cc (hinfo::linearize_fd_array): Make max_used_fd an int so that
	we can detect when there are no fds to pass.
	* dcrt0.cc (host_dependent_constants::init): Revert Sat Mar 18 01:32:04
	2000 change.
	(dll_crt0_1): Set "cygwin_finished_initializing" flag.
	(dll_crt0): Don't perform memcpy if uptr is already set to internal
	structure.
	(_dll_crt0): Remember location of programs envptr.
	* dll_init.h (per_module, dll, dll_list): Revamp.
	* dll_init.cc: Revamp.  Use new classes.
	* fork.cc (fork): Use new revamped dll, dll_list, and per_module stuff.
	* environ.cc: Use __cygwin_environ throughout rather than the
	user_data->envptr.
	* exec.cc: Ditto.
	* spawn.cc: Ditto.
	* winsup.h: Declare update_envptrs, cygwin_finished_initializing.
	* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Revert previous
	change.
	* lib/cygwin_attach_dll.cc (cygwin_attach_dll): Always pass in own
	per_process structure or we end up overwriting information from the
	main program.

Wed Jul 12 00:46:00 2000  Christopher Faylor <cgf@cygnus.com>

	* debug.cc (thread_stub): Use impure_ptr in place of reent_data.
	* dll_init.cc (dll_dllcrt0): Replace erroneous use of local symbol with
	correct __cygwin_user_data->impure_ptr.

Wed Jul 12 00:01:03 2000  Christopher Faylor <cgf@cygnus.com>

	* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Don't reset
	environ if already set.

Mon Jul 10 19:07:03 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler_console.cc (fhandler_console::read): Unicode interface
	to ReadConsoleInput only exists on W2K, so use workaround from
	Kazuhiro Fujieda  <fujieda@jaist.ac.jp>.

Mon Jul 10 11:30:00 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in (install): Install textmode.o as well as binmode.o.
	* fhandler_console.cc (fhandler_console::read): Use UNICODE when
	reading from the console and translate to ASCII from that.

Sun Jul  9 21:52:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* spawn.cc (spawn_guts): Close handle `hToken' only if it's not
	copied from myself->token.
	* syscalls.cc (seteuid): Replace CopySid by memcpy which is foolproof
	here.

Sun Jul  9 01:19:06 2000  Christopher Faylor <cgf@cygnus.com>

	* cygwin.din: Export _getmode and getmode to allow querying of binary
	state of an fd.
	* external.cc (cygwin_internal): Add handling of perfile_table setting.
	* fhandler.cc (perfile_table): New global.
	(fhandler_base::get_default_fmode): New method to return a file's
	default mode based on its name.
	(fhandler_base::open): Use get_default_mode method to determine a
	file's mode.  Record file mode in file flags.
	* fhandler.h (fhandler_base): Declare get_default_fmode
	* syscalls.cc (getmode): New function.
	* sys/cygwin.h (__cygwin_perfile): New structure.
	(cygwin_getinfo_types): Move outside of WINVER conditional.
	(per_process): Move inside of WINVER conditional.

Sat Jul  8 00:15:01 2000  Christopher Faylor <cgf@cygnus.com>

	* external.cc (cygwin_internal): Export __cygwin_user_data.
	* include/sys/cygwin.h: Allow definition of per_process even when not
	compiling with C++.
	(cygwin_getinfo_types): Add CW_USER_DATA.
	* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Get
	__cygwin_user_data pointer from cygwin_internal.  If it doesn't exist,
	return failure.  Use either this pointer or passed in pointer
	throughout.  Clear forkee.
	* lib/crt0.h: Accomodate argument changes to _cygwin_crt0_common.
	* lib/cygwin_attach_dll.c (cygwin_attach_dll): Reorganize to allow use
	of newer binaries with older DLLs.  Detect older DLLs when
	_cygwin_crt0_common returns 0 and allocate space for a per_process
	structure on the stack.
	* lib/cygwin_crt0.c (cygwin_crt0): Ditto.

Fri Jul  7 10:31:00 2000  Corinna Vinschen  <corinna@vinschen.de>

	* include/sys/cygwin.h: Hide internal data types in per_process
	when not __INSIDE_CYGWIN__.

Wed Jul  5 18:56:58 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (__cygwin_user_data): Initialize.
	(dll_crt0_1): Eliminate user_data initialization.
	(dll_crt0): Set up impure_ptr_ptr for older executables.
	(cygwin_dll_init): Eliminate user_data initializations.
	(__api_fatal): Don't check for user_data initialization.
	* dll_init.cc (struct dll): Store entire contents of per_process rather
	than just a pointer.
	(add): Ditto.
	(initOneDll): Don't check for user_data initialization.
	(DllList::recordDll): Store contents of per_process argument.
	(DllList::detachDll): Pass address of per_process field.
	(DllList::initAll): Ditto.
	(DllList::doGlobalDestructorsOfDlls): Ditto.
	(DllListIterator::operator *): Ditto.
	(dll_dllcrt0): Default to __cygwin_user_data if arg is NULL.
	* include/sys/cygwin.h: Reorganize per_process to eliminate obsolete
	fields and accomodate new way of initializing.
	* lib/_cygwin_crt0_common: Initialize _impure_ptr from
	__cygwin_user_data.impure_ptr.

2000-07-04  Vadim Egorov  <egorovv@mailandnews.com>

	* exceptions.cc (try_to_debug): Prevent recursive spawning of JIT
	debugger.  Treat special event from debugger as command to continue.

Mon Jul  4 19:29:00 2000  Corinna Vinschen  <corinna@vinschen.de>

	* poll.cc (poll): Zero out `open_fds' as well.

Mon Jul  4 1:22:00 2000  Corinna Vinschen  <corinna@vinschen.de>

	* include/cygwin/version.h: Bump API minor version to 24.

2000-07-04  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>

	* security.cc (read_sd): Eliminate OemToChar.

Mon Jul  4 18:57:00 2000  Corinna Vinschen  <corinna@vinschen.de>

	* poll.cc: New file. Implement `poll' system call.
	* include/poll.h: Ditto.
	* include/sys/poll.h: Ditto.
	* Makefile.in: Add poll.o as dependency.
	* cygwin.din: Add poll and _poll symbols.

2000-07-04  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>

	* dcrt0.cc (dll_crt0_1): Eliminate SetFileApisToOEM and CharToOem.
	* (dummy_autoload): Add functions used in fhandler_console.
	* fhandler_console.cc (fhandler_console::read): Use ENCHANCED_KEY flag
	to distinguish extended keys.  Translate an input character from the
	OEM code page to the ANSI code page.
	* (fhandler_console::write_normal): Translate output characters from
	the ANSI code page to the OEM code page.
	* syscalls.cc (_link): Use MultiByteToWideChar instead of OemToCharW.

Mon Jul  3 16:09:16 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (stack_info::walk): Use method to find offset.
	(handle_exceptions): Be more assertive in finding ebp for use under
	W2K.  Create a dummy stack frame for cases where program is dying and a
	stack dump is being output.
	(sig_handle): Fill out a GetThreadContext for use with a user-generated
	"core dump".

Mon Jul  3 10:53:00 2000  Corinna Vinschen  <corinna@vinschen.de>

	* include/cygwin/socket.h: Remove SOCK_PACKET define since it's
	not supported by Windows sockets.

Sun Jul  2 21:50:48 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (user32_init): Add primitive guard against concurrent
	attempts to call this function.  Also add temporary debugging code to
	display a message if the function is called multiple times.
	(api32_init): Ditto.

Sun Jul  2 10:39:00 2000  Corinna Vinschen  <corinna@vinschen.de>

	* winsup.h: Define MAX_SID_LEN and new MAX_HOST_NAME.
	* fork.cc (fork): Use above defines instead of numerical constants.
	* shared.cc (sec_user): Ditto.
	* shared.h (class pinfo): Ditto.
	* syscall.cc (seteuid): Ditto.
	* spawn.cc (_spawnve): Ditto. Eliminate conditional.
	(spawn_guts): Set child->uid = USHRT_MAX when user context will be
	changed in child process.
	* uinfo.cc (uinfo_init): Check for myself->uid instead of myself->psid
	to avoid reloading of /etc/passwd on process startup if ntsec is off.
	Use above defines instead of numerical constants.
	* security.cc: Move define for MAX_SID_LEN to winsup.h.

Sun Jul  2  1:57:00 2000  Corinna Vinschen  <corinna@vinschen.de>

	* uinfo.cc (uinfo_init): Eliminate calls to read_etc_group()
	and read_etc_passwd().

2000-06-28  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>

	* assert.cc (__assert): Reduce dependency on newlib.
	* exec.cc: Eliminate unnecessary inclusion of ctype.h.
	* glob.c: Ditto.
	* hinfo.cc: Ditto.
	* init.cc: Ditto.
	* strace.cc: Ditto.
	* tty.cc: Ditto.
	* grp.cc (parse_grp): Eliminate atoi.
	* passwd.cc (grab_int): Ditto.
	* grp.cc (getgroups): Eliminate str{n,}casecmp.
	* path.cc (get_raw_device_number): Ditto.
	* path.cc (sort_by_native_name): Ditto.
	* spawn.cc (iscmd): Ditto.
	* uinfo.cc (internal_getlogin): Ditto.

Sat Jul  1 11:43:32 2000  Christopher Faylor <cgf@cygnus.com>

	* binmode.c (cygwin_premain0): Fix erroneous clearing of bit.
	* textmode.c (cygwin_premain0): Ditto.

Sat Jul  1 00:24:04 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (_dll_crt0): Renamed from dll_crt0 ().
	* winsup.h: Accomodate above change.
	* cygwin.din: Ditto.
	* lib/cygwin_crt0.c: Ditto.

Fri Jun 30 23:21:40 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Use variables rather than configure constructs where
	appropriate.
	(LIBCOS): Find additional stub library stuff in their own subdirectory.
	* dcrt0.cc: Convert user_data pointer to static __cygwin_user_data
	area.
	(do_global_ctors): Check magic_bisquit for initialization.
	(dll_crt0_1): First group of premain functions prior to fd
	initialization.  Run second group before calling main.
	(dll_crt0 ()): New function, called from new initialization code.
	(dll_crt0 (per_process *uptr)): Call new dll_crt0 () function on
	initialization.
	* debug.cc (thread_stub): Initialize bottom of stack with per-thread
	info.
	* environ.cc (parse_thing): Use binmode global to control
	CYGWIN=binmode behavior.
	* fhandler.cc (fhandler_base::open): Allow explicit setting of __fmode
	to O_BINARY or O_TEXT to override disk mount settings.
	* libcmain.cc: Move to lib subdirectory.
	* libccrt0.cc: Ditto.
	* dll_main.cc: Ditto.
	* dll_entry.cc: Ditto.
	* getopt.c: Ditto.
	* thread.cc (thread_init_wrapper): Call ExitThread explicitly rather
	than returning, as a preliminary step towards placing per thread info
	at the bottom of the stack.
	* winsup.h: Move per_process class to include/sys/cygwin.h.  Declare
	new dll_crt0().
	* include/cygwin/version.h: Bump API minor version.
	* binmode.c: New file.
	* textmode.c: Ditto.
	* perthread.h: Ditto.
	* lib/_cygwin_crt0_common.cc: Ditto.
	* lib/crt0.h: Ditto.
	* lib/cygwin_attach_dll.c: Ditto.
	* lib/cygwin_crt0.c: Ditto.
	* lib/dll_entry.cc: Ditto.
	* lib/dll_main.cc: Ditto.
	* lib/getopt.c: Ditto.
	* lib/libcmain.c: Ditto.
	* lib/premain0.c: Ditto.
	* lib/premain1.c: Ditto.
	* lib/premain2.c: Ditto.
	* lib/premain3.c: Ditto.

Wed Jun 28 19:36:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* syscalls.cc (seteuid): Initialize pi.token before calling
	internal_getlogin().
	* uinfo.cc (internal_getlogin): Use impersonation token instead
	of process token in case of active impersonation. Add some comments.
	(uinfo_init): Initializing myself->token and myself->impersonated
	before calling internal_getlogin(). Add some comments.

Mon Jun 26 18:32:41 2000  Christopher Faylor <cgf@cygnus.com>

	* windows.cc (setitimer): Round up when < 1000 usecs.

Mon Jun 26 17:34:54 2000  Christopher Faylor <cgf@cygnus.com>

	* hinfo.cc (hinfo::dup2): Eliminate compiler warning.

Mon Jun 26 11:25:29 2000  Christopher Faylor <cgf@cygnus.com>

	* hinfo.cc (hinfo::dup2): Guard against out of bounds newfd.

Sat Jun 24 23:43:06 2000  Christopher Faylor <cgf@cygnus.com>

	* grp.cc (read_etc_group): Open file in text mode.
	* pwd.cc (read_etc_passwd): Ditto.
	* shared.h: Bump PROC_MAGIC.

Sat Jun 24 19:30:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* fork.cc (fork): Fix error in copying SID pointer.
	* spawn.cc (_spawnve): Ditto.
	* passwd.cc: Remove static from `passwd_in_memory_p'.
	(read_etc_passwd): Remove static.
	* uinfo.cc: Move global declaration of `read_etc_group' and
	`group_in_memory_p' into `uinfo_init'.
	(internal_getlogin): Try to get SID from current process first.
	(uinfo_init): Don't set uid and gid if `myself' has a valid SID.
	Only load /etc/passwd and /etc/group in that case.

Sat Jun 24 12:29:59 2000  Christopher Faylor <cgf@cygnus.com>

	* shared.cc (shared_info::initialize): Improve error message clarity.
	* mkvers.sh: Eliminate debugging output.

Thu Jun 22 17:50:59 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Autogenerate cygwin.def when appropriate.
	* include/sys/cygwin.h: Correct prototype.

Thu Jun 22 17:05:04 2000  Christopher Faylor <cgf@cygnus.com>

	* include/sys/cygwin.h: Don't define parts of this file that rely on
	Windows headers unless the Windows header was previously included.

Thu Jun 22 20:45:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* registry.cc (load_registry_hive): Use HKEY_USERS when checking
	for existing user hive.
	Use MAX_PATH instead of numerical constant for array size.
	Use return code of RegLoadKeyA instead of GetLastError for error output.

Thu Jun 22 14:27:04 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Add new-libcygwin.a back to all_host target.

Wed Jun 21 14:32:42 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Add *.def to clean operation.

Wed Jun 21 13:18:23 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Add *.exe to clean operation.

Wed Jun 21 01:02:38 2000  Christopher Faylor <cgf@cygnus.com>

	* mkvers.sh: Fix sed usage for older seds.

Tue Jun 20 20:46:28 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Don't touch winver_stamp if mkvers.sh was unsuccessful.

Tue Jun 20 17:41:30 2000  Christopher Faylor <cgf@cygnus.com>

	* mkvers.sh: Fix problem with handling of CVS tags causing .rc syntax
	errors.

Tue Jun 20 13:38:12 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Change to build the DLL during a cross-compiler build.

Mon Jun 19 20:46:33 2000  Christopher Faylor <cgf@cygnus.com>

	* select.cc (socket_cleanup): Shutdown I/O on dummy sockets prior to
	closing them.

Mon Jun 19 19:35:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* dcrt0.cc: Add load statements for `GetSidIdentifierAuthority'
	and `RegLoadKeyA'.
	* registry.cc (get_registry_hive_path): New function.
	(load_registry_hive): Ditto.
	* security.cc (convert_sid_to_string_sid): New function.
	(get_ssid): Renamed to `convert_string_sid_to_sid'.
	(get_pw_sid): Call `convert_string_sid_to_sid' instead of `get_ssid'.
	(get_gr_sid): Ditto.
	(get_admin_sid): Ditto.
	(get_system_sid): Ditto.
	(get_creator_owner_sid): Ditto.
	(get_world_sid): Ditto.
	* shared.h: New prototypes for `get_registry_hive_path' and
	`load_registry_hive'.
	* spawn.cc (spawn_guts): Set child->psid to NULL to force calling
	`internal_getlogin' from child process in case of changing user context.
	Call `load_registry_hive' in case of changing user context.
	(_spawnve): Copy user infos only if user context remains the same.
	* uinfo.cc: Add load statement for `NetUserGetInfo'.
	Remove load statement for `NetGetDCName'.
	(internal_getlogin): Rewrite to speed up process startup
	and to correct user environment in case user context changes.
	(uinfo_init): Call internal_getlogin only if myself->psid is NULL,
	that is user context changes.
	* winsup.h: Add prototypes for `convert_sid_to_string_sid',
	`convert_string_sid_to_sid' and `get_pw_sid'.

Sun Jun 18 13:42:50 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler.h (set_name): Don't use 'unix' as name since this is defined
	by gcc now.
	* fhandler.cc (set_name): Ditto.

2000-06-17  Kazuhiro Fujieda <fujieda@jaist.ac.jp>

	* winsup.h (isabspath): Don't report `C:foo' as an absolute path.

Sat Jun 17 13:51:48 2000  Christopher Faylor <cgf@cygnus.com>

	* configure.in: Detect "cross-hosting" situation and set appropriate
	variables in Makefile to avoid building excess stuff.
	* configure: Regenerate.
	* Makefile.in: Accomodate above change.

Sat Jun 17 19:52:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* pinfo.cc (pinfo_init): Revert previous patch.

Sat Jun 17 13:29:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* pinfo.cc (pinfo_init): Add missing initializers.
	* uinfo.cc (internal_getlogin): Request domain infos only
	when ntsec is ON.

Fri Jun 16 19:27:27 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Just use library files from this tree when building
	cygrun.exe.
	* path.cc (chdir): Don't set cache to offending chdir.  Change comment
	to reflect current reality.

Fri Jun 16 20:55:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* cygwin.din: Define symbols for `cygwin_logon_user' and
	`cygwin_set_impersonation_token'.
	* dcrt0.cc (dll_crt0_1): Eliminate superfluous conditional
	statements.
	Add load statements for `ImpersonateLoggedOnUser', `LogonUserA'
	and `RevertToSelf'.
	* fork.cc (fork): Care for correct impersonation of parent
	and child process.
	* security.cc (cygwin_set_impersonation_token): New function.
	(cygwin_logon_user): Ditto.
	shared.h (class pinfo): New members `orig_uid', `orig_gid',
	`real_uid' nad `real_gid'.
	spawn.cc (spawn_guts): Care for impersonation when starting
	child process in a different user context.
	* syscalls.cc (setgid): Call `setegid' now. Set real_gid.
	(setuid): Call `seteuid' now. Set real_uid.
	(seteuid): Functionality moved from setuid to here. Care for
	correct impersonation.
	(setegid): Functionality moved from setgid to here.
	* uinfo.cc (uinfo_init): Initialization of additional pinfo
	members.
	(getuid): Return real uid.
	(getgid): Return real gid.
	(geteuid): Return effective uid.
	(getegid): Return effective gid.
	include/sys/cygwin.h: Add prototypes for `cygwin_logon_user' and
	`cygwin_set_impersonation_token'.
	include/cygwin/version.h: Bump API minor version to 22.

Thu Jun 15 15:43:50 2000  Christopher Faylor <cgf@cygnus.com>

	* path.cc (normalize_posix_path): Convert path to POSIX if it seems to
	be a Windows path.

2000-06-15 Kazuhiro Fujieda  <fujieda@jaist.ac.jp>

	* path.cc (mount_info::add_item): Eliminate a trailing backslash
	included in a native path starting with '//[A-Za-z]/...'.
	* path.cc (mount_info::del_item): Accept a native path as its target.

Wed Jun 14 23:47:19 2000  Christopher Faylor <cgf@cygnus.com>

	* environ.cc (conv_envvars): Detect and convert all environment
	variables used by libiberty's choose-temp.c

Tue Jun 13 12:41:41 2000  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>

	* path.cc (mount_info::add_item): The previous patch can't handle
	the case of overwriting a mount entry.

Tue Jun 13 00:17:04 2000  Christopher Faylor <cgf@cygnus.com>

	* thread.h: Shorten "current_directory" variables to "cwd_*"
	throughout.
	* path.cc: Ditto.
	(normalize_posix_path): Add some extra debugging info.
	(chdir): Ditto.  Store chdir'ed posix and MS-DOS directory names in
	"cache" here rather than trying to derive them later.

Sun Jun 11 15:57:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* fhandler_random.cc (read): Call CryptAquireContext with
	CRYPT_VERIFYCONTEXT.

Thu Jun  8 22:49:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* path.cc (path_conv::check): Erase two lines checked in
	by mistake.

Thu Jun  8 15:53:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* fhandler.cc (fhandler_disk_file::open): Check for directory
	to set O_DIROPEN on directories anyway.

2000-06-07  Kazuhiro Fujieda <fujieda@jaist.ac.jp>

	* path.cc (mount_info::init): Eliminate the mount_slash feature.
	(mount_slash): Eliminated.
	(mount_info::read_mounts): Eliminate looking up existing entries. The
	loop for deleting cygpath entries is done only when such entries exist.
	(mount_info::from_registry): Eliminate sorting.
	(mount_info::add_item): Call add_reg_mount if necessary. Check nmounts
	more precisely. Use strcasematch in looking up existing entries.
	(mount_info::del_item): Call del_reg_mount if necessary. Use
	strcasematch. Use memmove instead of memcpy.
	(mount_info::import_v1_registry): Everything is done in this method.
	(mount_info::to_registry): Eliminated.
	(mount_info::from_v1_registry): Eliminated.
	(cygwin_umount): Simply call del_item.
	* shared.h: Modify the declaration of add_item and del_item. Remove the
	declaration of from_v1_registry.

Wed Jun  7 23:56:10 2000  Christopher Faylor <cgf@cygnus.com>

	* include/cygwin/version.h: Bump DLL minor version number to 3.

2000-06-07  DJ Delorie  <dj@cygnus.com>

	* cygwin.din: add cygwin_dll_init
	* dcrt0.cc (cygwin_dll_init): new
	(dll_crt0_1): short circuit if manually loaded
	* path.cc (mount_info::init): don't init if manually loaded

Wed Jun  7 13:47:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* include/netinet/in_systm.h: New file.
	* include/cygwin/in_systm.h: Ditto.

Thu Jun  1 01:55:45 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc: Remove unneeded include.
	* dcrt0.cc: Wrap LoadDLLfunc stuff in dummy function.
	* init.cc: Ditto.
	* uinfo.cc: Ditto.

2000-05-31  DJ Delorie  <dj@cygnus.com>

	* include/cygwin/version.h: use decimal, NOT octal

Wed May 31 16:40:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* fhandler.cc (fhandler_disk_file::open): Check for executable
	even if ntsec is on if filesystem doesn't support ACLs.

Wed May 31 15:57:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* dcrt0.cc: Use LoadDLLfuncEx for loading Crypto API functions
	with parameter `notimp' set to 1.

Tue May 30 16:58:33 2000  Christopher Faylor <cgf@cygnus.com>

	* path.cc (mount_info::conv_to_win32_path): Previous patch was too
	aggressive in adding a trailing slash.

Mon May 29 20:31:01 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Remove libadvapi32.a.
	* autoload.h: Add additional field to autoload block for handling
	unimplemented functions.
	(LoadDLLfuncEx): New function which accepts additional parameter for
	controlling unimplemented function behavior.
	(LoadDLLfunc): Use LoadDLLfuncEx.
	* dcrt0.cc: Use new arguments for LoadDLLfunc.  Add advapi32 routines.
	(noload): Rewrite in assembler.  Handle new unimplemented function
	type.
	* exceptions.cc: Eliminate another vestige of StackWalk stuff.
	* net.cc: Use new arguments for LoadDLLfunc.
	* uinfo.cc: Ditto.

Mon May 29 20:18:47 2000  Christopher Faylor <cgf@cygnus.com>

	* config.h.in: Remove obsolete define.
	* path.h (isdrive): New macro.
	* dcrt0.cc (globify): Use new macro to determine if a string refers to
	an MS-DOS drive.
	* environ.cc (winenv): Ditto.
	* spawn.cc (find_exec): Ditto.
	* path.cc (get_raw_device_number): Ditto.
	(mount_info::conv_to_posix_path): Ditto.
	(chdir): Ditto.
	(cygwin_posix_path_list_p): Ditto.
	(cygwin_split_path): Ditto.
	(path_conv::check): Move tmp_buf to beginning of function since it can
	be used earlier in the loop.  Use tmp_buf rather than 'root' to hold
	root information.
	(mount_info::conv_to_win32_path): Add trailing slash to end of mount
	path when it translates to a drive.  Add defensive code to avoid
	writing beyond the end of 'dst'.

Sat May 27 15:57:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* fhandler_random.cc (read): Use CRYPT_MACHINE_KEYSET in
	call to CryptAcquireContext() to serve users that did not
	log in interactively.

Fri May 26 11:16:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* errno.cc (errmap): Map ERROR_BAD_NET_NAME to errno ENOSHARE.

Fri May 26 02:23:35 2000  Christopher Faylor <cgf@cygnus.com>

	* sigproc.h (sigframe::set): Accept a default frame pointer.
	* sigproc.cc (sig_send): Use passed in frame pointer, if appropriate.

Thu May 25 17:44:25 2000  Christopher Faylor <cgf@cygnus.com>

	* dir.cc (rmdir): Use file attributes that have already been discovered
	by path_conv.

2000-05-25  Kazuhiro Fujieda <fujieda@jaist.ac.jp>

	* dir.cc (rmdir): Correct the manner in checking the target directory.

Wed May 24 21:59:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* dir.cc (writable_directory): Comment out previous code,
	return always 1 for now.
	(mkdir): Call set_file_attribute explicitely with S_IFDIR mode bit.
	* syscalls.cc (chown_worker): Ditto.
	(chmod): Ditto.
	* security.cc (get_nt_attribute): Fix error in debug output.
	Never set FILE_DELETE_CHILD for files.
	Construct appropriate inherit attribute according to file type.

2000-05-23  DJ Delorie  <dj@cygnus.com>

	* syscalls.cc (_cygwin_istext_for_stdio): New, for newlib
	* include/cygwin/version.h: Bump API number for detect old
	programs using old getc/putc macros

2000-05-23  DJ Delorie  <dj@cygnus.com>

	* dir.cc (writable_directory): handle root directories

Tue May 23 10:09:26 2000  Christopher Faylor <cgf@cygnus.com>

	* uname.cc (uname): Use a "s" to denote a snapshot to avoid confusion
	with the number "5".

Tue May 23 10:01:07 2000  Christopher Faylor <cgf@cygnus.com>

	* path.cc (mount_info::conv_to_posix_path): Avoid putting a trailing
	slash on a directory name when the ms-dos path spec is a root directory
	of a device.
	* registry.cc (reg_key::build_reg): Set 'key_is_invalid' flag rather
	than using an INVALID_HANDLE_KEY.
	(reg_key::get_int): Test for key validity before performing registry
	operations.
	(reg_key::set_int): Ditto.
	(reg_key::get_string): Ditto.
	(reg_key::set_string): Ditto.
	(reg_key::kill): Ditto.
	(reg_key::~reg_key): Ditto.

Tue May 23 01:13:33 2000  Christopher Faylor <cgf@cygnus.com>

	* mkvers.sh: Use snapshot date as build date since it is more
	interesting.
	* uname.cc (uname): Detect if this is a snapshot build and add an "S"
	to the version number.  Report the snapshot date as the release date.

Mon May 22 17:11:25 2000  Christopher Faylor <cgf@cygnus.com>

	* environ.cc (regopt): Scan HKLM if HKCU scan fails.

Mon May 16 23:39:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* dir.cc (rmdir): Care for misleading error messages
	when trying to remove a directory on a samba share.
	Eliminate superfluous else branch.
	* syscalls.cc (_rename): Additional check for ERROR_FILE_EXISTS
	if MoveFile fails.

Sun May 21 20:51:44 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (dll_crt0_1): Move uinfo_init call to before sigproc_init to
	avoid a race.
	(noload): Add an extra argument for debugging.
	* uinfo.cc (uinfo_init): Eliminate test for multiple calls.
	(getlogin): Assume that uinfo_init has already been called.

Sat May 20 01:34:57 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (interruptible): Add an argument to control whether
	function just checks for validity.  Flag module handle == 0 as
	noninterrupible.
	(call_handler): Always acquire and release ebp lock.  Loop for only a
	fixed amount of time attempting to grab mutos and find an interruptible
	PC.

2000-05-19  DJ Delorie  <dj@cygnus.com>

	* syscalls.cc (setmode): change mode of any matching FILE* also.

Thu May 18 17:28:19 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Remove external.h dependency.
	* dcrt0.cc (sigthread::init): Move here from sigproc.h.
	* sigproc.h (sigthread): Move init to dcrt0.cc.

Thu May 18 01:28:02 2000  Christopher Faylor <cgf@cygnus.com>

	* select.cc (thread_pipe): Add paranoid check to ensure thread
	termination.
	* external.cc: Eliminate obsolete include.
	* getopt.c (getopt_long): Fix compiler warning.
	* shared.h: Moved PID_ definitions to include/sys/cygwin so that they
	can be used by external programs.
	* include/sys/cygwin.h: Move external definitions here.  Include
	sys/resource.h to avoid having to do this everywhere.

Thu May 18 01:04:02 2000  Christopher Faylor <cgf@cygnus.com>

	* sigproc.h (sigframe): Don't set frame info unless tid matches this
	thread id.

Wed May 17 23:13:32 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (dll_crt0_1): Initialize mainthread stuff here before
	anything needs it.
	* sigproc.cc (sigproc_init): Move mainthread initialization out of
	here.
	* sigproc.h (sigthread): Add init() method.
	(sigframe): Don't try to initialize muto.
	* sync.cc: Undef WaitForSingleObject to avoid recursion.

2000-05-17  DJ Delorie  <dj@cygnus.com>

	* testsuite/winsup.api/crlf.c: New
	* testsuite/winsup.api/iospeed.c: New

Wed May 17 01:05:52 2000  Christopher Faylor <cgf@cygnus.com>

	* path.cc (mount_info::cygdrive_posix_path): Don't add trailing slash
	if referring to something like c:\.
	* dcrt0.cc (dll_crt0_1): Move uinfo initialization prior to sig_send
	initialization to give signal thread a chance to finish.
	* debug.cc (WFSO): Move to sigproc.cc
	(WFMO): Ditto.
	* exceptions.cc (interruptible): Allocate slightly more space for
	directory just for paranoia's sake.
	(call_handler): Eliminate nonmain argument.  Determine if main thread
	has set a frame pointer and use it if so.
	(sig_handle): Eliminate nonmain argument.
	* net.cc: Record frame information in appropriate routines throughout.
	* select.cc (select): Ditto.
	* sigproc.cc: Use sigthread structure to record mainthread id
	throughout.
	(sig_send): Record frame information for signal handler.
	(wait_sig): Reflect argument change in sig_handle.
	(WFSO): Move here and record frame information for signal handler.
	(WFMO): Ditto.
	* sigproc.h: Implement new "sigthread" class.  Implement "sigframe"
	class for manipulating signal frame info.
	* thread.cc (__pthread_kill): Use standard _kill() function rather than
	calling sig_send directly.
	* winsup.h: Eliminate ebp element from signal_dispatch class.

Tue May 16 23:39:00 2000  Corinna Vinschen <corinna@vinschen.de>

	Patch suggested by John Rowley <wjr@bgs.ac.uk>
	* fhandler_tape.cc (fhandler_dev_tape::ioctl): Check
	for filemark feature on MTWEOF operation.

Tue May 16 11:49:13 2000  Christopher Faylor <cgf@cygnus.com>

	* include/cygwin/in.h (AF_INET6): Use correct in6_addr struct.

Mon May 15 00:35:35 2000  Christopher Faylor <cgf@cygnus.com>

	* include/cygwin/version.h: Bump DLL minor version number to 2.

Sun May 14 23:41:24 2000  Christopher Faylor <cgf@cygnus.com>

	* shared.h: Bump PROC_MAGIC.
	* include/cygwin/version.h: Bump API minor to accomodate two recent
	exports.

2000-05-13  Mumit Khan  <khan@xraylith.wisc.edu>

	* include/cygwin/socket.h (AF_INET6): Use same value as winsock2.

2000-05-12  Mumit Khan  <khan@xraylith.wisc.edu>

	* include/cygwin/in.h (struct in6_addr): Fix spelling.
	* include/cygwin/socket.h (AF_INET6, PF_INET6): Define macros.
	(AF_MAX, PF_MAX): Bump to 32 to leave room for future expansion.

Fri May 12 21:35:54 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (build_argv): Remove unneeded variable.
	* select.cc (peek_pipe): Don't check for "ready" if it's already set.
	(peek_console): Ditto.
	(peek_serial): Ditto.
	(peek_socket): Ditto.
	(peek_windows): Ditto.

Fri May 12 20:31:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* fhandler_raw.cc (write_file, read_file): New wrapper functions
	for WriteFile and ReadFile to get rid of ERROR_MEDIA_CHANGED
	and ERROR_BUS_RESET in case of first access to tape.
	(fhandler_dev_raw::raw_write): Use write_file instead of WriteFile.
	(fhandler_dev_raw::raw_read): Use read_file instead of ReadFile.

Fri May 12 01:04:57 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in (DLL_OFILES): Sort.
	* fhandler_tty.cc (fhandler_tty_slave::send_ioctl_request): Eliminate.
	(fhandler_tty_slave::ioctl): Rewrite to avoid races.

2000-05-11  Mumit Khan  <khan@xraylith.wisc.edu>

	* mmap.cc (list::erase): Increment loop counter.
	(map::erase): Likewise.

Thu May 11 00:54:00 2000  Charles Wilson <cwilson@ece.gatech.edu>

	* cygwin.din: insure that regsub() is included in
	cygwin1.dll

Tue May  9 18:59:41 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Use appropriate VARIABLE to refer to cygwin.def in load
	line.

Thu May  9  23:53:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* fhandler.cc (fhandler_base::puts_readahead): Change
	while condition to disallow wild runs.

Thu May  9  15:24:00 2000  Corinna Vinschen <corinna@vinschen.de>

	Patch suggested by <lha@stacken.kth.se>
	* window.cc (setitimer): Check for overflow condition
	in tv_sec.

Thu May  9  0:47:00 2000  Corinna Vinschen <corinna@vinschen.de>

	Patch suggested by Eric Fifer <EFifer@sanwaint.com>
	* errno.cc: Change mapping of ERROR_BAD_PATHNAME to ENOENT.

Thu May  9  0:47:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* path.cc (symlink::info): Treat non readable files
	as normal non symlink files.

2000-05-08  Paul K. Fisher  <pfisher@plexware.com>

	* include/pthread.h (pthread_detach): Add missing prototype.
	(pthread_join): same.

2000-05-08  DJ Delorie  <dj@cygnus.com>

	* fhandler.cc (lock): use signed math to allow checking ranges
	properly.

Sat May  6 23:22:25 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (insert_file): Eliminate unused parameter.
	(build_argv): Ditto.
	* exceptions.cc (stack): Eliminate unused parameters.
	(stackdump): Ditto.
	(cygwin_stackdump): Reflect above changes.
	(sig_handle): Ditto.
	* fhandler.cc (fhandler_base::set_inheritance): Use kludge to avoid
	unused parameter warning.

2000-05-06  Mumit Khan  <khan@xraylith.wisc.edu>

	* include/wchar.h (wcscmp, wcslen): Fix prototypes.
	* syscalls.cc (wcslen, wcscmp): Adjust.

Fri May  5 23:32:07 2000  Christopher Faylor <cgf@cygnus.com>

	* errno.cc (errmap): Correct DIRECTORY mapping to ENOTDIR.

2000-05-04  Mumit Khan  <khan@xraylith.wisc.edu>

	* Makefile.in (install): Install profile startup and library.

Wed May  3 21:54:11 2000  Christopher Faylor <cgf@cygnus.com>

	* configure.in: Use -gstabs+ as compile debug option.  This seems to
	promote better handling of symbols.
	* configure: Regenerate.
	* delqueue.cc (delqueue_list::process_queue): Allow ERROR_ACCESS_DENIED
	to indicate that a file is being shared under Windows 95.
	* syscalls.cc (_unlink): Use full path name.  Take special action for
	Windows 95.  Assume that an ERROR_ACCESS_DENIED indicates a sharing
	violation unless it's on a remote drive.  Punt if there is an
	ERROR_ACCESS_DENIED on a remote drive.

Wed May  3 18:07:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* errno.cc (errmap): Map ERROR_BAD_NETPATH to new errno ENOSHARE.
	(_sys_errlist): Add entry for ENOSHARE.
	(strerror): Add case for ENOSHARE.
	* syscalls.cc (stat_worker): Check for errno ENOSHARE.

Wed May  3 17:28:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* Makefile.in: Add dependencies for fhandler_random.o
	* fhandler.h: Add device type FH_RANDOM. Add class
	fhandler_dev_random.
	* fhandler_random.cc: New file. Implementation of
	fhandler_dev_random.
	* hinfo.cc (build_fhandler): Add case for FH_RANDOM.
	* path.cc: Add device names for random devices to
	windows_device_names.
	(get_device_number): Add if branch for random devices.
	(win32_device_name): Add device name generation for
	random devices.
	winsup.h: Include <wincrypt.h>.

2000-05-02  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>

	* path.cc (mount_info::conv_to_win32_path): Previous patch
	failed to set flags on a win32 path.

Tue May  2 11:34:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* security.cc (read_sd): Return 1 on success because we
	can't rely on the returned SD size from GetFileSecurity.

Tue May  2  2:22:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* dcrt0.cc: Add dynamic load code for `OemToCharA' from user32.dll.
	* security.cc (read_sd): Call `OemToCharA' to make
	`GetFileSecurity' happy on filenames with umlauts.

Wed Apr 26 23:23:23 2000  Christopher Faylor <cgf@cygnus.com>

	* path.cc (normalize_win32_path): Don't add a trailing slash when one
	already exists.
	(mount_info::conv_to_win32_path): Use existing code for dealing with
	relative path names when input is already a win32 path.

2000-04-26  DJ Delorie  <dj@cygnus.com>

	* Makefile.in (install): install regexp.h

Wed Apr 26 16:20:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* syscalls.cc (stat_worker): Previous patch could succeed
	in stating a non-existant file.

Wed Apr 26 01:07:16 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (interruptible): Allocate slightly more space for
	directory name check.  Windows 95 seems to null-terminate the directory
	otherwise.
	(interrupt_on_return): Issue a fatal error if we can't find the
	caller's stack.

Tue Apr 25 16:50:54 2000  Christopher Faylor <cgf@cygnus.com>

	* spawn.cc (find_exec): Accept a path_conv argument rather than a
	buffer so that the caller can find things out about a translated path.
	(perhaps_suffix): Ditto.
	(spawn_guts): Allocate path_conv stuff here so that we can find out
	stuff about the translated path (this is work in progress).
	* environ.cc (environ_init): Accept an as-yet unused argument
	indicating whether we were invoked from a cygwin parent or not.
	(winenv): Ditto.
	(posify): Accept an argument indicating whether the path has already
	been translated.
	* dlfcn.cc (check_access): Provide a path_conv buffer to find_exec.
	* exec.cc (sexecvpe): Ditto.
	* path.cc (path_conv::check): Rename from path_conv::path_conv.
	(mount_item::getmntent): Recognize "Cygwin executable" bit.
	(symlink_info::check): Remove debugging statements.
	* path.h (class path_conv): Add iscygexec method.  Rewrite constructor
	to call "check" method to allow multiple operations on a path_conv
	variable.
	* pinfo.cc (pinfo_init): Pass argument to environ_init.
	* shared.h: Bump PROC_MAGIC.
	* winsup.h: Reflect above changes to function arguments.
	* include/sys/mount.h: Add MOUNT_CYGWIN_EXEC type.

Thu Apr 25 21:35:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* syscalls.cc (stat_worker): Previous patch failed to stat
	each drives root dir on 9X.

Thu Apr 25 16:37:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* fhandler.cc (fhandler_disk_file::open): Check for allow_ntsec
	when determining exec flag.
	* path.cc (symlink_info::check): Remove call to get_file_attribute().
	* security.cc (read_sd): Rename, ditto for variables to conform
	to common naming convention. Use GetFileSecurity() instead of
	BackupRead() to avoid permission problems when reading ACLs.
	(write_sd): Same renaming as for read_sd().
	(alloc_sd): Change default permissions according to Linux permissions
	for group and world when write permission is set.
	* syscalls.cc (stat_worker): Avoid different permission problems
	when requesting file informations.

Thu Apr 25 10:50:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* net.cc: Avoid a warning in declaration inet_network.

Mon Apr 24 17:38:25 2000  Thorsten Otto <t.otto@germanynet.de>

	* fhandler_console.cc (fhandler_console::read): Detect extended keycode
	information for Windows 9x so that function keys will work correctly.

2000-04-24  Vadim Egorov  <egorovv@mailandnews.com>

	* net.cc (cygwin_inet_network): new function.
	* cygwin.din (inet_network): new export

Fri Apr 21 10:37:08 2000  Christopher Faylor <cgf@cygnus.com>

	* path.cc (normalize_posix_path): Previous two patches were still
	incorrect so rewrite this function to deal with trailing dots.
	(mount_info::conv_to_win32_path): Just check for '/' where appropriate.
	Eliminate nofinalslash call since it is handled in normalize_posix_path
	now.

Thu Apr 20 17:32:42 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (handle_exceptions): Search further for stack info to
	accomodate Windows 95.

Thu Apr 20 16:39:18 2000  Christopher Faylor <cgf@cygnus.com>

	* path.cc (normalize_posix_path): Previous change failed to take root
	access into account.

Thu Apr 20 11:26:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* syscalls.cc (_link): Check new link path for trailing dot.

Thu Apr 20 00:32:03 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler.h (fhandler_base::hclose): New virtual method.
	(fhandler_base::set_inheritance): Make this a method so that we can use
	the appropriate close methods.
	* fhandler.cc (fhandler_base::set_inheritance): Ditto.
	* path.cc (normalize_posix_path): Eliminate /.  trailing path
	component.

Wed Apr 20  0:19:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* syscalls.cc (setuid): Allow switching user context after
	successful call to ImpersonateLogedOnUser (NT only).
	(setgid): Ditto.
	(seteuid): Call setuid.
	(setegid): Call setgid.

Wed Apr 19 22:00:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* uinfo.cc (internal_getlogin): Use NetGetDCName() instead
	of NetGetAnyDCName().

Mon Apr 17 12:08:47 2000  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>

	* syscalls.cc (_rename): Try MoveFile() at first before
	MoveFileEx(..., MOVEFILE_REPLACE_EXISTING).

Tue Apr 18 19:15:29 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (globify): Don't use \ quoting when apparently quoting a DOS
	path spec, even within a quoted string.

Sun Apr 16 18:54:21 2000  Christopher Faylor <cgf@cygnus.com>

	* init.cc (dll_entry): Use better check for determining when to set
	thread specific stuff.
	* syscalls.cc (_unlink): Continue with chmod'ing file even if
	DELETE_ON_CLOSE succeeds, if file still exists.

Fri Apr 14 23:51:15 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler_console.cc (keytable): Add support for keypad 5 key, which
	MS seems to think is equivalent to VK_CLEAR.
	* debug.cc (thread_stub): Eliminate initialization of reent stuff.
	* init.cc (dll_entry): Move it here.

Thu Apr 13 18:32:26 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (insert_file): Avoid freeing previously allocated argument
	list.
	* path.cc (symlink_info::check): Rename from symlink_check_one.  Use
	new symlink_info struct for communication.
	(path_conv::path_conv): Use symlink_info structure for communication
	with symlink_info::check.  Fix typo which resulted in symbolic links
	always being resolved.
	(readlink): Use stat_suffixes array when resolving a link.
	* syscalls.cc (stat_suffixes): Make global.

Thu Apr 13 20:50:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* include/cygwin/version.h: Bump minor api to reflect export change.

Thu Apr 13  8:48:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* path.cc (conv_to_win32_path): Detect a win32 path
	if path contains backslashes.
	* cygwin.din: Add symbol for `lacl'.
	* security.cc (ReadSD): Add debug output.
	(acl_worker):  New static function.
	(acl): Call acl_worker now.
	(lacl): New function.
	(facl): Call acl_worker now.
	* include/cygwin/acl.h: Add prototype for `lacl'.

Wed Apr 12 18:48:33 2000  Christopher Faylor <cgf@cygnus.com>

	* path.cc (path_conv::path_conv): Ensure that suffix is correctly
	copied to path when we've found a symlink but aren't following
	symlinks.

Sat Apr  8 00:46:14 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler.cc (fhandler_disk_file::fstat): Allocate enough space for
	root dir determination or overflow an array.

Sat Apr  8 00:08:53 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (sigsave): Copy on fork so that we can restore correct
	behavior in forked process.
	(interruptible): Flag as interruptible when running in main process
	module.
	(interrupt_setup): Save return address and address of return address.
	(signal_fixup_after_fork): New function.  Uses above two values to
	restore proper behavior to forked process.
	(interrupt_on_return): Pass return address address to interupt_setup.
	(interrupt_now): Pass NULL for return address address to
	interrupt_setup.
	* fork.cc (fork): Call signal_fixup_after_fork.
	* shared.h: Lint cleanups.
	* winsup.h: Ditto.

Mon Apr  3 14:10:44 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler.h (select_stuff): Eliminate use of 'total'.
	* select.cc (cygwin_select): Ditto.
	(select_stuff::wait): Use maximum size for w4 rather than calculating
	what will fit.

Mon Apr 03 13:58:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* grp.cc (parse_grp): Save empty array instead of
	NULL in gr_mem if no supplementary group is given.

Sun Apr 02 16:02:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* syscalls.cc (chown_worker): Use previous uid/gid if
	new uid/gid is -1.

Fry Mar 31 22:55:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* syscalls.cc (chown_worker): New static function with
	chown functionality.
	(chown): Call chown_worker with SYMLINK_FOLLOW.
	(fchown): New function. Call chown_worker with SYMLINK_FOLLOW.
	(lchown): New function. Call chown_worker with SYMLINK_IGNORE.
	* cygwin.din: Add symbols for fchown, lchown.

Fry Mar 31 11:18:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* path.cc (symlink): Call `set_file_attribute()' and
	`SetFileAttributeA()' instead of `chmod()' to set
	uid/gid correct.

Wed Mar 29 22:49:56 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler.h (select_record): Explicitly zero elements of this class.
	(select_stuff): Ditto.
	* select.cc (cygwin_select): Eliminate memset zero of sel.

Tue Mar 28 16:45:42 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Use default rules when compiling cygrun.o.
	* dcrt0.cc (host_dependent_constants::init): Limit non-NT platforms to
	32K chunks when copying regions during a fork.
	* path.cc (symlink_check_one): Add temporary debugging output.
	Simplify PATH_EXEC test.
	* syscalls.cc (stat_suffixes): Null terminate this list.

Sat Mar 25 20:46:39 2000  Christopher Faylor <cgf@cygnus.com>

	* path.cc (symlink_check_one): Recognize symlink settings from the
	mount table.
	* path.h: Make PATH_SYMLINK an alias for MOUNT_SYMLINK.
	* syscalls.cc (stat_worker): Use extension search mechanism in
	path_conv to look for .exe rather than trying to special case it here.
	* mount.h: Make MOUNT_SYMLINK a real option.

Sat Mar 25 00:22:32 2000  Christopher Faylor <cgf@cygnus.com>

	* environ.cc: Add TMPDIR to the list of environment variables which are
	converted to POSIX format.
	* sigproc.cc (proc_terminate): Don't attempt to delete when a muto
	pointer is NULL.

Sun Mar 19 12:01:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* syscalls.cc (stat_worker): Set st_nlink to 1 on remote drives.

Sat Mar 18 23:04:27 2000  Christopher Faylor <cgf@cygnus.com>

	* times.cc: Fix extern declarations for variables that are exported but
	used by this modules.

Sat Mar 18 01:32:04 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (host_dependent_constants::init): Eliminate DELETE flag
	from shared constant.

Sat Mar 18 01:24:25 2000  Christopher Faylor <cgf@cygnus.com>

	* delqueue.cc (delqueue_list::queue_file): Add some debugging.
	* path.h (class path_conv): Add a char * operator for the most common
	case.
	* syscalls.cc (_unlink): Rewrite to use FILE_FLAG_DELETE_ON_CLOSE when
	possible (i.e., on NT).

Fri Mar 17 18:16:00 2000  Corinna Vinschen <corinna@vinschen.de>

	Patch suggested by Eric Fifer <EFifer@sanwaint.com>
	* fhandler.cc (fhandler_base::open): Call set_file_attribute()
	only if a file is really created.

Thu Mar 16 14:15:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* security.cc (set_process_privileges): Remove `static'.
	(get_nt_attribute): Returns uid and gid additionally. Remove call
	to set_process_privileges().
	(get_file_attribute): Returns uid and gid additionally. Don't
	call ntea if ntsec is ON.
	(set_nt_attribute): Remove call to set_process_privileges().
	Don't call ntea if ntsec is ON.
	(acl): Remove call to set_process_privileges().
	* dcrt0.cc (dll_crt0_1): Call set_process_privileges().
	* winsup.h: New prototype for set_process_privileges(),
	changed prototype for get_file_attribute().
	* fhandler.cc (get_file_owner): Discard function.
	(get_file_group): Ditto.
	(fhandler_disk_file::fstat): Discard calls to get_file_owner() and
	get_file_group().
	* path.cc (path_conv::path_conv): New debugging output for result
	of GetVolumeInformation().
	(mount_info::conv_to_win32_path): Call backslashify() with pathbuf
	instead of src_path.
	* syscalls.cc (chown): Reformat slightly.
	(chmod): Replace get_file_owner() and get_file_group() calls
	by a call to get_file_attribute(). Discard local variable has_acls.
	Reformat slightly.
	(stat_worker): Root dir check now done by a call to rootdir().
	Don't call num_entries() on remote drives.
	Discard local variable has_acls.

Wed Mar 15 20:38:06 2000  Corinna Vinschen <corinna@vinschen.de>

	* errno.cc: Map ERROR_NOACCESS to EFAULT.

Wed Mar 15 14:25:38 2000  Christopher Faylor <cgf@cygnus.com>

	* spawn.cc (spawn_guts): Restore dependency on signal_arrived.  It's
	needed to wake up the WaitForSingleObject.

Tue Mar 14 23:41:16 2000  Christopher Faylor <cgf@cygnus.com>

	Pipe changes throughout suggested by Eric Fifer <EFifer@sanwaint.com>
	* debug.cc (threadname_init): Pass name of lock as arg 2 of new_muto.
	* malloc.cc (malloc_init): Ditto.
	* sigproc.cc (sigproc_init): Ditto.
	* exceptions.cc (events_init): Ditto.
	(call_handler): Eliminate special case for hExeced.  Report locked
	thread in debugging output.
	* fhandler.cc (fhandker_pipe::fhandler_pipe): Propagate device type to
	base class.
	* fhandler.h (fhandler_pipe): Ditto.
	* hinfo.cc (hinfo::build_fhandler): Pass specific type of pipe to
	constructor.
	* spawn.cc (spawn_guts): Eliminate dependency on signal when waiting
	for subprocess.
	* strace.cc: Remove obsolete #ifdef.
	* sync.cc (muto::muto): Save the name of the muto.
	(muto:~muto): Also release the muto.
	* sync.h: Add a muto name field.
	* select.cc (peek_pipe): Avoid doing a PeekNamedPipe on the write end
	of a pipe.

Sun Mar 12 01:14:33 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler.cc (fhandler_base::get_readahead_into_buffer): New function.
	* fhandler.h: Declare new function.  Add extra argument to
	process_slave_output.
	* fhandler_console.cc (fhandler_console::read): Move read ahead code to
	new function.
	* fhandler_tty.cc (fhandler_pty_master::process_slave_output): Move
	common code here.
	(fhandler_tty_slave::read): Understand readahead.
	(fhandler_pty_master::read): Move code to process_slave_output.
	* select.cc (peek_pipe): Avoid performing certain checks when non-read
	and on inappropriate fh types.

Sat Mar 11 22:47:43 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler_console.cc (fhandler_console::read): Don't even think about
	breaking on interrupt if executing in a "cygwin" thread.
	* fhandler_tty.cc (fhandler_pty_master::process_slave_output):
	Streamline, simplify code.
	* sigproc.cc (sig_send): Remove debugging statement.

Fri Mar 10 13:20:50 2000  Christopher Faylor <cgf@cygnus.com>

	* sigproc.cc: Set wait_sig priority to normal.

Fri Mar 10 13:03:06 2000  Christopher Faylor <cgf@cygnus.com>

	* sigproc.cc (wait_sig): Add addtional debugging output.

Thu Mar  9 15:25:01 2000  Christopher Faylor <cgf@cygnus.com>

	* environ.cc: Eliminate oldstack CYGWIN option.
	* exceptions.cc (sfta): Eliminate obsolete function.
	(sgmb): Eliminate obsolete function.
	(class stack_info): Remove MS method for walking the stack.
	(stack_info::init): Just initialize required fields.
	(stack_info::brute_force): Rename to stack_info::walk.
	(handle_exceptions): Pass derived frame pointer to sig_send.
	(interrupt_setup): Clear saved frame pointer here.
	(interrupt_on_return): thestack is no longer a pointer.
	(call_handler): Accept a flag to indicate when a signal was sent from
	other than the main thread.  Use saved frame pointer for determining
	where to place signal handler call.
	(sig_handle): Accept "nonmain" argument.  Pass it to call_handler.
	* fhandler_tty.cc (fhandler_tty_common::__acquire_output_mutex): Change
	debugging output slightly.
	* (fhandler_tty_common::__release_output_mutex): Ditto.
	(fhandler_tty_slave::read): Fix a comment, remove a goto.
	* sigproc.cc (sig_send): Accept an optional frame pointer argument for
	use when suspending the main process.  sigcomplete_main is an autoreset
	event now.  Save frame pointer for non-main operation.
	(wait_sig): Make sigcomplete_main an autoreset event.  Eliminate
	NOSIGQUEUE.  Pass rc to sig_handle to signify if this was a nonmain
	process.
	* sigproc.h: Reflect change to sig_send argument.
	* syscalls.cc (swab): Eliminate swab function since it is now available
	in newlib.
	* winsup.h (signal_dispatch): Change CONTEXT cx to DWORD ebp.

Tue Mar  7 13:31:10 2000  Christopher Faylor <cgf@cygnus.com>

	* sigproc.cc (sig_send): Eliminate sync_sig_send synchronization since
	it didn't seem to affect the "bash hangs" problem.

Tue Mar  7 13:17:56 2000  Christopher Faylor <cgf@cygnus.com>

	* mcount.c: Remove strace.h include.

Tue Mar  7 00:29:34 2000  Christopher Faylor <cgf@cygnus.com>

	Throughout use strace class in place of individual functions and
	variables.
	* cygwin.din: Eliminate _strace_wm.
	* sigproc.cc (wait_sig): Temporarily add more debugging output.
	* include/cygwin/version.h: Bump minor api to reflect export change.

Sun Mar  5 01:17:05 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (call_handler): Streamline to use only one call to
	ResumeThread.
	* sigproc.cc (sig_send): Use a muto around the ReleaseSemaphore.
	Remove priority setting since it didn't solve anything.

Tue Feb 29 00:46:09 2000  Christopher Faylor <cgf@cygnus.com>

	* sigproc.cc (sig_send): Temporarily set priority to highest while
	sending a signal.

Mon Feb 28 11:23:29 2000  Christopher Faylor <cgf@cygnus.com>

	* pinfo.cc (set_myself): Add build date to strace output.

Mon Feb 28 11:17:30 2000  Eric Fifer <EFifer@sanwaint.com>

	* sigproc.cc (proc_subproc): Only clear wait event when not attending
	to a signal.

Mon Feb 28 00:08:09 2000  Christopher Faylor <cgf@cygnus.com>

	* configure.in: Remove --enable-strace-hhmmss option.
	* configure: Regenerate.

Sun Feb 27 23:11:57 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (set_os_type): Record OS name string.
	(getprogname): Eliminate obsolete function.
	(dll_crt0_1): Move initial strace initialization output to set_myself.
	* exceptions.cc (interruptible): Add debugging output.
	(interrupt_setup): New function.
	(interrupt_now): Use interrupt_setup to set up common interrupt handler
	stuff.
	(interrupt_on_return): Ditto.
	(call_handler): Move signal_arrived arm and clear threads to region
	where signalled thread is suspended or suffer races.
	* pinfo.cc (set_myself): Output interesting information when strace is
	first initialized.  Initialize progname here.
	* sigproc.cc (sig_dispatch_pending): Modify to ensure that flush signal
	are sent synchronously.
	* strace.cc (strace_vsprintf): Move code into strace program.
	* uname.cc (uname): Use 'osname' global to construct cygwin name +
	Windows type + version.

Fri Feb 25 19:26:42 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (interruptible): Make a little more structured.
	(call_handler): Allow signals to be sent even if signalled thread is
	stopped.  Change order of signal_arrived arming/waiting threads
	clearing to eliminate a race.
	(reset_signal_arrived): New helper function.
	* malloc.cc (malloc_init): Use mutos so that signal handler can keep
	track of who owns the lock.
	(__malloc_lock): Ditto.
	(__malloc_unlock): Ditto.
	* sync.h (new_muto): Actually use a muto for the "buffer".
	* Makefile.in: Fix a dependency.

2000-02-25  DJ Delorie  <dj@cygnus.com>

	* Makefile.in: fix "make check" support and cygrun.

Thu Feb 24 15:56:00 2000  Christopher Faylor <cgf@cygnus.com>

	* syscalls.c (_read): Clear errno before doing any read operation.

Thu Feb 24 14:45:06 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (call_handler): Use new muto linked list to look for
	all potential mutos owned by suspended thread.  Clear waiting threads
	while thread is stopped.
	(proc_subproc): Clarify debugging output.
	* sync.h (class muto): Add 'next' field.
	(new_muto): Keep linked list alive.

Thu Feb 24 00:59:15 2000  Christopher Faylor <cgf@cygnus.com>

	Fix final round of gcc warnings relating to unused parameters.
	* debug.cc (iscygthread): New function.
	* debug.h: Declare it.
	* exceptions.cc (set_process_mask): Flush pending signals.
	(handle_sigsuspend): No need to flush pending signals.
	(call_handler): Refine previous tests of muto ownership.  Only clear
	wait()'s when we have definitely responded to a signal.
	* fhandler_console.cc (fhandler_console::read): Don't set EINTR if
	executing in a "cygwin" thread.
	* sigproc.cc (proc_subproc): Use second argument to control whether
	CLEARWAIT actually sets "signalled" flag.
	* sync.h (muto): Add 'unstable' method.

Wed Feb 23 21:59:44 2000  Christopher Faylor <cgf@cygnus.com>

	* hinfo.cc (hinfo::extend): Clean up debugging output.

Wed Feb 23 21:34:58 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (interruptible): Change method for determining if
	something is interruptible.
	(call_handler): Avoid suspending a thread if it owns a muto.  Only set
	signal_arrived if the thread was actually interrupted.
	(events_init): Initialize module information needed by interruptible().
	* init.cc (dll_entry): Record module handle of main for use by
	interruptible().
	(proc_subproc): Reorganize handling of terminated child so that the
	bulk of the processing comes from the signal thread.
	(wait_sig): Force processing of waiting threads if SIGCHLD is not
	processed.

Tue Feb 22 23:06:01 2000  Christopher Faylor <cgf@cygnus.com>

	Respond to more g++ warnings relating to initializing structures.

Mon Feb 21 18:36:37 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler.cc (set_inheritance): Revert previous patch which got rid of
	'name' parameter.

Mon Feb 21 00:19:40 2000  Christopher Faylor <cgf@cygnus.com>

	Respond to a multitude of new g++ warnings.

Sun Feb 20 22:10:21 2000  Christopher Faylor <cgf@cygnus.com>

	* environ.cc (getwinenv): Make __stdcall.
	(winenv): Ditto.
	* malloc.cc (strdup): New function.  Occludes newlib version.
	(_strdup_r): Ditto.
	* winsup.h: Reflect above __stdcall changes.

Sun Feb 20 21:31:00 2000  Corinna Vinschen <corinna@vinschen.de>

	* fhandler.cc (fhandler_disk_file::fstat): Modify get_file_attribute
	return value if FILE_ATTRIBUTE_READONLY is set.

Thu Feb 17 11:00:23 2000  Christopher Faylor <cgf@cygnus.com>

	* environ.cc (environ_init): Cosmetic change.

Mon Feb  7 16:50:44 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: cygrun needs libshell32.a.

Sun Feb  6 22:17:58 2000  Christopher Faylor <cgf@cygnus.com>

	* sigproc.cc (proc_subproc): Simplify case for when a child process is
	stopped since new signal handler ensures the desired behavior.

Sun Feb  6 21:52:33 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Fix install target so that directories will be created
	when necessary.

Sun Feb  6 18:12:17 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: exceptions.cc should depend on autoload.h.
	* exceptions.cc: Undef DECLSPEC_IMPORT prior to including imagehlp.h to
	avoid defining StackWalk as "import".
	(call_handler): Minor optimizations.
	(sig_handle_tty_stop): Fix typo in previous checkin.
	* sigproc.cc (sigproc_init): Ditto, for signal_arrived initialization.

Sat Feb  5 15:37:37 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (isquote): Convert to inline function.

Sat Feb  5 00:26:01 2000  Christopher Faylor <cgf@cygnus.com>

	Throughout, rename global_signal_arrived to signal_arrived.
	Throughout, eliminate use of arm_signals and __signal_arrived.
	Throughout, revert to use of simple call to WaitForSingleObject or
	WaitForMultipleObjects.
	* debug.h: Eliminate obsolete function declaration.
	* exceptions.cc (sigWaitForSingleObject): Eliminate obsolete function
	definition.
	* fhandler.h: Reflect change to select_stuff wait method.
	* fhandler_tape.cc (get_ll): Accomodate new w32api LARGE_INTEGER
	definition.
	* ntea.c (NTReadEARaw): Ditto.
	(NTWriteEA): Ditto.
	* security.cc (ReadSD): Ditto.
	(WriteSD): Ditto.
	* syscalls.cc (_link): Ditto.
	* uname.cc (uname): Eliminate PPC switch.

2000-02-01  Salvador Eduardo Tropea  <salvador@inti.gov.ar>

	* include/io.h: add return type to setmode()

2000-01-27  DJ Delorie  <dj@cygnus.com>

	* include/netdb.h (h_errno): change __imp_ to dllimport
	* cygwin.din (reent_data): add DATA

Thu Jan 27 01:07:14 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (call_handler): Add debugging output.
	* select.cc (MAKEready): Arm signals earlier.
	* sigproc.cc (__signal_arrived:arm): Move debugging version of this
	method here.
	(__signal_arrived::release): Ditto.
	* sigproc.h: Recognize debugging versions of above two methods.
	(arm_signals::WaitForMultipleObjects): Don't release signal lock unless
	signal arrived.
	(arm_signals::WaitForMultipleSingleObject): Ditto.
	(arm_signals::MsgWaitForMultipleObjects): Ditto.

Thu Jan 27 00:19:26 2000  Christopher Faylor <cgf@cygnus.com>

	* sync.h (new_muto): Workaround change in gcc behavior.

Wed Jan 26 12:57:13 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Ensure that all required libraries are built prior
	to linking cygrun.exe.

Tue Jan 25 21:26:57 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (sig_handle): Crudely work around potential problem
	when main thread has a lock but is killed by a fatal signal.
	* fhandler_tty.cc (fhandler_pty_master::write): Don't perform line
	editing on the pty master (so why do we need the second argument to
	line_edit, then?)
	* thread.cc: Reformat to GNU standards.

2000-01-11  DJ Delorie  <dj@cygnus.com>

	* ROADMAP: new

2000-01-11  DJ Delorie  <dj@cygnus.com>

	* fhandler_zero.cc: new, emulate /dev/zero
	* testsuite/winsup.api/devzero.c: new, test /dev/zero
	* Makefile.in: build fhandler_zero.o
	* fhandler.h: add support for /dev/zero
	* hinfo.cc: ditto
	* path.cc: ditto

2000-01-11  DJ Delorie  <dj@cygnus.com>

	* mmap.cc (mmap): MSDN says *one* of FILE_MAP_*, fix flags for
	MAP_PRIVATE.

Mon Jan 10 01:11:00 2000  Corinna Vinschen  <corinna@vinschen.de>

	* security.cc (acl_access): New function.
	* syscalls.cc (access): Call acl_access if ntsec is on.

Mon Jan 10 01:11:00 2000  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler.cc (get_file_owner): Use of ReadSD() instead of
	GetFileSecurity().
	(get_file_group): Ditto.

Sun Jan  9 15:43:07 2000  Christopher Faylor <cgf@cygnus.com>

	* debug.cc (struct thread_start): Add a flag to determine whether a
	field is in use.  Eliminate thread_start_ix since it was not
	thread-safe.
	(thread_stub): Use notavail flag to control whether the entry in
	start_buf can be reused.
	(makethread): Ditto.

Sun Jan  9 20:18:00 2000  Corinna Vinschen  <corinna@vinschen.de>

	* security.cc (alloc_sd): Rearrange order of ACE creation.
	(setacl): Optimize creation of ACEs related to inheritance.  Code
	cleanup.
	(aclcheck): Disable check for existance of DEF_)CLASS_OBJ.

Sat Jan  8 18:42:32 2000  Christopher Faylor <cgf@cygnus.com>

	* mkvers.h: Reorg fix.

Sat Jan  8 20:00:00 2000  Corinna Vinschen  <corinna@vinschen.de>

	* cygwin.din: Add new acl API calls.
	* grp.cc (getgroups): Change to work for any username.
	* security.cc (get_id_from_sid): Change to work with acl API.
	(is_grp_member): New function.
	(get_nt_attribute): Rewritten.
	(add_access_allowed_ace): New function.
	(add_access_denied_ace): Ditto.
	(alloc_sd): Rewritten.
	(setacl): New function.
	(getace): Ditto.
	(searchace): Ditto.
	(getacl): Ditto.
	(acl): Ditto.
	(facl): Ditto.
	(aclcheck): Ditto.
	(acecmp): Ditto.
	(aclsort): Ditto.
	(acltomode): Ditto.
	(aclfrommode): Ditto.
	(acltopbits): Ditto.
	(aclfrompbits): Ditto.
	(permtostr): Ditto.
	(acltotext): Ditto.
	(permfromstr): Ditto.
	(aclfromtext): Ditto.
	* syscalls.cc (access): Set errno again when needed.
	* include/cygwin/acl.h: New file.
	* include/sys/acl.h: Ditto.

Sat Jan  8 14:46:19 2000  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Add cygwin DLL specific CFLAGS define.

Fri Jan  7 21:01:57 2000  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (interrupt_on_return): Properly coerce assignment of
	sigsave.func.

2000-01-07  Mumit Khan  <khan@xraylith.wisc.edu>

	* acconfig.h: New file.
	* configure.in Add check for memset builtin.
	(AC_CONFIG_HEADER): Use.
	(STRACE_HHMMSS): Define instead of substituting.
	(_MT_SAFE): Likewise.
	(_CYG_THREAD_FAILSAFE): Likewise.
	(DEBUGGING): Likewise.
	(MT_SAFE): Substitute as a yes/no variable.
	* Makefile.in: Remove DEBUGGING, STRACE_HHMMSS, and THREAD_FAILSAFE
	variables and add DEFS. Update usage of MT_SAFE to reflect yes/no
	values. Add config.h to winsup.h dependency.
	(CFLAGS_CONFIG): Update.
	(INCLUDES): Prepend `-I.'.
	* utils/Makefile.in (INCLUDES): Likewise.
	* winsup.h: Conditionally include config.h.
	* thread.cc: Likewise.
	* config.h.in: Generate new file.
	* configure: Regenerate.


Fri Jan  7 16:21:01 2000  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (dll_crt0): Allow signal handling for dynamically loaded
	case.

Thu Jan  6 00:30:12 2000  Corinna Vinschen  <corinna@vinschen.de>

	* path.cc (symlink_check_one): Initialize local variable `unixattr'
	before calling `get_file_attribute'.
	* syscalls.cc (chown): Ditto.
	* security.cc (get_nt_attribute): Eliminate attribute copying from
	world to user/group in case of missing ACEs.
	(alloc_sd): Set special rights for administrators group only if it's
	neither owner nor group.
	* utils/mkpasswd.c: Create entry for local group administrators (SID
	544).

Thu Jan 6 00:21:31 2000 Christopher Faylor <cgf@cygnus.com>

	Change function calls to __stdcall throughout.
	* exceptions.cc (handle_exceptions): Probe stack for return address to
	use with new signal method.  Fill out sigsave.cx with this information.
	(call_handler): Use sigsave.cx if it is available, rather than trying
	to find the context of the main thread.
	(interrupt_on_return): Use address of context rather than
	pass-by-reference.
	(interrupt_now): Ditto.

Thu Jan  6 00:21:31 2000  Corinna Vinschen  <corinna@vinschen.de>

	* grp.cc (getgroups): Return supplementary groups now.
	* include/limits.h: Define NGROUP_MAX as 16 now.