2013-04-21 Yaakov Selkowitz * include/stdint.h (INTPTR_MAX): Fix missing parenthesis. 2013-04-13 Corinna Vinschen * 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 * 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 * 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 * 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 * mount.cc (MINIMAL_WIN_NTFS_FLAGS): Fix comment. 2013-04-08 Corinna Vinschen * Throughout fix -Wextra warnings. Ignore regex files and gmon.c. 2013-04-08 Corinna Vinschen * 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 * 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 * 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 * cygheap.cc (_csbrk): Move down in file, right in front of _cmalloc. 2013-04-04 Corinna Vinschen * 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 Алексей Павлов * fhandler_disk_file.cc (fhandler_disk_file::ftruncate): Add missed ampersand. 2013-03-30 Corinna Vinschen * 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 * 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 * include/cygwin/config.h (___getreent): Harden against aggressive compiler optimization. 2013-03-28 Corinna Vinschen * cygwin64.din: Reinstantiate definition of __srget and __srget_r. 2013-03-28 Corinna Vinschen * 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 * 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 * net.cc (cygwin_gethostbyname): Revert accidental checkin of change added for debugging. 2013-03-27 Corinna Vinschen * 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 * sysconf.cc (sca): Change build environment values according to architecture. (csa): Ditto. 2013-03-27 Corinna Vinschen * 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 * gendef: Use pause instead of calling yield throughout in x86_64 code. 2013-03-20 Ken Brown * include/sys/resource.h (RLIM_INFINITY): Define wordsize agnostic. 2013-03-20 Yaakov Selkowitz * lib/_cygwin_crt0_common.cc: Fix mangled operator new names for x86_64. 2013-03-19 Corinna Vinschen * 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 * 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 * cygwin.sc.in: Fix comment. * dcrt0.cc (child_info_fork::handle_fork): Revert patch from 2013-03-15. 2013-03-17 Corinna Vinschen * cygwin64.din (strlwr): Export. 2013-03-15 Corinna Vinschen * Revert previous patch. For some reason perl doesn't like it. 2013-03-15 Corinna Vinschen * cygtls.h (CYGTLS_PADSIZE): Reduce to 8000 on x86_64. * tlsoffsets64.h: Regenerate. 2013-03-15 Corinna Vinschen * 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 * 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 * 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 * 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 * 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 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 * 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 Corinna Vinschen * gendef (_sigfe): Save arguments before calling yield so they don't get clobbered. Explain why. 2013-03-12 Ken Brown * include/a.out.h: Fix up for x86_64. 2013-03-12 Corinna Vinschen * smallprint.cc (rnarg): Fix cast to print negative values correctly. 2013-03-11 Corinna Vinschen * fhandler.cc (fhandler_base::raw_read): Replace accidentally left in Win32 error codes with equivalent status codes. 2013-03-11 Corinna Vinschen * 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 * gendef: Add SEH information to sigfe entry points, as well as to _sigfe and _sigbe. 2013-03-07 Corinna Vinschen * 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 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 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 * cygwin64.din: Fix mangled operator new names for size_t==long. * libstdcxx_wrapper.cc: Ditto for x86_64. 2013-03-01 Corinna Vinschen * 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 * 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 * 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 * 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 * exceptions.cc (_cygtls::signal_debugger): Raise size of sigmsg buffer on x86_64. * tlsoffsets64.h: Regenerate. 2013-02-27 Corinna Vinschen * 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 * 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 * 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 * 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 * 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 Corinna Vinschen * 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 * 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 * 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 * localtime.cc: Add comment. 2013-02-18 Corinna Vinschen * localtime.cc: Throughout, pull up to latest code from NetBSD. 2013-02-18 Corinna Vinschen * 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 * 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 * cygwin.sc.in (.gnu_debuglink_overlay): Drop "64" in dbg file name. 2013-02-16 Corinna Vinschen * 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 * 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 * 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 * 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 * 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 * 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 * gendef (longjmp): Fix indirect addressing in x86_64 setjmp. 2013-02-11 Corinna Vinschen * cygwin64.din: Add missing symbols. * mkimport: Make sure to use and test against platform dependent "imp" prefix. 2013-02-09 Corinna Vinschen * 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 * 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 * 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 * 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 * 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 * pseudo-reloc.cc (do_pseudo_reloc): Enable 64 bit code for x86_64 Cygwin. 2013-02-05 Corinna Vinschen * 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 * 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 * 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 * 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 * 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 * 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 * 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 * cygwin.sc.in: Fix ctors and dtors filler and zero-terminator for 64 bit. 2013-01-29 Corinna Vinschen * 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 * 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 * gendef: Add missing setjmp/longjmp functionality, still untested. 2013-01-25 Corinna Vinschen * 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 * autoload.cc (LoadDLLfuncEx3): Adjust assembler for x64 to avoid relocations. (noload): Likewise. 2013-01-23 Corinna Vinschen * gendef: First cut 64 bit assembler functionality, untested. 2013-01-22 Corinna Vinschen * 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 * miscfuncs.cc (__import_address): Fix address computation for 64 bit. 2013-01-19 Corinna Vinschen * 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 * 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 * 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 * include/cygwin/config.h (_tlsbase): Define for x86_64. 2012-12-14 Corinna Vinschen * cygwin.sc.in (.gnu_debuglink_overlay): Accommodate longer dbg file name on 64 bit. 2012-12-13 Corinna Vinschen * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * shm.cc (fixup_shms_after_fork): Fix initialization of local variable parent. 2012-12-04 Corinna Vinschen * 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 * child_info.h (child_info): Re-type magic to DWORD. 2012-12-03 Corinna Vinschen * cygtls.h (CYGTLS_PADSIZE): Change comment noting alignment has to be 16 bytes on x86_64. 2012-12-03 Corinna Vinschen * 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 * miscfuncs.cc (thread_wrapper): Use PVOID instead of VOID *. Fix stack alignment before calling VirtualFree. Fix comments. 2012-11-28 Corinna Vinschen * autoload.cc (wsock_init): Drop vendor info debug printout. It's undefined since Wsock version 2. 2012-11-28 Corinna Vinschen * 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 * include/sys/strace.h: Include sys/types.h for pid_t. 2012-11-16 Corinna Vinschen * 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 * 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 * thread.cc (verifyable_object_isvalid): Temporarily define as non-inline on x86_64 to workaround compiler bug. 2012-11-16 Corinna Vinschen * 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 * 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 * 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 * 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 * 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 * 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 * 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 * pinfo.cc (_pinfo::commune_request): Accommodate the fact that LONG_MAX does not match sizeof LONG. 2012-11-09 Corinna Vinschen * 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 * 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 * 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 * 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 * 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 * fhandler_process.cc (heap_info::heap_info): Add comment to explain a TODO item. 2012-11-07 Corinna Vinschen * fhandler_procsysvipc.cc (format_procsysvipc_msg): Fix printf format string for 32 bit as well. 2012-11-07 Corinna Vinschen * 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 * 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 * 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 * 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 * 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 * 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 * dtable.cc: Use %y rather than 0x%x. * exceptions.cc: Ditto. 2012-10-30 Corinna Vinschen * 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 * 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 * 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 * dll_init.cc: Fix debug printf to be type-safe. * dtable.cc: Ditto. 2012-10-26 Corinna Vinschen * 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 * cygheap.h (struct init_cygheap): Define sthreads as uint32_t. 2012-10-26 Corinna Vinschen * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * cygheap.cc (N0): Remove. (N): Ditto. (to_cmalloc): Use offsetof to compute value. (tocygheap): Use offsetof to compute value. 2012-10-22 Corinna Vinschen * cygtls.h (_tlsbase): Define for __x86_64__. (_tlstop): Ditto. * exception.h (exception_list): Ditto. 2012-10-22 Corinna Vinschen * 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 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 * include/mntent.h: Don't include paths.h and don't define macros if _NOMNTENT_MACROS is set. 2012-08-14 Corinna Vinschen * 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 * 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 * thread.cc (semaphore::_fixup_after_fork): Fix Win32 error output in api_fatal call. 2012-08-14 Corinna Vinschen * mkvers.sh: Drop reference to w32api includes. 2012-08-13 Corinna Vinschen * 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 * Makefile.in (TEST_DLL_NAME): Use -nostdlib flag unconditionally. 2012-08-10 Corinna Vinschen * cygwin.sc: Add default w32api search dirs. * Makefile.in (DLL_IMPORTS); Just use -l syntax. (TEST_DLL_NAME): Drop DLL_IMPORTS dependency.