Commit Graph

14166 Commits

Author SHA1 Message Date
Corinna Vinschen d329320822 * wow64.cc (wow64_revert_to_original_stack): Fix comment.
* wow64.h (wow64_respawn_process): Declare noreturn.
2011-12-17 10:05:25 +00:00
Christopher Faylor ce3318344c * exceptions.cc (set_signal_mask): Remove useless debugging output.
* fhandler.cc (fhandler_base::write): Ditto.
(fhandler_base_overlapped::close): Cancel any ongoing I/O before closing.
* syscalls.cc (write): Default to always reporting all writes in strace output
via syscall_printf.
* wait.cc (wait4): Fix debugging output.  Use standard syscall leaver output.
2011-12-17 07:01:21 +00:00
Christopher Faylor 60cd6a7798 Fix formatting. Fix typo. 2011-12-17 00:15:31 +00:00
Christopher Faylor ca35d41cec Implement fhandler reference counting.
* cygheap.h
(cygheap_fdmanip::release): Make virtual.
(cygheap_fdnew::~cygheap_fdnew): New destructor increments reference count when
fd has been allocated.
(cygheap_fdget::fh): New (old?) field.
(cygheap_fdget::cygheap_fdget): Increment reference count when we've found an
active fd.  Set fh appropriately.
(cygheap_fdget::~cygheap_fdget): Decrement reference count when appropriate.
Delete fh if reference count goes to zero.
(cygheap_fdget::release): New function.  Do more bookkeping on release.
* dtable.cc (dtable::release): Change from void to boolean return.  Only delete
the fhandler when its reference count is <= 0 (this should be a fairly unusual
case).  Return true if fhandler has been deleted.
(cygwin_attach_handle_to_fd): Increment reference count when fh is assigned.
(dtable::init_std_file_from_handle): Ditto.
* dtable.h (dtable::release): Change return to boolean.
* fhandler.cc (fhandler_base::fhandler_base): Set new isclosed flag to false.
Set _refcnt to zero.
(fhandler_base::close): Simplify paranoid debugging output.  Set new isclosed()
flag.
(fhandler_base_overlapped::wait_overlapped): Use isclosed() flag to avoid
querying the exception handle.
* fhandler.h (fhandler_base::_refcnt): New field.
(fhandler_base::refcnt): New function.
(fhandler_base::isclosed): Implement.
(fhandler_base::fhandler_base): Set isclosed to false.
* syscalls.cc: Remove space after function before parentheses for several
strace printfs.
(dup): Add standard strace "leaver" code.
(dup2): Ditto.
(dup3): Ditto.
(remove): Ditto.
(getpid): Ditto.
(getppid): Ditto.
(lseek64): Fix strace debugging to correctly use %R.
* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Avoid sending signals to
other processes if we're debugging since it can cause a deadlock with the
calling debugger.
* exceptions.cc (_cygtls::call_signal_handler): Add debugging-only strace
output.
2011-12-17 00:03:31 +00:00
Corinna Vinschen 6eee66418c * dcrt0.cc (child_info_fork::alloc_stack): Correctly check if the
parent stack fits into the child stack.  Align comment.
	* wow64.cc (wow64_eval_expected_main_stack): New function to fetch
	expected addresses of main thread stack from PE/COFF image header
	values.
	(wow64_test_for_64bit_parent): Fix comment.  Check current stack
	against real expected main thread stack addresses.
	(wow64_revert_to_original_stack): Fix and add comments. Check memory
	against real expected main thread stack addresses.  Use orignal stack
	if reserved area is >= 256K.
