Commit Graph

8071 Commits

Author SHA1 Message Date
Christopher Faylor 82c925af80 * cygheap.h (cygheap_fdenum::cygheap_fdenum): Record locked state or suffer
deadlocks.
(class locked_process): Move to another header.
* sync.h (lock_process): Define here.
* cygtls.cc (_cygtls::fixup_after_fork): Reset spinning state as well as
stacklock state.
* dcrt0.cc (lock_process::locker): Define.
(dtable::lock_cs): Delete.
* dtable.cc (dtable_init): Eliminate call to init_lock().
(dtable::fixup_after_fork): Ditto.
(dtable::init_lock): Delete definition.
* dtable.h (dtable::init_lock): Delete declaration.
(dtable::lock): Use process lock rather than dtable-specific lock.
(dtable::unlock): Ditto.
* sigproc.cc (sigproc_init): Minor change to debugging output.
* times.cc (utime_worker): Use build_fh_pc rather than reinterpreting the posix
path name again.  Return any error from path_conv immediately.
2005-10-23 23:47:45 +00:00
Corinna Vinschen c2c020d1fb * fhandler_socket.cc (fhandler_socket::connect): Don't restrict
WSAEINVAL -> WSAEISCONN conversion to nonblocking sockets.
	(fhandler_socket::accept): Use event driven technique to implement
	interuptible accept.
	(fhandler_socket::wait): Allow FD_ACCEPT handling.
	* net.cc (cygwin_accept): Remove workaround for allowing blocking
	accept.  That's entirely in fhandler_socket::accept now.
2005-10-22 16:02:15 +00:00
Corinna Vinschen 152a9caf58 * fhandler.h (class fhandler_socket): Add timeout parameter to wait()
method.
	* fhandler_socket.cc (fhandler_socket::connect): Use event driven
	technique (prepare/wait/release) to implement interuptible connect.
	(fhandler_socket::wait): Add timeout parameter.  Allow FD_CONNECT
	handling.
	* net.cc (cygwin_connect): Remove braindead workaround for allowing
	blocking connect.  That's entirely in fhandler_socket::connect now.
2005-10-22 15:11:49 +00:00
Paolo Bonzini ecebee4838 2005-10-22 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/24297
	* Makefile.tpl (do-[+make-target+], do-check, install,
	stage[+id+]-bubble, [+compare-target+]): Ensure $$r and $$s
	are set before recursing.
	* Makefile.in: Regenerate.
2005-10-22 10:37:55 +00:00
Corinna Vinschen 88d30f0b2f * include/cygwin/version.h: Fix typo. 2005-10-22 10:28:02 +00:00
Mark Mitchell f4f1045c8c Fix typo 2005-10-21 23:31:33 +00:00
Mark Mitchell 6fd3ff4e70 * texi2pod.pl: Substitue for @value even when part of @include. 2005-10-21 23:29:22 +00:00
Bob Wilson a6d19f4cd4 * texi2pod.pl: Import latest version from GCC. 2005-10-21 18:08:07 +00:00
Christopher Faylor a591389de3 * dir.cc (rmdir): Eliminate nonsensical code.
* fork.cc (fork): Move exit debug_printf to last statement.
2005-10-21 14:08:19 +00:00
Jeff Johnston 09968b6d27 2005-10-20 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/math.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): When
        gcc is 3.3 or greater, use special gcc builtins.
2005-10-20 21:42:33 +00:00
Jeff Johnston 34da20b26f 2005-10-20 Jeff Johnston <jjohnstn@redhat.com>
* arm/configure.in: Add AC_SUBST for BUILD_CRT0_TRUE and
        BUILD_CRT0_FALSE.
        * arm/configure: Regenerate.
