diff options
Diffstat (limited to 'winsup/CVSChangeLogs.old/cygwin/ChangeLog.64bit')
-rw-r--r-- | winsup/CVSChangeLogs.old/cygwin/ChangeLog.64bit | 1877 |
1 files changed, 1877 insertions, 0 deletions
diff --git a/winsup/CVSChangeLogs.old/cygwin/ChangeLog.64bit b/winsup/CVSChangeLogs.old/cygwin/ChangeLog.64bit new file mode 100644 index 000000000..3d91c9a4c --- /dev/null +++ b/winsup/CVSChangeLogs.old/cygwin/ChangeLog.64bit @@ -0,0 +1,1877 @@ +2013-04-21 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> + + * include/stdint.h (INTPTR_MAX): Fix missing parenthesis. + +2013-04-13 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_tty.cc (fhandler_pty_slave::write): Change type of towrite to + ssize_t. + (fhandler_pty_slave::read): Ditto for totalread. + +2013-04-13 Corinna Vinschen <corinna@vinschen.de> + + * net.cc (fdsock): Raise send/recv buffer sizes for x86_64. Extend + comment. + (cygwin_setsockopt): Fix condition and syscall_printf. + +2013-04-12 Corinna Vinschen <corinna@vinschen.de> + + * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Fix typo in + debug_printf. + (fhandler_base_overlapped::raw_read): Handle size difference between + DWORD and {s}size_t platform-independently. + (fhandler_base_overlapped::raw_write): Ditto. Fix typo in comment. + +2013-04-10 Corinna Vinschen <corinna@vinschen.de> + + * Reinstantiate ptmalloc3. + * configure.ac (MALLOC_OFILES): Drop here. + * configure: Regenerate. + * Makefile.in (MALLOC_OFILES): Set to fixed value here. + * cygmalloc.h (HAVE_MORECORE): Define. + * malloc.cc (init_user_mstate): Don't disable MORECORE if building + with ONLY_MSPACES. + +2013-04-09 Corinna Vinschen <corinna@vinschen.de> + + * mount.cc (MINIMAL_WIN_NTFS_FLAGS): Fix comment. + +2013-04-08 Corinna Vinschen <corinna@vinschen.de> + + * Throughout fix -Wextra warnings. Ignore regex files and gmon.c. + +2013-04-08 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_socket.cc (fhandler_socket::send_internal): Change type of + local variable res to ssize_t. + * net.cc (cygwin_sendto): Fix local variable res, containing return + value, to be ssize_t as well. + (cygwin_recvfrom): Ditto. + (cygwin_recv): Ditto. + (cygwin_send): Ditto. + (cygwin_recvmsg): Ditto. + (cygwin_sendmsg): Ditto. + * syscalls.cc (write): Ditto. + (writev): Ditto. + * pipe.cc (fhandler_pipe::open): Fix type when reading handle value to + accommodate 32 bit compiler. + +2013-04-08 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_socket.cc (fhandler_socket::get_proc_fd_name): Use %lu as + format specifier to match HANDLE size. + * net.cc (cygwin_sendto): Fix return type to be ssize_t. Change + syscall_printf return type format specifier to %lR. + (cygwin_recvfrom): Ditto. + (cygwin_recv): Ditto. + (cygwin_send): Ditto. + (cygwin_recvmsg): Ditto. + (cygwin_sendmsg): Ditto. + * smallprint.cc (__small_vsprintf): Handle `l' for %R, too. + (__small_vswprintf): Ditto. + * syscalls.cc (read): Change syscall_printf return type format specifier + to %lR. + (readv): Ditto. + (pread): Ditto. + (write): Ditto. + (writev): Ditto. + (pwrite): Ditto. + (lseek64): Enhance comment. + +2013-04-08 Corinna Vinschen <corinna@vinschen.de> + + * pipe.cc (fhandler_pipe::open): Fix format specifier and type when + reading handle value. + (fhandler_pipe::get_proc_fd_name): Use same format specifier as in + fhandler_pipe::open. + +2013-04-06 Corinna Vinschen <corinna@vinschen.de> + + * cygheap.cc (_csbrk): Move down in file, right in front of _cmalloc. + +2013-04-04 Corinna Vinschen <corinna@vinschen.de> + + * cygheap.h (struct _cmalloc_entry): Define b as unsigned rather than + DWORD. + (NBUCKETS): Define here as constant value. + (struct init_cygheap): Add bucket_val member. Define size of bucket_val + and buckets using NBUCKETS. + * cygheap.cc (NBUCKETS): Drop definition here. + (cygheap_init): Initialize cygheap->bucket_val. Add comment to explain + what we do and why. + (_cmalloc): Simplify bit bucket search using cygheap->bucket_val. Drop + local variable sz. Fetch size of block from cygheap->bucket_val. + (_cfree): Define b as unsigned. + (_crealloc): Fetch size of block from cygheap->bucket_val. + +2013-04-02 Алексей Павлов <alexpux@gmail.com> + + * fhandler_disk_file.cc (fhandler_disk_file::ftruncate): Add missed + ampersand. + +2013-03-30 Corinna Vinschen <corinna@vinschen.de> + + * lc_msg.h: Regenerate from F18 glibc 2.16-28. In the first place this + fixes fi_FI and adds ta_LK (new in Windows 8). + * nlsfuncs.cc (LocaleNameToLCID): Drop unneeded declaration. + +2013-03-29 Corinna Vinschen <corinna@vinschen.de> + + * autoload.cc: Drop old comment. + * hookapi.cc (PEHeaderFromHModule): Return PIMAGE_NT_HEADERS. + (rvadelta): Convert to function and merge in rvadelta_get. + (remap): New function to have code for remapping big executables + only once. + (find_first_notloaded_dll): Simplify. Don't handle different + architecture at all. Call remap. + (hook_or_detect_cygwin): Ditto. + +2013-03-28 Kai Tietz <ktietz@redhat.com> + + * include/cygwin/config.h (___getreent): Harden against aggressive + compiler optimization. + +2013-03-28 Corinna Vinschen <corinna@vinschen.de> + + * cygwin64.din: Reinstantiate definition of __srget and __srget_r. + +2013-03-28 Corinna Vinschen <corinna@vinschen.de> + + * Makefile.in ($(LIB_NAME)): Make sure to rebuild when cygwin.def file + has been changed. + * cygwin64.din: Remove more underscored symbols. + (getdelim): Add missing define in favor of unneeded __getline. + (getline): Ditto. + +2013-03-27 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_console.cc + (fhandler_console::create_invisible_console_workaround): Fix comment. + * wincap.cc: Throughout, remove unused has_console_handle_problem + wincapc members. + * wincap.h (struct wincaps): Remove has_console_handle_problem. + +2013-03-27 Corinna Vinschen <corinna@vinschen.de> + + * net.cc (cygwin_gethostbyname): Revert accidental checkin of change + added for debugging. + +2013-03-27 Corinna Vinschen <corinna@vinschen.de> + + * net.cc (struct win64_servent): Define for x86_64. Explain why. + (WIN_SERVENT): Define for all targets. + (dup_ent): Use WIN_SERVENT to access critical servent members + throughout. + +2013-03-27 Corinna Vinschen <corinna@vinschen.de> + + * sysconf.cc (sca): Change build environment values according to + architecture. + (csa): Ditto. + +2013-03-27 Corinna Vinschen <corinna@vinschen.de> + + * ntdll.h (STATUS_NETWORK_OPEN_RESTRICTION): Define. + (STATUS_SYMLINK_CLASS_DISABLED): Define. + * path.cc (symlink_info::check): Handle STATUS_NETWORK_OPEN_RESTRICTION + and STATUS_SYMLINK_CLASS_DISABLED status codes. Explain why. + +2013-03-22 Kai Tietz <ktietz@redhat.com> + + * gendef: Use pause instead of calling yield throughout in x86_64 code. + +2013-03-20 Ken Brown <kbrown@cornell.edu> + + * include/sys/resource.h (RLIM_INFINITY): Define wordsize agnostic. + +2013-03-20 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> + + * lib/_cygwin_crt0_common.cc: Fix mangled operator new names for x86_64. + +2013-03-19 Corinna Vinschen <corinna@vinschen.de> + + * exceptions.cc (stack_info::init): Don't attempt to dereference NULL + framep. + (exception::handle): On x86_64, if Rbp is NULL, use Rsp as frame + pointer. + +2013-03-19 Corinna Vinschen <corinna@vinschen.de> + + * gendef (sigdelayed): Make sure to align the stack since sigdelayed + can be called with or without aligned stack. Save and restore all + CPU registers. + +2013-03-18 Corinna Vinschen <corinna@vinschen.de> + + * cygwin.sc.in: Fix comment. + * dcrt0.cc (child_info_fork::handle_fork): Revert patch from 2013-03-15. + +2013-03-17 Corinna Vinschen <corinna@vinschen.de> + + * cygwin64.din (strlwr): Export. + +2013-03-15 Corinna Vinschen <corinna@vinschen.de> + + * Revert previous patch. For some reason perl doesn't like it. + +2013-03-15 Corinna Vinschen <corinna@vinschen.de> + + * cygtls.h (CYGTLS_PADSIZE): Reduce to 8000 on x86_64. + * tlsoffsets64.h: Regenerate. + +2013-03-15 Corinna Vinschen <corinna@vinschen.de> + + * dcrt0.cc (child_info_fork::handle_fork): Call + _pei386_runtime_relocator first thing, before copying parent data and + bss segment. Tweak comment to explain why. + +2013-03-15 Corinna Vinschen <corinna@vinschen.de> + + * gendef (_sigfe): 16-byte align xmm0 storage and use movdqa. + (_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-15 Corinna Vinschen <corinna@vinschen.de> + + * autoload.cc (.#dllname_info): Call _std_dll_init on x86_64 bit, too. + (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 Corinna Vinschen <corinna@vinschen.de> + + * gendef (_sigfe): Save float arguments as well before calling yield. + (_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 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_tty.cc (fhandler_pty_master::setup): Add + 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-14 Corinna Vinschen <corinna@vinschen.de> + + Remove more old cruft. Remove Windows NT4 and 2000 from comments + 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> + + * Revert to old malloc. + * 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 Kai Tietz <ktietz@redhat.com> + Corinna Vinschen <corinna@vinschen.de> + + * gendef (_sigfe): Save arguments before calling yield so they don't + get clobbered. Explain why. + +2013-03-12 Ken Brown <kbrown@cornell.edu> + + * include/a.out.h: Fix up for x86_64. + +2013-03-12 Corinna Vinschen <corinna@vinschen.de> + + * smallprint.cc (rnarg): Fix cast to print negative values correctly. + +2013-03-11 Corinna Vinschen <corinna@vinschen.de> + + * fhandler.cc (fhandler_base::raw_read): Replace accidentally left in + Win32 error codes with equivalent status codes. + +2013-03-11 Corinna Vinschen <corinna@vinschen.de> + + * cygmalloc.h: Include regparm.h rather than defining __reg{1,2,3} here. + * 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 Corinna Vinschen <corinna@vinschen.de> + + * gendef: Add SEH information to sigfe entry points, as well as to + _sigfe and _sigbe. + +2013-03-07 Corinna Vinschen <corinna@vinschen.de> + + * heap.cc (heap_init): Fix setting reserved_size value when using + ptmalloc3 to avoid too much pagefile pressure at fork time. + +2013-03-05 Corinna Vinschen <corinna@vinschen.de> + + For x86_64 target: + * 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 Corinna Vinschen <corinna@vinschen.de> + + For x86_64 target: + * 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 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> + + * cygwin64.din: Fix mangled operator new names for size_t==long. + * libstdcxx_wrapper.cc: Ditto for x86_64. + +2013-03-01 Corinna Vinschen <corinna@vinschen.de> + + * autoload.cc (AttachConsole): Remove. + (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 Corinna Vinschen <corinna@vinschen.de> + + * exceptions.cc (rtl_unwind): Convert to macro doing nothing on x86_64. + (exception::handle): Drop creating frame variable on x86_64. + * wincap.cc (wincap_2000sp4): Set has_rtl_capture_context to false. + +2013-03-01 Corinna Vinschen <corinna@vinschen.de> + + * cygserver.h (struct header_t): Revert msglen to simple member. + 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-02-28 Corinna Vinschen <corinna@vinschen.de> + + * pseudo-reloc.cc (do_pseudo_reloc): Add test to check for invalid 32 + bit relocation in 64 bit code. Only test when building without + optimization. + +2013-02-28 Corinna Vinschen <corinna@vinschen.de> + + * exceptions.cc (_cygtls::signal_debugger): Raise size of sigmsg buffer + on x86_64. + * tlsoffsets64.h: Regenerate. + +2013-02-27 Corinna Vinschen <corinna@vinschen.de> + + * include/cygwin/signal.h (struct ucontext): Add missing fields from + Windows CONTEXT definition. Define oldmask as 64 bit type. + +-- post-ptmalloc3 tag + +2013-02-27 Corinna Vinschen <corinna@vinschen.de> + + * configure.ac (MALLOC_OFILES): Add ptmalloc3.o. + * 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. + +-- pre-ptmalloc3 tag + +2013-02-26 Corinna Vinschen <corinna@vinschen.de> + + * exception.h (_except_list): Don't define on x86_64. + (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-25 Corinna Vinschen <corinna@vinschen.de> + + * cygwin64.din: Remove all deprecated cygwin32_foo and cygwin_foo + 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 Corinna Vinschen <corinna@vinschen.de> + + * exception.h (class exception): Add handler_installed member. + 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 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> + Corinna Vinschen <corinna@vinschen.de> + + * cygwin.din (_get_osfhandle): Make main export. Define get_osfhandle + 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-11 Corinna Vinschen <corinna@vinschen.de> + + * Makefile.in (target_cpu): Define. Check for target_cpu rather than + target_alias for conditional compilation issues. + (toolopts): Change --target into --cpu option and use $target_cpu as + argument. + ($(DEF_FILE)): Call gendef with $(target_cpu) as argument, rather than + with $(target_alias). + * gendef: Accommodate change from --target to --cpu option. + * mkimport: Ditto. + * speclib: Ditto. + +2013-02-20 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> + + * cygserver_ipc (class ipc_retval): Add ssize_t member to anonymous + union. + (ipc_retval::operator =): Add ssize_t variant for x86_64. + * fhandler_floppy.cc (fhandler_dev_floppy::raw_write): Change return + type to ssize_t to match fhandler.h. + * fhandler_socket.cc (fhandler_socket::readv): Ditto. + (fhandler_socket::write): Ditto. + (fhandler_socket::writev): Ditto. + (fhandler_socket::sendmsg): Ditto. + +2013-02-18 Corinna Vinschen <corinna@vinschen.de> + + * localtime.cc: Add comment. + +2013-02-18 Corinna Vinschen <corinna@vinschen.de> + + * localtime.cc: Throughout, pull up to latest code from NetBSD. + +2013-02-18 Corinna Vinschen <corinna@vinschen.de> + + * fhandler.cc (fhandler_base::raw_read): Rearrange code to use + NtReadFile and to fix problem using pointer to wrongly sized variable + on x86_64. + (fhandler_base::read): Drop redundant code. + * fhandler_disk_file.cc (fhandler_disk_file::pread): Fix function + to not read the information twice. Handle STATUS_END_OF_FILE. + +2013-02-17 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> + + * Makefile.in (libcygwin.a): Move --target flag from here... + (toolopts): to here, to be used by both mkimport and speclib. + * speclib: Omit leading underscore in symbol names on x86_64. + +2013-02-17 Corinna Vinschen <corinna@vinschen.de> + + * cygwin.sc.in (.gnu_debuglink_overlay): Drop "64" in dbg file name. + +2013-02-16 Corinna Vinschen <corinna@vinschen.de> + + * nfs.h: Make sure packing of NFS fattr3 struct is 4 byte. + (struct nfs_timestruc_t): Define. + (struct fattr3): Define timestamps as type struct nfs_timestruc_t. + * fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Copy + each timestruc_t component separately to accommodate different size. + +2013-02-15 Corinna Vinschen <corinna@vinschen.de> + + * Makefile.in (toollibdir): Remove. Revert to using tooldir instead. + * configure.ac (DLL_NAME): Set to cygwin1.dll in x86_64 case, too. + * configure: Regenerate. + * cygwin.sc.in (SEARCH_DIR): Align to 32 bit search dir, use lib, rather + than lib64. + * cygwin64.din (LIBRARY): Set name to cygwin1.dll. + * fhandler_process.cc (struct heap_info): Drop win_heap_info class + and revert code to former heap_info implementation. + (format_process_maps): Define heaps back to heap_info + * hookapi.cc (hook_or_detect_cygwin): Add shortcut so the code does + not search executable for being a Cygwin executable, if the architecture + is not matching the current Cygwin. Always use for "cygwin1.dll". + * pinfo.cc (commune_process): Drop PICOM_HEAP_INFO code. + (_pinfo::commune_request): Ditto. + (_pinfo::win_heap_info): Remove. + * pinfo.h (enum picom): Remove PICOM_HEAP_INFO. + +2013-02-14 Corinna Vinschen <corinna@vinschen.de> + + * autoload.cc (two_addr_t): Use __uint64_t as type for the i686 + version, analogue to __uint128_t for x86_64. + (INIT_WRAPPER): New x86_64 macro to install a sysv_abi function wrapper + for the DLL init functions. Add long comment to explain why this is + necessary. Create wrapper for std_dll_init and wsock_init. + (std_dll_init): Rename with leading underscore on x86_64 and take + calling function as argument. Disable overwriting return address on + stack for x86_64. + (wsock_init): Ditto. + +2013-02-13 Corinna Vinschen <corinna@vinschen.de> + + * Makefile.in (toollibdir): Define build and target dependent. + (install-libs): Use $(toollibdir) rather than $(tooldir)/lib. + (uninstall-libs): Ditto. + (uninstall-man): Use $(DESTDIR)$(mandir) as in install-man, rather + than $(tooldir)/man. + +2013-02-12 Corinna Vinschen <corinna@vinschen.de> + + * heap.cc (eval_start_address): Move heap to 0x6:00000000. Change + comment to explain why. + * mmap.cc (MMAP_STORAGE_LOW): Accommodate above change. + +2013-02-12 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_floppy.cc (fhandler_dev_floppy::open): Cast second parameter + in roundup2 to same size as first parameter to make sure mask size is + correct. + * fhandler_process.cc (format_process_maps): Ditto. + * fhandler_raw.cc (fhandler_dev_raw::dup): Ditto. + * hookapi.cc (find_first_notloaded_dll): Add cast. + * spawn.cc (av::fixup): Ditto. + * wincap.h: Add comment to explain the following change. + (wincapc::page_size): Return size_t. + (wincapc::allocation_granularity): Ditto. + + * mmap.cc: Throughout, accommodate the fact that AT_ROUND_TO_PAGE isn't + support on 64 bit at all. + (class mmap_allocator): New class to allocate mmap slots on x86_64. + (mmap_alloc): Define global instant of mmap_allocator. + (mmap64): Call mmap_alloc.alloc on x86_64. + +2013-02-11 Corinna Vinschen <corinna@vinschen.de> + + * gendef (longjmp): Fix indirect addressing in x86_64 setjmp. + +2013-02-11 Corinna Vinschen <corinna@vinschen.de> + + * cygwin64.din: Add missing symbols. + * mkimport: Make sure to use and test against platform dependent + "imp" prefix. + +2013-02-09 Corinna Vinschen <corinna@vinschen.de> + + * cygwin.sc.in (.rdata): Add .rdata_cygwin_nocopy subsection. + (.cygheap): Raise size to 3 Megs on x86_64. + * dcrt0.cc (dll_crt0_0): Drop call to init_global_security. + * dtable.cc (std_consts): Drop NO_COPY. + * errno.cc (errmap): Drop NO_COPY, constify instead. + (_sys_errlist): Drop NO_COPY. + * fhandler_clipboard.cc (CYGWIN_NATIVE): Ditto. + * fhandler_console.cc (keytable): Drop NO_COPY, constify instead. + * grp.cc (null_ptr): Make NO_COPY_RO. + * heap.cc (eval_start_address): Fix comment. + * localtime.cc (wildabbr): Make NO_COPY_RO. + (gmt): Ditto. + * miscfuncs.cc (case_folded_lower): Drop NO_COPY. + (case_folded_upper): Ditto. + (isalpha_array): Ditto. + (nice_to_winprio): Ditto for priority. + (class thread_allocator): New class to allocate thread stack on x86_64. + (thr_alloc): Define global NO_COPY instant of thread_allocator. + (CygwinCreateThread): Call thr_alloc.alloc on x86_64 to reserve stack. + * net.cc (errmap): Drop NO_COPY, constify instead. + (host_errmap): Ditto. + * netdb.cc (SPACE): Drop NO_COPY. + * sec_helper.cc (null_sdp): Static NO_COPY_RO definition of null SD. + (sec_none): Define NO_COPY_RO, define content statically. + (sec_none_nih): Ditto. + (sec_all): Ditto. + (sec_all_nih): Ditto. + (get_null_sd): Remove. + (init_global_security): Remove. + * security.cc (file_mapping): Define NO_COPY_RO. + (check_registry_access): Ditto for reg_mapping. + * spawn.cc (exe_suffixes): Drop NO_COPY, constify instead. + (dll_suffixes): Drop unused, disabled definition and comment. + * strsig.cc (sys_sigabbrev): Drop NO_COPY_INIT. + (sys_siglist): Ditto. + * syscalls.cc (def_shells): Drop NO_COPY. + * winsup.h (NO_COPY_RO): Define to place variable in + .rdata_cygwin_nocopy section. + (init_global_security): Drop declaration. + +2013-02-09 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_process.cc (win_heap_info::~win_heap_info): Only try to free + heap_vm_chunks if it's not NULL. + * pinfo.h (struct commune_result): Change type of n to DWORD. + * pinfo.cc (_pinfo::commune_request): Change type of n to DWORD to + fix subsequent sizeof test after reading from commune pipe on x86_64. + Raise read timeout to match write timeout. + +2013-02-09 Corinna Vinschen <corinna@vinschen.de> + + * cygserver_ipc.h (ipc_retval::operator =): Disable size_t variant + on x86_64 since type is identical to vm_offset_t. + +2013-02-08 Corinna Vinschen <corinna@vinschen.de> + + * regparm.h: New file to define platform dependent regparm attributes. + Define all of them empty if __CYGMAGIC__ is defined. + * cygerrno.h: Include regparm.h instead of defining _reg[123] here. + * winsup.h: Ditto. + * cygmagic: Define __CYGMAGIC__ to help generate same result on all + platforms. + +2013-02-08 Corinna Vinschen <corinna@vinschen.de> + + * cygwin64.din (BASE): Set to 0x180040000. + (_fe_dfl_env): Remove useless symbol. + (_fe_nomask_env): Remove useless symbol. + (exit): Add missing symbol. + (setmode): Ditto. + * gendef (longjmp): Convert all displacements to hex for readability. + Change all movaps instructions to movdqu to accommodate unaligned + access to 128 bit values. + +2013-02-05 Corinna Vinschen <corinna@vinschen.de> + + * pseudo-reloc.cc (do_pseudo_reloc): Enable 64 bit code for x86_64 + Cygwin. + +2013-02-05 Corinna Vinschen <corinna@vinschen.de> + + * miscfuncs.cc (RtlFillMemory): Declare. + (RtlCopyMemory): Declare. + (memset): Just call RtlFillMemory. + (memcpy): Just call RtlCopyMemory. + * mmap.cc (class mmap_record): Drop enforced packing. Reorder members + to allow tight packing on 32 as well as on 64 bit. + * include/sys/dirent.h: Don't enforced structure packing on x86_64. + (__DIRENT_COOKIE): Use different value on 64 bit. + +2013-02-04 Corinna Vinschen <corinna@vinschen.de> + + * gendef (fefunc): Fix incorrect pc-relative jmp instruction. + (_sigfe): Fix offset to return address on stack. Add and fix comments. + (_sigbe): Fix stack alignment when creating spill area for call to + yield. Add and fix comments. + (sigdelayed): Add fake push to make sure stack is aligned correctly. + Use fake stack alignment on exit to store return address and call ret, + rather than jmp. Fix comments. + (_cygtls::lock): Only create and destroy spill area when really calling + yield. + +2013-02-04 Corinna Vinschen <corinna@vinschen.de> + + * autoload.cc (LoadDLLfuncEx3): Adjust address computation required + by latest change to the 64 bit code. + * cygmalloc.h (MALLOC_ALIGNMENT): Set to 16 on x86_64. + * cygtls.h: Set struct alignment to 8 on x86_64. Move inclusion of + other header files outside of alignment-enforced code area. Drop + inclusion of security.h entirely. + (_cygtls::get_signal_arrived): Use NULL SECURITY_ATTRIBUTES rather than + &sec_none_nih. + * gendef (_cygtls::lock): Fix stack alignment. + * heap.cc (page_const): Change type to ptrdiff_t, otherwise negation + operator in pround creates broken bitmask. + * shared.cc (page_const): Add cast to ptrdiff_t. + * tlsoffsets64.h: Regenerate. + +2013-01-30 Corinna Vinschen <corinna@vinschen.de> + + * Makefile.in ($(LIB_NAME)): Add --target option to mkimport call. + * gendef: Drop -w option. Make callto sigfe function pc-relative + on x86_64. + * miscfuncs.cc (__import_address): Drop comment and misguide attempt + to handle absolute addressing in x86_64 mode. + * mkimport: Add --target option. Handle x86_64 target, especially + create pc-relative jmp calls. + +2013-01-29 Corinna Vinschen <corinna@vinschen.de> + + * cygtls.h: Cleanup x86_64 related comment. + (_tlsbase): Change return type to PVOID. + (_tlstop): Ditto. + (_my_tls): Accommodate above change. + * dcrt0.cc (child_info_fork::alloc_stack): Revert previous patch, but + keep cast to PVOID. + (dll_crt0_1): Ditto. + * exception.h: Define _exception_list as _EXCEPTION_REGISTRATION_RECORD + on x86_64. + (_except_list): Define in terms of NtCurrentTeb() on x86_64. + * miscfuncs.cc (__import_address): Handle 32 bit absolute addressing + in IAT on x86_64. + * include/cygwin/config.h (___getreent): New inline function on + x86_64. Define __getreent in terms of ___getreent on x86_64. Fix + comment accordingly. + +2013-01-29 Corinna Vinschen <corinna@vinschen.de> + + * cygtls.h (_tlsbase): Temporary workaround for GCC bug. + (_tlsbase): Ditto. + * cygwin64.din: Set BASE temporariliy to address < 32 bit to workaround + GDB bug. + * dcrt0.cc (child_info_fork::alloc_stack): Temporary workaround for GCC + bug. + (dll_crt0_1): Ditto. + * miscfuncs.cc (memset): Temporary workaround missing MSABI function in + newlib. + (memcpy): Ditto. + * include/cygwin/config.h (__getreent): Drop definition for x86_64 to + workaround GCC bug. + +2013-01-29 Corinna Vinschen <corinna@vinschen.de> + + * winbase.h (ilockcmpexch): Define always. + (InterlockedCompareExchange): Ditto. + (ilockcmpexch64): Define for x86_64. + (InterlockedCompareExchange64): Ditto. + (InterlockedCompareExchangePointer): Define in terms of + InterlockedCompareExchange64 on x86_64. + +2013-01-29 Kai Tietz <ktietz@redhat.com> + + * cygwin.sc.in: Fix ctors and dtors filler and zero-terminator for + 64 bit. + +2013-01-29 Corinna Vinschen <corinna@vinschen.de> + + * Makefile.in (TEST_DLL_NAME): Fix to use correct name per target. + * gendef (fefunc): Resurrect accidentally dropped 32 bit code. + +2013-01-29 Corinna Vinschen <corinna@vinschen.de> + + * heap.cc (eval_start_address): Change address and comment for 64 bit. + (eval_initial_heap_size): Change return type to SIZE_T. Use different + values for 64 bit. + +2013-01-28 Corinna Vinschen <corinna@vinschen.de> + + * gendef: Add missing setjmp/longjmp functionality, still untested. + +2013-01-25 Corinna Vinschen <corinna@vinschen.de> + + * cygwin.sc.in: Accommodate extra .text, .pdata, and .xdata section on + 64 bit. + * cygwin64.din: Set BASE to 0x200040000 to start shared sections at + 0x200000000. + * gendef: Second cut 64 bit assembler functionality, still untested. + +2013-01-25 Kai Tietz <ktietz@redhat.com> + + * autoload.cc (LoadDLLfuncEx3): Adjust assembler for x64 to avoid + relocations. + (noload): Likewise. + +2013-01-23 Corinna Vinschen <corinna@vinschen.de> + + * gendef: First cut 64 bit assembler functionality, untested. + +2013-01-22 Corinna Vinschen <corinna@vinschen.de> + + * Makefile.in (speclib): Exclude main symbol. + (NEW_FUNCTIONS): Set to empty for x86_64. + ($(DEF_FILE)): Call gendef with target_alias as additional parameter. + * configure.ac (DLL_ENTRY): Drop leading underscore for x86_64. + * configure: Regenerate. + * cygwin.sc.in: Drop _SYM usage for __data_start__, __data_end__, + __bss_start__, and __bss_end__. + * cygwin64.din: Remove all fast-call math function entry points. + (_alloca): Define as __alloca. + (_dll_crt0): Drop 32 bit stdcall specifier. + (dll_entry): Ditto. + (dll_noncygwin_dllcrt0): Remove. + (getpwduid): Remove. + (lacl): Remove. + * dcrt0.cc (dll_data_start): Define for x86_64. + (dll_data_end): Ditto. + (dll_bss_start): Ditto. + (dll_bss_end): Ditto. + * gendef: Handle new target argument. Handle 64 bit target. + Add preliminiary empty function definitions for 64 bit to allow linking. + * winsup.h: Define linker data and bss section symbols with + additional underscore for x86_64. + * lib/_cygwin_crt0_common.cc (__image_base__): Define for 64 bit and + map to _image_base__ via macro. + (_cygwin_crt0_common): Fix setting data and bss section borders on + x86_64. + +2013-01-21 Corinna Vinschen <corinna@vinschen.de> + + * miscfuncs.cc (__import_address): Fix address computation for 64 bit. + +2013-01-19 Corinna Vinschen <corinna@vinschen.de> + + * dcrt0.cc (_cygwin_exit_return): Define to allow usage of same C + symbol name independent of target. + * perprocess.h (SIZEOF_PER_PROCESS): Define for x86_64. + * include/sys/cygwin.h (struct per_process): Tweak definition for + x86_64. + +2013-01-18 Corinna Vinschen <corinna@vinschen.de> + + * include/cygwin/config.h (__SYMBOL_PREFIX): Define. + (_SYMSTR): Define. + * child_info.h (spawn_info): Use _SYMSTR macro to define assembler + symbol. + (fork_info): Ditto. + * libstdcxx_wrapper.cc: Ditto, throughout. + * winsup.h (dll_crt0): Ditto. + * include/cygwin/time.h (daylight): Ditto. + (timezone): Ditto. + * lib/_cygwin_crt0_common.cc: Ditto, throughout. + +2013-01-17 Corinna Vinschen <corinna@vinschen.de> + + * child_info.h (spawn_info): Define asm symbol without leading + underscore for x86_64. + (fork_info): Ditto. + * cygwin.sc.in (__CONCAT1): Define. + (__CONCAT): Define. + (_SYM): Define. + (_data_start__): Define using _SYM macro to accommodate multiple + platforms. + (_data_end__): Ditto. + (_bss_start__): Ditto. + (_bss_end__): Ditto. + (_cygheap_start): Ditto. + (_cygheap_end): Ditto. + +2013-01-09 Corinna Vinschen <corinna@vinschen.de> + + * include/cygwin/config.h (_tlsbase): Define for x86_64. + +2012-12-14 Corinna Vinschen <corinna@vinschen.de> + + * cygwin.sc.in (.gnu_debuglink_overlay): Accommodate longer dbg file + name on 64 bit. + +2012-12-13 Corinna Vinschen <corinna@vinschen.de> + + * pinfo.h (enum picom): Add PICOM_HEAP_INFO. + (_pinfo::win_heap_info): Declare. + (struct win_heap_info): Rename from heap_info and define here. Change + to accommodate 64 bit. + * fhandler_process.cc (struct win_heap_info): Just implement here. + (win_heap_info::gen_heap_info): New method. + (format_process_maps): Accommodate above changes. Add FIXME comment + to explain 32->64 bit problem with VirtualQueryEx. + * pinfo.cc (commune_process): Handle PICOM_HEAP_INFO. + (_pinfo::commune_request): Ditto. + (_pinfo::win_heap_info): New method. + +2012-12-13 Corinna Vinschen <corinna@vinschen.de> + + * cygwin.sc.in (OUTPUT_FORMAT): Fix typo in 64 bit code. + * spawn.cc (av::fixup): Drop '!!' to keep argument to set_cygexec a + void *. + +2012-12-11 Corinna Vinschen <corinna@vinschen.de> + + * Makefile.in (TLSOFFSETS_H): Let configure fill in. Change all + occurence of tlsoffsets.h to $(TLSOFFSETS_H). + $(srcdir)/$(TLSOFFSETS_H): Add @CONFIG_DIR@ as parameter to + gentls_offsets so the script knows the target CPU. + * configure.ac (TLSOFFSETS_H): Set according to target. + * configure: Regenerate. + * gentls_offsets: Handle x86_64 as target. Add FIXME comment. Unlink + all temporary files. + * tlsoffsets64.h: New file. + +2012-12-11 Corinna Vinschen <corinna@vinschen.de> + + * Makefile.in (DLL_NAME): Let configure fill in. + (DIN_FILE): Ditto. Change all occurence of cygwin.din to $(DIN_FILE). + * configure.ac (DLL_NAME): Set according to target. + (DIN_FILE): Ditto. + * configure: Regenerate. + * cygwin64.din: New file. + +2012-12-10 Corinna Vinschen <corinna@vinschen.de> + + * posix_ipc.cc: Enforce 4 byte alignment on all structs used in the + message queue file. + (struct mq_fattr): Fixed size mq_attr structure as stored in file. + (struct mq_hdr): Change to have same size on 32 and 64 bit. Add + mqh_magic to allow check for old message queue file. + (struct msg_hdr): Change to have same size on 32 and 64 bit. Change + type of mqh_attr to struct mq_fattr. + (struct mq_info): Change to have same size on 32 and 64 bit. + (mq_open): Add check for maximum mq_maxmsg and mq_msgsize values which + still fit into 32 bit values. Set mqh_magic in file to MQI_MAGIC. + Check mqh_magic value on existing file to detect old message queue file. + (mq_getattr): Change type of local attr variable to struct mq_fattr. + (mq_setattr): Ditto. + (_mq_send): Ditto. + (_mq_receive): Ditto. + (mq_close): Ditto. + +2012-12-10 Corinna Vinschen <corinna@vinschen.de> + + * hookapi.cc (hook_or_detect_cygwin): Only check for one cygwin DLL + file name depending on executable target type. Return value indicating + executable target type. Change comment accordingly. + * path.h (enum path_types): Add FIXME comment to definition of + PATH_OPEN. Add PATH_64BITEXEC. + (iscygexec32): New method. + (iscygexec64): New method. + (set_cygexec): Implement additionally with void * parameter to be able + to set PATH_64BITEXEC if required. + +2012-12-10 Corinna Vinschen <corinna@vinschen.de> + + * Throughout, fix format string of debug printf and api_fatal calls + to work in 32 and 64 bit environment, as well as to honor signedness. + Use %y instead of 0x%x. + * fhandler.h (class fhandler_dev_mem): Change type of mem_size from + DWORD to SIZE_T. + * fhandler_mem.cc: Throughout, cast mem_size in comparisons to make + GCC happy. + * fhandler_process.cc (format_process_maps): Change type of ret_len + to SIZE_T. + (get_mem_values): Ditto for n and length. + * mmap.cc (MapView): Ditto for commitsize and viewsize. + (class mmap_record): Ditto for len. Use SIZE_T througout for memory + size in method args and return types. + * ntdll.h (NtLockVirtualMemory): Fix type of memory size parameters + to SIZE_T. + (NtMapViewOfSection): Ditto. + (NtQueryVirtualMemory): Ditto. + (NtUnlockVirtualMemory): Ditto. + (RtlFreeHeap): Change type of first parameter to HANDLE. + * shm.cc (shmat): Change type of viewsize to SIZE_T. + * timer.cc (timer_thread): Change type of sleep_ms to LONG. + (ualarm): Drop casts to unsigned int in timer value computation. + +2012-12-06 Corinna Vinschen <corinna@vinschen.de> + + * cygserver_ipc.h (conv_timespec32_to_timespec): Implement here. + (conv_timespec_to_timespec32): Ditto. + * include/cygwin/ipc.h (struct _ts32): Define here. + * include/cygwin/msg.h: Enforce 4 byte alignment on all structs. + (struct _ts32): Move definition to include/cygwin/ipc.h. + (struct _msqid_ds32): Drop member comments. + * include/cygwin/sem.h: Enforce 4 byte alignment on all structs. + (struct _semid_ds32): Define on 64 bit in _KERNEL mode. + * include/cygwin/shm.h: Enforce 4 byte alignment on all structs. + (struct _shmid_ds32): Define on 64 bit in _KERNEL mode. + (struct shminfo): Enhance coment on shmall member. + (struct shm_info): Convert type of all members to int32_t. + * include/cygwin/sysproto.h (struct semctl_args): Change definition to + use the same structure on 32 and 64 bit. + (struct semop_args): Ditto. + (struct shmat_args): Ditto. + (struct shmctl_args): Ditto. + (struct shmdt_args): Ditto. + (struct shmget_args): Ditto. + +2012-12-05 Corinna Vinschen <corinna@vinschen.de> + + * cygserver.h (struct client_request::header_t): Change definition of + msglen to use the same structure on 32 and 64 bit. Add read and write + accessors. Change type of error_code to int. + (class client_request): Align accessor methods to above change. + * cygserver_ipc.h (ipc_set_proc_info): Use _TYPE64_CLR macros. + * winlean.h (_TYPE64_CLR): New macro. + (_TYPE64_SET): Ditto. + * include/cygwin/msg.h (struct _ts32): Define on 64 bit in _KERNEL mode. + (struct _msqid_ds32): Ditto. Add comment to explain why. + * include/cygwin/sysproto.h: Enforce 4 byte alignment on all structs. + (struct msgctl_args): Change definition to use the same structure on + 32 and 64 bit. + (struct msgrcv_args): Ditto. + (struct msgsnd_args): Ditto. + +2012-12-05 Corinna Vinschen <corinna@vinschen.de> + + * shm.cc (fixup_shms_after_fork): Fix initialization of local variable + parent. + +2012-12-04 Corinna Vinschen <corinna@vinschen.de> + + * winlean.h (_TYPE64): Define. + * cygserver_ipc.h (struct proc): Rearrange to use same structure on + 32 and 64 bit. Add member is_64bit. + (ipc_set_proc_info): Change accordingly. + +2012-12-04 Kai Tietz <ktietz@redhat.com> + + * child_info.h (child_info): Re-type magic to DWORD. + +2012-12-03 Corinna Vinschen <corinna@vinschen.de> + + * cygtls.h (CYGTLS_PADSIZE): Change comment noting alignment has to + be 16 bytes on x86_64. + +2012-12-03 Corinna Vinschen <corinna@vinschen.de> + + * Makefile.in: Add rule to build cygwin.sc dynamically using the + target compiler. + * cygwin.sc.in: Rename from cygwin.sc. Make OUTPUT_FORMAT and + SEARCH_DIR dependent on target CPU. Add extra alignment and .xdata + section on x86_64. Keep up with latest dwarf debug section changes. + +2012-11-29 Corinna Vinschen <corinna@vinschen.de> + + * miscfuncs.cc (thread_wrapper): Use PVOID instead of VOID *. + Fix stack alignment before calling VirtualFree. Fix comments. + +2012-11-28 Corinna Vinschen <corinna@vinschen.de> + + * autoload.cc (wsock_init): Drop vendor info debug printout. It's + undefined since Wsock version 2. + +2012-11-28 Corinna Vinschen <corinna@vinschen.de> + + * autoload.cc: Extend leading comment to describe the 64 bit + implementation as well. + (LoadDLLprime): Define for x86_64. + (LoadDLLfuncEx3): Ditto. + (dll_func_load): Ditto. + (struct dll_info): Use target-agnostic type for load_state. + (struct func_info): Add func_addr member on x86_64. + (two_addr_t): New type to be twice the size of an address on either + target. + (union retchain): Use target-agnostic type for low and high, + use two_addr_t as type for ll member. + (std_dll_init): Define as SYSV ABI function on x86_64. Explain why. + Change return type to two_addr_t. Add casts as necessary. Convert + assembler code to tweak return address into C code. + (wsock_init): Ditto. Drop leading underscore in LoadDLLprime + macro call on x86_64. + (GetAdaptersAddresses): Define using LoadDLLfunc since it's not called + on pre-XP anyway. + (AttachConsole): Don't define on x86_64. + (GetModuleHandleExW): Ditto. + (GetSystemWow64DirectoryW): Ditto. + (GetVolumePathNamesForVolumeNameW): Ditto. + +2012-11-22 Corinna Vinschen <corinna@vinschen.de> + + * include/sys/strace.h: Include sys/types.h for pid_t. + +2012-11-16 Corinna Vinschen <corinna@vinschen.de> + + * cygtls.h (CYGTLS_PADSIZE): Define for 64 bit. Add FIXME comment. + * profil.c: Replace usage of network types with types as documented + in Linux, throughout. + (get_thrpc): Fix access to instruction pointer for x86_64. + * profil.h: Include stdin.t.h. Replace usage of network types with + types as documented in Linux, throughout. + * config/x86_64/profile.h (mcount): Use unsigned long rather than + __uintptr_t. + +2012-11-16 Corinna Vinschen <corinna@vinschen.de> + + * cygmalloc.h (dlmalloc): Change unsigned in declaration to size_t. + (dlrealloc): Ditto. + * wait.cc (wait4): Cast second parameter in proc_subproc call to + uintptr_t. + +2012-11-16 Corinna Vinschen <corinna@vinschen.de> + + * thread.cc (verifyable_object_isvalid): Temporarily define as + non-inline on x86_64 to workaround compiler bug. + +2012-11-16 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_netdrive.cc: Use UINT32_MAX rather than UINT_MAX to make + absolutely clear that we mean the 32 bit maximum. + * fhandler_socket.cc: Ditto. + * pinfo.cc: Ditto with INT32_MAX. + * select.cc (fd_mask): Drop gratuitious definition. + (sizeof_fd_set): Cast to size_t. + * shared.cc (pround): Cast to ptrdiff_t. + * strace.cc (strace::activate): Fix format string. + (strace::write_childpid): Take pid_t as parameter. + * include/sys/strace.h (strace::write_childpid): Change declaration + accordingly. + * sync.cc (muto::init): Cast in call to InterlockedExchangePointer to + make compiler happy. + * sync.h (class muto): De-const name. + * syslog.cc (try_connect_syslogd): Take size_t as third argument. + (vsyslog): Convert len to size_t. + * thread.cc: Use {U}INT32_MAX rather than {U}LONG_MAX. Througout change + types used in Windows calls to matching Windows types. + (pthread::cancel): Fix access to instruction pointer for x86_64. + (pthread_attr_getstack): Cast to ptrdiff_t for pointer arithmetic. + * thread.h: Throughout convert 'long' types to uint32_t or LONG. + +2012-11-16 Corinna Vinschen <corinna@vinschen.de> + + * include/cygwin/acl.h (struct __acl32): Drop. Use struct acl or + aclent_t throughout instead. + * sec_acl.cc (aclcheck32): Mark currently unused variables as unused. + (lacl32): Disable on x86_64. + (acl): Alias to acl32 on x86_64. + (facl): Alias to facl32 on x86_64. + (aclcheck): Alias to aclcheck32 on x86_64. + (aclsort): Alias to aclsort32 on x86_64. + (acltomode): Alias to acltomode32 on x86_64. + (aclfrommode): Alias to aclfrommode32 on x86_64. + (acltopbits): Alias to acltopbits32 on x86_64. + (aclfrompbits): Alias to aclfrompbits32 on x86_64. + (acltotext): Alias to acltotext32 on x86_64. + (aclfromtext): Alias to aclfromtext32 on x86_64. + * resource.cc (getrlimit): Use correct cast to rlim_t rather than DWORD. + * sched.cc (sched_setparam): Drop ThreadPriority and all code setting + it. + +2012-11-15 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_process.cc (format_process_stat): Add comment to explain + the WOW64 problems concerning the BasePriority value. Fix format + string in __small_sprintf call. + * ntdll.h: Mark more native structures as tested on 64 bit. + (enum _EVENT_TYPE): Drop definition. + (enum _TIMER_TYPE): Ditto. + (enum _SECTION_INHERIT): Drop __MINGW64_VERSION_MAJOR guard. + +2012-11-14 Corinna Vinschen <corinna@vinschen.de> + + * ntdll.h: Mark more native structures as tested on 64 bit. + (struct _FILE_BOTH_DIR_INFORMATION): Rename from + _FILE_BOTH_DIRECTORY_INFORMATION as per WDK documentation. + * fhandler_disk_file.cc: Accommodate aforementioned structure name + change. + * path.cc: Ditto. + +2012-11-13 Corinna Vinschen <corinna@vinschen.de> + + * cygheap.h (class fcwd_access_t): Remove wrong alignment attribute from + Buffer member of FAST_CWD_OLD structure. Add comment that everything + has been tested. + * ntdll.h: Mark more native structures as tested on 64 bit. + +2012-11-12 Corinna Vinschen <corinna@vinschen.de> + + * cygheap.h (class fcwd_access_t): Add alignment attribute to Buffer + member of FAST_CWD_* structures to work on 64 bit. + * path.cc (symlink_info::check_shortcut): Add cast to avoid compiler + warning. + (cygwin_conv_path_list): Drop ununsed variable. + (peek32): Define with int32_t cast on 64 bit to allow easier fetching + of instruction pointer relative addresses. + (find_fast_cwd_pointer): Add new implementation for x86_64. + Tweak a comment in 32 bit version. + +2012-11-12 Corinna Vinschen <corinna@vinschen.de> + + * dlfcn.cc (dlopen): Change cast to accommodate type change in ntdll.h + * fhandler_process.cc (thread_info::thread_info): Change type of local + variable size to ULONG to match NtQuerySystemInformation call. + Add cast to avoid compiler warnings. + (get_process_state): Add cast to avoid compiler warnings. Accommodate + name change of NextEntryOffset member of PSYSTEM_PROCESS_INFORMATION + structure. + * mmap.cc: Add casts to avoid compiler warnings. + (mlock): Change type of local variables min and max to match + GetProcessWorkingSetSize call. + * nlsfuncs.cc (__collate_range_cmp): Add casts to avoid compiler + warnings. + * ntdll.h: Drop accommodations for Mingw32. Fix a couple of formatting + glitches. Add a comment to all structures explicitely tested on 64 bit. + (SYSTEM_INFORMATION_CLASS): Change SystemProcessesAndThreadsInformation + to SystemProcessInformation and SystemProcessorTimes to + SystemProcessorPerformanceInformation to match MSDN. + (SYSTEM_BASIC_INFORMATION): Fix member types to match 64 bit. + (SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION): Rename from + SYSTEM_PROCESSOR_TIMES to use official name from MSDN. Accommodate + throughout. Drop unneeded align attribute. + (VM_COUNTERS): Fix member types to match 64 bit. + (SYSTEM_PROCESS_INFORMATION): Rename from SYSTEM_PROCESSES to use + official name from MSDN. Fix member types to match 64 bit. Change + member names to match MSDN and Mingw64. Accommodate throughout. + (IO_STATUS_BLOCK): Change to use MSDN definition. + (SYSTEM_TIMEOFDAY_INFORMATION): Rename from + SYSTEM_TIME_OF_DAY_INFORMATION to use official name from MSDN. + Accommodate throughout. Add Reserved1 area per MSDN. + (LDR_DATA_TABLE_ENTRY): Add comment for future reference. Change + type of LoadCount to USHORT. + (PEB_LDR_DATA): Change type of Initialized to BOOLEAN. Add comment for + future reference. + (PEB): Fix member types to match 64 bit. + (GDI_TEB_BATCH): New type. + (TEB): Fix member types to match 64 bit. + (PROCESS_BASIC_INFORMATION): Ditto. + (MEMORY_WORKING_SET_LIST): Ditto. + (SharedUserData): Change comment to note the fact that the address + is valid on 32 and 64 bit. + * pinfo.cc (winpids::enum_processes): Add cast to avoid compiler + warnings. + * select.cc (pipe_data_available): Add braces in initalization of an + IO_STATUS_BLOCK to match new definition. + * wincap.h (class wincapc): Change type of wow64 to ULONG_PTR to match + MSDN description. + (wincapc::is_wow64): Convert return value explicitely to bool. + * wow64.cc (wow64_test_for_64bit_parent): Change type of wow64 to + ULONG_PTR to match MSDN description. Add a cast to avoid compiler + warning. + * regex/engine.c: Avoid compiler warnings about unused and potentially + uninitialized variables. + * regex/regcomp.c: Ditto. Drop unnecessary definition of LCID. + +2012-11-11 Corinna Vinschen <corinna@vinschen.de> + + * pinfo.cc (_pinfo::commune_request): Accommodate the fact that LONG_MAX + does not match sizeof LONG. + +2012-11-09 Corinna Vinschen <corinna@vinschen.de> + + * miscfuncs.cc (case_folded_lower): Change to unsigned char to avoid + compiler warnings. + (case_folded_upper): Ditto. + (thread_wrapper): Add assembler code for x86_64. + * winsup.h (case_folded_lower): Change to unsigned char. + (case_folded_upper): Ditto. + (cyg_tolower): Add cast to avoid compiler warnings. + (cyg_toupper): Add cast to avoid compiler warnings. + +2012-11-08 Corinna Vinschen <corinna@vinschen.de> + + * tty.h (class tty): Store from_master and to_master HANDLEs in + unions to make sure the storage is 64 bit compatible. Add comment to + explain why. + (from_master): Convert to read accessor method. + (to_master): Ditto. + (set_from_master): New method to store HANDLE value 64 bit clean. + (set_to_master): Ditto. + * fhandler_tty.cc: Fix debug printfs to work in 64 bit mode as well. + Change usage of from_master and to_master throughout to accommodate + aforementioned change. + * fhandler_termios.cc (fhandler_termios::ioctl): Add cast to avoid + compiler warning. + +2012-11-08 Corinna Vinschen <corinna@vinschen.de> + + * cygheap.h (struct user_heap_info): Change type of chunk to SIZE_T. + Remove unused slop member. + * fork.cc (fork): Rename esp to stackp. Add 64 bit asm expression to + fetch stack pointer. + (child_copy): Use platform independent types. + * heap.cc (eval_start_address): Add comment. Disable 3GB code on 64 bit. + (eval_initial_heap_size): Use platform independent types. Fix debug + printf format strings. + (sbrk): Add comment. Change argument type according to newlib + definition. Use platform independent types. Drop unneeded else and + move comment to the right spot. + * hookapi.cc (PEHeaderFromHModule): Return PVOID. Add comment to + explain why. Add bool parameter to return if target executable is + 64 bit or not. + (rvadelta_get): New inline function to fetch section address platform + independent. + (rvadelta32, rvadelta64): Platform dependent wrappers. + (rvadelta): Change to macro calling the platform dependent rvadelta + wrappers. + (putmem): Define platform dependent THUNK_FUNC_TYPE and use throughout. + (RedirectIAT): Add comment. + (get_export): Add comment. + (find_first_notloaded_dll): Allow to fetch information in a platform + and target independent way. + (hook_or_detect_cygwin): Ditto. Recognize the cyg64win1.dll file name + as well. + * kernel32.cc (CreateFileMappingW): Cast to avoid compiler warning. + + * fhandler.h (class fhandler_dev_tape): Replace mt_evt with an + OVERLAPPED structure ov. + * mtinfo.h (class mtinfo_part): Define members as int32_t rather than + long. Change member function declarations accordingly. + (class mtinfo_drive): Ditto. Store OVERLAPPED pointer rather than + holding the full structure. Add comment to explain why. + * fhandler_tape.cc: Accommodate above changes throughout. + +2012-11-08 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_socket.cc (fhandler_socket::ioctl): Don't use __ms_u_long + directly. Rather only use it on 64 bit. Add comment to explain the + problem. + +2012-11-07 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_socket.cc: Throughout, fix casts to work on 64 bit. Move + calls to pthread_testcancel to upper syscall level for consistency. + Move read, readv, write, and writev methods to keep together with + equivalent recv and send methods. + (fhandler_socket::read): Compute WSAMSG buffer on 64 bit to overcome + type restriction of WSABUF len member. + (fhandler_socket::recvfrom): Ditto. + (fhandler_socket::write): Ditto. + (fhandler_socket::sendto): Ditto. + (fhandler_socket::sendmsg): Restructure for readability. + * net.cc (cygwin_sendto): Call pthread_testcancel here. + (cygwin_recvfrom): Ditto. + (cygwin_connect): Ditto. + (cygwin_accept): Ditto. + (cygwin_recv): Ditto. + (cygwin_send): Ditto. + (cygwin_recvmsg): Ditto. + (cygwin_sendmsg): Ditto. + +2012-11-07 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_process.cc (heap_info::heap_info): Add comment to explain a + TODO item. + +2012-11-07 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_procsysvipc.cc (format_procsysvipc_msg): Fix printf format + string for 32 bit as well. + +2012-11-07 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_procsysvipc.cc (format_procsysvipc_msg): Fix printf format + string for 64 bit. + * fhandler_registry.cc (fhandler_registry::readdir): Fix cast. + * fhandler_serial.cc (ibuf): Avoid compiler warning. + * include/cygwin/ipc.h: Include stdint.h. + * include/cygwin/msg.h (msgqnum_t): Define as uint32_t. + (msglen_t): Ditto. + (struct msginfo): Convert all long members to int32_t. + (struct msg_info): Ditto. + * include/cygwin/sem.h (struct seminfo): Ditto. + * include/cygwin/shm.h (shmatt_t): Define as uint32_t. + (struct shmid_ds): Define shm_segsz as uint32_t. + (struct shminfo): Convert all long members to int32_t. + +2012-11-06 Corinna Vinschen <corinna@vinschen.de> + + * ntdll.h (PDI_WOW64_MODULES): Define. + (struct _DEBUG_BUFFER): Fix definition to work on 32 and 64 bit. + (struct _DEBUG_HEAP_INFORMATION): Ditto. + (struct _DEBUG_HEAP_BLOCK): Ditto. + +2012-11-05 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_process.cc: Fix debug printf calls to be type safe. + Add casts to avoid compiler warnings. + (get_mem_values): Avoid using ULONG_MAX since it's NOT matching + ULONG on 64 bit. + * fhandler_procnet.cc (fhandler_procnet::open): Fix syscall_printf call + to be type safe. + (format_procnet_ifinet6): Add cast to avoid compiler warnings. + * ntdll.h (struct _DEBUG_HEAP_BLOCK): Change Address to ULONG_PTR. + + * include/bits/wordsize.h: Fix __WORDSIZE definition for x86_64. + Add __WORDSIZE_COMPAT32 as on Linux. + * include/inttypes.h: Include bits/wordsize.h. Use __WORDSIZE check + where appropriate. + * include/limits.h: Include bits/wordsize.h. + (CHAR_BIT): Change definition to rely on default + compiler definition. + (LONG_BIT): Ditto. + (WORD_BIT): Ditto. + (__LONG_MAX__): Use __WORDSIZE check. + (RTSIG_MAX): Ditto. + * include/stdint.h: Include bits/wordsize.h. Use __WORDSIZE check + where appropriate. + * include/cygwin/signal.h: Ditto. + * include/cygwin/types.h: Ditto. + + * include/asm/byteorder.h (__ntohl): Use bswap instruction, available + since i486. + (__ntohs): Fix constraint to work on 64 bit CPU as well. + +2012-11-05 Corinna Vinschen <corinna@vinschen.de> + + * cpuid.h (can_set_flag): Implement for x86_64. + * fhandler.h (class fhandler_dev_raw): Define devbuf members taking + numerical values as DWORD, rather than size_t. + * fhandler_dsp.cc: Fix debug printf calls to be type safe. + (waveOut_callback): Align parameter types to latest MSDN description. + (waveIn_callback): Ditto. + (fhandler_dev_dsp::Audio_out::start): Change casts in call to + waveOutOpen according to MSDN. + (fhandler_dev_dsp::Audio_out::parsewav): Fix a cast. + (fhandler_dev_dsp::Audio_in::start): Change casts in call to + waveInOpen according to MSDN. + * fhandler_floppy.cc: Fix debug printf calls to be type safe. + (fhandler_dev_floppy::ioctl): Add casts to be on the safe side. + * fhandler_proc.cc: Fix debug printf calls to be type safe. + +2012-10-31 Corinna Vinschen <corinna@vinschen.de> + + * cygthread.cc: Fix usage of %p in debug printfs, throughout. + * dcrt0.cc: Ditto. + * dtable.cc: Ditto. + * errno.cc: Ditto. + * exceptions.cc: Ditto. + * fhandler.cc: Ditto. + * fhandler_console.cc: Ditto. + * fhandler_disk_file.cc: Ditto. + + * fhandler_clipboard.cc (cygnativeformat): Define as UINT. + (fhandler_dev_clipboard::read): Ditto for local format variable. + Use casts to compare off_t with size_t value. + * fhandler_console.cc (fhandler_console::ioctl): Avoid compiler + warnings. + * fhandler_disk_file.cc (fhandler_disk_file::opendir): Fix cast. + * include/sys/dirent.h (struct __DIR): Define __d_internal as uintptr_t, + rather than unsigned int. + +2012-10-30 Corinna Vinschen <corinna@vinschen.de> + + * fcntl.cc (fcntl64): Make arg an intptr_t. Add comment to explain a + potential type problem. Fix syscall_printf. + (_fcntl): Make arg an intptr_t. + * fhandler.cc (fhandler_base::fcntl): Ditto. + * fhandler_socket.cc (fhandler_socket::fcntl): Ditto. + * fhandler.h: Align declarations. + +2012-10-30 Corinna Vinschen <corinna@vinschen.de> + + * dtable.cc: Use %y rather than 0x%x. + * exceptions.cc: Ditto. + +2012-10-30 Corinna Vinschen <corinna@vinschen.de> + + * smallprint.cc (__small_vsprintf): Add 'y' and 'Y' conversion. + Add description to comment. + (__small_vswprintf): Align behaviour to __small_vsprintf. + +2012-10-30 Corinna Vinschen <corinna@vinschen.de> + + * external.cc (get_cygdrive_info): Return uintptr_t rather than DWORD. + (check_ntsec): Return bool. + (cygwin_internal): Return uintptr_t. Accommodate throughout. + * include/sys/cygwin.h (cygwin_internal): Align declaration. + +2012-10-30 Corinna Vinschen <corinna@vinschen.de> + + * include/cygwin/signal.h (NSIG): Define differently for x86_64 and + i686. Change FIXME comment accordingly. + (SIGRTMAX): Define in terms of NSIG. + * include/limits.h (RTSIG_MAX): Define for x86_64. + * strsig.cc (__signals_common): Hold all signals available on both + platforms. + (__signals): Define differently for x86_64 and i686. + +2012-10-30 Corinna Vinschen <corinna@vinschen.de> + + * dll_init.cc: Fix debug printf to be type-safe. + * dtable.cc: Ditto. + +2012-10-26 Corinna Vinschen <corinna@vinschen.de> + + * cygtls.cc (_cygtls::remove): Fix debug printf to be type-safe. + * dcrt0.cc: Ditto, throughout. + * include/sys/cygwin.h (struct per_process): Define magic_biscuit, + dll_major and dll_minor as uint32_t. + +2012-10-26 Corinna Vinschen <corinna@vinschen.de> + + * cygheap.h (struct init_cygheap): Define sthreads as uint32_t. + +2012-10-26 Corinna Vinschen <corinna@vinschen.de> + + * cygheap.cc: Fix debug printfs to work in 64 bit mode as well, + throughout. + (nthreads): Define as uint32_t to make always 4 byte. Accommodate + throughout. + (threadlist_ix): Ditto. + +2012-10-26 Corinna Vinschen <corinna@vinschen.de> + + * exception.h (stackdump): Change first parameter to PUINT_PTR. + * exceptions.cc: Define cpu specific macros _GR, _AFMT and _ADDR. + Use throughout to avoid ifdef's. Fix debug printfs to work in + 64 bit mode as well, throughout. + (status_info): Define member code as NTSTATUS. Add casts where + necessary throughout. + (dump_exception): Dump all x86_64 registers if building for it. + (class stack_info): Define dummy_frame as PUINT_PTR. + (stack_info::init): Change first parameter to PUINT_PTR. Rename + ebp to framep for CPU independent naming. Drop debp macro. + (stack_info::walk): Rename ebp to framep for CPU independent naming. + Disable WOW64 hack in 64 bit mode. + (stackdump): Change first parameter to PUINT_PTR. Rename ebp to framep + for CPU independent naming. + (_cygtls::inside_kernel): Ignore system_wow64_directory on 64 bit. + (rtl_unwind): Redefine for x86_64 cpu. + (_except_list): Drop redundant definition. + (_cygtls::copy_context): Just use __COPY_CONTEXT_SIZE. + * sigproc.cc (_cygtls::signal_exit): Conditionalize stackdump call per + cpu. + * smallprint.cc (__small_vsprintf): Fix up for 64 bit. Handle 'l' size + modifier in 'd', 'o', 'u', 'x' conversion to print "long" values on a + per cpu base. Add 'O' conversion. Change comment accrdingly. + * include/cygwin/signal.h (struct _uc_fpxreg): Define for 64 bit. + (struct _uc_xmmreg): Ditto. + (struct _fpstate): Ditto. + (struct ucontext): Ditto. + (struct _uc_fpreg): Define for 32 bit. + (struct _fpstate): Use struct _uc_fpreg for _st. Use explicit sized + types. + (struct ucontext): Use explicit sized types. + (__COPY_CONTEXT_SIZE): Cast safely. + (sigset_t): Define as __uint64_t on 64 bit. Add FIXME comment in 32 + bit case. + +2012-10-24 Corinna Vinschen <corinna@vinschen.de> + + * smallprint.cc (rnarg): Make type-safe. + (rnargLL): Ditto. + (__small_vsprintf): Add comment to document meaning of each possible + conversion. Fix 'p' conversion for 64 bit. + +2012-10-23 Corinna Vinschen <corinna@vinschen.de> + + * globals.cc: Redefine _RDATA as "const", if not already defined. + Apply extern "C" linkage to the R/O UNICODE_STRINGs and cygwin_props. + Change comments to explain new method. + * winsup.h (_RDATA): Define as empty string and only if including + globals.h. + (cygwin_finished_initializing): Drop redundant declaration. + +2012-10-23 Corinna Vinschen <corinna@vinschen.de> + + * dtable.cc (dtable::get_debugger_info): Raise size of buf to allow + 64 bit values. Call sprintf in a type-safe manner. + +2012-10-23 Corinna Vinschen <corinna@vinschen.de> + + * dll_init.cc (reserve_at): Use PVOID rather than DWORD as type for + pointer parameters and return type. + (release_at): Ditto. + (dll_list::load_after_fork_impl): Fix format strings. Call reserve_at + without casts to DWORD. + (struct dllcrt0_info): Change type of res to PVOID. + (dll_dllcrt0): Return PVOID rather than int. + (dll_dllcrt0_1): Accommodate type change of dllcrt0_info::res. + (dll_noncygwin_dllcrt0): Disable on 64 bit. Add a cast for 32 bit. + * dll_init.h (struct pefile): Drop 32 bit decoration from Windows + types. + * ntdll.h (struct _DEBUG_HEAP_INFORMATION): Define Base as UINT_PTR. + (struct _DEBUG_MODULE_INFORMATION): Define Reserved and Base as + UINT_PTR. + * winsup.h (dll_dllcrt0): Declare as PVOID. + (dll_noncygwin_dllcrt0): Don't declare on 64 bit. + * include/cygwin/cygwin_dll.h (cygwin_attach_dll): Declare as PVOID. + (cygwin_detach_dll): Declare with PVOID parameter. + (dll_index): Declare as PVOID. + (_cygwin_dll_entry): Accommodate type change of dll_index. + * lib/crt0.h (dll_dllcrt0): Declare as PVOID. + * lib/cygwin_attach_dll.c (cygwin_attach_dll): Define PVOID. + +2012-10-23 Corinna Vinschen <corinna@vinschen.de> + + * dcrt0.cc (init_windows_system_directory): Disable setting + system_wow64_directory{_length} on 64 bit. + (dll_crt0_0): Disable WOW64-specific code on 64 bit. + (_dll_crt0): Ditto. + * globals.cc (system_wow64_directory): Don't define on 64 bit. + (system_wow64_directory_length): Ditto. + * wincap.cc (wincapc::init): On 64 bit, always set wow64 to 0 and + related bool values to false. + * wow64.cc: Disable entire code on 64 bit. + * wow64.h: Ditto. + +2012-10-23 Corinna Vinschen <corinna@vinschen.de> + + * cygtls.h (__stack_t): Define as uintptr_t. + * dcrt0.cc (child_info_fork::alloc_stack): Conditionalize assembler + code on a per-CPU base. Rename esp to stackp. + (get_cygwin_startup_info): Cast pointers to uintptr_t in + multiple_cygwin_problem call. Minor formatting change. + (_dll_crt0): Conditionalize assembler code on a per-CPU base. + (multiple_cygwin_problem): Change parameters from unsigned to uintptr_t. + * winsup.h (multiple_cygwin_problem): Change declaration accordingly. + * pinfo.h (pinfo::reattach): Cast 2nd argument in proc_subproc call + to uintptr_t. + (pinfo::remember): Ditto. + * sigproc.cc (proc_subproc): Change 2nd parameter to uintptr_t to allow + pointer values. + * sigproc.h (proc_subproc): Change declaration accordingly. + * include/sys/cygwin.h (per_process_overwrite): Use offsetof to compute + value. + +2012-10-23 Corinna Vinschen <corinna@vinschen.de> + + * cygheap.cc (N0): Remove. + (N): Ditto. + (to_cmalloc): Use offsetof to compute value. + (tocygheap): Use offsetof to compute value. + +2012-10-22 Corinna Vinschen <corinna@vinschen.de> + + * cygtls.h (_tlsbase): Define for __x86_64__. + (_tlstop): Ditto. + * exception.h (exception_list): Ditto. + +2012-10-22 Corinna Vinschen <corinna@vinschen.de> + + * cygheap.cc (to_cmalloc): Fix pointer cast. + (nextpage): Ditto. Base definition on roundup2. + (allocsize): Cast to SIZE_T. + (_csbrk): Drop granmask. Define adjsbs SIZE_T as 2nd parameter to + VirtualAlloc. + (tocygheap): Fix pointer cast. + +2012-10-18 Corinna Vinschen <corinna@vinschen.de> + + Avoid various type ambiguity problems showing up in the 64 bit case: + * cygheap.h (cygheap_user::set_sid): Convert to void. + (cygheap_user::set_saved_sid): Ditto. + * devices.h (struct device): Drop operator int& and DWORD& entirely. + Throughout, use dev_t or fh_devices instead. + * devices.cc: Regenerate. + * fhandler.h (class fhandler_base): Convert _refcnt member to LONG. + (fhandler_base::inc_refcnt): Return LONG. + (fhandler_base::dec_refcnt): Ditto. + (fhandler_base::get_major): Return _major_t. + (fhandler_base::get_minor): Return _minor_t. + (fhandler_base::get_unit): Delete. Throughout, use get_minor instead + of get_unit. + (fhandler_socket::get_socket): Use SOCKET rather than int. Only define + if __INSIDE_CYGWIN_NET__ is defined. + (fhandler_pty_slave::get_unit): Drop declaration. + * fhandler_procnet.cc: Include Windows headers early. + * fhandler_socket.cc: Ditto. + * fhandler_tty.cc (fhandler_pty_slave::get_unit): Remove. + * path.h (path_conv::get_device): Rename from get_devn and change return + type to dev_t. Accommodate throughout. + (path_conv::get_unitn): Remove unused method. + * pinfo.h (class pinfo): Drop operator== for int case. + (pinfo::operator!): Define. + * poll.cc: Don't define __INSIDE_CYGWIN_NET__. + * syscalls.cc (getpgid): Replace use of pinfo::operator== with + pinfo::operator!. + * tty.h (tty_min::setntty): Convert 2nd parameter to _minor_t. + * tty.h (tty_min::getntty): Change return type to dev_t. + (tty_min::get_minor): Rename from get_unit. Change return type to + _minor_t. + +2012-08-16 Corinna Vinschen <corinna@vinschen.de> + + * include/mntent.h: Don't include paths.h and don't define macros if + _NOMNTENT_MACROS is set. + +2012-08-14 Corinna Vinschen <corinna@vinschen.de> + + * advapi32.cc (DuplicateTokenEx): Make ?: expression type-safe. + * ntdll.h (KAFFINITY): Don't define if building with Mingw64 headers. + * thread.cc: Throughout drop casts in calls to Interlocked functions. + * thread.h (class fast_mutex): Ditto. Define lock_counter as LONG. + (class pthread_mutex): Define lock_counter as LONG. + (struct MTinterface): Define threadcount as LONG. + +2012-08-14 Corinna Vinschen <corinna@vinschen.de> + + * configure.in: Add AC_NO_EXECUTABLES to allow bootstrap. + Add x86_64 to allowed cpu types. + * configure: Regenerate. + * config/x86_64/profile.h: New file. + +2012-08-14 Corinna Vinschen <corinna@vinschen.de> + + * thread.cc (semaphore::_fixup_after_fork): Fix Win32 error output in + api_fatal call. + +2012-08-14 Corinna Vinschen <corinna@vinschen.de> + + * mkvers.sh: Drop reference to w32api includes. + +2012-08-13 Corinna Vinschen <corinna@vinschen.de> + + * include/cygwin/stat.h (struct __stat64): Drop entirely in favor of + struct stat. Accommodate throughout Cygwin. + * include/cygwin/types.h: Throughout, drop current, internal types + used since Cygwin 1.5 with the base type they have been used for. + Throughout, define types based on bitsize-specific types where + appropriate. Accommodate throughout Cygwin. + * include/sys/cygwin.h: Drop __uid32_t and __gid32_t in favor of + uid_t and gid_t. Define uid/gid types based on bitsize-specific types. + (struct external_pinfo): Accommodate above change. + * cygtls.h (struct _local_storage): Drop unused members grp and + namearray, + * tlsoffsets.h: Regenerate. + * devices.h (_dev_t): Drop definition. Use dev_t throughout instead. + * devices.cc: Regenerate. + + Probably temporary patch to drop unneeded functionality on x86_64: + * fcntl.cc (_fcntl): Alias to fcntl64 on x86_64. + * glob.cc (CYGWIN_gl_stat): Simplify on x86_64. + * grp.cc (grp32togrp16): Don't define on x86_64. + (getgrgid): Alias to getgrgid32 on x86_64. + (getgrnam): Alias to getgrnam32 on x86_64. + (getgrent): Alias to getgrent32 on x86_64. + (getgroups): Alias to getgroups32 on x86_64. + (initgroups): Alias to initgroups32 on x86_64. + (setgroups): Alias to setgroups32 on x86_64. + * mmap.cc (mmap): Alias to mmap64 on x86_64. + * passwd.cc (getpwuid): Alias to getpwuid32 on x86_64. + (getpwuid_r): Alias to getpwuid_r32 on x86_64. + (getpwduid): Don't define on x86_64. + * syscalls.cc (lseek): Alias to lseek64 on x86_64. + (_lseek): Alias to lseek64 on x86_64. + (chown): Alias to chown32 on x86_64. + (lchown): Alias to lchown32 on x86_64. + (fchown): Alias to fchown32 on x86_64. + (stat64_to_stat32): Don't define on x86_64. + (fstat): Alias to fstat64 on x86_64. + (_fstat_r): Alias to _fstat64_r on x86_64. + (stat): Alias to stat64 on x86_64. + (_stat_r): Alias to _stat64_r on x86_64. + (lstat): Alias to lstat64 on x86_64. + (ftruncate): Alias to ftruncate64 on x86_64. + (truncate): Alias to truncate64 on x86_64. + (seteuid): Alias to seteuid32 on x86_64. + (setuid): Alias to setuid32 on x86_64. + (setreuid): Alias to setreuid32 on x86_64. + (setegid): Alias to setegid32 on x86_64. + (setgid): Alias to setgid32 on x86_64. + (setregid): Alias to setregid32 on x86_64. + * uinfo.cc (getuid): Alias to getuid32 on x86_64. + (getgid): Alias to getgid32 on x86_64. + (geteuid): Alias to geteuid32 on x86_64. + (getegid): Alias to getegid32 on x86_64. + * winsup.h (ILLEGAL_UID16): Don't define on x86_64. + (ILLEGAL_GID16): Ditto. + (uid16touid32): Don't declare on x86_64. + (gid16togid32): Don't declare on x86_64. + +2012-08-13 Corinna Vinschen <corinna@vinschen.de> + + * Makefile.in (TEST_DLL_NAME): Use -nostdlib flag unconditionally. + +2012-08-10 Corinna Vinschen <corinna@vinschen.de> + + * cygwin.sc: Add default w32api search dirs. + * Makefile.in (DLL_IMPORTS); Just use -l syntax. + (TEST_DLL_NAME): Drop DLL_IMPORTS dependency. + |