2011-12-16 18:09:43 +00:00
Christopher Faylor 56d06b9af3 * gendef (sigdelayed): Remember to pop all of the saved registers.
(sigreturn): Add "leave" label.
2011-12-16 16:32:25 +00:00
Christopher Faylor 6bd406f9ed * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Fix unresolved
access of wores in successful situations.
2011-12-16 16:29:34 +00:00
Corinna Vinschen 344e68b166 * Makefile.in (DLL_OFILES): Add wow64.o.
* dcrt0.cc (CYGWIN_GUARD): Drop execute permission for stack, it's
	not used for stacks by the OS either.
	(child_info_fork::alloc_stack_hard_way): Ditto.
	(child_info_fork::alloc_stack): Don't alloc_stack_hard_way under WOW64
	if forked from a 64 bit parent.  Set child's StackBase to parent's
	StackBase.  Add comments to explain why.
	(wow64_respawn): Move to wow64.cc.
	(wow64_started_from_native64): Move to wow64.cc.
	(respawn_wow64_process): Move to wow64.cc.
	(dll_crt0_0): Drop wow64_test_stack_marker and move stack test into
	wow64_test_for_64bit_parent function.  Don't return early if WOW64
	process has been started from native 64 bit process.
	(_dll_crt0): Implement moving stack for WOW64 processes started from
	native 64 bit process.
	* wow64.cc: New file.
	(wow64_has_64bit_parent): Rename from wow64_respawn.
	(wow64_test_for_64bit_parent): Rename from wow64_started_from_native64.
	Change comment.
	(wow64_revert_to_original_stack): New function.
	(wow64_respawn_process): Rename from respawn_wow64_process for symmetry.
	* wow64.h: New file.
2011-12-16 11:58:03 +00:00
Tristan Gingold 6625879aa6 binutils/
2011-12-16  Tristan Gingold  <gingold@adacore.com>

	* od-macho.c: Include mach-o/codesign.h
	(OPT_CODESIGN): Define.
	(options): Add an entry for codesign.
	(mach_o_help): Likewise.
	(dump_header): Fix indentation.
	(dump_thread): Do not test result of xmalloc.
	(bfd_mach_o_cs_magic, bfd_mach_o_cs_hash_type): New.
	(dump_code_signature_superblob): New function.
	(swap_code_codedirectory_v1_in): Likewise.
	(hexdump): Likewise.
	(dump_code_signature_codedirectory): Likewise.
	(dump_code_signature_blob, dump_code_signature): Likewise.
	(dump_load_command): Dump code signature.
	(mach_o_dump): Likewise.

include/mach-o/
2011-12-16  Tristan Gingold  <gingold@adacore.com>

	* codesign.h: New file.