2005-10-20 20:17:50 +00:00
Corinna Vinschen c70571bdbe * libc/include/sys/time.h: Declare futimes and lutimes for Cygwin. 2005-10-20 14:38:57 +00:00
Corinna Vinschen 81bd1ca723 * cygwin.din (futimes): Export.
(lutimes): Export.
	* times.cc (utimes_worker): Created from utimes, add nofollow flag
	to implement utimes and lutimes.
	(utimes): Just call utimes_worker.
	(lutimes): New function.
	(futimes): Ditto.
	* include/cygwin/version.h: Bump API minor version.
2005-10-20 14:26:23 +00:00
Eric Botcazou af18e12c9f PR bootstrap/18939
* Makefile.def (gcc) <target>: Fix thinko.
	* Makefile.in: Regenerate.
2005-10-20 12:01:15 +00:00
Christopher Faylor 0cdcb2345a * sigproc.cc (child_info::sync): Move check for !wr_proc_pipe lower.
* spawn.cc (spawn_guts): Correct check for top-level process.
2005-10-19 22:25:46 +00:00
Christopher Faylor fece95f7f3 * sigproc.cc (child_info::sync): Move check for !wr_proc_pipe lower.
* spawn.cc (spawn_guts): Correct check for top-level process.
2005-10-19 22:13:04 +00:00
Corinna Vinschen c928a06464 * autoload.cc: Revert loading rcmd, rexec, rresvport and inet_network
from wsock32.dll since these symbols are not exported from ws2_32.dll.
2005-10-19 19:55:31 +00:00
Christopher Faylor b27f0b2cf9 * times.cc (utimes): Only consider fds opened with write access. 2005-10-19 17:11:25 +00:00
Christopher Faylor 5a90915d41 * fhandler_disk_file.cc (fhandler_base::utimes_fs): Use existing handle if
fhandler has one.
* times.cc (utimes): Scan open fds for matching paths and use existing fhandler
if one exists.
2005-10-19 16:50:43 +00:00
Christopher Faylor b3982520d3 * pinfo.cc (_pinfo::dup_proc_pipe): Make warning more severe by actually
printing it.
(_pinfo::alert_parent): Fix comment.  Don't send to parent if we are in an exec
stub.
2005-10-19 14:19:37 +00:00
Christopher Faylor b72a5c0767 * cygtls.cc (handle_threadlist_exception): Improve diagnostic output.
* sigproc.cc (child_info::sync): Only clear hProcess when execing.
(wait_sig): Protect readsig handle.
2005-10-19 00:22:08 +00:00
Corinna Vinschen 1f5c3042d5 * autoload.cc (NtLockVirtualMemory): Import.
(NtUnlockVirtualMemory): Import.
	(GetProcessWorkingSetSize): Import.
	(SetProcessWorkingSetSize): Import.
	* cygwin.din (mlock): Export.
	(munlock): Export.
	* mmap.cc (mlock): New function.
	(munlock): Ditto.
	* ntdll.h (STATUS_WORKING_SET_QUOTA): Define.
	(LOCK_VM_IN_WSL): Define.
	(LOCK_VM_IN_RAM): Define.
	(NtLockVirtualMemory): Declare.
	(NtUnlockVirtualMemory): Declare.
	* sysconf.cc (sysconf): Implement _SC_MEMLOCK_RANGE.
	* wincap.h: Implement has_working_virtual_lock throughout.
	* wincap.cc: Ditto.
	* include/cygwin/version.h: Bump API minor version.
	* include/sys/mman.h (mlock): Declare,
	(munlock): Declare.
