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.

Sat Mar 11 22:46:55 2000  Christopher Faylor <cgf@cygnus.com>

	* fhandler_console.cc (fhandler_console::read)

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.