2011-12-16 10:23:01 +00:00
Christopher Faylor 08e4b6acb7 * exceptions.cc (_cygtls::call_signal_handler): Fix debugging to not go to
console.
* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Add temporary kludge
to work around problem of make closing a handler while it is being read.
* gendef (sigdelayed): Don't call a function if sig has been cleared.
* sigproc.h (cygwait): Simplify slightly.
2011-12-16 05:27:15 +00:00
Jeff Johnston e553b822e2 2011-12-15 Jeff Johnston <jjohnstn@redhat.com>
* COPYING.LIBGLOSS: Add GPL with exception license.
2011-12-15 22:59:14 +00:00
Jeff Johnston 8e0346d137 2011-12-15 Konrad Eisele <konrad@gaisler.com>
* configure.in: Add SPARC LEON support.
        * configure: Regenerated.
        * sparc_leon/asm-leon/amba.h, sparc_leon/asm-leon/asmmacro.h,
        sparc_leon/asm-leon/clock.h, sparc_leon/asm-leon/contextswitch.h,
        sparc_leon/asm-leon/elfmacro.h, sparc_leon/asm-leon/head.h,
        sparc_leon/asm-leon/irq.h, sparc_leon/asm-leon/jiffies.h,
        sparc_leon/asm-leon/lambapp.h, sparc_leon/asm-leon/lambapp_devs.h,
        sparc_leon/asm-leon/leon.h, sparc_leon/asm-leon/leon3.h,
        sparc_leon/asm-leon/leonbare_debug.h, sparc_leon/asm-leon/leonbare_kernel.h,
        sparc_leon/asm-leon/leonbare_kernel_queue.h, sparc_leon/asm-leon/leoncompat.h,
        sparc_leon/asm-leon/leondbg.h, sparc_leon/asm-leon/leonstack.h,
        sparc_leon/asm-leon/liblocks.h, sparc_leon/asm-leon/linkage.h,
        sparc_leon/asm-leon/param.h, sparc_leon/asm-leon/queue.h,
        sparc_leon/asm-leon/spinlock.h, sparc_leon/asm-leon/stack.h,
        sparc_leon/asm-leon/time.h, sparc_leon/asm-leon/timer.h,
        sparc_leon/asm-leon/types.h, sparc_leon/asm-leon/winmacros.h:
        New file.
        * sparc_leon/Makefile.in, sparc_leon/_exit.c,
        sparc_leon/amba.c, sparc_leon/amba_dbg.c,
        sparc_leon/amba_driver.c, sparc_leon/amba_scan.c,
        sparc_leon/asm-leon, sparc_leon/bdinit.S,
        sparc_leon/busscan.S, sparc_leon/cacheA.S,
        sparc_leon/catch_interrupt.c, sparc_leon/catch_interrupt_mvt.c,
        sparc_leon/catch_interrupt_pending.c, sparc_leon/catch_interrupt_svt.c,
        sparc_leon/configure.in,
        sparc_leon/console.c, sparc_leon/console_dbg.c,
        sparc_leon/console_init.c, sparc_leon/contextswitch.c,
        sparc_leon/contextswitch_asm.S, sparc_leon/crt0.S,
        sparc_leon/crti.S, sparc_leon/crtn.S,
        sparc_leon/etrap.S, sparc_leon/etrap_fast.S,
        sparc_leon/fpu.S, sparc_leon/gettimeofday.c,
        sparc_leon/initcalls.c, sparc_leon/io.c,
        sparc_leon/irqinstall.S, sparc_leon/irqtrap.S,
        sparc_leon/irqtrap_fast.S, sparc_leon/jiffies.c,
        sparc_leon/kernel.c, sparc_leon/kernel_context.S,
        sparc_leon/kernel_debug.c, sparc_leon/kernel_debug_var.c,
        sparc_leon/kernel_mm.c, sparc_leon/kernel_mutex.c,
        sparc_leon/kernel_queue.c, sparc_leon/kernel_sched.c,
        sparc_leon/kernel_thread.c, sparc_leon/lcpuinit.S,
        sparc_leon/locore.S, sparc_leon/locore_atexit.c,
        sparc_leon/locore_clean.S, sparc_leon/locore_mvt.S,
        sparc_leon/locore_mvt_reset.S, sparc_leon/locore_svt.S,
        sparc_leon/locore_svt_reset.S, sparc_leon/locore_svtdisp.S,
        sparc_leon/locore_var.S, sparc_leon/locore_var_svt.S,
        sparc_leon/mmu_asm.S, sparc_leon/mutex.c,
        sparc_leon/nocache.S, sparc_leon/pnpinit.c,
        sparc_leon/pnpinit_malloc.c, sparc_leon/pnpinit_simple.c,
        sparc_leon/regwin.S, sparc_leon/regwin_patch.c,
        sparc_leon/regwin_slow.S, sparc_leon/regwinflush.S,
        sparc_leon/rtc.c, sparc_leon/rtrap.S,
        sparc_leon/rtrap_fast.S, sparc_leon/stop.S,
        sparc_leon/timer.c, sparc_leon/times.c:
        New file
        * sparc_leon/configure: Regenerate
2011-12-15 22:58:40 +00:00
Corinna Vinschen e74758408e Don't leave Windows 2000 behind.
* autoload.cc (GetSystemWow64DirectoryW): Define.
	(GetVolumePathNamesForVolumeNameW): Define.
	* fhandler_process.cc (get_volume_path_names_for_volume_name): New
	static function to workaround missing GetVolumePathNamesForVolumeNameW
	function in Windows 2000.
	(dos_drive_mappings::dos_drive_mappings): Call
	get_volume_path_names_for_volume_name instead of
	GetVolumePathNamesForVolumeNameW.