2005-10-18 18:51:33 +00:00
Corinna Vinschen a92822b747 * libc/include/sys/features.h: Define _POSIX_MEMLOCK_RANGE for Cygwin. 2005-10-18 18:39:46 +00:00
Christopher Faylor a93b4154f1 * sigproc.cc (child_info::sync): Use correct name when closing to prevent
warnings when DEBUGGING.
* spawn.cc (spawn_guts): Set myself.hProcess to pi.hProcess since this may have
been zeroed by the previous sync.
2005-10-18 15:13:13 +00:00
Christopher Faylor 4116609aca * sigproc.cc (child_info::sync): Fix typo which caused hProcess to never be
cleared.  Only clear hProcess when not forking.
2005-10-18 04:20:46 +00:00
Christopher Faylor 267e201dae Change process_lock to lock_process throughout. Change all calls to new
cygthread to handle extra argument, throughout.
* cygthread.h (cygthread::callproc): Declare new method.
(cygthread::cygthread): Add optional length argument to allow copying arguments
to executing thread.
* cygthread.cc (cygthread::callproc): Define new method.
(cygthread::stub): Use callfunc to invoke thread func to allow potentially
allocating stack memory which will be returned.
(cygthread::simplestub): Ditto.
(cygthread::cygthread): Accept arglen argument.  Reset ev here prior to
activating thread.  Wait for ev after activating thread if we're copying
contents to the thread.  Wait until the end before setting h, to allow thread
synchronization.
(cygthread::release): Don't reset ev here.  Rely on that happening the next
time the thread is activated.
* pinfo.h (commune_process): Rename declaration from _pinfo::commune_process.
* pinfo.cc (commune_process): Ditto for definition.  Modify slightly to allow
running as a separate cygthread.
* sigproc.cc (child_info::sync): Always wait for both subproc_ready and any
hProcess if we have a cygwin parent.
(talktome): Change argument to be a pointer to siginfo_t.  Contiguously
allocate whole siginfo_t structure + any needed extra for eventual passing to
commune_process thread.
(wait_sig): Accommodate change in talktome argument.
* pipe.cc (fhandler_pipe::fixup_after_exec): Remove debugging.
2005-10-17 23:27:00 +00:00
Corinna Vinschen 8b00a766ff * autoload.cc: Never load wsock32.dll. Load all wsock32 function
from ws2_32.  Rearrange symbol order accordingly.  None of the ws2_32
	functions is optional right now.
	(wsadata): Move from net.cc here.  Define NO_COPY.
	(wsock_init): Drop unused symbols ws2_32_handle and wsock32_handle.
	(load_wsock32): Remove.
	(WSACleanup): Remove.
	* fhandler_socket.cc: Drop Winsock 1 accommodations throughout.
	(fhandler_socket::readv): Accomodate new POSIX style struct msghdr.
	(fhandler_socket::writev): Ditto.
	(fhandler_socket::recvmsg): Ditto. Handle "old" applications using
	former struct msghdr correctly.
	* net.cc: Drop Winsock 1 accommodations throughout.
	(wsadata): Move definition to autoload.cc.
	(set_socket_inheritance): Remove.
	(convert_ws1_ip_optname): New static function to convert Winsock1
	IPPROTO_IP option values into Winsock2 IPPROTO_IP option values.
	(cygwin_setsockopt): Remove wrong and incomplete cleartext printing
	of optname.  For "old" applications, convert optname from Winsock1
	to Winsock2 values before using them.  Add comment to describe the
	IP_TOS weirdness on W2K and above.
	(cygwin_getsockopt): Remove wrong and incomplete cleartext printing
	of optname.  For "old" applications, convert optname from Winsock1
	to Winsock2 values before using them.
	* select.cc (start_thread_socket): Forget about winsock2_active.
	* winsup.h (wsock32_handle): Remove declaration.
	(ws2_32_handle): Ditto.
	(netapi32_handle): Ditto.
	(wsadata): Ditto.
	(winsock2_active): Remove definition.
	* include/cygwin/socket.h: Change formatting slightly.
	(socklen_t): Move definition up in file.
	(struct msghdr): Convert to POSIX style.
	(struct cmsghdr): New type.
	(CMSG_ALIGN): New macro.
	(CMSG_LEN): Ditto.
	(CMSG_SPACE): Ditto.
	(CMSG_FIRSTHDR): Ditto.
	(CMSG_NXTHDR): Ditto.
	(CMSG_DATA): Ditto.
	(SCM_RIGHTS): Ditto.
	(struct OLD_msghdr): Define old msghdr structure for Cygwin internal
	purposes.
	(MSG_TRUNC): New macro.
	(MSG_CTRUNC): Ditto.
	(IP_OPTIONS): Redefine IPPROTO_IP option values to Winsock2 values.
	Keep Winsock1 values for Cygwin internal purposes.
	* include/cygwin/version.h: Bump API minor version.
	(CYGWIN_VERSION_CHECK_FOR_USING_ANCIENT_MSGHDR): Define to check for
	applications using old struct msghdr.
	(CYGWIN_VERSION_CHECK_FOR_USING_WINSOCK1_VALUES): Define to check for
	applications using old Winsock1 IPPROTO_IP values.
