Corinna Vinschen
6e16da9dec
Cygwin-specific patch from Andy Koppe:
...
* libc/locale/locale.c (current_categories): On Cygwin, set LC_CTYPE
to C.UTF-8 to match initial __wctomb and __mbtowc settings.
(lc_ctype_charset): On Cygwin, initialize to "UTF-8".
(loadlocale): Remove unused Cygwin-specifc code.
2011-05-04 08:45:17 +00:00
Tristan Gingold
aa8097021e
2011-05-04 Tristan Gingold <gingold@adacore.com>
...
* rs6000.h (struct external_exceptab): New struct.
(EXCEPTSZ): New macro.
* rs6k64.h: (struct external_exceptab): New struct.
(EXCEPTSZ): New macro.
2011-05-04 06:53:38 +00:00
Christopher Faylor
9d2b7928b5
* thread.h (pthread::static_cancel_self): Mark as noreturn.
...
(pthread::cancel_self): Ditto.
* thread.cc (pthread::cancel_self): Explicitly use pthread::exit to avoid a
"function returns" error.
2011-05-04 06:16:59 +00:00
Christopher Faylor
cdbb272b4c
* pinfo.cc (pinfo::pinfo): Set procinfo to NULL to avoid potential cleanup of
...
uninitialized garbage. (Suggested by Ryan Johnson)
2011-05-04 06:00:54 +00:00
Corinna Vinschen
781822a646
* select.cc (cygwin_select): Make degenerate case cancelable.
...
(select_stuff::destroy): New inline method to delete memory taken
by select_stuff.
(select_stuff::~select_stuff): Call destroy.
(select_stuff::wait): Add case to allow canceling select.
* select.h (select_stuff::destroy): Declare.
* thread.cc: Mark poll, pselect and poll as cancelable.
2011-05-03 15:58:52 +00:00
Corinna Vinschen
3728c79d48
* locale.cc (print_locale_with_codeset): Align printing of locale names
...
to POSIX.
2011-05-03 10:34:25 +00:00
Corinna Vinschen
c402095aae
* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Make
...
cancelable. Remove test for main thread, always add signal_arrived
to waited objects.
2011-05-03 10:11:19 +00:00
Tristan Gingold
368ee04706
2011-05-03 Tristan Gingold <gingold@adacore.com>
...
* rs6000.h (struct external_ldsym): Use E_SYMNMLEN instead of
SYMNMLEN.
2011-05-03 09:21:05 +00:00
Corinna Vinschen
3ff46ba853
* fhandler_tty.cc (fhandler_tty_slave::read): Set WFMO timeout to 0 for
...
nonblocking case. Drop useless waiter variable. Rewrite wait for
input_available_event to use a switch statement. Handle timeout and
failure more gracefully. Make restartable and cancelable. Rewrite
wait for input_mutex to use WFMO and a switch statement. Handle
timeout and failure more gracefully. Make restartable and cancelable.
2011-05-03 07:58:13 +00:00
Yaakov Selkowitz
af4f7961d0
* new-features.sgml (ov-new1.7.10): Document new pthread APIs.
2011-05-03 04:09:52 +00:00
Christopher Faylor
3f359e3254
* signal.cc (_pinfo::kill): Avoid referencing 'pid' after ESRCH.
2011-05-03 02:03:04 +00:00
Yaakov Selkowitz
705a187ee9
* cygwin.din (pthread_attr_getstack): Export.
...
(pthread_attr_getstackaddr): Export.
(pthread_getattr_np): Export.
* ntdll.h (enum _THREAD_INFORMATION_CLASS): Add ThreadBasicInformation.
(struct _THREAD_BASIC_INFORMATION): Define.
(NtQueryInformationThread): Declare.
* posix.sgml (std-susv4): Add pthread_attr_getstack.
(std-gnu): Add pthread_getattr_np.
(std-deprec): Add pthread_attr_getstackaddr.
(std-notimpl): Remove pthread_attr_[gs]etstackaddr, as they were
removed from SUSv4.
* thread.cc (pthread_attr::pthread_attr): Initialize stackaddr.
(pthread_attr_getstack): New function.
(pthread_attr_getstackaddr): New function.
(pthread_attr_setstacksize): Return EINVAL if passed size less than
PTHREAD_STACK_MIN, as required by POSIX.
(pthread_getattr_np): New function.
* thread.h (class pthread_attr): Add stackaddr member.
* include/pthread.h (pthread_attr_getstack): Declare.
(pthread_attr_getstackaddr): Declare unconditionally.
(pthread_attr_setstack): Declare inside false conditional for reference.
(pthread_getattr_np): Declare.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
2011-05-03 01:13:37 +00:00
Christopher Faylor
1e92c34ee4
fix typo
2011-05-02 23:11:18 +00:00
Christopher Faylor
2671ba6f3a
* Makefile.in: Allow CFLAGS to be overridden from the environment.
2011-05-02 19:14:39 +00:00
Corinna Vinschen
183ad8597c
* thread.cc (cancelable_wait): Remove test for main thread.
...
* fhandler_fifo.cc (fhandler_fifo::open_nonserver): Ditto.
2011-05-02 18:48:11 +00:00
Corinna Vinschen
27dd7bfbcd
* fhndler_tty.cc (andler_pty_master::process_slave_output): Make
...
interruptible and cancelable. Fix nonblocking case.
2011-05-02 18:41:10 +00:00
Corinna Vinschen
e4f70cddcd
* fhandler_console.cc (fhandler_console::read): Make restartable and
...
cancelable.
2011-05-02 17:38:16 +00:00
Christopher Faylor
d85a0c243b
* strace.cc (strace::vprntf): Avoid closing unopened handle.
2011-05-02 17:05:10 +00:00
Yaakov Selkowitz
58349d7c9d
* sysconf.cc (sca): Set _SC_SPIN_LOCKS to _POSIX_SPIN_LOCKS.
2011-05-02 16:11:06 +00:00
Yaakov Selkowitz
5f555b0bd3
* libc/include/sys/features.h [__CYGWIN__] (_POSIX_SPIN_LOCKS): Define.
...
* libc/include/sys/types.h: Cygwin provides its own pthread_spinlock_t
typedef.
2011-05-02 16:05:06 +00:00
Christopher Faylor
8978381c2a
Eliminate trailing whitespace in some files.
...
* dll_init.cc (dll_list::alloc): Reset 'p' in forked process.
* select.cc (select_stuff::wait): Move cleanup() closer to WFMO to minimize
unavoidable (?) race.
2011-05-02 15:28:35 +00:00
Corinna Vinschen
138f3e0cbd
Throughout remove NT4 from documentation.
...
* new-features.sgml (ov-new1.7.10): Document change in passwd command.
2011-05-02 11:56:36 +00:00
Corinna Vinschen
29b1327208
* fhandler_serial.cc (fhandler_serial::raw_read): Add restartability
...
after a signal. Add cancelability.
(fhandler_serial::raw_write): Wait for write to succeed if O_NONBLOCK
is not set. Add signal handling and cancelability.
2011-05-02 10:20:35 +00:00
Corinna Vinschen
a91ac4dca9
* fhandler_windows.cc (fhandler_windows::read): Use
...
pthread::get_cancel_event to fetch thread's cancel event.
* flock.cc (lf_setlock): Ditto.
* posix_ipc.cc (ipc_cond_timedwait): Ditto.
* thread.cc (pthread::get_cancel_event): New static method.
* thread.h (pthread::get_cancel_event): Declare.
2011-05-01 17:42:41 +00:00
Corinna Vinschen
1112b2c38f
* libc/minires-os-if.c (get_dns_info): Remove unnecessary test for
...
existence of DnsQuery_A.
2011-05-01 14:56:46 +00:00
Corinna Vinschen
5c2be92ec4
Add missing ChangeLog entry:
...
* fhandler.h (fhandler_windows::is_slow): Remove.
2011-05-01 14:36:17 +00:00
Corinna Vinschen
79e741ef6f
Throughout, use user32 UNICODE functions rather than ANSI functions.
...
* autoload.cc: Convert all definitions for ANSI user32 functions to
definitions for the corresponding UNICODE function.
(SendMessageA): Remove.
(SendNotifyMessageW): Define.
* fhandler_windows.cc (fhandler_windows::write): Use SendNotifyMessageW
call rather than SendMessage to make function always return immediately.
(fhandler_windows::read): Make function interruptible and a cancellation
point. Handle O_NONBLOCK.
* select.cc (peek_serial): Don't wait for signal_arrived here.
* window.cc (wininfo::winthread): Call CreateWindowExW directly rather
than CreateWindow wrapper.
2011-05-01 14:35:12 +00:00
Corinna Vinschen
c60d0bbe68
* net.cc (fdsock): Drop setting uninterruptible_io to true.
2011-05-01 08:14:40 +00:00
Corinna Vinschen
8b6d43aecf
* fhandler.h (fhandler_socket::is_slow): Remove.
2011-05-01 08:01:55 +00:00
Corinna Vinschen
1804be048a
* fcntl.cc (fcntl64): Call pthread_testcancel.
...
* fhandler_socket.cc (fhandler_socket::connect): Ditto.
(fhandler_socket::accept4): Ditto.
(fhandler_socket::recvfrom): Ditto.
(fhandler_socket::recvmsg): Ditto.
(fhandler_socket::sendto): Ditto.
(fhandler_socket::sendmsg): Ditto.
* flock.cc (lf_setlock): Allow to cancel thread running blocking
file lock. Try to make code more readable.
(lockf): Call pthread_testcancel.
* mmap.cc (msync): Ditto.
* posix_ipc.cc (ipc_cond_timedwait): Call pthread::static_cancel_self
rather than pthread_testcancel.
* select.cc (cygwin_select): Call pthread_testcancel.
* syscalls.cc (pread): Ditto.
(pwrite): Ditto.
(readv): Ditto.
(writev): Ditto.
(open): Ditto.
(close): Ditto.
(fsync): Ditto.
* termios.cc (tcdrain): Ditto.
* thread.cc: Align list of cancellation points with above changes.
Mark not-implemented functions, too.
(cancelable_wait): Don't set unused object indices to WAIT_FAILED
since that could result in wrong behaviour. Set them to the invalid
value WAIT_TIMEOUT + 1 instead.
2011-04-30 16:34:48 +00:00
Jakub Jelinek
cbec4110a2
* dwarf2.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
...
DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret): New.
2011-04-30 11:01:35 +00:00
Corinna Vinschen
42faed4128
* thread.h (class pthread): Add bool member canceled.
...
* thread.cc (pthread::pthread): Initialize canceled to false.
(pthread::cancel): Set canceled before setting cancel_event.
(pthread::testcancel): Check for canceled. Only wait for cancel_event
if canceled is true. Explain why.
(pthread::_fixup_after_fork): Set canceled to false.
2011-04-30 10:20:25 +00:00
Corinna Vinschen
e0b0b9e4ff
* errno.cc (errmap): Sort. Map ERROR_EXE_MACHINE_TYPE_MISMATCH to
...
ENOEXEC.
2011-04-29 18:54:23 +00:00
Corinna Vinschen
37e680bb6b
* thread.cc: Update comment listing cancellation points per POSIX.
2011-04-29 18:29:26 +00:00
Corinna Vinschen
5735d5f6f4
* advapi32.cc: Add comment.
...
(EqualSid): Remove.
(CopySid): Remove.
(AddAccessAllowedAce): Remove.
(AddAccessDeniedAce): Remove.
(MakeSelfRelativeSD): Remove.
* flock.cc: Replace above functions throughout with their ntdll.dll
equivalent.
* sec_acl.cc: Ditto.
* sec_auth.cc: Ditto.
* sec_helper.cc: Ditto.
* security.cc: Ditto.
* security.h: Ditto.
(RtlEqualSid): Declare. Explain why.
(RtlCopySid): Ditto.
2011-04-29 10:38:12 +00:00
Corinna Vinschen
3e8e0c33c0
* advapi32.cc (AccessCheck): Remove.
...
(PrivilegeCheck): Remove.
(OpenThreadToken): Remove.
* fhandler_tty.cc: Replace above functions throughout with their
ntdll.dll equivalent.
* security.cc: Ditto.
2011-04-29 09:48:25 +00:00
Corinna Vinschen
bd139e52b4
* ntdll.h (IsEventSignalled): New inline function.
...
* cygthread.cc (cygthread::terminate_thread): Use IsEventSignalled in
place of WaitForSingleObject on event with 0 timeout.
* fhandler.cc (fhandler_base_overlapped::has_ongoing_io): Ditto.
* fhandler_fifo.cc (fhandler_fifo::open_nonserver): Ditto.
(fhandler_fifo::wait): Ditto.
* fhandler_termios.cc (fhandler_termios::bg_check): Ditto.
* select.cc (verify_tty_slave): Ditto.
* thread.cc (pthread::testcancel): Ditto.
2011-04-29 08:27:11 +00:00
Corinna Vinschen
12eac211c9
* advapi32.cc (GetTokenInformation): Remove.
...
(SetTokenInformation): Remove.
* grp.cc: Replace above functions throughout with their ntdll.dll
equivalent.
* sec_auth.cc: Ditto.
* syscalls.cc: Ditto.
* uinfo.cc: Ditto.
2011-04-29 07:34:05 +00:00
Corinna Vinschen
541820d0ee
* posix_ipc.cc (ipc_cond_timedwait): Only wait for pthread's
...
cancel_event if thread's cancelability isn't disabled.
2011-04-29 07:22:07 +00:00
Joseph Myers
530994bdce
* configure.ac (*-*-dragonfly*, *-*-freebsd*, *-*-netbsd*,
...
alpha*-dec-osf*, alpha*-*-linux*, alpha*-*-*, sh-*-linux*,
arm-*-elf* | arm*-*-eabi*, arm*-*-linux-gnueabi, frv-*-*): Remove
cases in libgcj-disabling case statement.
(hppa*64*-*-linux*): Set unsupported_languages instead of
disabling target-zlib.
(hppa*64*-*-*): Restrict case in libgcj-disabling case statement
to hppa*64*-*-hpux*.
(hppa*-*-*): Restrict case in libgcj-disabling case statement to
hppa*-*-hpux*.
(ia64*-*-elf*, ia64*-**-hpux*, i[[3456789]]86-*-elf,
i[[3456789]]86-*-linux*, *-*-cygwin*, i[[3456789]]86-*-interix*,
i[[3456789]]86-*-solaris2*, m32r-*-*, m68k-*-elf*, m68*-*-* |
fido-*-*, powerpc-*-eabi, powerpc-*-eabi* | powerpcle-*-eabi* |
powerpc-*-rtems*, mips*-*-linux*, mips*-*-*, sh-*-* | sh64-*-*,
sparc-*-elf*, sparc64-*-elf*, sparc-*-solaris* |
sparc64-*-solaris* | sparcv9-*-solaris*, *-*-linux* | *-*-gnu* |
*-*-k*bsd*-gnu | *-*-kopensolaris*-gnu, *-*-*): Remove cases in
libgcj-disabling case statement.
* configure: Regenerate.
2011-04-28 16:46:34 +00:00
Corinna Vinschen
fd04c2f004
* advapi32.cc (SetSecurityDescriptorDacl): Remove.
...
(SetSecurityDescriptorGroup): Remove.
(SetSecurityDescriptorOwner): Remove.
* pinfo.cc: Replace above functions throughout with their ntdll.dll
equivalent.
* sec_acl.cc: Ditto.
* sec_helper.cc: Ditto.
* security.cc: Ditto.
* sec_helper.cc (__sec_user): Remove old comment.
2011-04-28 15:54:47 +00:00
Corinna Vinschen
206a6ee9c8
* posix_ipc.cc (ipc_cond_timedwait): Also wait for pthread's
...
cancel_event, if any. Call pthread_testcancel if cancel_event has been
signalled.
2011-04-28 14:44:24 +00:00
Joseph Myers
fdb1f02872
* configure.ac: Disable Java for targets not supporting libffi.
...
(*-*-chorusos, *-*-kaos*, am33_2.0-*-linux*, sh*-*-pe|mips*-*-pe):
Remove cases in Java-disabling statement.
(*arm-wince-pe): Change to arm-wince-pe.
(arc-*-*, arm-*-coff, arm-*-pe*, arm-*-riscix*, avr-*-*): Remove
cases in Java-disabling statement.
(bfin-*-*): Don't disable Java again.
(c4x-*-* | tic4x-*-*, tic54x-*-*, cr16-*-*, d10v-*-*, d30v-*-*,
fr30-*-elf*, moxie-*-*, h8300*-*-*, h8500-*-*, hppa1.1-*-osf* |
hppa1.1-*-bsd*, hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-openbsd*,
hppa*-*-pro*, i960-*-*, i[[3456789]]86-*-coff,
i[[3456789]]86-*-pe, i[[3456789]]86-*-sco3.2v5*,
i[[3456789]]86-*-sco*, i[[3456789]]86-*-sysv4*,
i[[3456789]]86-*-beos*, i[[3456789]]86-*-rdos*,
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*): Remove cases in
Java-disabling statement.
(mmix-*-*): Don't disable Java again.
(mt-*-*, powerpc*-*-winnt* | powerpc*-*-pe*, powerpcle-*-solaris*,
powerpc-*-beos*, rs6000-*-lynxos*, rs6000-*-*, m68k-apollo-*,
microblaze*, mips*-sde-elf*, mips*-*-irix5*, mips*-*-bsd*,
sparclet-*-aout* | sparc86x-*-*, sparclite-*-*, sparc-*-sunos4*,
tic6x-*-*, v810-*-*, vax-*-*): Remove cases in Java-disabling
statement.
* configure: Regenerate.
2011-04-28 13:33:02 +00:00
Joseph Myers
72a19a697e
Merge from GCC:
...
2011-04-18 Jack Howarth <howarth@bromo.med.uc.edu>
PR lto/48086
* configure.ac: Re-enable LTO on *-apple-darwin9*.
* configure: Regenerate.
2011-04-28 13:26:23 +00:00
Joseph Myers
4819e64bb8
* configure.ac: Separate cases disabling Java and Java libraries
...
from general case over targets.
* configure: Regenerate.
2011-04-28 13:24:52 +00:00
Corinna Vinschen
74f9ac5be0
* posix_ipc.cc (ipc_cond_timedwait): Remove pthread_testcancel calls.
...
(_mq_send): Add pthread_testcancel call at start of function.
(_mq_receive): Ditto.
2011-04-28 12:36:27 +00:00
Corinna Vinschen
86bf572ef0
* cygerrno.h (geterrno_from_nt_status): Declare.
...
* errno.cc (geterrno_from_nt_status): Define.
* flock.cc: Fix copyright dates.
* ntdll.h (enum _TIMER_TYPE): Define.
(PTIMER_APC_ROUTINE): Define.
(NtCancelTimer): Declare.
(NtCreateTimer): Declare.
(NtSetTimer): Declare.
* posix_ipc.cc (ipc_cond_timedwait): Rewrite to make interruptible and
restartable. Call pthread_testcancel in case of timeout to enable
pthread_cancel on waiting thread. Replace WFMO timeout with waiting
for a waitable timer. Explain why. Replace single call to WFMO with
two calls, one for the event, one for the mutex. Don't lock mutex in
case of error.
(ipc_cond_signal): Make void function.
(ipc_cond_close): Ditto.
(_mq_send): Immediately return -1 in case of error from
ipc_cond_timedwait.
(_mq_receive): Ditto.
2011-04-28 12:13:41 +00:00
Corinna Vinschen
1838d97b0a
* advapi32.cc (GetSecurityDescriptorDacl): Remove.
...
(GetSecurityDescriptorGroup): Remove.
(GetSecurityDescriptorOwner): Remove.
* sec_acl.cc: Replace above functions throughout with their ntdll.dll
equivalent. Remove redundant debug output.
* sec_auth.cc: Ditto.
* security.cc: Ditto.
* uinfo.cc: Ditto.
2011-04-28 09:53:11 +00:00
Corinna Vinschen
1754539e56
* advapi32.cc (InitializeAcl): Remove.
...
(AddAce): Remove.
(FindFirstFreeAce): Remove.
(GetAce): Remove.
(InitializeSecurityDescriptor): Remove.
(OpenProcessToken): Remove.
* dcrt0.cc: Replace above functions throughout with their ntdll.dll
equivalent.
* fhandler_tty.cc: Ditto.
* flock.cc: Ditto.
* pinfo.cc: Ditto. Drop unnecessary error handling.
* sec_acl.cc: Ditto.
* sec_auth.cc: Ditto.
* sec_helper.cc: Ditto.
* security.cc: Ditto.
2011-04-28 09:30:36 +00:00
Corinna Vinschen
158e516b9d
* advapi32.cc (InitializeSid): Remove.
...
(EqualPrefixSid): Remove.
(GetLengthSid): Remove.
(GetSidSubAuthority): Remove.
(GetSidSubAuthorityCount): Remove.
(GetSidIdentifierAuthority): Remove.
* fhandler_disk_file.cc: Remove above functions throughout with their
ntdll.dll equivalent.
* sec_auth.cc: Ditto.
* sec_helper.cc: Ditto.
* security.cc: Ditto.
2011-04-28 08:34:49 +00:00