2011-12-14 20:23:27 +00:00
Tristan Gingold a5d1e69e3d bfd/
2011-12-14  Iain Sandoe  <iains@gcc.gnu.org>

	* mach-o-i386.c (text_section_names_xlat): New table.
	(data_section_names_xlat): Likewise.
	(import_section_names_xlat): Likewise.
	(mach_o_i386_segsec_names_xlat): Likewise.
	(bfd_mach_o_tgt_seg_table): Use new tables.
	* mach-o-x86-64.c (bfd_mach_o_tgt_seg_table): Set NULL.
	* mach-o.c (mach_o_section_name_xlat, mach_o_segment_name_xlat):
	Move to mach-o.h as   typedefs.
	(text_section_names_xlat): Update for current GCC usage.
	(data_section_names_xlat): Likewise.
	(dwarf_section_names_xlat): Likewise.
	(objc_section_names_xlat): New table.
	(segsec_names_xlat): Add objc table.
	(bfd_mach_o_normalize_section_name):  Replace with...
	(bfd_mach_o_section_data_for_mach_sect): New.
	(bfd_mach_o_section_data_for_bfd_name): New.
	(bfd_mach_o_section_data_for_bfd_name): Update to use additional data.
	(bfd_mach_o_convert_section_name_to_mach_o): Likewise.
	(bfd_mach_o_bfd_copy_private_section_data): Implement.
	(bfd_mach_o_write_symtab): Write a zero-length string as the first entry
	for compatibility with system tools.
	(bfd_mach_o_build_commands): Update section alignment info.
	(bfd_mach_o_new_section_hook): Use translation table data to define
	default section flags, type, attributes and alignment, when available.
	(bfd_mach_o_init_section_from_mach_o): Add TODO comment.
	(bfd_mach_o_section_type_name): Add 'symbol_stubs'.
	(bfd_mach_o_section_attribute_name): Add 'self_modifying_code'.
	(bfd_mach_o_get_section_type_from_name): Change "not-found" return
	value.
	(bfd_mach_o_tgt_seg_table): Set default NULL.
	* mach-o.h (bfd_mach_o_segment_command):  Use define for name length.
	(bfd_mach_o_backend_data): Move until after contents are defined.
	(bfd_mach_o_normalize_section_name): Remove.
	(bfd_mach_o_convert_section_name_to_bfd): Declare.
	(mach_o_section_name_xlat): Declare.
	(mach_o_segment_name_xlat): Declare.
	(bfd_mach_o_section_data_for_mach_sect): Declare.
	(bfd_mach_o_section_data_for_bfd_name): Declare.

include/
2011-12-14  Iain Sandoe  <iains@gcc.gnu.org>

	* mach-o/loader.h (bfd_mach_o_section_type): define
	BFD_MACH_O_S_ATTR_NONE to 0.


gas/
2011-12-14  Iain Sandoe  <iains@gcc.gnu.org>

	* config/obj-macho.c: Add some more top-level comments.
	(collect_16char_name): New.
	(obj_mach_o_section): Amend to allow syntax compatible with existing system
	tools.  Use section translation data when available.
	(obj_mach_o_segT_from_bfd_name): New.
	(known_sections): Update.
	(obj_mach_o_known_section): Use obj_mach_o_segT_from_bfd_name.
	(objc_sections): New.
	(obj_mach_o_objc_section): New.
	(debug_sections): New.
	(obj_mach_o_debug_section): New.
	(tgt_sections): New.
	(obj_mach_o_opt_tgt_section): New.
	(obj_mach_o_base_section): New.
	(obj_mach_o_common_parse): Update to create BSS on demand and to handle
	lcomm optional alignment param.
	(obj_mach_o_comm): Update parameter name.
	(obj_mach_o_placeholder): New.
	(mach_o_pseudo_table): Update for GCC section directives.
	* config/obj-macho.h (_OBJ_MACH_O_H): New.
	(USE_ALIGN_PTWO): Define.
	(S_SET_ALIGN) Define.
2011-12-14 10:30:09 +00:00
Jeff Johnston 50e970d1b1 2011-12-13 Richard Earnshaw <rearnsha@arm.com>
Thomas Klein  <th.r.klein@web.de>

        * arm/crt0.S: Manually set the target architecture
        when compiling for Thumb1 on EABI targets.
        Avoid v6-only Thumb-1 MOV instruction.
2011-12-13 22:45:12 +00:00
Jeff Johnston e480bc80c3 2011-12-13 Richard Earnshaw <rearnsha@arm.com>
Thomas Klein  <th.r.klein@web.de>

        * libc/sys/arm/crt0.S: Manually set the target architecture
        when compiling for Thumb1 on EABI targets.
        Don't use SWI on M-profile cores.
        Avoid v6-only Thumb-1 MOV instruction.
