Commit Graph

  • 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
  • 8b0e312bf1 * faq-using.xml (faq.using.weirdchars): Rewrite. Corinna Vinschen 2011-11-21 09:16:23 +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
  • 18eaa70b5b Remove erroneously checked-in debugging statements. * cygheap.cc (cygheap_fixup_in_child): Here. * debug.cc (delete_handle): Here. * sigproc.cc (child_info_spawn::cleanup): Here. * spawn.cc (child_info_spawn::worker): Here. Christopher Faylor 2011-11-14 01:45:42 +0000
  • 466e694855 update copyrights Christopher Faylor 2011-11-14 01:37:02 +0000
  • 56a1971526 Throughout 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
  • 46e7439b9d 2011-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
  • 068a111af0 Merge libitm changes to configure.ac from gcc master. Richard Henderson 2011-11-08 18:23:33 +0000
  • 6eb43d82ab merge 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
  • d84f3e29fb * libc/iconv/ccs/Makefile.am: Add missing backslash. * libc/iconv/ccs/Makefile.in: Regenerate. Corinna Vinschen 2011-11-08 15:46:42 +0000
  • 3fe1d750ba * new-features.sgml (ov-new1.7.10): Document ptsname_r. Corinna Vinschen 2011-11-08 09:25:25 +0000
  • 84e9145ca4 * posix.sgml (std-gnu): Add ptsname_r. Corinna Vinschen 2011-11-08 09:24:58 +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
  • f6ba9446ed * pinfo.cc (status_exit): Recognize STATUS_ILLEGAL_INSTRUCTION. (child_info::proc_retry): Ditto. Christopher Faylor 2011-11-05 18:47:39 +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
  • 7c01efe088 toplevel: * Makefile.tpl (EXTRA_GCC_FLAGS): Remove LIBGCC2_CFLAGS, LIBGCC2_DEBUG_CFLAGS, LIBGCC2_INCLUDES. * Makefile.in: Regenerate. Rainer Orth 2011-11-02 15:23:38 +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
  • 7295e35690 Remove 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
  • 8b5e267bb8 * new-features.sgml (ov-new1.7.10): Document getgrouplist. Corinna Vinschen 2011-10-28 09:27:18 +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
  • c85feb40a2 bfd: * 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
  • 4c28f4392a bfd: * Makefile.am (ALL_MACHINES): Add cpu-epiphany.lo . (ALL_MACHINES_CFILES): Add cpu-epiphany.c . (BFD32_BACKENDS): Add elf32-epiphany.lo . (BFD32_BACKENDS_CFILES): Add elf32-epiphany.c . * Makefile.in, bfd-in2.h, configure, libbfd.h: Regenerate. * archures.c (bfd_arch_epiphany): Add. (bfd_mach_epiphany16, bfd_mach_epiphany32): Define. (bfd_epiphany_arch): Declare. (bfd_archures_list): Add &bfd_epiphany_arch. * config.bfd (epiphany-*-elf): New target case. * configure.in (bfd_elf32_epiphany_vec): New target vector case. * reloc.c (BFD_RELOC_EPIPHANY_SIMM8): New relocation. (BFD_RELOC_EPIPHANY_SIMM24, BFD_RELOC_EPIPHANY_HIGH): Likewise. (BFD_RELOC_EPIPHANY_LOW, BFD_RELOC_EPIPHANY_SIMM11): Likewise. (BFD_RELOC_EPIPHANY_IMM11, BFD_RELOC_EPIPHANY_IMM8): Likewise. * targets.c (bfd_elf32_epiphany_vec): Declare. (_bfd_target_vector): Add bfd_elf32_epiphany_vec. * po/SRC-POTFILES.in, po/bfd.pot: Regenerate. * cpu-epiphany.c, elf32-epiphany.c: New files. binutils: * readelf.c (include "elf/epiphany.h") (guess_is_rela, dump_relocation): Handle EM_ADAPTEVA_EPIPHANY. (get_machine_name, is_32bit_abs_reloc, is_32bit_pcrel_reloc): Likewise. (is_16bit_abs_reloc, is_none_reloc): Likewise. * po/binutils.pot: Regenerate. cpu: * cpu/epiphany.cpu, cpu/epiphany.opc: New files. gas: * NEWS: Mention addition of Adapteva Epiphany support. * config/tc-epiphany.c, config/tc-epiphany.h: New files. * Makefile.am (TARGET_CPU_CFILES): Add config/tc-epiphany.c . (TARGET_CPU_HFILES): Add config/tc-epiphany.h . * Makefile.in, configure, doc/Makefile.in, po/POTFILES.in: Regenerate. * configure.in: Also set using_cgen for epiphany. * configure.tgt: Handle epiphany. * doc/Makefile.am (CPU_DOCS): Add c-epiphany.texi . * doc/all.texi: Set EPIPHANY. * doc/as.texinfo: Add EPIPHANY-specific text. * doc/c-epiphany.texi: New file. * po/gas.pot: Regenerate. gas/testsuite: * gas/epiphany: New directory. include: * dis-asm.h (print_insn_epiphany): Declare. * elf/epiphany.h: New file. * elf/common.h (EM_ADAPTEVA_EPIPHANY): Define. ld: * NEWS: Mention addition of Adapteva Epiphany support. * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32epiphany.c . (eelf32epiphany.c): New rule. * Makefile.in: Regenerate. * configure.tgt: Handle epiphany-*-elf. * po/ld.pot: Regenerate. * testsuite/ld-srec/srec.exp: xfail epiphany. * emulparams/elf32epiphany.sh: New file. opcodes: * Makefile.am (HFILES): Add epiphany-desc.h and epiphany-opc.h . (TARGET_LIBOPCODES_CFILES): Add epiphany-asm.c, epiphany-desc.c, epiphany-dis.c, epiphany-ibld.c and epiphany-opc.c . (CLEANFILES): Add stamp-epiphany. (EPIPHANY_DEPS): Set. Make CGEN-generated Epiphany files depend on it. (stamp-epiphany): New rule. * Makefile.in, configure, po/POTFILES.in, po/opcodes.pot: Regenerate. * configure.in: Handle bfd_epiphany_arch. * disassemble.c (ARCH_epiphany): Define. (disassembler): Handle bfd_arch_epiphany. * epiphany-asm.c, epiphany-desc.c, epiphany-desc.h: New files. * epiphany-dis.c, epiphany-ibld.c, epiphany-opc.c: Likewise. * epiphany-opc.h: Likewise. Nick Clifton 2011-10-25 11:18:10 +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
  • 2cd3283c8f Check 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
  • 38d732a152 Throughout 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
  • ba52f4444b PR 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
  • 14b9008cca * utils.sgml (getconf): Expand documentation. Yaakov Selkowitz 2011-10-11 21:53:57 +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
  • eefc33184a oops - fix typo in previous delta. Nick Clifton 2011-10-11 09:29:56 +0000
  • fa5c739c6e oops - 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
  • f213601cda * ldd.cc (VERSION): Remove. Corinna Vinschen 2011-10-10 15:34:52 +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
  • 4fc8a5c90a include/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
  • f818494c63 * cygcheck.cc (check_keys): Use UNICODE Win32 functions. Corinna Vinschen 2011-10-10 09:42:00 +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
  • c53c656b1c * include/sys/cygwin.h (cygwin_getinfo_types): Define values additionally as preprocessor symbols. Corinna Vinschen 2011-10-07 13:49:17 +0000
  • fe81c303e0 * rx/crt0.S: Initialise the PID address register. (__pid_base): Define weakly. Nick Clifton 2011-10-07 10:09:22 +0000
  • 7bbfea993a Fix copyright. Corinna Vinschen 2011-10-07 08:14:25 +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
  • efe716bb8e 2011-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
  • 5be9bb15b2 2011-10-04 Greta Yorsh <Greta.Yorsh@arm.com> Jeff Johnston 2011-10-04 18:43:14 +0000
  • de0ae33544 * libc/machine/arm/memcpy.S: Fix unaligned access copying. Nick Clifton 2011-10-04 16:02:25 +0000
  • 35ddfc9e28 Rationalise structure layout; add dirent.d_type field. Keith Marshall 2011-10-01 20:18:10 +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