15660c23ab* sigproc.cc (remove_proc): Don't do busy loop when execing since thread could have been terminated prior to setting flag. * signal.cc (sigwaitinfo): Zero event before closing to signal other threads that it is no longer available.
Christopher Faylor
2011-11-21 19:13:30 +0000
c5785504f8* shared.cc (get_shared_parent_dir): Use global shared_parent_dir instead of local dir variable and create handle not inheritable to avoid accumulating stray handles in child processes. (get_session_parent_dir): Ditto with session_parent_dir variable.
Corinna Vinschen
2011-11-18 17:38:04 +0000
6a8a9ad8d8* faq-using.xml (faq.using.converting-paths): Remove reference to cygwin.bat. (faq.using.emacs): Drop "CYGWIN=tty" setting. * pathnames.sgml (pathnames-posixdevices): Align list of device names with changes in 1.7.10. * setup2.sgml (setup-env-ov): Drop text which assumes that Cygwin processes are started in console window. Align wording to lessened relevance of $CYGWIN. Don't use dropped CYGWIN setting in example. (setup-locale-how): Put using console and Cygwin.bat file into perspective. (setup-locale-problems): Ditto.
Corinna Vinschen
2011-11-18 11:39:31 +0000
4cc465db9a* shared.cc (shared_info::create): Open global shared data section non-inheritable to avoid accumulating stray handles in child processes.
Corinna Vinschen
2011-11-17 22:08:14 +0000
7b2740dda3* child_info.h (CURR_CHILD_INFO_MAGIC): Reset. (cygheap_exec_info::nchildren): Move from child_info_spawn. (cygheap_exec_info::cchildren): Ditto. (cygheap_exec_info::record_children): Declare new function. (cygheap_exec_info::reattach_children): Ditto. (cygheap_exec_info::alloc): Ditto. (child_info_spawn::nchildren): Move to cygheap_exec_info. (child_info_spawn::cchildren): Ditto. * sigproc.cc (cygheap_exec_info::alloc): Define new function. (child_info_spawn::cleanup): Accommodate move of children info to cygheap_exec_info. (cygheap_exec_info::record_children): Define new function. (cygheap_exec_info::reattach_children): Ditto. (child_info_spawn::record_children): Use cygheap_exec_info function to accomplish this task. (child_info_spawn::reattach_children): Ditto. * spawn.cc (child_info_spawn::worker): Allocate moreinfo using cygheap_exec_info::alloc. * dcrt0.cc (child_info_fork::alloc_stack_hard_way): Use abort for the error to avoid a retry.
Christopher Faylor
2011-11-16 04:09:33 +0000
f32d96ff99* pinfo.cc (_pinfo::dup_proc_pipe): Fatalize a warning when debugging.
Christopher Faylor
2011-11-14 18:22:46 +0000
07e7349db2* strace.cc (handle_output_debug_string): Disable code which attempted to add stuff in between '****' blocks since they no longer are the first thing output by an straced process.
Christopher Faylor
2011-11-14 17:31:20 +0000
466e694855update copyrights
Christopher Faylor
2011-11-14 01:37:02 +0000
56a1971526Throughout use "have_execed" macro rather than "hExeced" global handle. Throughout rename _PROC_* to _CH_*. * child_info.h: Include "pinfo.h". (child_info_types): Rename _PROC_* -> _CH_* to avoid confusion with similarly named constants. (_PROC_*): Delete unneeded aliases. (PROC_*): Ditto. (CURR_CHILD_INFO_MAGIC): Ditto. (cchildren): Define using "pinfo_minimal". (child_info::set_saw_ctrl_c): Move to (child_info_spawn::set_saw_ctrl_c): Here. (child_info_spawn::lock): New field. (child_info_spawn::hExeced): Ditto. (child_info_spawn::ev): Ditto. (child_info_spawn::~child_info_spawn): Move to sigproc.cc. (child_info_spawn::child_info_spawn): Ditto. (child_info_spawn::cleanup): Declare new function. (child_info_spawn::set_saw_ctrl_c): Move to this class. Set flag only when execed and return true when we have set the flag. (child_info_spawn::child_info_spawn::signal_myself_exited): New function. (child_info_spawn::wait_for_myself): Ditto. (child_info_spawn::has_execed_cygwin): Ditto. (child_info_spawn::has_execed): Ditto. Replaces "hExeced" test. (child_info_spawn::operator HANDLE&): New operator. (child_info_spawn::worker): Define old "spawn_guts" as class member. (ch_spawn): Declare. (have_execed): Define. (have_execed_cygwin): Ditto. * cygheap.h: Update comment. * dcrt0.cc (get_cygwin_startup_info): Use _CH_* enums. (child_info_spawn::handle_spawn): Ditto. (dll_crt0_0): Ditto. (multiple_cygwin_problem): Ditto. * exceptions.cc (chExeced): Delete obsolete declaration. (ctrl_c_handler): Reference set_saw_ctrl_c via new ch_spawn global. * globals.cc (hExeced): Delete. * pinfo.cc (pinfo::thisproc): Refer to cygheap as ::cygheap for consistency in handle naming when -DDEBUGGING. (pinfo::init): Accommodate case where myself.h is known but h0 is passed in. (pinfo::pinfo): New constructor for setting up a pinfo passed in by previous exec'or. (pinfo::proc_waiter): Don't handle subprocess if we're in the process of exiting due to an exec of a cygwin process. Don't close rd_proc_pipe here. Close it when we actually are finished with the process. Use new ch_spawn.signal_myself_exited function to let exec stub know that subprocess has exited. (pinfo::wait): Clarify debugging output. (pinfo::release): Use "close_h" to close all handles to avoid races. (winpids::add): Assume that elements of the array do not need to be zeroed and are properly initialized or suffer problems on pinfo::release. Don't close hProcess since release does that now. * pinfo.h: Update comment. (pinfo_minimal): Move some elements from pinfo here so that child_info_spawn can use them. (pinfo): Inherit from pinfo_minimal. (pinfo::pinfo): Modify to accommodate new pinfo_minimal. (pinfo::allow_remove): New function. * sigproc.cc (proc_subproc): Use boolean values for true/false. Implement PROC_EXEC_CLEANUP. (proc_terminate): Set ppid = 1 since the procs list will only be iterated when the process has not execed. Don't do any cleanup here since it is now handled in pinfo::release. (sigproc_init): Initialize sync_proc_subproc earlier. (child_info::child_info): Assume that all important fields are properly initialized and avoid memset(). (child_info_spawn::child_info_spawn): Specifically test for execing and then set up appropriate fields in the struct. (child_info_spawn::cleanup): Define new function. (child_info_spawn::record_children): Specifically test for being execed here. Fill in pinfo_minimal part of children array. (child_info_spawn::reattach_children): Use constructor to duplicate information for previous exec'or. Add more debugging output. (remove_proc): Force deletion of thread when exiting due to exec. Rely on pinfo::cleanup in release. * sigproc.h (PROC_EXEC_CLEANUP): New enum. (PROC_DETACHED_CHILD): Delete. * spawn.cc (chExeced): Delete. (child_info_spawn::worker): Rename from spawn_guts. Use elements of child_info_spawn throughout rather than ch.whatever. Use ::cygheap to refer to global rather than element of child_info. Use wait_for_myself() rather than waitpid(). Call child_info_spawn::cleanup on function return. (spawnve): Reflect movement of spawn_guts functionality into child_info_spawn::worker. * syscalls.cc (popen): Ditto. * winsup.h (spawn_guts): Delete declaration.
Christopher Faylor
2011-11-14 01:29:49 +0000
46e7439b9d2011-11-09 Roland McGrath <mcgrathr@google.com> * configure.ac: Add tool checks for READELF and READELF_FOR_TARGET. * configure: Rebuild. * Makefile.def (flags_to_pass): Add READELF_FOR_TARGET. * Makefile.tpl (READELF, READELF_FOR_TARGET): New variables. (HOST_EXPORTS): Add READELF, READELF_FOR_TARGET. (BASE_FLAGS_TO_PASS): Add READELF_FOR_TARGET. (BASE_TARGET_EXPORTS, EXTRA_HOST_FLAGS, EXTRA_TARGET_FLAGS): Add READELF. * Makefile.in: Rebuild.
DJ Delorie
2011-11-09 18:57:30 +0000
068a111af0Merge libitm changes to configure.ac from gcc master.
Richard Henderson
2011-11-08 18:23:33 +0000
6eb43d82abmerge from gcc
DJ Delorie
2011-11-08 16:01:51 +0000
876a6e855a* libnosys/Makefile.in (install): Use INSTALL_DATA.
Corinna Vinschen
2011-11-08 15:56:49 +0000
926014453f* fhandler.h (__ptsname): New macro. * dtable.cc (decode_tty): Use __ptsname to generate the slave pty name. * fhandler_tty.cc (fhandler_pty_master::ptsname_r): Ditto. * bsdlib.cc: Add needed includes for openpty() changes. (openpty): Use __ptsname to generate the slave pty name. Close slave fd when aslave == NULL.
Christopher Faylor
2011-11-08 06:26:15 +0000
5d46c490dd* include/cygwin/stdlib.h: Update copyright.
Christopher Faylor
2011-11-08 05:50:18 +0000
65a6152f18* cygwin.din (ptsname_r): Export. * fhandler.cc (fhandler_base::ptsname_r): Define. * fhandler.h (fhandler_base::ptsname): Delete. (fhandler_base::ptsname_r): Declare. (fhandler_pty_master::ptsname_r): Declare. * fhandler_tty.cc (fhandler_pty_master::ptsname): Delete. (fhandler_pty_master::ptsname_r): New reentrant function derived from previous ptsname. * syscalls.cc (ptsname_r): Implement new function with functionality similar to Linux. (ptsname): Use ptsname_r () to fill out buf. * include/cygwin/stdlib.h (ptsname_r): Declare. * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 255 to reflect export of ptsname_r. * pinfo.cc (pinfo::wait): Return bool rather than int. * pinfo.h (info::wait): Ditto. (pinfo::reattach): Define !defined(_SIGPROC_H) case for consistency. * sigproc.cc (child_info_spawn::reattach_children): Use correct dwProcessId rather than pid when duplicating handle.
Christopher Faylor
2011-11-07 20:05:49 +0000
78942629ac* fhandler.cc (CHUNK_SIZE): Drop NO_COPY.
Corinna Vinschen
2011-11-07 10:06:45 +0000
28fa2a72f8* syscalls.cc (check_dir_not_empty): Check surplus directory entries by calling NtQueryAttributesFile. Make STATUS_DIRECTORY_NOT_EMPTY return value dependent on its status code. Add long comment to explain. (unlink_nt): Add comment to explain flaw in checking the sharing mode. Set status to STATUS_SUCCESS instead of 0. Add a retry loop to setting the delete disposition and trying to move a directory to bin to workaround rare cases of lingering, already deleted subdirectory entries. Add long comment to explain. (rename): Set status to STATUS_SUCCESS instead of 0.
Corinna Vinschen
2011-11-07 10:03:30 +0000
cd561fdb8b* faq-using.xml (faq.using.fixing-fork-failures): Add new FAQ. * overview2.sgml (ov-hi-process-problems): Describe some difficulties in implementing fork()
Jon TURNEY
2011-11-05 18:42:55 +0000
481b6ac0c8* pinfo.cc (status_exit): Return complete error code. Handle STATUS_ACCESS_VIOLATION correctly. (pinfo::set_exit_code): Set self->exitcode directly from status_exit.
Christopher Faylor
2011-11-05 18:29:51 +0000
26601df44c* pinfo.h (pinfo::reattach): Only set destroy to false when proc_subproc succeeds. Return true for success. * sigproc.cc (child_info_spawn::reattach_children): Try harder to clean up on error by detecting reattach failures too.
Christopher Faylor
2011-11-04 17:07:21 +0000
705d704153* sigproc.cc (child_info_spawn::reattach_children): Clean up handle when can't open parent process or suffer handle leak.
Christopher Faylor
2011-11-04 16:52:43 +0000
f4bb53c4e0* sigproc.cc (child_info::sync): Report on exit code in strace output. (child_info::proc_retry): Don't consider STATUS_ACCESS_VIOLATION as a restartable event.
Christopher Faylor
2011-11-03 21:44:05 +0000
277753c80e* sigproc.cc (child_info_spawn::reattach_children): Avoid issuing an error when we can't duplicate from "parent" since it is probably ok if children of the previous owner of the pid disappear.
Christopher Faylor
2011-11-03 18:48:27 +0000
516fbf67a0* fhandler.cc (off_current): Define local in fhandler_base::raw_write. Drop erroneous NO_COPY, add _RDATA to make R/O. (off_append): Ditto. * globals.cc (_RDATA): Move definition from here... * winsup.h: ...to here.
Corinna Vinschen
2011-11-03 17:47:33 +0000
a4cff05a7f[.] * configure.ac (rl78-*-*) New case. * configure: Regenerate.
DJ Delorie
2011-11-02 03:09:07 +0000
cfb964a4e9* config.sub: Update to version 2011-10-29 (added rl78)
DJ Delorie
2011-11-02 00:56:53 +0000
7295e35690Remove erroneous entry.
Christopher Faylor
2011-10-30 05:21:07 +0000
cd071d1363* fhandler.h (fhandler_pipe::create_selectable): Remove optional argument, take an options argument for CreateNamedPipe/CreateFile. Change handle arguments to expect pointers. (fhandler_fifo::fifo_state): Delete. (fhandler_fifo::dummy_client): Ditto. (fhandler_fifo::open_nonserver): Ditto. (fhandler_fifo::wait_state): Ditto. (fhandler_fifo::raw_write): Ditto. (fhandler_fifo::read_ready): New field. (fhandler_fifo::write_ready): Ditto. (fhandler_fifo::wait): Modify argument. (fhandler_fifo::fifo_name): Add a new argument. (fhandler_fifo::fixup_after_fork): New function. * fhandler_fifo.cc (fhandler_fifo::fhandler_fifo): Remove initialization of expunged elements. Initialize new handles to NULL. (fhandler_fifo::open_nonserver): Delete. (fnevent): New macro for creating a named event. (fnpipe): New macro for creating a unique named pipe name. (create_pipe): New macro for simplification of named pipe creation. (fhandler_fifo::fifo_name): Use new argument when creating a shared name. (fhandler_fifo::open): Rewrite. Use events to synchronize. (pure_debug_printf): New macro, active only when DEBUGGING. (fhandler_fifo::wait): Rewrite to wait for new fifo events which are supplied as a parameter. (fhandler_fifo::raw_read): Rewrite to use handle mechanism to detect client-side disconnect. (fhandler_fifo::raw_write): Delete. (fhandler_fifo::close): Remove accommodations for expunged fields. Close event handles. (fhandler_fifo::dup): Remove accommodations for expunged fields. Duplicate event handles. (fhandler_fifo::fixup_after_fork): New function. Perform fixups on event handles. (fhandler_fifo::set_close_on_exec): Remove accommodations for expunged fields. Set inheritance for new handle fields. * miscfuncs.cc (CreatePipeOverlapped): Accommodate changes in fhandler_pipe::create_selectable. * tty.cc (tty::not_allocated): Ditto. * pipe.cc (fhandler_pipe::create): Ditto. (fhandler_pipe::create_selectable): Accept an extra open_mode argument. Pass arguments by reference and allow opening one end of the pipe at a time. * sys/strace.h (debug_only_printf): Define new macro which calls debug_printf only when DEBUGGING is defined.
Christopher Faylor
2011-10-30 04:50:36 +0000
673a691372* exceptions.cc (sigpacket::process): Avoid a potential deadlock when exiting due to a signal.
Christopher Faylor
2011-10-28 17:32:38 +0000
0c1d8aaaf1* cygwin.din (getgrouplist): Export. * grp.cc (get_groups): New static function to run the core functionality of initgroups and getgrouplist. (initgroups32): Call get_groups and just create supplementary group list in cygheap. Rename name of first argument to "user". Add an assertion to test for a NULL user name. (initgroups): Rename name of first argument to "user". (getgrouplist): New function. * posix.sgml (std-bsd): Add getgrouplist. * include/cygwin/grp.h (getgrouplist): Declare. * include/cygwin/version.h: Bump API minor number.
Corinna Vinschen
2011-10-28 09:26:42 +0000
c85feb40a2bfd: * cpu-epiphany.c: Reinstate full list of Copyright years. * elf32-epiphany.c: Likewise. cpu: * epiphany.cpu, epiphany.opc: Likewise. gas: * config/tc-epiphany.c, config/tc-epiphany.h: Likewise. * doc/c-epiphany.texi: Likewise. include: * elf/epiphany.h: Likewise.
Joern Rennecke
2011-10-27 14:27:16 +0000
0bbe4a3e26* config.sub: Import these changes from the config project:
Nick Clifton
2011-10-27 09:45:25 +0000
b79b15e9e3* child_info.h (cchildren): New struct. (child_info_spawn::nchildren): Rename from nprocs. (child_info_spawn::children): Change type to cchildren for more bookkeeping possibilities. (child_info_spawn::child_info_spawn): Clear nchildren. (child_info_spawn::record_children): Declare new function. (child_info_spawn::reattach_children): Ditto. * dcrt0.cc (child_info_spawn::handle_spawn): Call reattach_children to gather list of processes we are potentially waiting for. * pinfo.h (pinfo::pinfo): Make sure that rd_proc_pipe is always cleared. (pinfo::reattach): New function. * sigproc.cc: Move pinfo.h earlier so that it can be used in sigproc.h. (get_proc_lock): Don't bother with a lock during DLL initialization. (proc_subproc): Handle PROC_REATTACH_CHILD. (proc_terminate): Orphan children only when we are not an execed process or when the pid is about to be occupied by a non-cygwin process. (child_info_spawn::record_children): Define new function. (child_info_spawn::reattach_children): Ditto. * sigproc.h (procstuff): Define PROC_REATTACH_CHILD and renumber other elements. * spawn.cc (spawn_guts): Record any to-be-waited-for subprocesses if about to exec a cygwin process. * sigproc.cc (sig_send): Fix harmless transposition of fifth and six arguments to DuplicateHandle(). (child_info::child_info): Ditto. * globals.cc (hExeced): Make NO_COPY.
Christopher Faylor
2011-10-26 19:42:39 +0000
be2280986d* hookapi.cc (hook_or_detect_cygwin): Take additional handle to a file mapping as parameter. If this handle is not NULL, create another file mapping for the IAT. * spawn.cc (av::fixup): Only map the first 64K of an image and keep the mapping handle to use as argument to hook_or_detect_cygwin. * winsup.h (hook_or_detect_cygwin): Add mapping handle as default parameter in declaration.
Corinna Vinschen
2011-10-25 16:35:58 +0000
fbb04f9910* mips.h: Fix a typo in description.
Maciej W. Rozycki
2011-10-24 14:21:41 +0000
53e93974c8* syscalls.cc (unlink_nt): Fix a bug which overwrites the NT status value in case setting the delete disposition returns with STATUS_DIRECTORY_NOT_EMPTY.
Corinna Vinschen
2011-10-24 14:02:32 +0000
b3480fbefb* shared.cc (open_shared): Fix memory reservation of essential shared memory regions. Drop delta computations since delta is always 0 in non-relocated case. Add a comment.
Corinna Vinschen
2011-10-24 09:19:58 +0000
31d2bedc58* fhandler_tty.cc (fhandler_pty_slave::read): Use consistent way for testing ReadFile return. * pipe.cc (fhandler_pipe::create_selectable): Open the write side of the pipe in message-mode to force writing as "chunks". Explain why.
Christopher Faylor
2011-10-23 19:01:47 +0000
1f012519e4* path.cc (path_conv::get_nt_native_path): Avoid dereferencing path when it is NULL.
Christopher Faylor
2011-10-23 17:19:17 +0000
6ae28c2263* dtable.cc (dtable::delete_archetype): Improve debugging output. (dtable::init_std_file_from_handle): Close console handle early, before initialization. Build up openflags for passing to open_setup, just to be safe. (last_tty_dev): New variable. (fh_last_tty_dev): New macro. (fh_alloc): Try again to keep track of previously opened tty, this time by just saving the device and using that to potentially open an archetype. Avoid setting the "/dev/tty" name if the creation of the fhandler failed. (build_fh_pc): Remove unused second argument. Reorganize how and where the name is set. Set last_tty_dev as appropriate. Avoid a NULL dereference in a debug printf. * dtable.h (build_fh_pc): Reflect removal of second parameter. * fhandler.cc (fhandler_base::reset): Use new '<<' operator to copy pc since it preserves any potentially previously set name. (fhandler_base::set_name): Ditto. * fhandler.h (fhandler_*::clone): Throughout use ccalloc to allocate new fhandler, primarily to make sure that pc field is properly zeroed. (fhandler_termios::last): Eliminate. (fhandler_termios): Remove setting of last. (fhandler_base::~fhandler_termios): Ditto. * fhandler_console.cc (fhandler_console::open): Don't make decisions about opening close-on-exec handles here since it makes no sense for archetypes. (fhandler_console::init): Assume that input handle has already been opened. * fhandler_termios.cc (fhandler_termios::last): Delete. * path.h (path_conv::eq_worker): New function. Move bulk of operator = here. (operator <<): New function. (operator =): Use eq_worker to perform old functionality.
Christopher Faylor
2011-10-22 16:26:30 +0000
bdea9e5fe8* obstack.h [!GNUC] (obstack_free): Avoid cast to int. * ansidecl.h (ENUM_BITFIELD): Always use enum in C++
DJ Delorie
2011-10-22 01:35:29 +0000
22e671336e* fhandler_disk_file.cc (fhandler_disk_file::rmdir): Check invalid success only on Samba shares. * mount.cc (fs_info::update): Drop has_buggy_basic_info flag for NcFsd. * syscalls.cc (unlink_nt): Fix typo in comment.
Corinna Vinschen
2011-10-21 17:43:00 +0000
2cd3283c8fCheck in missing ChangeLog entry.
Christopher Faylor
2011-10-21 12:24:58 +0000
69178ca038* globals.cc (ro_u_ncfsd): New R/O unicode string. * mount.cc (fs_info::update): Check for "NcFsd" FS. Set flags and change comments accordingly. (fs_names): Add entry for NcFsd FS. * mount.h (enum fs_info_type): Add ncfsd. (class fs_info): Add ncfsd flag and accessor methods. * path.h (class path_conv): Add fs_is_ncfsd method. * syscalls.cc (unlink_nt): Experimentally try delete-on-close on NcFsd in STATUS_CANNOT_DELETE case.
Corinna Vinschen
2011-10-21 08:29:19 +0000
b2099ee728* fhandler.h (fhandler*::copyto): Free path_conv strings first. * path.h (cfree_and_null): Rename and expand from cfree_maybe. (path_conv &operator =): Call free_strings rather than freeing strings directly.
Christopher Faylor
2011-10-20 21:35:59 +0000
38d732a152Throughout change TTY_* to PTY_*, tty_* to pty_*, and ttym_* to ptmx_*. * devices.cc: Regenerate. * dtable.cc: (fh_alloc): Preserve /dev/tty name when that's what we opened. (build_fh_pc): Preserve any existing name. * fhandler.cc (fhandler_base::open_with_arch): Ditto. * fhandler_tty.cc (fhandler_pty_master::fhandler_pty_master): Force the name to /dev/ptmx while preserving other pty master device information. * path.h (cfree_maybe): New macro. (path_conv::operator =): Free any allocated strings in target. (path_conv::free_strings): Delete unused function. * sigproc.cc (proc_terminate): Remove previous accommodation for execed processes since it didn't have the desired effect. Change comment to a FIXME. * spawn.cc (chExeced): Mark NO_COPY. (exe_suffixes): Ditto.
Christopher Faylor
2011-10-20 14:02:54 +0000
aa982024d1* syscalls.cc (try_to_bin): Improve debug output. (check_dir_not_empty): Take additional path_conv argument. Improve debug output. Change syscall_printf to debug_printf. (unlink_nt): Improve debug output. Change syscall_printf to debug_printf. (unlink): Change syscall_printf to debug_printf.
Corinna Vinschen
2011-10-20 10:59:01 +0000
ba52f4444bPR ld/13254 include/ * bfdlink.h (struct bfd_link_info): Add error_textrel. bfd/ * elflink.c (bfd_elf_final_link): Emit error_textrel error. ld/ * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add -z text, -z notext, -z textoff options for all targets having shared lib support.
Alan Modra
2011-10-19 04:13:27 +0000
d6f6573a5f* libc/machine/arm/Makefile.am (lib_a_SOURCES): Add memchr-stub.c, memchr.S. * libc/machine/arm/arm_asm.h: Add ifdef to allow it to be included in .S files. * libc/machine/arm/memchr-stub.c: New file - just selects what to compile. * libc/machine/arm/memchr.S: New file - ARMv6t2/v7 version.
Nick Clifton
2011-10-18 11:35:17 +0000
53609fd238* path.cc: Extend two comments. Mention the name RtlpCurDirRef for reference.
Corinna Vinschen
2011-10-18 08:47:08 +0000
ce68abe0b4* dcrt0.cc (dll_crt0_1): Copy argv before passing to main().
Christopher Faylor
2011-10-17 18:25:04 +0000
e4257c7366* sigproc.cc (proc_terminate): Avoid setting ppid to 1 if we're execing.
Christopher Faylor
2011-10-17 15:35:26 +0000
23771fa1f7* cygerrno.h (__set_errno): Modify debugging output to make searching strace logs easier. Throughout, change /dev/tty* to /dev/pty*. Throughout, add flags argument to fhandler_*::dup methods. * devices.in: Rename (temporarily?) /dev/ttyN to /dev/ptyN. Add /dev/ptymN devices for pty masters. * devices.cc: Regenerate. * devices.h (MAX_CONSOLES): Set to max number supported by devices.in. (fh_devices::FH_PTMX): Rename from FH_PTYM. (device::operator int): Return by reference. * dtable.cc (fh_alloc): Take pc as an argument rather than just the device. This makes debugging easier since more information is available. Actually implement handling for already-allocated pty master devices. Make different decisions when generating fhandler for not-opened devices. Add kludge to deal with opening /dev/tty. (cnew_no_ctor): New macro. (build_fh_pc): Make debugging output more verbose. Use new clone() fhandler interface to duplicate archetypes. Reset last term opened. (dtable::dup_worker): Use Use new clone() fhandler interface to duplicate archetypes. Pass flags to child dup handler. (dtable::dup3): Set O_NOCTTY flag if newfd is not stdin/stdout/stderr. * fhandler.cc (fhandler_base::reset): Rename from operator =() and reduce functionality and sense of copy direction. (fhandler_base::open_with_arch): Use published interface to query io_handle(). Use new copyto() fhandler method to copy from/to found archetype. * fhandler.h: Throughout, delete size(), add copyout, clone, and fhandler_* (void *) methods. (fhandler_base::reset): Rename from operator =(). (fhandler_termios::is_dev_tty): Delete. (fhandler_termios): change "protected" region to "private". (fhandler_termios::is_dev_tty): Delete. (fhandler_termios): Rearrange protected/public. (fhandler_termios::fhandler_termios): Remember last fhandler_termios "opened". (fhandler_termios::~fhandler_termios): Forget last fhandler_termios opened. (ioctl): Rename from ioctl_termios. Take a void * argument. Reflect argument change in pinfo::set_ctty. (fhandler_console::dup): Declare new function. Set ctty here if appropriate. (fhandler_pty_master::from_master): Privatize. (fhandler_pty_master::to_master): Ditto. (fhandler_pty_master::dwProcessId): Ditto. (fhandler_pty_master::fhandler_pty_master): Add an `int' argument. (fhandler_pty_master::open_setup): Declare new function. (fhandler_pty_master::~fhandler_pty_master): Declare new method. (fhandler_nodevice): Remove commented out function declaration. * fhandler_console.cc: Use get_ttyp() instead of tc() throughout. (fhandler_console::dup): Define new function to set controlling ctty on dup, as appropriate. (fhandler_console::ioctl): Reflect ioctl_termios name change. (fhandler_console::setup): Rename from get_tty_stuff. (fhandler_console::open_setup): Reflect argument change in pinfo::set_ctty. (fhandler_console::fhandler_console): Set _tc here. * fhandler_termios.cc (handler_termios::ioctl): Rename. Take a void * arg like other ioctl functions. * fhandler_tty.cc (fhandler_pty_slave::dup): Call myself->set_ctty to potentially reset the controlling terminal. (fhandler_pty_slave::ioctl): Reflect name/arg change for ioctl_termios. (fhandler_pty_slave::fhandler_pty_slave): Take a "unit" argument. Call setup() here so that we will know the unit number of this fhandler as soon as possible. Set the unit as appropriate. (handler_pty_master::open): Move most stuff to constructor and open_setup. (handler_pty_slave::open_setup): Reflect argument change in pinfo::set_ctty. (handler_pty_master::open_setup): Define new function. (fhandler_pty_master::cleanup): Clear handles as a flag that the destructor does not have to do "close" operations. (fhandler_pty_master::close): Ditto. (fhandler_pty_master::~fhandler_pty_master): Define new method. (fhandler_pty_master::ioctl): Reflect name/arg change for ioctl_termios. (fhandler_pty_master::setup): Allocate tty here. Rely on handles being returned from allocated test rather than opening them here. Avoid setting _need_nl here since it is already zeroed in the constructor. Set up device information with DEV_TTYM_MAJOR. * path.h (path_conv &operator =): Take a const argument. (path_conv::dup): Ditto. (pathconv_arg::PC_OPEN): New enum. (pathconv_arg::PC_CTTY): Ditto. (path_types::PATH_CTTY): Ditto. (path_types::PATH_OPEN): Ditto. (path_conv::isopen): New method. (path_conv::isctty_capable): Ditto. * path.cc (path_conv::check): Set PATH_OPEN and PATH_CTTY as appropriate. * pipe.cc (fhandler_pipe::open): Use copyto to copy pipe handle. * syscall.cc (open): Reinstate fd > 2 check to disallow resetting ctty on non-std* handles. * tty.cc (tty_list::allocate): Pass out handles for allocated tty. use `not_allocated' to find unallocated ttys. Avoid keeping the lock since the allocation of the tty should be sufficient to prevent multiple access. (tty::not_allocated): Clarify comment. Rename. Return handles when an unused tty is found. Simply test for existing tty. (tty::exists): Rewrite to use `not_allocated'. * tty.h (NTTYS): Reset down to actual number supported by devices.in. (tty::not_allocated): Declare new function. (tty_list::allocate): Pass out read/write tty handles. Zero them when not found. * fhandler_proc.cc: Reflect name change from FH_PTYM -> FH_PTMX. * pinfo.h (pinfo::set_ctty): Reduce/reorder arguments passed in. * pinfo.cc (pinfo::set_ctty): Ditto. Just use tc() built into the passed-in fhandler_termios pointer. Return true if ctty is assigned. * syscalls.cc (open): Call build_fh_pc with PC_OPEN flag. Set PC_CTTY if appropriate. (stat_worker): Remove is_dev_tty () stuff.
Christopher Faylor
2011-10-15 22:37:30 +0000
a9cc13a8e0* fhandler_process.cc (dos_drive_mappings::fixup_if_match): Convert native NT network paths into DOS UNC paths.
Corinna Vinschen
2011-10-15 19:13:57 +0000
c52fd6cd47* sec_auth.cc (get_token_group_sidlist): Add CONSOLE LOGON SID on systems supporting it. Never add SERVICE SID but keep code in for future reference. Explain why. (get_priv_list): Add cygpsid pointer parameter. Point it to the mandatory integrity SID which matches account and privileges. (create_token): Fetch mandatory integrity SID from call to get_priv_list. (lsaauth): Call get_priv_list with additional NULL pointer. Change comment accordingly. * sec_helper.cc (well_known_console_logon_sid): New static SID. (cygpriv): Change to structure containing extra flag to store info about required integrity level. (privilege_luid): Accommodate changes to cygpriv. Return integrity level in new high_integrity parameter. (privilege_name): Accommodate changes to cygpriv. (set_privilege): Drop trailing \n from debug output. (set_cygwin_privileges): Don't set SE_CREATE_GLOBAL_PRIVILEGE anymore since it's just not needed, but keep code in for future reference. Change comment accordingly. * security.h (well_known_console_logon_sid): Declare. (privilege_luid): Align declaration to above change. * wincap.h (wincaps::has_console_logon_sid): New element. * wincap.cc: Implement above element throughout.
Corinna Vinschen
2011-10-15 16:31:57 +0000
551a3d64c9* cygcheck.cc (dump_sysinfo): Add Windows 8 recognition. Note as unsupported. Update products array.
Corinna Vinschen
2011-10-13 17:50:48 +0000
76173acf28* path.cc (find_fast_cwd_pointer): Allow 'push crit-sect-addr' instead of 'mov edi, crit-sect-addr; push edi' and set rcall accordingly.
Corinna Vinschen
2011-10-13 16:47:32 +0000
40187f9007* path.cc (copy_cwd_str): Move up in file to be accessible from class fcwd_access_t. (class fcwd_access_t): New class to consolidate and hide the details of the various FAST_CWD implementations. Add implementation for Windows 8 Developer Preview. (fast_cwd_version): Make static private member of fcwd_access_t. (fast_cwd_ptr): Change base type to fcwd_access_t. (find_fast_cwd_pointer): Return fcwd_access_t**. (find_fast_cwd): Ditto. Rip out all FAST_CWD implementations and use fcwd_access_t methods instead. (cwdstuff::override_win32_cwd): Ditto.
Corinna Vinschen
2011-10-13 15:32:10 +0000
5de3a1c10f* fhandler_console.cc (fhandler_console::cursor_set): Disable forcing y to the current winBottom position. Explain why.
Corinna Vinschen
2011-10-12 14:19:20 +0000
4add6f8db1* cygwin.din: Remove some _tc* exports. Add tcgetsid(). * dtable.cc (fh_alloc): Revert ill-advised setting of major/minor. Use new is_dev_tty to remember that this device was opened as /dev/tty. * fhandler.cc (fhandler_base::fstat): Remove leftover debugging statement. (fhandler_base::tcgetsid): New function. * fhandler.h ((fhandler_base::tcgetsid): Declare new function. (fhandler_base::is_dev_tty): Ditto. (fhandler_termios::opened_as_dev_tty): Declare new field. (fhandler_termios::is_dev_tty): Declare new function. (fhandler_termios::tcgetsid): Ditto. (fhandler_pty_common::use_archetype): Move here from subclass. (fhandler_pty_slave::use_archetype): Move up. (fhandler_pty_master::use_archetype): Ditto. * fhandler_console.cc (fhandler_console::ioctl): Rename second argument from `buf' to `arg' for consistency. Call ioctl_termios for common fhandler_termios ioctl handling. * fhandler_tty.cc (fhandler_pty_slave::ioctl): Call ioctl_termios for common fhandler_termios ioctl handling. (fhandler_pty_master::ioctl): Ditto. * fhandler_termios.cc (fhandler_termios::tcgetsid): Implement new function. (fhandler_termios::ioctl_termios): Ditto. Implements TIOCSCTTY handling. * syscalls.cc (stat_worker): Set /dev/tty device info when appropriate. * termios.cc (tcgetpgrp): Avoid extraneous "isatty" check. (tcgetsid): Implement new function. * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 253. * include/sys/termios.h (TIOCSCTTY): Define.
Christopher Faylor
2011-10-11 23:20:38 +0000
1e5bcae135* dtable.cc (fh_alloc): Don't parse /dev/tty if ctty is < 0. Reset major/minor from the specific tty to those for /dev/tty.
Christopher Faylor
2011-10-11 12:39:31 +0000
f13f2da4ee* libc/time/mktm_r.c: (__tzcalc_limits) Fix Julian day calculation. * libc/time/mktime.c: (mktime) Fix tm_yday, tm_mday updating when timezone causes roll over.
Corinna Vinschen
2011-10-11 11:28:05 +0000
eefc33184aoops - fix typo in previous delta.
Nick Clifton
2011-10-11 09:29:56 +0000
fa5c739c6eoops - omitted from previous delta.
Nick Clifton
2011-10-11 07:38:33 +0000
be96a30c43* syscalls.cc (open): Add temporary kludge to avoid assigning the controlling tty on open unless the open is for stdin/stdout/stderr. * tty.cc (tty_list::connect): Set ENXIO when can't find a tty.
Christopher Faylor
2011-10-10 22:01:06 +0000
4c34aaba55* fhandler.h (fhandler_process::closedir): Declare. * fhandler_process.cc (fhandler_process::closedir): New function to avoid a SEGV in fhandler_proc::closedir.
Corinna Vinschen
2011-10-10 18:59:56 +0000
378eaba88b* cygserver.sgml: Change -v to -V, same as in sources.
Corinna Vinschen
2011-10-10 15:52:48 +0000
9e9bc3a4e4* cygserver.cc (print_usage): Align output to utilities in utils directory. (print_version): Ditto.
Corinna Vinschen
2011-10-10 15:48:54 +0000
c4fc42535c* ldd.cc: Update copyright.
Christopher Faylor
2011-10-10 15:04:00 +0000
92b499acff* Align usage output, version output, as well as usage and version option handling to use the same style throughout all Cygwin utils. Throughout use program_invocation_short_name to refer to current process name in Cygwin executables. * utils.sgml: Align documentation to above change. Add missing sections for getconf, ldd, and setmetamode. * strace.cc (proc_child): Avoid compiler warning.
Corinna Vinschen
2011-10-10 14:57:48 +0000
4fc8a5c90ainclude/elf/ * ppc64.h (R_PPC64_TOCSAVE): Add. bfd/ * elf64-ppc.c (ppc64_elf_howto_table): Add R_PPC64_TOCSAVE entry. (struct ppc_link_hash_table): Add tocsave_htab. (struct tocsave_entry): New. (tocsave_htab_hash, tocsave_htab_eq, tocsave_find): New functions. (ppc64_elf_link_hash_table_create): Create tocsave_htab.. (ppc64_elf_link_hash_table_free): ..and delete it. (build_plt_stub): Always put STD_R2_40R1 first. (ppc64_elf_size_stubs): Check for R_PPC64_TOCSAVE following reloc on plt call. If present add prologue nop location to tocsave_htab. (ppc64_elf_relocate_section): Convert prologue nop to std. Skip first insn of plt call stub when R_PPC64_TOCSAVE present.
Alan Modra
2011-10-10 13:21:05 +0000
f9a3814899* libc/sys/arm/crt0.S: Synchronise with libgloss version. * libc/sys/arm/arm.h: Imported from libgloss.
Nick Clifton
2011-10-10 13:00:25 +0000
9198ac4dc6* locale.cc (usage): Restructure, rephrase, add new options. Drop arguments, don't exit. (print_version): New function. (longopts): Add -f, -n, and -V options. Reorder. (opts): Add -f, -n, and -V options. (main): Call GetSystemDefaultUILanguage for -s option. Call GetUserDefaultUILanguage for -u option. Add -f and -n options and call GetUserDefaultLCID and GetSystemDefaultLCID respectively. Return 0 after calling usage in -h case. Add -V option and call print_version. Don't print full usage in default case, rather just a short help message similar to GNU tools. * utils.sgml (locale): Align to above changes. Rephrase description.
Corinna Vinschen
2011-10-10 09:50:43 +0000
336e8ee685* fhandler_tty.cc (fhandler_pty_slave::open): Clarify debugging output. (fhandler_pty_slave::open): Change ENOENT to ENXIO when can't open a tty.
Christopher Faylor
2011-10-10 04:05:29 +0000
3d1dd0789e* fhandler.h (fhandler_console::tc_getpgid): New function. * spawn.cc (spawn_guts): Add logic to put pure-windows processes "in the background" when they are started that way.
Christopher Faylor
2011-10-07 13:52:20 +0000
852908e82d* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Send __SIGSETPGRP pseudo signal to process group instead of just calling init_console_handler. * sigproc.cc (wait_sig): Call init_console_handler here on __SIGSETPGRP signal. * sigproc.h (__SIGSETPGRP): Define.
Corinna Vinschen
2011-10-06 19:47:45 +0000
efe716bb8e2011-10-06 Christian Franke <franke@computer.org>
Christian Franke
2011-10-06 16:02:37 +0000
e402890df2* readelf.c (get_machine_dlags): Add support for RX's PID mode.
Nick Clifton
2011-10-05 14:13:29 +0000
8dfce03bfa* external.cc (create_winenv): Rename from sync_winenv. Take environment pointer as parameter and return pointer to corresponding win32 environment block if != NULL. Otherwise just sync as before. (cygwin_internal): Add CW_CVT_ENV_TO_WINENV case. * include/cygwin/version.h: Bump API minor number. * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_CVT_ENV_TO_WINENV.
Corinna Vinschen
2011-10-05 12:27:37 +0000
a06c3bf336* net.cc (socketpair): Bind first socket to loopback only as well.
Corinna Vinschen
2011-10-05 06:18:16 +0000
5be9bb15b22011-10-04 Greta Yorsh <Greta.Yorsh@arm.com>
Jeff Johnston
2011-10-04 18:43:14 +0000
341bf73d6d* libc/machine/arm/memcpy.S: New file. Contains a hand coded memcpy function optimized for the cortex-a15. * libc/machine/arm/memcpy-stub.c: New file. * libc/machine/arm/Makefile.am (lib_a_SOURCES): Add memcpy-stub.c, memcpy.S. * libc/machine/arm/Makefile.in: Regenerate.
Nick Clifton
2011-09-29 13:28:50 +0000