aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-09-20* fhandler_tty.cc (fhandler_tty_slave::init): Add additional checks toChristopher Faylor3-3/+15
determine when a process should grab control of a tty's pgid. Use being_debugged() for consistency. * debug.h (being_debugged): Remove vestige of win9x accommodation.
2010-09-19* wincap.h (wincaps::has_buggy_thread_startup): Declare.Christopher Faylor5-14/+45
(wincapc::has_buggy_thread_startup): Ditto. * wincap.cc::wincap_*): Accommodate has_buggy_thread_startup. (wincapc::init): Explicitly turn off has_buggy_thread_startup if not WOW64. * cygthread.h (cygthread::thread_handle): Declare/define new method. * dcrt0.cc (_dll_crt0): Don't call __sinit here. (dll_crt0_0): Don't call sigproc_init during initialization if wincap.has_buggy_thread_startup(). (dll_crt0_1): Defer sigproc_init to here when wincap.has_buggy_thread_startup(). Call __sinit after we've determined that we're not forking. (__main): Rework comments. Add potential future reminder.
2010-09-18* overview2.sgml: Remove cheerful paragraph which implied that it was ok toChristopher Faylor2-8/+15
casually mix Windows and POSIX. Add more words about mixing POSIX/Windows.
2010-09-18 * setup2.sgml (setup-locale-how): Fix typo.Corinna Vinschen2-1/+5
2010-09-15 * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Fetch numberCorinna Vinschen2-14/+27
of links and inode number only if path has good inodes. (fhandler_base::fstat_by_name): Fetch inode number only if path has good inodes.
2010-09-14Fix typo in my most recent ChangeLog entry. Regenerated file isKevin Buettner1-1/+1
Makefile.in, not Makefile.
2010-09-14 * path.cc (symlink_info::check): Make sure AllocationSize and EndOfFileCorinna Vinschen2-0/+14
are stored in the right order when fetching the info from the NtQueryDirectoryFile result.
2010-09-13 * fhandler_process.cc (get_mem_values): Simplify code. FixCorinna Vinschen2-23/+37
NtQueryVirtualMemory loop so it handles memory allocation gracefully. Always set errno to a useful value.
2010-09-13 * fhandler.h (class fhandler_base): Change inheritance of fstat_helperCorinna Vinschen8-180/+146
and fstat_by_... methods to private. (fhandler_base::fstat_helper): Drop all redundant arguments. * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Drop call to fstat_by_nfs_ea here. Drop fetching basic file information. Drop setting file attributes. Accommodate change in fstat_helper call. (fhandler_base::fstat_by_name): Simplify. Only fetch directory information to get the inode number. Drop setting file attributes. Accommodate change in fstat_helper call. (fhandler_base::fstat_fs): Call fstat_by_nfs_ea if on NFS. (fhandler_base::fstat_helper): Drop all redundant arguments. Use information already collected in the fhandler. Move heading comment into code and drop dwFileAttributes comment. * mmap.cc (mmap64): Call fstat_fs rather than fstat_by_handle. * mount.cc (fs_info::update): Note that has_buggy_basic_info is unused. * path.cc (symlink_info::check_reparse_point): Add comment. (symlink_info::check): Fetch FileNetworkOpenInformation rather than FileBasicInformation throughout, except on NFS. Explain why. Store FILE_NETWORK_OPEN_INFORMATION in conv_hdl. Remove FILE_ATTRIBUTE_DIRECTORY attribute in conv_hdl for reparse point symlinks. * path.h (class path_conv_handle): Add FILE_NETWORK_OPEN_INFORMATION member _fnoi. (path_conv_handle::fnoi): New accessor method for _fnoi. (path_conv::fnoi): New accessor method for cubv_hdl._fnoi. * fhandler_tty.cc (fhandler_tty_slave::init): Use tty::setpgid method.
2010-09-12 * sec_acl.cc (acl_worker): Remove.Corinna Vinschen3-14/+19
(acl32): Implement acl_worker functionality here. (lacl32): Just return -1 with errno set to ENOSYS. (lacl): Ditto. * include/cygwin/acl.h (lacl): Remove this call.
2010-09-12* sigproc.cc (sig_dispatch_pending): Remove debugging statement.Christopher Faylor2-4/+8
(sigproc_init): Wrap a long line.
2010-09-12* cygthread.h (cygthread::cygthread): Reorganize slightly.Christopher Faylor5-17/+26
* dcrt0.cc (dll_crt0_0): Move sigproc initialization later to ensure everything we need has been set up. (dll_crt0_1): Streamline some logic slightly. * sigproc.cc (no_signals_available): Add back dropped test for macro parameter. * fhandler_console.cc (fhandler_console::write): Show a little bit of what's being written to the console in debugging output.
2010-09-12 * syscalls.cc (start_transaction): Make inline function. Move up to beCorinna Vinschen2-42/+97
more generally available. (stop_transaction): Ditto. (unlink_nt): Potentially start transaction when trying to delete file with DOS R/O attribute set. If file is .lnk symlink, check for number of hardlinks. Add "out" label and only return via "out". Rearrange reversion of DOS R/O attribute and, on success, only revert R/O attribute if file is .lnk symlink with more than one hardlink. Add length comment to explain why.
2010-09-11 * new-features.sgml: Mention fenv support.Dave Korn2-0/+15
2010-09-11 * fhandler_disk_file.cc (fhandler_disk_file::rmdir): More thoroughlyCorinna Vinschen2-6/+13
check the existence condition on remote drives. Enhance comment.
2010-09-11winsup/cygwin/ChangeLog:Dave Korn9-34/+683
* Makefile.in (DLL_OFILES): Add new fenv.o module. (fenv_CFLAGS): New flags definition for fenv.o compile. * autoload.cc (std_dll_init): Use fenv.h functions instead of direct manipulation of x87 FPU registers. * crt0.c (mainCRTStartup): Likewise. * cygwin.din (feclearexcept, fegetexceptflag, feraiseexcept, fesetexceptflag, fetestexcept, fegetround, fesetround, fegetenv, feholdexcept, fesetenv, feupdateenv, fegetprec, fesetprec, feenableexcept, fedisableexcept, fegetexcept, _feinitialise, _fe_dfl_env, _fe_nomask_env): Export new functions and data items. * fenv.cc: New file. * posix.sgml: Update status of newly-implemented APIs. * include/fenv.h: Likewise related header. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
2010-09-10 * syscalls.cc (rename): Limit retry loop in case of sharing violationCorinna Vinschen2-4/+15
to about a second.
2010-09-10 * syscalls.cc (fstatat): Call stat_worker directly from here.Corinna Vinschen2-1/+8
2010-09-10 * flock.cc (allow_others_to_sync): Define MAX_PROCESS_SD_SIZE. UseCorinna Vinschen5-8/+26
instead of ACL_DEFAULT_SIZE. * sec_acl.cc (setacl): Use TLS buffer to allow maximum ACL size. * security.h (ACL_DEFAULT_SIZE): Drop definition. (ACL_MAXIMUM_SIZE): Define. (SD_MAXIMUM_SIZE): Define. * security.cc (get_file_sd): Allocate security_decscriptor with size SD_MAXIMUM_SIZE. (alloc_sd): Use TLS buffer to allow maximum ACL size.
2010-09-10 * mount.cc (class fs_info_cache): New class to cache filesystemCorinna Vinschen3-5/+92
information. (fs_info::update): Check FileFsVolumeInformation against filesystem cache and use it, if filesystem is already available. Add filesystem to cache, if not. Only request FileFsObjectIdInformation if FILE_SUPPORTS_OBJECT_IDS is set in filesystem flags. * ntdll.h (struct _FILE_FS_VOLUME_INFORMATION): Add pragma pack so the structure size is matching the OS expectations. Add __dummy member used in filesystem cache.
2010-09-10 * security.cc (get_file_sd): Add bool parameter justcreated. UseCorinna Vinschen4-41/+100
GetSecurityInfo only if justcreated is true, NtQuerySecurityObject otherwise. Add comment to explain why. Don't waste time to call NtQuerySecurityObject twice, just allocate big enough area. (get_file_attribute): Call get_file_sd with justcreated set to false. (set_file_attribute): Call get_file_sd with justcreated depending on S_JUSTCREATED pseudo file attribute. (check_file_access): Call get_file_sd with justcreated set to false. * sec_acl.cc (setacl): Ditto. (getacl): Ditto. * security.h: Convert many functions to regparm functions. (get_file_sd): Declare with extra bool parameter.
2010-09-10 * fhandler_procsys.cc (fhandler_procsys::exists): Rearrange to handleCorinna Vinschen2-9/+16
dangling symlinks correctly. Fix comments. (fhandler_procsys::fill_filebuf): Remove useless comment.
2010-09-09 * libc/sys/sysnecv850/Makefile.am (lib_a_SOURCES): Provide anKevin Buettner3-9/+12
empty definition. * libc/sys/sysnecv850/Makefile: Regenerate.
2010-09-09 * dwarf.h (debug_info): Add offset_info and dwarf_version fields.Jakub Jelinek2-0/+5
* dwarf.c (decode_location_expression): Add offset_size and dwarf_version arguments. Prefix DIE offset with 0x for DW_OP_call{2,4,_ref}. Fix up DW_OP_call_ref operand size, complain if in frame info section. Handle DW_OP_GNU_implicit_pointer. (read_and_display_attr_value, display_debug_loc, display_debug_frames): Adjust decode_location_expression callers. (process_debug_info): Save offset_size and dwarf_version values into debug_information array. * dwarf2.h (DW_OP_GNU_implicit_pointer): New.
2010-09-08 * fhandler_procsys.cc (fhandler_procsys::open): Simplify by justCorinna Vinschen2-61/+24
calling fhandler_base::open.
2010-09-07fix two typosChristopher Faylor1-2/+6
2010-09-06Sync bootstrap-lto.mk and dfp.m4 with gcc.H.J. Lu3-6/+22
2010-09-06 * new-features.sgml (ov-new1.7.8): Document /proc/sys.Corinna Vinschen2-0/+16
2010-09-06gdb/Jan Kratochvil3-78/+80
* common/signals.c (ANY): Remove. (SET): No longer use ANY. include/gdb/ * signals.def: Replace all ANY uses by SET with specific numbers. * signals.h (ANY): Remove.
2010-09-06 * cygpath.cc (RtlEqualUnicodePathPrefix): New helper function.Corinna Vinschen2-10/+73
(HARDDISK_PREFIX): Move. (GLOBALROOT_PREFIX): Define. (get_device_name): Take GLOBALROOT_PREFIX into account. Improve check for path to allow filesystem access via block devices. Potentially drop \\.\ prefix if resulting path is a valid DOS pathname. (do_pathconv): Make sure to drop \\?\ prefix only if path is actually a filesystem based path. (print_version): Fix copyright.
2010-09-06 * Makefile.in (DLL_OFILES): Add fhandler_procsys.o.Corinna Vinschen20-216/+816
* devices.h (enum fh_devices): Add FH_PROCSYS. * devices.in (dev_procsys_storage): New device. * devices.cc: Regenerate. * dtable.cc (build_fh_pc): Add code to allocate fhandler_procsys. * fhandler.h (proc_len): Convert to size_t. (procsys): Declare. (procsys_len): Declare. (enum virtual_ftype_t): Move here from fhandler_virtual.h. Add members supported by fhandler_procsys. (fhandler_virtual::exists): Return virtual_ftype_t. Change in all derived classes. (class fhandler_procsys): New class. (fhandler_union): Add fhandler_procnet and fhandler_procsys members. * fhandler_disk_file.cc (__DIR_mounts::check_missing_mount): Use ro_u_proc. (fhandler_base::fstat_by_handle): Don't copy attributes if file is an NT device. (fhandler_base::fstat_by_name): Ditto. * fhandler_netdrive.cc (fhandler_netdrive::exists): Return virtual_ftype_t. * fhandler_proc.cc (proc_tab): Sort alphabetically. Use _VN macro to store length. (proc_len): Change to size_t. (proc_tab_cmp): New static function. (virt_tab_search): New function to search entry in virt_tab_t arrays. Use throughout in /proc and sibling classes instead of loop. (fhandler_proc::exists): Return virtual_ftype_t. * fhandler_process.cc (process_tab): Sort alphabetically. Use _VN macro to store length. (fhandler_process::exists): Return virtual_ftype_t. (fhandler_process::open): Simplify code. * fhandler_procnet.cc (procnet_tab): Sort alphabetically. Use _VN macro to store length. (fhandler_procnet::exists): Return virtual_ftype_t. (fhandler_procnet::open): Simplify. * fhandler_procsys.cc: New file. * fhandler_registry.cc (fhandler_registry::exists): Return virtual_ftype_t. * fhandler_virtual.cc (fhandler_virtual::exists): Ditto. * fhandler_virtual.h (enum virtual_ftype_t): Move to fhandler.h. (virt_tab_t): Add name_len member. (_VN): New macro. (virt_tab_search): Declare. * mount.cc (mount_info::conv_to_win32_path): Fix comment. Backslashify isprocsys_dev paths. * ntdll.h (STATUS_OBJECT_TYPE_MISMATCH): Define (STATUS_INSTANCE_NOT_AVAILABLE): Define. (STATUS_PIPE_NOT_AVAILABLE): Define. (STATUS_INVALID_PIPE_STATE): Define. (STATUS_PIPE_BUSY): Define. (SYMBOLIC_LINK_QUERY): Define. (NtOpenSymbolicLinkObject): Declare. (NtQuerySymbolicLinkObject): Declare. * path.cc (path_conv::check): Accommodate fact that exists method returns virtual_ftype_t now. Add cases for new virtual_ftype_t types. (cygwin_conv_path): Add GLOBALROOT prefix to native device paths. Make sure to strip \\?\ prefix only for actual filesystem-based paths, not for all paths. * path.h (isproc_dev): Add FH_PROCSYS. (isprocsys_dev): Define.
2010-09-04 * mount.cc (mount_info::from_fstab_line): Reorder to make sure allCorinna Vinschen2-2/+11
mounts from user fstab are user mounts. (mount): Make sure all mounts are user mounts, even those added via mount -a.
2010-09-03libdecnumber/Andreas Krebbel2-0/+57
2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro. * Makefile.in: Add aclocal.m4 dependency to dfp.m4. * configure: Regenerate. * aclocal.m4: Regenerate. config/ 2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * dfp.m4: New file.
2010-09-02* sigoproc.cc (sigproc_init): Use American spelling in comment.Christopher Faylor2-1/+5
2010-09-01* dcrt0.cc (dll_crt0_0): Remove myself settings.Christopher Faylor5-6/+17
* fork.cc (fork): Set myself process_state * pinfo.cc (pinfo_init): Ditto. (pinfo::thisproc): Make sure any sendsig setting is correctly copied. * pinfo.h: Update copyright. Remove unused code.
2010-09-01* cygthread.cc (cygthread::create): Fix incorrect use of name rather thanChristopher Faylor14-98/+91
__name. * cygthread.h (cygthread::cygthread): Create versions which eliminate 'n' parameter. * dcrt0.cc (dll_crt0_1): Remove check for threadfunc_ix. Remove obsolete comments. Set process_state to active here. * fhandler_netdrive.cc (create_thread_and_wait): Use shortened cygthread constructor. * timer.cc (timer_tracker::settime): Ditto. * window.cc (HWND): Ditto. * fhandler_tty.cc: Use shortened cygthread constructor, where appropriate, throughout. * select.cc: Ditto. * fork.cc (frok::child): Remove wait_for_sigthread. (fork): Reformat if for slightly better clarity. * init.cc (dll_finished_loading): New variable. (dll_entry): Use dll_finished_loading to determine when we should call merge_threadfunc. * sigproc.cc (no_signals_available): Simplify by using my_readsig. (wait_sig_inited): Delete. (wait_sig): Define as void function. (pending_signals): Accommodate change to wait_sig definition. (wait_for_sigthread): Delete definition. (sigproc_init): Initialize signal pipe here, before wait_sig thread is created. Use void form of cygthread creation. (init_sig_pipe): Delete. (wait_sig): Return void rather than DWORD. Assume previous initialization of signal pipe. Set my_sendsig to NULL when exiting. * sigproc.h (wait_for_sigthread): Delete declaration.
2010-09-01 * fhandler_netdrive.cc (fhandler_netdrive::readdir): Set d_type.Corinna Vinschen3-2/+9
(fhandler_netdrive::seekdir): Fix test for readdir return value. * fhandler_registry.cc (fhandler_registry::seekdir): Ditto.
2010-09-01 * include/cygwin/version.h: Bump DLL minor version number to 8.Corinna Vinschen2-1/+5
2010-08-31 * path.cc (normalize_posix_path): Preserve //./ and //?/ prefixes.Corinna Vinschen2-0/+21
(path_conv::check): Allow access to root directory of native NT disk devices.
2010-08-31 * include/cygwin/version.h: Bump DLL minor version number to 7.Corinna Vinschen2-1/+5
2010-08-30* dcrt0.cc (dll_crt0_0): Move sigproc_init later, after cygheap initializationChristopher Faylor2-6/+12
since it relies on the cygheap existing (even if it shouldn't matter do to dll initialization serialization).
2010-08-30 * posix.sgml (std-notes): Fix typos and incorrectnesses.Corinna Vinschen2-8/+12
2010-08-30 * new-features.sgml (ov-new1.7.7): Document change to binmode/textmodeCorinna Vinschen3-8/+28
link libs. * textbinary.sgml (textbin-devel): Ditto.
2010-08-30 * autoload.cc (MsgWaitForMultipleObjectsEx): Define.Corinna Vinschen5-4/+46
(MsgWaitForMultipleObjects): Remove. * select.cc (select_stuff::wait): Use MsgWaitForMultipleObjectsEx with QS_ALLPOSTMESSAGE and, if possible, MWMO_INPUTAVAILABLE flags. Explain why. Fix a potential crash due to a NULL pointer in WAIT_FAILED case. (peek_windows): Use filter pattern on NT4. Explain why. * wincap.h (wincaps::has_mwmo_inputavailable): New element. * wincap.cc: Implement above element throughout.
2010-08-30add missing fileChristopher Faylor1-0/+30
2010-08-30* winlean.h: New file.Christopher Faylor13-61/+52
* automode.c: Use "winlean.h". * binmode.c: Ditto. * gmon.c: Ditto. * textmode.c: Ditto. * textreadmode.c: Ditto. * winsup.h: Ditto. * lib/cygwin_attach_dll.c: Ditto. * lib/dll_main.cc: Ditto. * profile.c: Ditto. * crt0.c: Ditto. Cleanup ancient cruft. Add dummy calls to cygwin_premain*. * include/sys/cygwin.h: Remove old stuff. Move premain declarations nearer to other cygwin-specific function declarations. * globals.cc: Add comment.
2010-08-28 * ldh.cc (WinMain): Change DONT_RESOLVE_DLL_REFERENCES toCorinna Vinschen2-1/+6
LOAD_WITH_ALTERED_SEARCH_PATH.
2010-08-28 * new-features.sgml (ov-new1.7.7): Document change to avoid DLLCorinna Vinschen2-0/+10
hijacking.
2010-08-28 * loadlib.h: New header implementing safe LoadLibrary calls.Corinna Vinschen13-15/+95
Include throughout files using LoadLibrary function. * cygcheck.cc (dump_sysinfo): Retrieve kernel32.dll handle via GetModuleHandle, rather than using LoadLibrary. * cygpath.cc (get_long_name): Ditto. (do_sysfolders): Append .dll suffix in LoadLibrary call. * ldh.cc (WinMain): Use LoadLibraryExW with DONT_RESOLVE_DLL_REFERENCES to avoid loading malicious library code. * locale.cc (print_locale_with_codeset): Change way to retrieve kernel32.dll path.
2010-08-28 * autoload.cc (LoadDLLprime): Change dllname storage to string16.Corinna Vinschen7-45/+63
(struct dll_info): Convert name to WCHAR. (std_dll_init): Load DLLs with full path to windows system directory. Add hint to Microsoft security advisory. * dcrt0.cc (init_windows_system_directory): New function. (dll_crt0_0): Call init_windows_system_directory first. * exceptions.cc (windows_system_directory): Move to globals.cc. (windows_system_directory_length): Ditto. (events_init): Drop code fetching windows_system_directory. * globals.cc (windows_system_directory): New global variable. (windows_system_directory_length): Ditto. * net.cc (load_ipv6_funcs): Use windows_system_directory rather than GetSystemDirectoryW. * netdb.cc (open_system_file): Ditto. Simplify debug output.