2011-12-13 22:40:45 +00:00
Keith Marshall f46fcfebd1 Factor common code from subdirectory makefiles into Makefile.comm.in 2011-12-13 20:46:53 +00:00
Keith Marshall 5cc68751fd Prepare for factoring out common makefile code. 2011-12-13 20:10:42 +00:00
Christopher Faylor eab07b8789 add missing change 2011-12-13 20:08:10 +00:00
Christopher Faylor 45d7b637fa * dcrt0.cc (init_windows_system_directory): Record system_wow64_directory
information.
* exceptions.cc (_cygtls::inside_kernel): Modernize comment.  Consider
executing a DLL from the Wow64 directory as being "in the kernel".
(_cygtls::call_signal_handler): For now, only deal with main_tls signals if
main_tls is known to be executing in the cygwin DLL.  To more closely emulate
linux, consider the operation to be restartable if not executing in the main
thread.
* globals.cc (windows_system_directory): Remove NO_COPY.
(windows_system_directory_length): Ditto.
(system_wow64_directory): New variable.
(system_wow64_directory_length): Ditto.
* select.cc (cygwin_select): Don't issue a EINTR on non-main threads since that
seems to be what Linux does.  Add missing break to signal case/switch.
(select_stuff::wait): Don't issue a EINTR on non-main threads since that seems
to be what Linux does.  Remove now-unneeded accommodation for
WAIT_IO_COMPLETION.  Add a comment.
* sigproc.h (cygwait): Ditto.  Don't return if signal_received noticed and it's
not the main thread.
* signal.cc (sigprocmask): Add standard syscall debug stuff.
* thread.cc (pthread_sigmask): Ditto.
2011-12-13 20:06:31 +00:00
Corinna Vinschen 8d1bda71b4 * netdb.cc (open_system_file): Avoid MS-DOS path warning. 2011-12-13 17:46:08 +00:00
Corinna Vinschen 5250e27f71 * path.cc (conv_path_list): Fix a condition.
(cygwin_conv_path): Revert WIN_A conversion to current locale codeset.
2011-12-13 14:53:10 +00:00
Corinna Vinschen 3780d205cd * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Call
file_get_fnoi instead of NtQueryInformationFile.
	* path.cc (file_get_fnoi): New helper function to collect a
	FILE_NETWORK_OPEN_INFORMATION block.
	(symlink_info::check): Call file_get_fnoi rather than
	NtQueryInformationFile to collect a FILE_NETWORK_OPEN_INFORMATION block.
	* path.h (file_get_fnoi): Declare.
2011-12-13 11:54:28 +00:00
Corinna Vinschen 74365d9715 * times.cc (hires_ns::resolution): Don't return less than 1. 2011-12-13 11:38:12 +00:00
Christopher Faylor 8cb58e8566 * cygthread.h (cygthread::name): Very minor formatting tweak.
* exceptions.cc (_cygtls::call_signal_handler): Add paranoid debugging output.
* sigproc.h (cygwait): Call signal handler when signal is detected and loop as
appropriate.
* fhandler.h (fhandler_base_overlapped::wait_return): Remove overlapped_signal.
* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Remove restartable
signal accommodations in light of cygwait improvements.
(fhandler_base_overlapped::raw_read): Remove now-obsolete signal loop behavior.
(fhandler_base_overlapped::raw_write): Ditto.
* fhandler_console.cc (fhandler_console::read): Ditto.
* fhandler_serial.cc (fhandler_serial::raw_read): Ditto.
(fhandler_serial::raw_write): Ditto.
* fhandler_tty.cc (fhandler_pty_slave::read): Ditto.
* ioctl.cc (ioctl): Add standard syscall introducer and leaver debug output.
2011-12-13 04:11:48 +00:00
Christopher Faylor a7ea1550ff * faq-using.xml: Remove obsolete entry about the standard console window.
* new-features.sgml: Remove obsolete entry which references cygwin.bat.
* setup-net.sgml: Clarify new shortcut behavior for the "Cygwin Terminal".
2011-12-13 03:54:59 +00:00
Corinna Vinschen 01ba99e8cd * fhandler_process.cc (dos_drive_mappings): Partially rewrite to
handle volumes mounted into juntion points correctly.
2011-12-12 21:38:08 +00:00
Keith Marshall 1e10d23a56 Correct makefile error; remove unnecessary FLAGS_TO_PASS macro 2011-12-12 20:02:33 +00:00
Corinna Vinschen 735415570a * fhandler_process.cc (dos_drive_mappings::dos_drive_mappings): Fully
resolve symbolic links returned by QueryDosDeviceW.  Explain why.
2011-12-12 17:27:18 +00:00
Corinna Vinschen 7a7a9e7179 * mount.cc (fs_info::update): Set has_buggy_reopen for Netapps as well. 2011-12-12 11:03:01 +00:00
Corinna Vinschen 74e0bcfc0f * libc/time/strftime.c (get_era_info): Fix off-by-one error in month
calculation.
2011-12-12 10:48:29 +00:00
Corinna Vinschen cdce73f183 * dcrt0.cc (wow64_respawn): New static variable.
(wow64_started_from_native64): New function to check if a WOW64
	process got started from a native 64 bit process.
	(respawn_wow64_process): New function to respawn process.
	(dll_crt0_0): When started from a native parent, check if parent
	is a 64 bit process.  If so, return early.
	(_dll_crt0): Respawn WOW64 process here if required.
	* init.cc (respawn_wow64_process): Remove.
	(dll_entry): Rename wow64_test_stack_marker to test_stack_marker.
	Drop WOW64 test here.