2005-10-17 21:22:18 +00:00
Jeff Johnston 9276ec15a7 2005-10-17 Jeff Johnston <jjohnstn@redhat.com>
* arm/configure.in: Support building crt0.o when syscalls
        are disabled in newlib.
        * arm/configure: Regenerated.
2005-10-17 21:17:17 +00:00
Bernd Schmidt a68fc753b9 * configure.in (bfin-*-*): Use test, not brackets, in if statement.
* configure: Regenerate.
2005-10-17 12:54:34 +00:00
Christopher Faylor 0fa52a6cdf Check in previously ChangeLoged entry. 2005-10-17 03:20:20 +00:00
John David Anglin e68354936d * hppa.h (pa_opcodes): Add two fcmp opcodes. Reorder ftest opcodes.
Add FLAG_STRICT to pa10 ftest opcode.
2005-10-16 20:42:14 +00:00
Danny Smith 654808f00c * include/limits.h (SSIZE_MAX): Define.
(LLONG_MAX, LLONG_MIN, ULLONG_MAX): Separate from non-ISO names.
2005-10-15 22:35:55 +00:00
Jeff Johnston d2c2c1328b 2005-10-14 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/math.h (HUGE_VALF, HUGE_VALL): New.
        * libm/common/Makefile.am: Add s_infconst.c support.
        * libm/common/Makefile.in: Regenerated.
        * libm/common/s_infconst.c: New file with float and
        long double infinity support added.
        * libm/math/Makefile.am: Remove s_infconst.c support.
        * libm/math/Makefile.in: Regenerated.
        * libm/math/s_infconst.c: Moved to common directory.
        * libm/mathfp/Makefile.am: Remove s_infconst.c support.
        * libm/mathfp/Makefile.in: Regenerated.
        * libm/mathfp/s_infconst.c: Moved to common directory.
2005-10-14 21:11:39 +00:00
Jeff Johnston 4d57c1edc7 2005-10-14 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/linux/net/gethostbydns.c (dprintf): Rename to
        dbgprintf to prevent conflict with new dprintf function.
2005-10-14 21:06:20 +00:00
Jeff Johnston 1012585f1f 2005-10-14 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/vfprintf.c (_VFPRINTF_R): Fix up "inf" and
        "nan" processing for systems that have long double support.
2005-10-14 21:03:13 +00:00
Jeff Johnston e9154015a0 2005-10-14 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/linux/sys/types.h (int8_t): Add type.
2005-10-14 20:01:55 +00:00
Jeff Johnston 1a8696985f 2005-10-14 Bob Wilson <bob.wilson@acm.org>
* libm/common/Makefile.am (doc): Do not append to $(TARGETDOC).
        * libm/common/Makefile.in: Regenerate.
        * libm/common/common.tex: Delete file.
        * libm/math/math.tex: Include .def files from common/.
        * libm/mathfp/mathfp.tex: Likewise.
2005-10-14 18:55:57 +00:00
Jeff Johnston e0811fb3bf 2005-10-14 Bob Wilson <bob.wilson@acm.org>
* libc/libc.texinfo (Top): Surround this node with @ifnottex
        instead of @ifinfo.  Update menu to add Introduction and match
        SUBDIRS order.
        (Introduction): New section.
