* cygheap.cc (cygheap_init): Allocate space for sigaction array in cygheap.
* cygheap.h (cygheap_types): Add HEAP_SIGS.
* exceptions.cc (signal_fixup_after_exec): Remove from this file.
* pinfo.h (pinfo::getsig): Just return global_sigs array.
(pinfo::sigs): Delete.
* sigproc.cc (signal_fixup_after_exec): Move it here.
(global_sigs): New global array, moved from pinfo structure.
(sigalloc): New function. Allocate global sigaction array here.
(proc_subproc): Remove copysigs call. It's automatic now.
* include/sys/cygwin.h (PID_NOCLDSTOP): New value.
* signal.cc (sigaction): Set myself->PID_NODCLDSTOP when appropriate.
* sigproc.h (sigalloc): Declare.
* fnmatch.c (fnmatch): Use C90 parameters.
(rangematch): Ditto.
* fhandler.cc (fhandler_base::raw_read): Use right coercion to avoid a compiler
warning.
* Makefile.in: Display "..." when not-verbose.
* kill.cc (forcekill): Default to entered pid when pinfo fails. Issue some
warnings when things don't work.
Use dup_ent rather than specific dup_*_ptr functions throughout.
* (gen_ent): Delete.
(dup_ent): Subsume gen_ent functionality.
(dup_host_ptr): Delete.
(dup_proto_ptr): Ditto.
(dup_servent_ptr): Ditto.
* net.cc (gen_ent): Invert sense of null check so that debug output makes
sense.
* net.cc (free_char_list): Delete.
(dup_addr_list): Delete.
(dup_char_list): Delete.
(free_hostent_ptr): Delete.
(free_protoent_ptr): Delete.
(free_servent_ptr): Delete.
(DWORD_round): New function.
(strlen_round): New function. Returns strlen rounded up to word size.
(dup_ent): New, generic function to duplicate a {host,proto,serv}ent structure.
(gen_ent): New macro. Generates a generic dup_{host,proto,serv}ent_ptr
function.
(cygwin_getservbyname): Remove call to free_servent_ptr, pass servent_buf to
dup_servent_ptr.
(cygwin_getservbyport): Ditto.
(cygwin_gethostbyname): Ditto for hostent.
(cygwin_gethostbyaddr): Ditto.
(cygwin_getprotobyname): Ditto for protoent.
(cygwin_getprotobynumber): Ditto.
* Makefile.in (MALLOC_OFILES): Always fill in with correct malloc object.
* configure.in: Fill in MALLOC_OFILES with either debugging or regular malloc.
* configure: Regenerate.
* dlmalloc.c: Make various fruitless changes to attempt to get to work.
* dlmalloc.h: Ditto.
* malloc.cc (free): Check malloc pool when debugging.
* path.cc (win32_device_name): Eliminate compiler warning.
* sigproc.cc (sig_dispatch_pending): Remove use of was_pending. Let
thisframe.call_signal_handler decide if handler should be called rather than
using bogus was_pending check.
* exceptions.cc (interrupt_setup): Remove accidentally checked in debugging
code.
* heap.cc (sbrk): Save rounded addess in user_heap_max.
* sigproc.h: Make some functions regparm.
* sigproc.cc (checkstate): Make regparm.
(getevent): Change parameters in declaration, rename from getsem, make regparm.
(sig_send): Recognize that nosync is now an event. Remove some old cruft from
previous interrupt anywhere signal handler.
(getevent): Change parameters in definition, rename from getsem. Allocate
event rather than semaphore.
(wait_sig): Treat sigcatch_nosync as an event.
* sigproc.h: Make some functions regparm.
* sigproc.cc (checkstate): Make regparm.
(getevent): Change parameters in declaration, rename from getsem, make regparm.
(sig_send): Recognize that nosync is now an event. Remove some old cruft from
previous interrupt anywhere signal handler.
(getevent): Change parameters in definition, rename from getsem. Allocate
event rather than semaphore.
(wait_sig): Treat sigcatch_nosync as an event.
* autoload.cc (SwitchToThread): Declare as autoload function.
* cygthread.h (cygthread::main_thread_id): Make public.
* exceptions.cc (setup_handler): Remove unneeded priority stuff. Rename label
to reflect what it does. Add debugging for idiotic Windows NT problem. Change
debugging output to include signal number.
* miscfuncs.cc (low_priority_sleep): If available, use SwitchToThread function
to give time slice to other threads.
* wincap.cc: Properly define have_switch_to_thread throughout.
* wincap.h (wincap::switch_to_thread): New element.
* sigproc.cc (wait_sig): Count number of iterations through 'more_signals' loop
and issue a warning if DEBUGGING and excessive.
(WFSO): When debugging and infinite timeout, loop.
Jeff Johnston [Tue, 26 Aug 2003 18:09:43 +0000 (18:09 +0000)]
2003-08-26 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdio.h: Allow the io64 function prototypes for
Cygwin when compiling newlib.
* libc/include/sys/stat.h[__CYGWIN__]: Define stat64 as __stat64
to expose the Cygwin struct __stat64 type.
* libc/stdio64/fseeko64.c: Use _fstat64_r and pass a struct stat64
pointer.
* libc/stdio64/tmpfile64.c(_tmpfile64_r): Call _fopen64_r.
Danny Smith [Tue, 26 Aug 2003 06:54:55 +0000 (06:54 +0000)]
2003-08-26 Danny Smith <dannysmith@users.sourceforge.net>
* lib/test.c: Add vfw.h to includes.
* include/mmsystem.h: Add #ifndef guard to definition of
mmioFOURCC macro.
* include/vfw.h: Protect __OBJC__ from COM declarations.
Throughout, change USE_CYGSERVER to USE_SERVER.
* Makefile.in (LIBSERVER): Define and use.
* configure.in: Set LIBSERVER as appropriate.
* environ.cc: Rename allow_daemon to allow_server. Only recognize when
USE_SERVER is defined.
2003-08-25 Danny Smith <dannysmith@users.sourceforge.net>
* commctrl.h (TC_HITTESTINFO): Remove. Add defines for
TCHITTESTINFO for backward compatibility.
(TC_ITEM[AW]): Rename to TCITEM[AW]. Add defines for backward
compatibility.
Jason Eckhardt [Sat, 23 Aug 2003 23:00:09 +0000 (23:00 +0000)]
2003-08-23 Jason Eckhardt <jle@rice.edu>
[bfd/ChangeLog]
* coff-i860.c (coff_i860_reloc_nyi): New function.
(howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
LOWn, SPLITn, and BRADDR.
(RTYPE2HOWTO): Check that the r_type is within the howto_table
before trying to access the entry.
(coff_i860_rtype_to_howto): Likewise.
(coff_i860_reloc_type_lookup): New function.
(i860_reloc_processing): New function.
(coff_bfd_reloc_type_lookup): Define macro.
(RELOC_PROCESSING): Define macro.
Minor formatting adjustments.
[include/coff/ChangeLog]
* coff/i860.h (COFF860_R_PAIR, COFF860_R_LOW0, COFF860_R_LOW1,
COFF860_R_LOW2, COFF860_R_LOW3, COFF860_R_LOW4, COFF860_R_SPLIT0,
COFF860_R_SPLIT1, COFF860_R_SPLIT2, COFF860_R_HIGHADJ,
COFF860_R_BRADDR): Define new relocation constants and document.
Minor formatting adjustments.
* cygheap.h (enum cygheap_types): Add HEAP_MMAP.
(CYGHEAPSIZE): Add another 64K.
* mmap.cc: Use cmalloc, ccalloc and crealloc with HEAP_MMAP type throughout.
* cygheap.cc (user_heap_info::max): New field.
* heap.cc (heap_init): Save pointer to end of heap reserved memory.
(sbrk): Don't attempt to commit memory beyond end of heap reserved memory.
Attempt to honor comment and reserve commitbytes if heapchunk fails.
PR 8180
* configure.in: When testing with_libs and with_headers, treat
'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
* configure: Regenerate.
PR 8180
* configure.in: When testing with_libs and with_headers, treat
'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
* configure: Regenerate.
* miscfuncs.cc (low_priority_sleep): Sleep at same priority as main thread.
* sigproc.cc (wait_sig): Keep looping if there are more signals to consider and
we are flushing signals.
(sig_send): Put nonsync signals in the correct bucket.
Jeff Johnston [Wed, 20 Aug 2003 19:32:52 +0000 (19:32 +0000)]
2003-08-20 Chris Demetriou <cgd@broadcom.com>
* mips/crt0_cfe.S: New file.
* mips/cfe_mem.c: New file.
* mips/cfe_prestart.S: Remove.
* mips/cfe.ld: Adjust to use crt0_cfe.o as the startup file, and
and use _start as the entry point. Align BSS to 32-byte boundary.
* mips/cfe.c: Reimplement to fit on top of a crt0_cfe.o file.
* mips/cfe_api.h (__libcfe_stack_size, __libcfe_mem_limit)
(__libcfe_meminit, __libcfe_stack_top): New prototypes.
* mips/Makefile.in (CFEOBJS): Replace cfe_prestart.o with cfe_mem.o.
(cfe.o, cfe_api.o, cfe_mem.o, crt0_cfe.o): New targets.
* mips/configure.in: Build and install crt0_cfe.o when CFE support
is built.
* mips/configure: Regenerate.
* sigproc.cc (wait_sig): Ensure that myself->getsigtodo array is flushed on a
__SIGFLUSH. Christopher Faylor <cgf@redhat.com>
* exceptions.cc (_sigreturn): Handle nested signals without growing the stack.
* exceptions.cc (pending_signals): Remove unneeded declaration.
* sigproc.cc (pending_signals): Make static.
(wait_sig): Use defined values rather than integers for rc. Never scan both
todo arrays as this could cause hangs if signals arrive from two different
sources. Rename saw_pending_signals to saw_failed_interrupt. Exit loop when
signal found. Enter low-priority sleep, if necessary, after finished
signalling completion. Set pending_signals when blocked
(from Pierre Humblet).
Throughout, eliminate argument to sig_dispatch_pending.
* exceptions.cc (setup_handler): Move non-interruptible condition handling
(back) to wait_sig (as suggested by Pierre Humblet).
(set_process_mask): Don't worry about calling sig_dispatch_pending from
sigthread since it is detected in the function anyway.
(sig_handle): Eliminate thisproc arg. Don't call sig_dispatch_pending on
SIGCONT since that should happen automatically.
* sigproc.cc (sig_dispatch_pending): Eliminate justwake argument. Just return
when called from sigthread.
(wait_sig): Change some variables to bool. Change inner while to an if. Move
uninterruptible signal handling here.
(sigproc_terminate): Don't call sig_dispatch_pending. Just increment semaphore
on exit.
* speclib: Use slightly different (but still flawed) method for determining
symbols to extract from libraries.
Corinna Vinschen [Sun, 17 Aug 2003 17:12:18 +0000 (17:12 +0000)]
* errno.cc (errmap): Map ERROR_INVALID_BLOCK_LENGTH to EIO.
* fhandler_raw.cc (fhandler_dev_raw::raw_read): Set more accurate
errnos instead of EACCES.
(fhandler_dev_raw::raw_write): Ditto.
Jason Eckhardt [Sun, 17 Aug 2003 03:16:23 +0000 (03:16 +0000)]
include/opcode/ChangeLog:
2003-08-16 Jason Eckhardt <jle@rice.edu>
* i860.h (fmov.ds): Expand as famov.ds.
(fmov.sd): Expand as famov.sd.
(pfmov.ds): Expand as pfamov.ds.
gas/testsuite/ChangeLog:
2003-08-16 Jason Eckhardt <jle@rice.edu>
* gas/i860/pseudo-ops01.{s,d}: New files.
* gas/i860/i860.exp: Execute the new test above.
* gas/i860/README.i860: Mention that pseudo-ops need more testing
and remove the align fill defect from the list.
Corinna Vinschen [Fri, 15 Aug 2003 20:26:11 +0000 (20:26 +0000)]
* cygcheck.cc (main): Fix some formatting and help text printing.
* cygcheck.cc (find_package,list_package): New global
variables.
(usage): Add "--find-package" and "--list-package" options,
reformat output.
(longopts, opts): Add "--find-package" and "--list-package"
options.
(main): Process the "--find-package" and "--list-package"
flags. Add new semantic checks. Add calls to find_package()
and list_package().
* dump_setup.cc: Fix header comment.
(match_argv): Change return type to int to distinguish
between real matches and default ones.
(open_package_list): New static function.
(check_package_files): Factor out opening the package list
file into open_package_list().
(get_packages): New static function.
(dump_setup): Factor out getting a list of packages into
get_packages().
(package_list, package_find): New global functions.
Corinna Vinschen [Wed, 13 Aug 2003 11:28:42 +0000 (11:28 +0000)]
* cygwin.din: Accomodate change from cygwin_lstat to lstat.
* syscalls.cc: Add defines to avoid declaration issues when
renaming cygwin_lstat back to lstat.
(lstat): Reverted name change from cygwin_lstat.