2011-12-12 10:16:53 +00:00
Christopher Faylor b11797ad17 * pipe.cc (fhandler_pipe::create): Use debug_printf to print debugging info
since this isn't a "syscall".
(pipe_worker): New function created from _pipe().
(_pipe): Use pipe_worker to create a pipe.  Use standard syscall strace
reporting on exit.
(pipe): Ditto.
(pipe2): Ditto.
2011-12-12 01:22:29 +00:00
Christopher Faylor fc25f200f4 * select.cc (select_stuff::wait): Very minor formatting fix.
(peek_windows): Report on HWND handle used in queries.
* select.h: Update copyright.
* sigproc.h (cygwait): Eliminate multi-argument variety since more general
implementation may cause odd problems in select.  Also force to always be
inline.
2011-12-11 01:25:20 +00:00
Keith Marshall 14bb21fe45 Correct defective configure checkin 2011-12-10 21:43:09 +00:00
Christopher Faylor 8a929d731f fix another typo in ChangeLog 2011-12-10 18:34:00 +00:00
Christopher Faylor 83ebb09239 * sigproc.h (cygwait): Delete duplicate va_start and add matching va_end. 2011-12-10 18:12:28 +00:00
Christopher Faylor bc1d321c57 Add ChangeLog entry for previous change and revert erroneously checked in
changes to dcrt0.cc and init.cc
2011-12-10 18:10:22 +00:00
Christopher Faylor dfbab81589 Clarify entry 2011-12-10 17:40:20 +00:00
Keith Marshall 51d406aaa7 Build system clean-up (phase 1) 2011-12-10 17:24:25 +00:00
Christopher Faylor c1dedea603 * exceptions.cc (ctrl_c_handler): YA in a series or reversions. Put back
_my_tls.remove along with a comment.
(sigpacket::process): Remove code which now causes a gdb deadlock.
* sigproc.cc (_cygtls::signal_exit): Signal debugger with signal number
earlier.
2011-12-10 01:33:56 +00:00
Christopher Faylor 83b25b0eb7 * dllfixdbg: Work around annoying gdb warning about missing .gnu_debuglink. 2011-12-09 17:46:12 +00:00
Christopher Faylor 57af01797e Rename cygWFMO to cygwait throughout and use the magic of polymorphism to "wait
for stuff".
* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Use simplified arg
form of cygwait.
* fhandler_console.cc (fhandler_console::read): Ditto.
* fhandler_audio.cc (fhandler_dev_dsp::Audio_out::waitforspac): Ditto.
(fhandler_dev_dsp::Audio_in::waitfordata): Ditto.
* fhandler_fifo.cc (fhandler_fifo::wait): Ditto.
* fhandler_serial.cc (fhandler_serial::raw_read): Ditto.
(fhandler_serial::raw_write): Ditto.
* select.cc (cygwin_select): Ditto.
* sigproc.h (cygwait): Rename from cygWFMO.  Define two argument and single
argument forms of this function.
* fhandler_tty.cc (fhandler_pty_slave::open): Use method to query if tty is
open.
(fhandler_pty_slave::read): Send SIGHUP when master is detected as closed.
(fhandler_pty_common::close): Close input_available_event in callers since
master may need to signal it first.
(fhandler_pty_master::close): Lie and set input_available_event when closing,
then close input_available_event.
(fhandler_pty_slave::close): Close input_available_event explicitly here.
* tty.h (tty::is_master_closed): Declare new method.
2011-12-09 16:02:56 +00:00
Christopher Faylor aaaaefc090 Revert erroneous checkin 2011-12-09 06:57:21 +00:00
Christopher Faylor e35f1d1655 * sigproc.cc (signal_exit): Revert reversion of 2011-12-04 change since,
otherwise, you see hangs when the signal pipe is closed.
2011-12-09 06:49:10 +00:00
Christopher Faylor 8714982cef * select.cc (cygwin_select): Fifth time is the charm. 2011-12-09 03:19:41 +00:00
Andrew Pinski 9b80fa0f92 bfd:
2011-12-08  Andrew Pinski  <apinski@cavium.com>
            Adam Nemet  <anemet@caviumnetworks.com>

	* archures.c (bfd_mach_mips_octeon2): New macro
	* bfd-in2.h: Regenerate.
	* cpu-mips.c (I_mipsocteon2): New enum value.
	(arch_info_struct): Add bfd_mach_mips_octeon2.
	* elfxx-mips.c (_bfd_elf_mips_mach): Support E_MIPS_MACH_OCTEON2.
	(mips_set_isa_flags): Add bfd_mach_mips_octeon2.
	(mips_mach_extensions): Add bfd_mach_mips_octeon2.