2005-10-14 18:45:19 +00:00
Jeff Johnston e63c98c61b 2005-10-14 Bob Wilson <bob.wilson@acm.org>
* libc/reent/reent.tex (Reentrancy): Replace "Cygnus C Library"
        with "Red Hat newlib C Library".
        * libc/sys.tex (Stubs): Likewise.
        * libm/math/math.tex (Math): Likewise.
        * libm/mathfp/mathfp.tex (Math): Likewise.
2005-10-14 18:37:24 +00:00
Christopher Faylor fd1165e29a * Makefile.in (MKDIRP): Just use raw $(INSTALL) rather than $(INSTALL_DATA).
Create directories with 755 permissions.
2005-10-14 02:15:12 +00:00
Danny Smith 5d023ae8d5 2005-10-13 Wu Yongwei <adah@users.sourceforge.net>
* include/tchar.h: Include <wchar.h> when _UNICODE is defined.
	(_TEOF): New macro definition for _UNICODE and non_UNICODE cases.
2005-10-13 20:31:50 +00:00
John David Anglin 0e7712aeeb * gas/hppa/basic/basic.exp (do_system): Adjust for removal of lha
instructions from system.s.
	* gas/hppa/basic/system.s (lha): Remove.

	* hppa.h (pa_opcodes): Remove lha entries.
2005-10-13 02:26:34 +00:00
Christopher Faylor bf1550b6f8 * dir.cc (mkdir): Abandon use of PC_WRITABLE.
(rmdir): Ditto.
* path.h (PC_WRITABLE): Delete.
* path.cc (path_conv::check): Remove PC_WRITABLE accommodations.  Revisit
later.
2005-10-12 20:38:38 +00:00
Corinna Vinschen 48882f9a07 * fhandler_disk_file.cc (fhandler_disk_file::rmdir): Convert an
ERROR_INVALID_FUNCTION into an ERROR_FILE_NOT_FOUND.  Add comment
	to explain why.
2005-10-12 12:54:34 +00:00
Danny Smith c3a1f48c42 * include/winbase.h (GetProcessId): Remove duplicate declaration.
Use _WIN32_WINNT >= 0x0501 guard.
2005-10-12 09:40:29 +00:00
Danny Smith 16d4791f87 * include/stddef.h: Remove.
* include/stdarg.h: Remove.
2005-10-12 09:02:24 +00:00
Danny Smith 0efe737420 * mingwex/complex/csqrt.c (csqrt): The sign of real part
of result is positive when real part of arg == 0;
	* mingwex/complex/csqrtf.c (csqrtf): Ditto.
	* mingwex/complex/csqrtl.c (csqrtl): Ditto.
2005-10-12 06:46:18 +00:00
Danny Smith 1a5c68c8d9 * include/time.h (_time64): Correct prototype. 2005-10-12 00:28:11 +00:00
Jeff Johnston 339195bf12 2005-10-11 Shaun Jackman <sjackman@gmail.com>
* libc/include/stdio.h (dprintf): New declaration.
        (vdprintf): Ditto.
        * libc/stdio/Makefile.am (GENERAL_SOURCES): Add dprintf.c
        and vdprintf.c.
        * libc/stdio/Makefile.in: Regenerate.
        * libc/stdio/dprintf.c: New file.
        * libc/stdio/vdprintf.c: New file.
        * libc/stdio/stdio.tex (dprintf): New entry.
2005-10-11 23:59:32 +00:00
Jeff Johnston da71e51811 2005-10-11 David Weatherford <weath@tensilica.com>
* libc/stdio/vfprintf.c (_VFPRINTF_R): Recognize 'F' format.
        Print "inf" and "nan" in lowercase for e/f/g formats and in
        uppercase for E/F/G formats.
2005-10-11 22:51:37 +00:00