Age | Commit message (Collapse) | Author | Files | Lines |
|
framep.
(exception::handle): On x86_64, if Rbp is NULL, use Rsp as frame
pointer.
|
|
can be called with or without aligned stack. Save and restore all
CPU registers.
|
|
* dcrt0.cc (child_info_fork::handle_fork): Revert patch from 2013-03-15.
|
|
|
|
|
|
* tlsoffsets64.h: Regenerate.
|
|
_pei386_runtime_relocator first thing, before copying parent data and
bss segment. Tweak comment to explain why.
|
|
(_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.
|
|
|
|
(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.
|
|
(_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.
|
|
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.
|
|
|
|
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>
|
|
* 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.
|
|
get clobbered. Explain why.
|
|
|
|
|
|
Win32 error codes with equivalent status codes.
|
|
* 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.
|
|
_sigfe and _sigbe.
|
|
|
|
|
|
processes on 32 bit systems.
* sem.cc (client_request_sem::serve): Ditto.
* shm.cc (client_request_shm::serve): Ditto.
|
|
ptmalloc3 to avoid too much pagefile pressure at fork time.
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
* 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.
|
|
* libstdcxx_wrapper.cc: Ditto for x86_64.
|
|
|
|
|
|
(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.
|
|
(exception::handle): Drop creating frame variable on x86_64.
* wincap.cc (wincap_2000sp4): Set has_rtl_capture_context to false.
|
|
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.
|
|
systems.
* sysv_msg.cc: Ditto.
* sysv_sem.cc: Ditto.
* sysv_shm.cc: Ditto.
|
|
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.
|
|
bit relocation in 64 bit code. Only test when building without
optimization.
|
|
on x86_64.
* tlsoffsets64.h: Regenerate.
|
|
Windows CONTEXT definition. Define oldmask as 64 bit type.
|
|
* 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.
|
|
|
|
(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.
|
|
|
|
path conversion functions.
* path.cc: Disable aforementioned functions on x86_64.
* include/sys/cygwin.h: Don't declare aforementioned functions on
x86_64.
|
|
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.
|
|
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.
|
|
* configure: Regenerate.
|