Corinna Vinschen [Sun, 13 Nov 2005 16:24:40 +0000 (16:24 +0000)]
* fhandler_socket.cc (fhandler_socket::recvfrom): Just return 0 (EOF)
in case of WSAESHUTDOWN.
(fhandler_socket::recvmsg): Ditto.
* poll.cc (poll): Set revents to POLLIN instead of POLLHUP. Add comment.
Nick Clifton [Fri, 11 Nov 2005 11:06:31 +0000 (11:06 +0000)]
PR 1150
* readelf.c (get_mips_symbol_other): New function.
(get_symbol_other): New function.
(process_symbol_table): Call get_symbol_other() to get a description of the
st_other field if it contains more information than just the visibility.
* elfxx-mips.c (mips_elf_calculate_relocation): Ignore an undefined symbol if
it is optional.
(_bfd_mips_elf_merge_symbol_attribute): Make sure that the optional flag is
merged as well as the visibility.
* elfxx-mips.h (_bfd_mips_elf_merge_symbol_attribute): Prototype.
(elf_backend_merge_symbol_attribute): Define.
* mips.h (STO_OPTIONAL): Define.
(ELF_MIPS_IS_OPTIONAL): Define.
* times.cc (hires_ms::prime): Comment out call to timeBeginPeriod for now.
(hires_ms::usecs): Call prime if haven't called began_period().
* param.h: Don't define stuff that is already defined in endian.h.
Corinna Vinschen [Thu, 10 Nov 2005 15:04:06 +0000 (15:04 +0000)]
* bsd_helper.cc (securityinit): New function. Move initialization
of security related variables from ipcinit here.
* bsd_helper.h (securityinit): Add prototype.
* cygserver.cc (main): Call securityinit right after wincap.init.
* process.cc (process_cache::process): Fix maximum process condition.
* README: Add description for new -p/--process-cache option.
* bsd_helper.cc (default_tun_check): Add kern.srv.process_cache_size
entry to tunable_params. Set max value of kern.srv.request_threads
to 310.
* cygserver.cc (SERVER_VERSION): Set to 1.20.
(print_usage): Print usage of new parameter -p.
(main): Add process cache parameter handling. Accomodate new max
value of request threads.
* cygserver.conf: Add kern.srv.process_cache_size tunable parameter.
Accomodate new max value of kern.srv.request_threads.
* process.cc: Fix a comment.
(process_cache::process_cache): Add max process cache size parameter.
Change _cache_add_trigger to manual reset event.
(struct pcache_wait_t): New struct used as parameter to
pcache_wait_thread.
(pcache_wait_thread): New thread function used for threaded process
cache.
(process_cache::wait_for_processes): Use threaded waiting if number
of processes to wait for is bigger than 62. Always check all processes
to avoid race under heavy load.
(process_cache::sync_wait_array): Remove useless assert. Reset
_cache_add_trigger right at the start since it's manual reset now.
Accomodate threaded waiting.
* process.h (process_cache::process_cache): Add max_procs parameter.
(process_cache::_max_process_count): New member.
(process_cache::_wait_array: Raise to allow up to 5 wait threads.
(process_cache::_process_array): Ditto.
Jeff Johnston [Tue, 8 Nov 2005 22:44:16 +0000 (22:44 +0000)]
2005-11-08 Tom Walsh <tom@openhardware.net>
* libc/time/tzvars.c: New file.
* libc/time/tzset_r.c: Moved globals into tzvars.c
so other time functions needn't link in __tzset_r and its
dependencies.
* libc/time/Makefile.am: Add the new file.
* libc/time/Makefile.in: Regenerated.
* cygheap.h (init_cygheap::_gtod): New hires_ms element.
* hires.h (hires_ms::minperiod): Remove static designation.
(hires::began_period): New field.
* signal.cc: Include headers required for cygheap.h now that gtod lives in the
cygheap.
* timer.c: Ditto.
* times.cc (gtod): Delete variable.
(gtod::minperiod): Ditto.
(gtod::began_period): Define.
(hires_ms::prime): Add more debugging output. Call timeBeginPeriod only when
!began_period.
Jeff Johnston [Thu, 3 Nov 2005 16:52:15 +0000 (16:52 +0000)]
2005-11-03 Shaun Jackman <sjackman@gmail.com>
* libc/include/sys/unistd.h (readlink, symlink): Provide these
prototypes by default.
* libc/sys/linux/include/unistd.h (readlink): Remove this
prototype.
* libc/sys/linux/sys/unistd.h (readlink, symlink): New
prototypes.
* include/sys/cygwin.h: Define CYGWIN_SIGNAL_STRING.
* exceptins.cc (sigpacket::process): Send a _CYGWIN_SIGNAL_STRING to gdb if the
process is being debugged. A WIP.
* exceptions.cc (signal_exit): Eliminate setting of main thread priority since
process lock should make that unnecessary.
* fork.cc (stack_base): Eliminate.
(frok::parent): Subsume stack_base and just set stack stuff here. Report on
priority class in debugging output.
* spawn.cc (spawn_guts): Report on priority class in debugging output.
* fork.cc (frok::child): Change order of cleanup prior to return.
(fork): Save more of the stack.
* gendef: Fix some comments.
* sigproc.cc (wait_sig): Clarify debug output.
Jeff Johnston [Fri, 28 Oct 2005 21:36:05 +0000 (21:36 +0000)]
2005-10-28 Bob Wilson <bob.wilson@acm.org>
* libc/sys.tex (Stubs): Format examples consistently. Change sbrk
example to use "_end" symbol instead of "end". Change write example
to use "outbyte" instead of "writechar".
Jeff Johnston [Wed, 26 Oct 2005 22:16:34 +0000 (22:16 +0000)]
2005-10-26 Shaun Jackman <sjackman@gmail.com>
* libc/posix/scandir.c (scandir): Update the function
prototype to match the header.
* libc/sys/linux/linuxthreads/bits/libc-lock.h: Remove an
extraneous #endif.
* libc/sys/linux/sys/lock.h: Do not include
machine/weakalias.h, since it's not used by this file.
Jan Beulich [Mon, 24 Oct 2005 07:42:50 +0000 (07:42 +0000)]
include/opcode/
2005-10-24 Jan Beulich <jbeulich@novell.com>
* ia64.h (enum ia64_opnd): Move memory operand out of set of
indirect operands.
bfd/
2005-10-24 Jan Beulich <jbeulich@novell.com>
* cpu-ia64-opc.c (elf64_ia64_operands): Move memory operand out of
set of indirect operands.
gas/
2005-10-24 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (enum reg_symbol): Delete IND_MEM.
(dot_rot): Change type of num_* variables. Check for positive count.
(ia64_optimize_expr): Re-structure.
(md_operand): Check for general register.
gas/testsuite/
2005-10-24 Jan Beulich <jbeulich@novell.com>
* gas/ia64/index.[sl]: New.
* gas/ia64/rotX.[sl]: New.
* gas/ia64/ia64.exp: Run new tests.
opcodes/
2005-10-24 Jan Beulich <jbeulich@novell.com>
* 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.
Paolo Bonzini [Sat, 22 Oct 2005 10:37:55 +0000 (10:37 +0000)]
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.
Corinna Vinschen [Thu, 20 Oct 2005 14:26:23 +0000 (14:26 +0000)]
* 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.
* 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.
* 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.
* 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.
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.
Corinna Vinschen [Mon, 17 Oct 2005 21:22:18 +0000 (21:22 +0000)]
* 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.
Jeff Johnston [Fri, 14 Oct 2005 21:11:39 +0000 (21:11 +0000)]
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.
Jeff Johnston [Fri, 14 Oct 2005 18:55:57 +0000 (18:55 +0000)]
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.
Jeff Johnston [Fri, 14 Oct 2005 18:45:19 +0000 (18:45 +0000)]
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.