gas:
2011-12-08  Andrew Pinski  <apinski@cavium.com>
            Adam Nemet  <anemet@caviumnetworks.com>

        * tc-mips.c (CPU_IS_OCTEON): Add Octeon2.
        (mips_cpu_info_table): Add Octeon2.
        * doc/c-mips.texi: Document octeon2 as an acceptable value for -march=.

gas/testsuite:
2011-12-08  Andrew Pinski  <apinski@cavium.com>
            Adam Nemet  <anemet@caviumnetworks.com>

        * gas/mips/mips.exp: Add Octeon2 for an architecture.
        Run octeon2 test.
        * gas/mips/octeon2.d: New file.
        * gas/mips/octeon2.s: New file.

include/opcode:
2011-12-08  Andrew Pinski  <apinski@cavium.com>
            Adam Nemet  <anemet@caviumnetworks.com>

        * mips.h (INSN_CHIP_MASK): Update according to INSN_OCTEON2.
        (INSN_OCTEON2): New macro.
        (CPU_OCTEON2): New macro.
        (OPCODE_IS_MEMBER): Add Octeon2.

opcodes:
2011-12-08  Andrew Pinski  <apinski@cavium.com>
            Adam Nemet  <anemet@caviumnetworks.com>

	* mips-dis.c (mips_arch_choices): Add Octeon2.
	For "octeon+", just include OcteonP for the insn.
	* mips-opc.c (IOCT): Include Octeon2.
	(IOCTP): Include Octeon2.
	(IOCT2): New macro.
	(mips_builtin_opcodes): Add "laa", "laad", "lac", "lacd", "lad",
	"ladd", "lai", "laid", "las", "lasd", "law", "lawd".
	Move "lbux", "ldx", "lhx", "lwx", and "lwux" up to where the standard
	loads are, and add IOCT2 to them.
	Add "lbx" and "lhux".
	Add "qmac.00", "qmac.01", "qmac.02", "qmac.03", "qmacs.00",
	"qmacs.01", "qmacs.01", "qmacs.02" and "qmacs.03".
	Add "zcb" and "zcbt".
2011-12-08 20:47:27 +00:00
Christopher Faylor 203f973789 * select.cc (cygwin_select): Make sure that 0 is returned when sel.wait times
out.
2011-12-08 20:24:33 +00:00
Christopher Faylor 2398bcaea4 * include/sys/wait.h: Add in all c++ functions. 2011-12-08 18:24:24 +00:00
Christopher Faylor 53257dacae * select.cc (select_stuff::wait): Temporarily disallow APCS. 2011-12-08 07:03:14 +00:00