aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-03-19 * exceptions.cc (stack_info::init): Don't attempt to dereference NULLCorinna Vinschen2-2/+14
framep. (exception::handle): On x86_64, if Rbp is NULL, use Rsp as frame pointer.
2013-03-19 * gendef (sigdelayed): Make sure to align the stack since sigdelayedCorinna Vinschen2-7/+66
can be called with or without aligned stack. Save and restore all CPU registers.
2013-03-18 * cygwin.sc.in: Fix comment.Corinna Vinschen3-6/+10
* dcrt0.cc (child_info_fork::handle_fork): Revert patch from 2013-03-15.
2013-03-17 * cygwin64.din (strlwr): Export.Corinna Vinschen2-0/+5
2013-03-15 * Revert previous patch. For some reason perl doesn't like it.Corinna Vinschen3-58/+62
2013-03-15 * cygtls.h (CYGTLS_PADSIZE): Reduce to 8000 on x86_64.Corinna Vinschen3-59/+63
* tlsoffsets64.h: Regenerate.
2013-03-15 * dcrt0.cc (child_info_fork::handle_fork): CallCorinna Vinschen2-4/+11
_pei386_runtime_relocator first thing, before copying parent data and bss segment. Tweak comment to explain why.
2013-03-15 * gendef (_sigfe): 16-byte align xmm0 storage and use movdqa.Corinna Vinschen3-31/+51
(_sigbe): Fix alignment before calling yield. Use movdqa to save and restore xmm0. (sigdelayed): Use movdqa to save and restore xmm0. (_ZN7_cygtls4lockEv): Change absolute values to hex. (stabilize_sig_stack): Ditto. (setjmp): Add comment to explain usage of movdqu. (__sjfault): Ditto. (__ljfault): Ditto. (longjmp): Ditto. Access return value using 32 bit opcodes only. * miscfuncs.cc (thread_wrapper): Don't attempt to copy exception handler list on x86_64.
2013-03-15Pull in changes from HEADCorinna Vinschen2-9/+18
2013-03-15 * autoload.cc (.#dllname_info): Call _std_dll_init on x86_64 bit, too.Corinna Vinschen2-45/+44
(INIT_WRAPPER): Change to accommodate the change of the init functions from sysv_abit to ms_abi. Fix preceeding comment accordingly. Add SEH information and comments. (std_dll_init): Drop leading underscore on x86_64. Drop sysv_abi comment. (wsock_init): Ditto. (LoadDLLprime): Drop surrounding ifdef to accommodate above underscore juggling.
2013-03-15 * gendef (_sigfe): Save float arguments as well before calling yield.Corinna Vinschen2-20/+39
(_sigbe): Move saving %rax from prologue to just before the yield call. Save %xmm0 register, too. (sigdelayed): Add comment. Save %xmm0 register, too, before calling yield.
2013-03-14 * fhandler_tty.cc (fhandler_pty_master::setup): AddCorinna Vinschen6-7/+35
PIPE_REJECT_REMOTE_CLIENTS to pipe mode on systems supporting it. Add FILE_FLAG_FIRST_PIPE_INSTANCE to pipe open mode. * pipe.cc (fhandler_pipe::create): Ditto. Fix subsequent comment accordingly. * wincap.h (wincaps::has_pipe_reject_remote_clients): New element. * wincap.cc: Implement above element throughout. * winlean.h (PIPE_REJECT_REMOTE_CLIENTS): Temporarily define until Mingw64 headers define it.
2013-03-14Fix formatting in ChangeLog.64bitCorinna Vinschen1-1/+1
2013-03-14 Remove more old cruft. Remove Windows NT4 and 2000 from commentsCorinna Vinschen18-269/+133
throughout, unless it still makes sense. * dlfcn.cc (dlopen): Drop W2K-only code to make loaded DLL persistent. * fhandler_floppy.cc (fhandler_dev_floppy::get_drive_info): Drop code trying to use information from NtQueryVolumeInformationFile. * fhandler_socket.cc (fhandler_socket::close): Drop code snippet disabled since 2008. * mount.cc (MINIMAL_WIN_NTFS_FLAGS): Add flag values set on all NTFS since Windows XP. (get_volume_path_names_for_volume_name): Remove. (dos_drive_mappings::dos_drive_mappings): Call Win32 function GetVolumePathNamesForVolumeNameW directly. * path.cc (file_get_fnoi): Drop test for NT4-only return code. * sched.cc: Add FIXME to global comment. Reformat comments throughout. * spawn.cc (child_info_spawn::worker): Just call official IsProcessInJob function rather than to test undocumented TEB member. * winlean.h: Drop Mingw32-related defines. * include/limits.h (PTHREAD_KEYS_MAX): Raise value to reflect minimum value available on XP and later. 2013-03-13 Corinna Vinschen <corinna@vinschen.de>
2013-03-13 * Revert to old malloc.Corinna Vinschen11-3312/+910
* mmap.cc (MMAP_STORAGE_LOW): Set higher. Add comment. (MMAP_STORAGE_HIGH): Add comment. (class mmap_allocator): Change comment. Add mmap_current_low member. (mmap_allocator::mmap_allocator): Define default constructor. (mmap_allocator::alloc): Change to a round-robin mechanism. Add or change comments accordingly.
2013-03-13 * gendef (_sigfe): Save arguments before calling yield so they don'tCorinna Vinschen2-4/+18
get clobbered. Explain why.
2013-03-12 * include/a.out.h: Fix up for x86_64.Corinna Vinschen2-106/+134
2013-03-12 * smallprint.cc (rnarg): Fix cast to print negative values correctly.Corinna Vinschen2-1/+5
2013-03-11 * fhandler.cc (fhandler_base::raw_read): Replace accidentally left inCorinna Vinschen2-3/+8
Win32 error codes with equivalent status codes.
2013-03-11 * cygmalloc.h: Include regparm.h rather than defining __reg{1,2,3} here.Corinna Vinschen3-9/+24
* ptmalloc3.cc (__malloc_initialized): Define as type LONG on Cygwin and include windows.h. (ptmalloc_init): Set __malloc_initialized on Cygwin using InterlockedCompareExchange and carefully check for concurrency situation.
2013-03-11 * gendef: Add SEH information to sigfe entry points, as well as toCorinna Vinschen2-0/+22
_sigfe and _sigbe.
2013-03-11Pull in changes from HEADCorinna Vinschen3-29/+46
2013-03-09Pull in changes from HEADCorinna Vinschen2-5/+20
2013-03-07 * msg.cc (client_request_msg::serve): Revert change to refuse 64 bitCorinna Vinschen4-30/+7
processes on 32 bit systems. * sem.cc (client_request_sem::serve): Ditto. * shm.cc (client_request_shm::serve): Ditto.
2013-03-07 * heap.cc (heap_init): Fix setting reserved_size value when usingCorinna Vinschen2-5/+11
ptmalloc3 to avoid too much pagefile pressure at fork time.
2013-03-07Pull in changes from HEADCorinna Vinschen3-12/+48
2013-03-07Pull in changes from HEADCorinna Vinschen2-15/+37
2013-03-06Remove accidentally not removed file.Corinna Vinschen1-99/+0
2013-03-06Pull in change from HEADCorinna Vinschen2-1/+7
2013-03-05 For x86_64 target:Corinna Vinschen4-3/+16
* dll_init.cc (dll::init): Don't set p.envptr. (update_envptrs): Disable entirely. * dll_init.h (struct per_module): Disable envptr. * environ.h (update_envptrs): Change to empty macro.
2013-03-05 For x86_64 target:Corinna Vinschen12-8/+70
* Makefile.in (COMMON_CFLAGS): Add -mcmodel=small to create smaller footprint. * cygwin64.din (__cygwin_environ): Drop export. Only export environ as alias to __cygwin_environ. * dcrt0.cc (dll_crt0_1): Call main with __cygwin_environ as parameter. (_dll_crt0): Don't set main_environ. (cygwin_dll_init): Don't create local variable envp and don't set user_data->envptr. * dll_init.cc (dll_list::alloc): Don't assert. * dll_init.h (per_module::operator =): Don't set envptr. * environ.cc (cur_environ): Disable. * environ.h (main_environ): Don't define. (cur_environ): Change to macro. * globals.cc (main_environ): Don't initialize. (struct per_process): Drop envptr. * perprocess.h (SIZEOF_PER_PROCESS): Set to 41*8 to accommodate size change of struct per_process. * include/sys/cygwin.h (struct per_process): Drop envptr. * lib/_cygwin_crt0_common.cc (environ): Drop declaration. (_cygwin_crt0_common): Don't set u->envptr.
2013-03-04* cygwin64.din: Fix mangled operator new names for size_t==long.Yaakov Selkowitz3-8/+24
* libstdcxx_wrapper.cc: Ditto for x86_64.
2013-03-04Apply changes missing in previous check in.Corinna Vinschen4-262/+26
2013-03-01Pull in changes from HEADCorinna Vinschen2-5/+8
2013-03-01 * autoload.cc (AttachConsole): Remove.Corinna Vinschen18-639/+122
(GetModuleHandleExW): Remove. (GetSystemWow64DirectoryW): Remove. (GetVolumePathNamesForVolumeNameW): Remove. * exceptions.cc (cygwin_stackdump): Always call RtlCaptureContext. (exception::handle): Drop accidentally left in debugging statement. Always call RtlCaptureContext. (sigpacket::process): Always call RtlCaptureContext for current thread. * fhandler_disk_file.cc (fstatvfs): Drop code using FileFsSizeInformation. (struct __DIR_cache): Remove comment. (fhandler_disk_file::rewinddir): Drop W2K-only code. * fhandler_floppy.cc (fhandler_dev_floppy::get_drive_info): Don't check for old OS. Extend a comment. * fhandler_mem.cc (fhandler_dev_mem::open): Drop NT4 and W2K from debug output. * fhandler_proc.cc (format_proc_partitions): Drop Pre-XP considerations. * fhandler_procnet.cc (fhandler_procnet::exists): Ditto. (fhandler_procnet::readdir): Ditto. (format_procnet_ifinet6): Ditto. * fhandler_socket.cc (fhandler_socket::recvmsg): Ditto. * fhandler_tape.cc (mtinfo_drive::get_status): Ditto. * init.cc (dll_entry): Drop W2K-only code. * net.cc (get_ifs): Rename from get_xp_ifs. (get_2k_ifs): Remove. (getifaddrs): Always call get_ifs. (get_ifconf): Ditto. (if_nametoindex): Drop Pre-XP considerations. (load_ipv6_funcs): Ditto. Fix preceeding comment. * sec_auth.cc (lsaauth): Drop code handling fake_login_sid. * sec_helper.cc (fake_logon_sid): Remove. (set_cygwin_privileges): Fix uncommented statement to drop pre-XP considerations. * security.h (fake_logon_sid): Drop declaration. * shared.cc (shared_info::init_obcaseinsensitive): Drop W2K-only code. * wincap.cc: Throughout, remove setting all deprecated wincapc members. (wincap_minimal): Set to wincap_xpsp2. (wincap_2000): Remove. (wincap_2000sp4): Remove. (wincap_xp): Remove. (wincap_xpsp1): Remove. (wincapc::init): Drop OS 5.0 and pre-SP2 XP. * wincap.h (struct wincaps): Remove the following members: has_create_global_privilege, has_ioctl_storage_get_media_types_ex, has_disk_ex_ioctls, has_buggy_restart_scan, needs_logon_sid_in_sid_list, has_gaa_prefixes, has_recvmsg, has_stack_size_param_is_a_reservation, kernel_is_always_casesensitive, has_rtl_capture_context.
2013-03-01 * exceptions.cc (rtl_unwind): Convert to macro doing nothing on x86_64.Corinna Vinschen3-8/+11
(exception::handle): Drop creating frame variable on x86_64. * wincap.cc (wincap_2000sp4): Set has_rtl_capture_context to false.
2013-03-01 * cygserver.h (struct header_t): Revert msglen to simple member.Corinna Vinschen11-167/+51
Drop accessor methods. * cygserver_ipc.h (struct proc): Drop enforced 4 byte struct packing. Remove members for 64<->32 bit IPC. Revert to original member order. (ipc_set_proc_info): Remove 64<->32 handling. (conv_timespec32_to_timespec): Delete. (conv_timespec_to_timespec32): Delete. * pinfo.h (struct win_heap_info): Remove. * shm.cc (fixup_shms_after_fork): Revert parent initialization. * winlean.h: Remove _TYPE64_CLR and _TYPE64_SET macros. Remove usage throughout code. * include/cygwin/ipc.h: Drop 64<->32 bit helper structures. * include/cygwin/msg.h: Ditto. Drop enforced 4 byte struct packing. * include/cygwin/sem.h: Ditto. * include/cygwin/shm.h: Ditto. * include/cygwin/sysproto.h: Drop enforced 4 byte struct packing.
2013-03-01 * client.cc: Revert changes to handle 32 bit processes on 64 bitCorinna Vinschen1-0/+8
systems. * sysv_msg.cc: Ditto. * sysv_sem.cc: Ditto. * sysv_shm.cc: Ditto.
2013-02-28 * libc/include/machine/setjmp.h (sigjmp_buf): Fix definition ofCorinna Vinschen3-5/+14
sigjmp_buf size if _JBTYPE is defined. * libc/include/machine/setjmp.h: Revert definition of _JBTYPE and _JBLEN for 64 bit Cygwin to use long as base type. Drop unneeded comment.
2013-02-28 * pseudo-reloc.cc (do_pseudo_reloc): Add test to check for invalid 32Corinna Vinschen2-0/+12
bit relocation in 64 bit code. Only test when building without optimization.
2013-02-28 * exceptions.cc (_cygtls::signal_debugger): Raise size of sigmsg bufferCorinna Vinschen3-52/+62
on x86_64. * tlsoffsets64.h: Regenerate.
2013-02-27 * include/cygwin/signal.h (struct ucontext): Add missing fields fromCorinna Vinschen2-1/+12
Windows CONTEXT definition. Define oldmask as 64 bit type.
2013-02-27 * configure.ac (MALLOC_OFILES): Add ptmalloc3.o.Corinna Vinschen12-877/+3327
* configure: Regenerate. * cygmalloc.h: Declare pt* functions rather than dl* functions. (mmap64): Declare. (mmap): Define as mmap64. (__malloc_lock): Drop macro. (__malloc_unlock): Ditto. (MSPACES): Define. (ONLY_MSPACES): Define. * debug.h: Include malloc.h rather than otherwise unused dlmalloc.h. * fork.cc (frok::parent): Drop malloc locking since that's performed by malloc_atfork now. * heap.cc (heap_init): Accommodate the fact that there's a chance that no heap space has been allocated at fork time. * malloc-private.h: New file from ptmalloc3, having malloc-machine.h and malloc-2.8.3.h folded in. * malloc.cc: Replaced by new file from ptmalloc3. * malloc_wrapper.cc: Throughout, remove malloc locks and call pt* functions rather than dl* functions. * pinfo.cc (winpids::set): Drop malloc locking. * ptmalloc3.cc: New file from ptmalloc3.
2013-02-26Pull in change from HEADCorinna Vinschen2-10/+15
2013-02-26 * exception.h (_except_list): Don't define on x86_64.Corinna Vinschen3-6/+13
(class exception): Don't define members el and save on x86_64. (exception::~exception): Don't define on x86_64. * exceptions.cc (signal_exit): Fix typo in condition.
2013-02-26Pull in changes from HEADCorinna Vinschen2-0/+6
2013-02-25 * cygwin64.din: Remove all deprecated cygwin32_foo and cygwin_fooCorinna Vinschen4-30/+24
path conversion functions. * path.cc: Disable aforementioned functions on x86_64. * include/sys/cygwin.h: Don't declare aforementioned functions on x86_64.
2013-02-25 * exception.h (class exception): Add handler_installed member.Corinna Vinschen5-31/+180
Change parameters to handle method to match high-level exception handler calls. (exception::exception): On x86_64, install exception handler only once. Explain what we do. * exceptions.cc (_AFMT): Change to only 11 digits on x86_64. (cygwin_exception::dump_exception): Print Rip with only 11 digits. Print 64 bit registers with 0-padding. (class stack_info): Add members c and hist on x86_64. (stack_info::init): Take PCONTEXT rather than bool as third parameter. Tweak code accordingly. Initialize c and hist on x86_64. (stack_info::walk): Add implementation for x86_64. Drop unneeded #ifndef in 32 bit code. (cygwin_exception::dumpstack): Call thestack.init with context as parameter. Change header output for x86_64. (cygwin_stackdump): Prefer RtlCaptureContext over GetThreadContext. (CYG_EXC_CONTINUE_EXECUTION): Define generic definition matching all platforms. (CYG_EXC_CONTINUE_SEARCH): Ditto. (exception::handler_installed): Define here. (exception::handle): Define according to declaration in exception.h. Create 32 bit parameters as local variable on 64 bit. Change all return statements to use generic definitions. Simplify setting framep on x86_64. Disable setting frame-based exception handler on x86_64. Fix formatting of klog output for x86_64. (signal_exit): Create context for cygwin_exception creation. (sigpacket::process): Prefer RtlCaptureContext over GetThreadContext. * wincap.h (wincaps::has_rtl_capture_context): New element. * wincap.cc: Implement above element throughout.
2013-02-22 * cygwin.din (_get_osfhandle): Make main export. Define get_osfhandleCorinna Vinschen5-10/+25
from here. * cygwin64.din (_get_osfhandle): Rename from get_osfhandle. (_setmode): Rename from setmode. * include/io.h: Ditto. Define unprefixed names with preprocessor macros for backwards source compatibility. (access): Remove. * syscalls.cc (_setmode): Rename from setmode. (cygwin_setmode): Call _setmode. (_get_osfhandle): Rename from get_osfhandle.
2013-02-22* configure.ac: Skip check for i686-w64-mingw32-g++ on x86_64.Yaakov Selkowitz3-100/+118
* configure: Regenerate.