summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * fhandler_raw.cc (fhandler_dev_raw::ioctl): Only allow 0, 1 or aCorinna Vinschen2005-12-082-2/+13
| | | | multiple of 512 as new buffersize.
* * fhandler_socket.cc (fhandler_socket::recvfrom): Mask flags withCorinna Vinschen2005-12-082-9/+22
| | | | | | MSG_WINMASK for Windows socket calls. (fhandler_socket::recvmsg): Ditto. (fhandler_socket::sendmsg): Ditto.
* * hires.h (hires_ms::initime_ms): Delete.Christopher Faylor2005-12-075-32/+50
| | | | | | | | | | | | | | | (hires_ms::initime_us): Just define as LONGLONG. (hires_ms::uptime): New function. * select.cc (select_stuff::wait): Use gtod for timing to attempt to avoid windows 32 bit wraparound. * times.cc (systime): New function. (times): Replace GetTickCount with gtod.uptime. (hires_us::prime): Use systime() to calculate system time rather than calling GetSystemTimeAsFileTime directly. (hires_ms::prime): Ditto. Eliminate initime_ms. (hires_ms::usecs): Try harder to detect wraparound. * fhandler_proc.cc (format_proc_partitions): Set drive_size to zero to avoid a compiler warning.
* * fhandler_proc.cc (format_proc_partitions): Use modern IOCTLsCorinna Vinschen2005-12-072-21/+43
| | | | to determine drive size as far as possible.
* * include/winbase.h (GetDevicePowerState): Add prototype.Danny Smith2005-12-072-1/+2
| | | | * lib/kernel32.def (GetDevicePowerState): Correct suffix.
* 2005-12-07 Brian Gunlogson <gmb300@users.sourceforge.net>Danny Smith2005-12-072-4/+10
| | | | | | | | | * include/winuser.h (GetClassLongPtr{AW}): Guard prototypes with _WIN64. Define as macro if !_WIN64. (SetClassLongPtr{AW}): Likewise. (GCLP_*): Add GetClassLongPtr defines. * lib/user32.def (GetClassLongPtr{AW}): Remove stubs. (SetClassLongPtr{AW}): Likewise.
* * fhandler_raw.cc (fhandler_dev_raw::ioctl): Fix INVALID_PARAMETERCorinna Vinschen2005-12-072-3/+11
| | | | condition. Only copy devbuf to buf if buf is non-NULL.
* * fhandler_raw.cc (fhandler_dev_raw::ioctl): Fix setting devbufCorinna Vinschen2005-12-072-3/+10
| | | | when rd_parm is 0 or 1.
* * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Fix test forCorinna Vinschen2005-12-072-1/+6
| | | | valid file position at EOM.
* * include/cygwin/stdlib.h: Guard compilation of *unsetenv* in newlib.Christopher Faylor2005-12-072-0/+9
|
* * cris.h (MOVE_M_TO_PREG_OPCODE, MOVE_M_TO_PREG_ZBITS)Hans-Peter Nilsson2005-12-072-2/+15
| | | | | (MOVE_PC_INCR_OPCODE_PREFIX, MOVE_PC_INCR_OPCODE_SUFFIX): New macros. (ADD_PC_INCR_OPCODE): Don't define.
* * exceptions.cc (_cygtls::handle_exceptions): In case of aCorinna Vinschen2005-12-075-192/+511
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | STATUS_ACCESS_VIOLATION, check if the page is a mmaped page beyond a file's EOF. Generate SIGBUS instead of SIGSEGV then. * mmap.cc (__PROT_ATTACH): New define. (__PROT_FILLER): Ditto. (fh_anonymous): Rename from fh_paging_file; (fh_disk_file): New global static variable. (attached): New inline function. (filler): Ditto. (gen_create_protect): Split off from gen_protect to use the file's access mode to create mapping always with maximum allowed protections. (gen_protect): Accomodate pages attached beyond EOF. Use symbolic values instead of numerics when possible. Drop create parameter. (gen_access): Use file's access mode instead of protection. (CreateMapping9x): Create named mapping names so that different creation access modes result in different mappings. (CreateMappingNT): Only reserve attached pages, don't commit them. (MapViewNT): Ditto. Set AT_ROUND_TO_PAGE for all non-NULL base addresses. (mmap_func_t): Define CreateMapping and MapView function pointers with additional openflags parameter. (class mmap_record): Add openflags member. (mmap_record::mmap_record): Add openflags parameter. (mmap_record::get_openflags): New accessor. (mmap_record::attached): Call global attached function. (mmap_record::filler): Call global filler function. (mmap_record::gen_create_protect): Call global gen_create_protect function. (mmap_record::gen_protect): Drop create parameter. (mmap_record::alloc_fh): Set fhandler's access flags. (list::search_record): Accomodate filler pages. (list::set): Use inode number as hash value. (map::get_list_by_fd): Check hash value against file's inode number. (mmap_is_attached_page): New function to evaluate if a given address is on a attached page. Called from _cygtls::handle_exceptions. (mmap_worker): New function to do mapping and bookkeeping in a single call. (mmap64): Use roundup2 to round length to pagesize alignment. Initialize global fhandlers. Simplify anonymous initialization. Add SUSv3 compatible check of file open mode vs. requested protection. Try creating new file handles to allow maximum page protection. Allow creating attached pages in case of mapping beyond EOF. Close new file handle if one has been created. (munmap): Align len to pagesize. (msync): Rework argument checks. Align len to pagesize. (mprotect): Ditto. Accomodate attached pages. (mlock): Use roundup/rounddown macros instead of homemade expressions. (munlock): Add page alignment as in mlock. (fhandler_dev_zero::munmap): Fix unmapping of non-private mappings. (fhandler_dev_zero::fixup_mmap_after_fork): Accomodate filler pages. (fixup_mmaps_after_fork): Don't fail if attached pages couldn't be created in child. Avoid superfluous call to VirtualFree. Check for original allocation protection to fix PAGE_WRITECOPY protection. * ntdll.h: Revert deletion of AT_ROUND_TO_PAGE define. * winsup.h (mmap_is_attached_page): Declare.
* 2005-12-06 Paul Brook <paul@codesourcery.com>Jeff Johnston2005-12-069-32/+42
| | | | | | | | | | * m68k/bcc.ld: Add .text.*, .rodata.*, .data.* and .bss.*. * m68k/idp.ld: Ditto. * m68k/idpgdb: Ditto. * m68k/mvme135.ld: Ditto. * m68k/sbc5204.ld: Ditto. * m68k/sbc5206.ld: Ditto. * m68k/sim.ld: Ditto.
* 2005-12-06 Ralf Corsepius <ralf.corsepius@rtems.org>Jeff Johnston2005-12-062-1/+26
| | | | | | | | * libc/sys/rtems/crt0.c: Add rtems_gxx_key_create, rtems_gxx_key_delete, rtems_gxx_getspecific, rtems_gxx_setspecific, rtems_gxx_mutex_trylock, rtems_gxx_recursive_mutex_init, rtems_gxx_recursive_mutex_lock, rtems_gxx_recursive_mutex_trylock, rtems_gxx_recursive_mutex_unlock.
* gas/H.J. Lu2005-12-062-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-12-06 H.J. Lu <hongjiu.lu@intel.com> PR gas/1874 * config/tc-i386.c (match_template): Handle monitor. (process_suffix): Likewise. gas/testsuite/ 2005-12-06 H.J. Lu <hongjiu.lu@intel.com> PR gas/1874 * gas/i386/i386.exp: Add x86-64-prescott for 64bit. * gas/i386/prescott.s: Test address size override for monitor. * gas/i386/prescott.d: Updated. * gas/i386/x86-64-prescott.d: New file. * gas/i386/x86-64-prescott.s: Likewise. include/opcode/ 2005-12-06 H.J. Lu <hongjiu.lu@intel.com> PR gas/1874 * i386.h (i386_optab): Add 64bit support for monitor and mwait. opcodes/ 2005-12-06 H.J. Lu <hongjiu.lu@intel.com> PR gas/1874 * i386-dis.c (address_mode): New enum type. (address_mode): New variable. (mode_64bit): Removed. (ckprefix): Updated to check address_mode instead of mode_64bit. (prefix_name): Likewise. (print_insn): Likewise. (putop): Likewise. (print_operand_value): Likewise. (intel_operand_size): Likewise. (OP_E): Likewise. (OP_G): Likewise. (set_op): Likewise. (OP_REG): Likewise. (OP_I): Likewise. (OP_I64): Likewise. (OP_OFF): Likewise. (OP_OFF64): Likewise. (ptr_reg): Likewise. (OP_C): Likewise. (SVME_Fixup): Likewise. (print_insn): Set address_mode. (PNI_Fixup): Add 64bit and address size override support for monitor and mwait.
* * include/cygwin/stdlib.h: New file.Christopher Faylor2005-12-054-2/+78
| | | | | * environ.cc (unsetenv): Change to return -1 on input error. * include/cygwin/version.h: Add more description to latest api bump.
* * libc/include/stdlib.h: Move cygwin declarations to cygwin-specific file.Christopher Faylor2005-12-052-42/+9
| | | | Declare unsetenv and _unsetenv_r when not cygwin.
* * dir.cc (readdir_workdir): Only fill out d_ino when linked into older app.Christopher Faylor2005-12-054-56/+69
| | | | | | | * include/cygwin/version.h: Bump api minor number to 147, reflecting obsolescence of d_ino. (CYGWIN_VERSION_USER_API_VERSION_COMBINED): New convenience macro. (CYGWIN_VERSION_CHECK_FOR_NEEDS_D_INO): New convenience macro.
* revert accidental checkinChristopher Faylor2005-12-051-4/+0
|
* Remove unneeded whitespace.Christopher Faylor2005-12-059-50/+48
| | | | | | | | | | | | | | | | | * cygtls.cc (_cygtls::set_state): Delete. (_cygtls::reset_exception): Ditto. (_cygtls::init_thread): Set initialized state directly here. (_cygtls::push): Remove exception argument. Don't treat exceptions specially. * cygtls.h (_cygtls::push): Ditto. (_cygtls::isinitialized): Don't treat exceptions specially. (_cygtls::reset_exception): Delete. (_cygtls::set_state): Ditto. (_cygtls::handle_exceptions): Don't push ebp on the stack prior to calling sig_send. Just set incyg instead. (_cygtls::interrupt_setup): Accommodate _cygtls::push argument change. (_cygtls::interrupt_now): Ditto. (setup_handler): Don't treat exceptions specially. * gendef (longjmp): Always zero incyg flag.
* * strace.cc (show_usecs): Renamed from 'usecs'.Christopher Faylor2005-12-053-7/+18
| | | | | | | (main): Use show_usecs rather than usecs. Toggle delta if '-u' is specified. (handle_output_debug_string): Avoid printing microsecond timestamp if show_usecs == 0. * utils.sgml (strace): Add words to describe '-u'.
* toplevel:Paolo Bonzini2005-12-0510-1087/+2133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-12-05 Paolo Bonzini <bonzini@gnu.org> Sync with gcc: 2005-12-05 Paolo Bonzini <bonzini@gnu.org> * configure.in (CONFIGURED_BISON, CONFIGURED_YACC, CONFIGURED_M4, CONFIGURED_FLEX, CONFIGURED_LEX, CONFIGURED_MAKEINFO): Remove "CONFIGURED_" from the AC_CHECK_PROGS invocation. Move below. Find in-tree tools if available. (EXPECT, RUNTEST, LIPO, STRIP): Find them and substitute them. (CONFIGURED_*_FOR_TARGET): Don't set nor substitute. (*_FOR_TARGET): Set them with GCC_TARGET_TOOL. (COMPILER_*_FOR_TARGET): New. * Makefile.tpl (HOST_EXPORTS): Add *_FOR_TARGET symbols that gcc needs. (BASE_TARGET_EXPORTS): Use COMPILER_*_FOR_TARGET symbols. (CONFIGURED_*, USUAL_*): Remove. (BISON, YACC, FLEX, LEX, M4, MAKEINFO, EXPECT, RUNTEST, LIPO, STRIP): Use autoconf substitutions. (COMPILER_AS_FOR_TARGET, COMPILER_LD_FOR_TARGET, COMPILER_NM_FOR_TARGET): New. (EXTRA_HOST_FLAGS): Pass LIPO and STRIP. (all): Make all-host and all-target in parallel. (do-[+make_target+], do-check, install, [+compare-target+]): Ensure that $$r and $$s are set before invoking a recursive make. (stage[+id+]-bubble): Likewise, and invoke the comparison at the end. ([+bootstrap-target+]): Inline most of the `all' target. 2005-11-29 Ben Elliston <bje@au.ibm.com> * Makefile.tpl (clean-target-libgcc): Invoke clean-target-libgcc from the gcc build directory. * Makefile.in: Regenerate. 2005-11-29 Ben Elliston <bje@au.ibm.com> * Makefile.def: Add new libdecnumber host_module. Make all-gcc depend on all-libdecnumber. * configure.in (host_libs): Include libdecnumber. * Makefile.in: Regenerate. * configure: Likewise. 2005-11-21 Kean Johnston <jkj@sco.com> * config.sub, config.guess: Sync from upstream sources. config: 2005-12-05 Paolo Bonzini <bonzini@gnu.org> * acx.m4 (GCC_TARGET_TOOL): New.
* * environ.cc (spenvs): Add "windir" as an "always export" variableCorinna Vinschen2005-12-042-1/+7
| | | | to accomodate WinSock on Windows 95.
* fix descriptionChristopher Faylor2005-12-041-1/+1
|
* * faq-setup.xml: Add note about clean_setup.pl.Joshua Daniel Franklin2005-12-043-2/+11
| | | | * faq-using.xml: Remove unnecessary line of elisp.
* * include/exceptions.h (exception_list): Revert previous change. WindowsChristopher Faylor2005-12-036-71/+91
| | | | | | | | | | | | | | | | doesn't care. (exception_handler): Use real exception_list parameter type rather than void * * tlsoffsets.h: Regenerate. * cygtls.h (_cygtls::handle_exceptions): Use real exception_list parameter type rather than void *. (handle_threadlist_exception): Ditto. (init_exception_handler): Ditto. * cygtls.cc (_cygtls::handle_threadlist_exception ): Ditto. (_cygtls::init_exception_handler): Add kludge to terminate linked list with a loop, which seems to solve problem of RtlUnwind causing problems * exceptions.cc (rtl_unwind): Use real exception_list parameter type rather than void *. (_cygtls::handle_exceptions): Ditto.
* Add missing ChangeLog entry.Christopher Faylor2005-12-031-0/+1
|
* * cygtls.h (_cygtls::el): New field.Christopher Faylor2005-12-0313-133/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (_cygtls::handle_exceptions): New function declaration. (_cygtls::handle_threadlist_exception): Ditto. (_cygtls::init_exception_handler): Ditto. (_cygtls::init_threadlist_exceptions): Remove arg from declaration. * cygtls.cc (_cygtls::call2): Don't initialize exceptions here. (_cygtls::init_thread): Do it here instead and use member function. (_cygtls::handle_threadlist_exception): Move into _cygtls class. (_cygtls::init_exception_handler): Ditto. Rely on existence of 'el' memmber in _cygtls. (_cygtls::init_threadlist_exceptions): Ditto. * dcrt0.cc (dll_crt0_1): Remove exception_list definition and setting since it now commonly resides in the tls. * exceptions.cc (init_exception_handler): Move to cygtls.cc. (init_exceptions): Ditto. (rtl_unwind): New, safe wrapper function for RtlUnwind. (_cygtls::handle_exceptions): Move to _cygtls. Call rtl_unwind to unwind frames and eliminate copying of structures. Put address of failing instruction in si_addr, not the address on the stack. Return 0 to indicate that we've handled this exception. * external.cc (cygwin_internal): Make CW_INIT_EXCEPTIONS a no-op. * sigproc.cc (wait_sig): Accommodate argument change to _cygtls::init_threadlist_exceptions. * tlsoffsets.h: Regenerate. * include/exceptions.h (exception_list): Add more stuff to the exception list. Apparently windows needs this? (init_exceptions): Remove bogus declaration. * include/cygwin/signal.h (SI_USER): Redefine as zero as per SUSv3. * thread.cc (pthread_kill): Set si_pid and si_uid. * timer.cc (timer_thread): Set si_code to SI_TIMER.
* * dcrt0.cc (getstack): Try harder to modify memory.Christopher Faylor2005-12-022-4/+11
| | | | (alloc_stack): Alloc page prior to stack top, too.
* * devices.h (_major): Revert previous ill-advised change.Christopher Faylor2005-12-022-2/+7
| | | | (_minor): Ditto.
* * exceptions.cc (handle_exceptions): Translate a guard page exception to aChristopher Faylor2005-12-012-1/+10
| | | | "SIGBUS".
* * mmap.cc: Make debug output more consistently. Fix some comments.Corinna Vinschen2005-12-012-36/+51
| | | | | | | | | | | (gen_protect): Convert to inline function. (gen_access): Ditto. (mmap_record::gen_protect): Add create parameter as in global function. (mmap_record::alloc_page_map): Change condition so that always the correct protection setting is set after mapping has been established. (mmap64): For anonymous mappings set offset always to 0. (fixup_mmaps_after_fork): Always call fixup_mmap_after_fork method with the MAP_FIXED flag set.
* * devices.h (_minor): Coerce argument to proper type before manipulating.Christopher Faylor2005-12-015-29/+51
| | | | | | | | | | | | | | | | | | | | | (_major): Ditto. (device::is_fs_special): New function. * fhandler_disk_file.cc (fhandler_base::fstat_helper): Set the size to 0 for devices rather than reporting the size of the symlink. (fhandler_disk_file::readdir): Use is_fs_special to determine if .lnk should be stripped. * path.cc: Rename symlink_info::is_symlink to symlink_info::issymlink throughout. (symlink_info::isdevice): New field. (path_conv::check): Use 'isdevice' to determine if just-parsed entity is a device rather than relying on non-zero major/minor. (symlink_info::parse_device): Set isdevice to true if we've discovered a device. (symlink_info::check): Clear isdevice field prior to processing. Use isdevice to control debugging output. (symlink_info::set): Set isdevice to false. * path.h (path_conv::is_fs_special): New function. * devices.cc: Regenerate.
* 2005-11-30 Shaun Jackman <sjackman@gmail.com>Jeff Johnston2005-11-305-3/+81
| | | | | | | * libnosys/Makefile.in (OBJS): Add chown, readlink, and symlink. * libnosys/chown.c: New file. * libnosys/readlink.c: New file. * libnosys/symlink.c: New file.
* 2005-11-30 Shaun Jackman <sjackman@gmail.com>Jeff Johnston2005-11-303-2/+47
| | | | | | * arm/libcfunc.c (clock, sleep, usleep): New functions. * arm/syscalls.c (_clock): New function. (_times): Call _clock.
* * times.cc (hires_ms::prime): Remove debugging stuff.Christopher Faylor2005-11-302-14/+8
| | | | (hires_ms::usecs): Ditto.
* * mmap.cc (list::try_map): New method, implementing trying to mapCorinna Vinschen2005-11-302-44/+68
| | | | | | | | within another already existing map, moved from mmap64 here. (mmap64): Just call try_map now. (fhandler_dev_zero::fixup_mmap_after_fork): Always create new private map with PAGE_READWRITE protection. (fixup_mmaps_after_fork): Fix comment.
* * include/cygwin/version.h: Bump API minor version.Corinna Vinschen2005-11-292-1/+6
|
* * fhandler.h (fhandler_dev_zero::mmap): Add method.Corinna Vinschen2005-11-294-92/+329
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (fhandler_dev_zero::munmap): Ditto. (fhandler_dev_zero::msync): Ditto. (fhandler_dev_zero::fixup_mmap_after_fork): Ditto. * mmap.cc: Implement anonymous mapping using fhandler_dev_zero class. Implement private anonymous maps using VirtualAlloc/VirtualFree. Fix or add some more comments. (fh_paging_file): Change to type fhandler_dev_zero. (priv): New static inline function to avoid having lots of flag bit tests in the code. Use throughout were appropriate. (fixed): Ditto. (anonymous): Ditto. (noreserve): Ditto. (autogrow): Ditto. (gen_protect): Never generate PAGE_WRITECOPY protection for private anonymous maps. (gen_access): Drop FILE_MAP_EXECUTE handling since it's not supported correctly on 9x. (VirtualProt9x): Move comment from mmap64 here. (mmap_record::mmap_record): Gegerate correct device entry for anonymous maps, though unused right now. (mmap_record::priv): Call global priv function. (mmap_record::fixed): Call global fixed function. (mmap_record::anonymous): Call global anonymous function. (mmap_record::noreserve): Call global noreserve function. (mmap_record::autogrow): Call global autogrow function. (list::anonymous): New method. Use throughout were appropriate. (mmap_record::compatible_flags): Drop now useless ifdef. (mmap_record::alloc_page_map): Accomodate private anonymous maps. (mmap_record::map_pages): Accomodate MAP_NORESERVE mappings. (mmap_record::unmap_pages): Accomodate private anonymous maps. (mmap64): Simplify argument check. Don't remove the MAP_PRIVATE flag for anonymous mappings on 9x anymore since that's now handled gracefully. (mprotect): Accomodate MAP_NORESERVE mappings. Fix case when non-mmap areas are just MEM_RESERVEd. (fhandler_dev_zero::mmap): Implement anonymous mapping here. (fhandler_dev_zero::munmap): Ditto. (fhandler_dev_zero::msyn): Ditto. (fhandler_dev_zero::fixup_mmap_after_fork): Ditto. (fixup_mmaps_after_fork): Accomodate private anonymous maps. Enhance debug output in case VirtualProtect fails. * include/sys/mman.h: Really define MAP_NORESERVE now.
* * autoload.cc (NtCreateSection): Define.Corinna Vinschen2005-11-2816-759/+878
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cygheap.cc (_csbrk): Call getpagesize instead of getshmlba. * dcrt0.cc (dll_crt0_0): Call mmap_init. * external.cc (cygwin_internal): Call getpagesize instead of getshmlba. * fhandler.h (fhandler_base::mmap): Change access to prot parameter. (fhandler_base::fixup_mmap_after_fork): Ditto. (fhandler_disk_file::mmap): Ditto. (fhandler_disk_file::fixup_mmap_after_fork): Ditto. (fhandler_dev_mem::mmap): Ditto. (fhandler_dev_mem::fixup_mmap_after_fork): Ditto. * fhandler_mem.cc (fhandler_dev_mem::write): Call getsystempagesize instead of getpagesize. (fhandler_dev_mem::read): Ditto. (fhandler_dev_mem::fstat): Ditto. (fhandler_dev_mem::mmap): Move to mmap.cc. (fhandler_dev_mem::munmap): Ditto. (fhandler_dev_mem::msync): Ditto. (fhandler_dev_mem::fixup_mmap_after_fork): Ditto. * fhandler_proc.cc (format_proc_meminfo): Call getsystempagesize instead of getpagesize. * fhandler_process.cc (format_process_stat): Ditto. (format_process_status): Ditto. (get_mem_values): Ditto. * mmap.cc: Fix formatting. Try to make more readable and modular. Take advantage of pagesize==granularity. (gen_protect): New static function to evaluate Windows protection bits from POSIX protection and flags. (gen_access): Ditto for Windows access mode. (VirtualProt9x): Wrapper function to call VirtualProtect on 9x. (VirtualProtNT): Ditto for NT. (VirtualProtEx9x): Ditto for VirtualProtectEx on 9x. (VirtualProtExNT): Ditto for NT. (CreateMapping9x): Wrapper function for creating a mapping handle on 9x. (CreateMappingNT): Ditto for NT. (MapView9x): Wrapper function to map a view on 9x. (MapViewNT): Ditto for NT. (mmap_funcs_9x): Structure containing function pointers to wrapper functions for 9x. (mmap_funcs_nt): Ditto for NT. (mmap_func): Pointer to wrapper functions used in subsequent code. (mmap_init): Initialize mmap_func depending on OS. (class mmap_record): Use sensible member names. Add POSIX protection member. Drop Windows access flags member. Constify more methods. Use accessors instead of direct member access inside of own methods. (mmap_record::gen_protect): Class wrapper to evaluate matching Windows protection bits. (mmap_record::gen_access): Ditto for Windows access flags. (mmap_record::compatible_flags): New function to check if flags are compatible with flags of existing map. (list::add_record): Drop offset and length arguments. (class map): Change counters to unsigned. Match usage throughout. (mmapped_areas): Convert from pointer to global struct. (mmap_record::alloc_page_map): Simplify. (mmap_record::map_pages): Ditto. (mmap_record::fixup_page_map): Delete. (mmap64): Simplify. Add workaround for Windows 98 bug. Fix bug on NT that existing anonymous mappings weren't searched for a match. (munmap): Add workaround for Windows 98 bug. (msync): Simplify. (mprotect): Handle existing maps correctly. (mlock): Add local pagesize variable and enlightening comment. (fhandler_disk_file::mmap): Main functionality now in CreateMapping/ MapView wrapper functions. (fhandler_disk_file::fixup_mmap_after_fork): Call MapView wrapper. (fhandler_dev_mem::mmap): Moved from fhandler_mem.cc. Simplify by calling MapViewNT. (fhandler_dev_mem::munmap): Moved from fhandler_mem.cc. (fhandler_dev_mem::msync): Ditto. (fhandler_dev_mem::fixup_mmap_after_fork): Ditto. Call MapViewNT. (fixup_mmaps_after_fork): Restructure and hopefully speed up loop for setting protection and memory content on MAP_PRIVATE maps. * ntdll.h (AT_ROUND_TO_PAGE): Remove define. (AT_EXTENDABLE_FILE): Add define. (NtCreateSection): Add prototype. * syscalls.cc (getpagesize): Return granularity as pagesize now. (getsystempagesize): New function to retrieve "real" pagesize. (getshmlba): Delete since it's replaced by getpagesize now. * wincap.h (wincaps::has_mmap_alignment_bug): New element. * wincap.cc: Implement above element throughout. * winsup.h (getshmlba): Drop prototype. (getsystempagesize): Add prototype. (mmap_init): Ditto. * include/sys/mman.h: (Not yet) define MAP_NORESERVE.
* * fhandler_disk_file.cc (fhandler_base::fstat_helper): Don't rely onCorinna Vinschen2005-11-282-2/+12
| | | | | has_acl() state for evaluating inodes. Temporarily(?) enable "real" inodes for remote drives.
* Fix changelog typo.Daniel Jacobowitz2005-11-281-1/+1
|
* * heap.cc: Remove spurious getpagesize declaration.Christopher Faylor2005-11-253-3/+15
| | | | | * exceptions.cc (ctrl_c_handler): Distinguish CTRL-BREAK from CTRL-C in some cases.
* * autoload.cc (CloseWindowStation): Define.Christopher Faylor2005-11-241-0/+1
|
* * fhandler_tty.cc (fhandler_tty_slave::open): Reset the current windows stationChristopher Faylor2005-11-244-1/+16
| | | | | | | whenever ctty == -1 regardles of whetehr there's a windows station already assigned. Close the old windows station in this situation. * pinfo.cc (_pinfo::set_ctty): Reinstate incrementing of console count when recording ctty so that the current tty is always around.
* * Makefile.in: Link cygcheck with libwininet.a.Christopher Faylor2005-11-225-38/+272
| | | | | | | | | | | | | | * cygcheck.cc: Add includes. (grep_packages): New global variable. (display_internet_error): New function. (safe_chars): New global variable. (base_url): Ditto. (package_grep): New function. (usage): Reword --help output for clarity. Document new argument. (longopts): Add 'package-query' option. (opts): Add 'p' option, reorder to be consistent with 'longopts'. (main): Accommodate new option. * utils.sgml (cygcheck): Update --help output. Document new -p option.
* * strptime.cc (_strptime): Fix gcc warnings.Christopher Faylor2005-11-182-0/+6
|
* * memmem.cc: Move from here.Christopher Faylor2005-11-181-0/+5
| | | | * lib/memmem.cc: Move to here.
* 2005-11-18 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2005-11-182-3/+13
| | | | | * libc/time/strptime.c (strptime): Don't abort for %c and %Z. Treat %c as "%a %b %e %H:%M:%S %Y" and ignore %Z.
* * libc: Add subdirectory.Corinna Vinschen2005-11-189-6/+761
| | | | | | | | | | | | | * Makefile.in (VPATH): Add libc subdir. (DLL_OFILES): Add strptime.o and timelocal.o. * cygwin.din: Export timelocal and timegm. * localtime.cc: Define STD_INSPIRED unconditionally. * include/cygwin/time.h (timelocal): Add declaration. (timegm): Ditto. * include/cygwin/version.h: Bump API minor version. * libc/strptime.cc: New file. * libc/timelocal.cc: New file. * libc/timelocal.h: New file.