Commit Graph

  • 4e069720c1 * include/vfw.h (capCreateCaptureWindow[AW]): Add prototypes. (capGetDriverDescription[AW]): Likewise. Danny Smith 2005-04-25 07:08:22 +0000
  • 46bf13ffc0 * how-to-debug-cygwin.txt: Fix typo. Joshua Daniel Franklin 2005-04-25 05:03:53 +0000
  • 6fbeb6a3f0 * mingwex/mbrtowc.c: New file. * mingwex/wcrtomb.c: New file. * mingwex/btowc.c: New file. * mingwex/wctob.c: New file. * mingwex/mb_wc_common.h: New file. * mingwex/Makefile.in (DISTFILES): Add new files. (Q8_OBJS): Add new objects. * include/wchar.h: Adjust comment about mbrtowc() and related funcions. Add __restrict__ to pointer params in prototypes. (wmemset. wmemchr, wmemcpy, wmemmove, wcstoll, wcstoull): Remove arg names from protototypes. Danny Smith 2005-04-24 11:30:27 +0000
  • 4fc953d6a1 2005-04-23 Wu Yongwei <adah@sh163.net> Danny Smith 2005-04-24 10:26:37 +0000
  • bc79d16453 * shared.cc (user_shared_initialize): Implement locking similar to shared_info when initializing shared region. Christopher Faylor 2005-04-23 03:24:21 +0000
  • 098a429002 * fhandler.h (dev_console::set_color): Define new function. (dev_console::set_default_attr): Ditto, moved from fhandler_console. (dev_console::fillin_info): Ditto. Accommodate this change throughout this file. (fhandler_console::get_win32_attr): Eliminate. * fhandler_console.cc (fhandler_console::get_tty_stuff): Properly set default attributes on initialization. (fhandler_console::open): Set current attributes rather than default color on open. (fhandler_console::get_win32_attr): Eliminate. (dev_console::set_color): New function. Move get_win32_attr stuff here. (dev_console::set_default_attr): New function, moved from fhandler_console. (dev_console::fillin_info): Ditto. (fhandler_console::char_command): Call set_color to set screen characteristics. Christopher Faylor 2005-04-22 17:03:38 +0000
  • fb201f9270 * fhandler.cc (fhandler_base::read): Remove unused signal state tweaks. * fhandler.h (fhandler_pipe::create_selectable): Declare. (fhandler_fifo::close_one_end): Declare. * fhandler_fifo.cc (fhandler_fifo::close_one_end): Define. (fhandler_fifo::open_not_mine): Use close_one_end to close appropriate end of pipe. * pinfo.cc (_pinfo::commune_recv): Ditto. * pipe.cc (fhandler_pipe::create_selectable): Rename from create_selectable_pipe. Reorganize. (fhandler_pipe::create): Use create_selectable. Christopher Faylor 2005-04-22 13:58:09 +0000
  • b13aa00489 * shared.cc (shared_info::initialize): Test previous version of shared memory magic rather than current version when determining if there has been a shared memory mismatch. Christopher Faylor 2005-04-21 23:53:49 +0000
  • 6794d79914 revert erroneous checkin Christopher Faylor 2005-04-20 20:50:57 +0000
  • c6cb7f8f01 * sigproc.cc (proc_subproc): Fix handling of waiting for pids with zero value. * strace.cc (strace::hello): Report parent pid of executing process. Christopher Faylor 2005-04-20 20:43:36 +0000
  • 2e98459145 * path.cc (path_conv::check): Fix problem reading symlinks introduced in below change by reverting the change and adding an additional test for nonexistent files in /proc. Christopher Faylor 2005-04-20 18:25:14 +0000
  • c6a00dcbb9 * pathnames.sgml (mount-table): Indicate that user-specific mounts override system-wide. Corinna Vinschen 2005-04-20 12:26:45 +0000
  • a30482a386 * utils.sgml (mount): Clarify setting cygdrive prefix for user and system-wide. Corinna Vinschen 2005-04-20 12:25:43 +0000
  • eb07f8c343 * fhandler-tut.txt: Update description to cygwin 1.5.13 Christopher Faylor 2005-04-20 04:26:34 +0000
  • 5746f4b602 * path.cc (path_conv::check): Punt when attempting to access a nonexistent directory or file in /proc. Christopher Faylor 2005-04-20 04:06:25 +0000
  • 5484689472 merge from gcc DJ Delorie 2005-04-19 19:09:30 +0000
  • 39511478d0 2005-04-19 Eric Christopher <echristo@redhat.com> Eric Christopher 2005-04-19 18:03:18 +0000
  • f24a695d08 * cygwinenv.sgml: Mention that check_case is deprecated. Corinna Vinschen 2005-04-19 14:45:54 +0000
  • 28f2a08860 * security.cc (alloc_sd): Remove DELETE bit from user's ACE if allow_traverse is set. Corinna Vinschen 2005-04-19 10:10:13 +0000
  • d02099f239 * cygwin.din (pselect): Export. * select.cc (pselect): New function. * include/cygwin/version.h: Bump API minor number. * include/sys/select.h: Include signal.h. Declare pselect. Corinna Vinschen 2005-04-19 08:32:59 +0000
  • 3b4ed14c7c gas/ChangeLog: * config/tc-i386.c (md_begin): Allow hyphens in mnemonics. include/opcode/ChangeLog: * i386.h: Insert hyphens into selected VIA PadLock extensions. Add xcrypt-ctr. Provide aliases without hyphens. opcodes/ChangeLog: * i386-dis.c: Insert hyphens into selected VIA PadLock extensions. Add xcrypt-ctr. Mark Kettenis 2005-04-18 20:59:19 +0000
  • 04843bf4a0 * fhandler.h (enum conn_state): Add connect_failed state. * fhandler_socket.cc (fhandler_socket::connect): Set connect_state to connect_failed when connect failed. * poll.cc (poll): Change errno to EINVAL if allocating memory fails, according to SUSv3. Add socket descriptors always to except_fds. Test for failed connect and set revents flags appropriately. * select.cc (set_bits): Set connect_state to connect_failed when select indicates failed nonblocking connect. (fhandler_dev_null::select_except): Set except_ready to false so that /dev/null is not always in except state. (peek_socket): Fix bogus conditional. (fhandler_socket::select_write): Treat all connect_states except unconnected equivalent to return consistent results. (fhandler_windows::select_except): Set except_ready to false so that /dev/windows is not always in except state. Corinna Vinschen 2005-04-18 18:56:52 +0000
  • 2180b9627d * include/cygwin/version.h: Bump DLL minor number to 16. Christopher Faylor 2005-04-18 17:25:04 +0000
  • 96ab3848d6 * grp.cc (initgroups32): Return the correct value. Corinna Vinschen 2005-04-18 16:03:08 +0000
  • 1c74754f17 * configure.host <cris-*-* | crisv32-*-*>: Set default_newlib_io_long_long="yes". Hans-Peter Nilsson 2005-04-18 02:52:21 +0000
  • 4a08e9bce4 Actually check in files. Christopher Faylor 2005-04-17 00:12:14 +0000
  • 73b4949a87 merge from gcc DJ Delorie 2005-04-16 21:49:07 +0000
  • 68401acd24 * fhandler_disk_file.cc (fhandler_base::utimes_fs): Ignore ERROR_NOT_SUPPORTED to workaround Win9x weirdness. * path.cc (symlink_info::check): Remap ERROR_INVALID_FUNTION to ERROR_FILE_NOT_FOUND for the same reason. Corinna Vinschen 2005-04-16 17:17:33 +0000
  • 68a3f0d34a * security.h (cygsidlist::addfromgr): Allow duplicate entries. (get_server_groups): Declare new function. * security.cc (is_group_member): Simplify. (get_server_groups): New function. (get_initgroups_sidlist): Call get_server_groups. (verify_token): Allow token when supplementary sids are not in /etc/group but are in the token. Streamline the code. * grp.cc (initgroups32): New implementation. (getgroups32): Handle case where the supplementary groups are set. Corinna Vinschen 2005-04-16 15:21:47 +0000
  • 00c05edcf1 * cygwinenv.sgml: Add new words for (no)traverse option. Corinna Vinschen 2005-04-16 13:16:25 +0000
  • 6381056b23 * environ.cc (environ_init): Don't set traverse checking as default. Corinna Vinschen 2005-04-16 13:11:40 +0000
  • 8f47adf1c6 * fhandler_disk_file.cc (fhandler_base::utimes_fs): Drop touching ChangeTime. Corinna Vinschen 2005-04-16 12:53:48 +0000
  • 06e18175e0 * fhandler.cc (fhandler::dup): Duplicate flags, too. * fhandler.h (fhandler_fifo::owner): Eliminate. * fhandler_disk_file.cc (fhandler_base::fstat_fs): Handle on-disk devices better. (fhandler_base::fstat_helper): Ditto. * fhandler_fifo.cc (fhandler_fifo::fhandler_fifo): Don't initialize obsolete "owner". (fhandler_fifo::open_not_mine): Add some debugging. Duplicate correct handle when we own it. (fhandler_fifo::open): Set flags from input, not from first pipe. Flag that fork fixup is needed. (fhandler_fifo::dup): Set errno correctly when DuplicateHandle fails. * pinfo.cc (commune_send): Add debugging for fifo. * cygwin/version.h: Bump API minor version to 127 to reflect exporting of sigrelese. Christopher Faylor 2005-04-16 05:20:01 +0000
  • f40d6122ff * syscalls.cc (setuid32): Correct debugging output. Corinna Vinschen 2005-04-15 08:19:07 +0000
  • dda0657380 * dcrt0.cc (do_global_dtors): Run DLL dtors. (__main): Don't rely on atexit to run dtors. (do_exit): Specifically call do_global_dtors here. (cygwin_exit): Ditto. * dll_init.cc (dll_global_dtors): Make global. Only run dtors once. (dll_list::init): Just set flag that dtors should be run. Don't rely on atexit. * dll_init.h (dll_global_dtors): Declare. * exceptions.cc (sigrelse): Define. * path.h (is_fs_device): New method. (is_lnk_special): Ditto. * fhandler_disk_file.cc (fhandler_disk_file::link): Use "is_lnk_special" rather than "is_lnk_symlink". * syscalls.cc (rename): Ditto. * hookapi.cc (ld_preload): Use colon as a separator rather than space. Christopher Faylor 2005-04-14 17:34:03 +0000
  • 3178cfffc8 . Christopher Faylor 2005-04-14 17:08:02 +0000
  • b04e9ddc97 merge from gcc DJ Delorie 2005-04-14 02:22:07 +0000
  • 7212bdd8fb Move entries in ChangeLog-9103 to appropriate */ChangeLog-9103. H.J. Lu 2005-04-13 17:33:48 +0000
  • bfe1ed40a8 * fhandler.h (class fhandler_socket): Remove utimes. * fhandler_socket.cc (fhandler_socket::utimes): Remove. Corinna Vinschen 2005-04-13 17:13:41 +0000
  • 4902c5bdca Move entries to appropriate ChangeLog files. H.J. Lu 2005-04-13 16:53:25 +0000
  • 7460bfd32b * cygerrno.h (__seterrno_from_nt_status): Define. Always set Win32 error code as well as errno. Use throughout where errno is set from NT status. (set_errno): Evaluate val only once. * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Fix typo in debug output. * fhandler_mem.cc (fhandler_dev_mem::open): Rely on __seterrno_from_nt_status setting Win32 error code in debug output. * fhandler_proc.cc (format_proc_uptime): Ditto. (format_proc_stat): Ditto. * fhandler_process.cc (format_process_stat): Ditto. * sysconf.cc (sysconf): Ditto. Corinna Vinschen 2005-04-13 16:41:33 +0000
  • f134945dcb * fhandler.h (fhandler_base::utimes_fs): New method. * fhandler.cc (fhandler_base::utimes): Call utimes_fs if on-disk special file. * fhandler_disk_file.cc (fhandler_disk_file::utimes): Use utimes_fs. (fhandler_base::utimes_fs): Handle on-disk device files. Christopher Faylor 2005-04-13 16:17:37 +0000
  • 726fe41807 * fhandler_disk_file.cc (fhandler_disk_file::utimes): Don't set errno if open fails, it has already been set by open. Corinna Vinschen 2005-04-13 11:07:44 +0000
  • 353d0a275c 2005-04-12 Shaun Jackman <sjackman@gmail.com> Jeff Johnston 2005-04-13 00:01:40 +0000
  • 9bbf01c6b5 2005-04-12 Paul Brook <paul@codesourcery.com> Paul Brook 2005-04-12 19:35:53 +0000
  • 48c2393632 include/opcode/ChangeLog: * i386.h (i386_optab): Mark VIA PadLock instructions as ImmExt and adjust them accordingly. gas/ChangeLog: * config/tc-i386.c (output_insn): Handle VIA PadLock instructions similar to other instructions now that they're marked as ImmExt. Mark Kettenis 2005-04-12 17:12:30 +0000
  • 2a24463d0b * autoload.cc (NtQueryVolumeInformationFile): Add. * fhandler.cc (fhandler_base::raw_write): Don't touch has_changed flag. * fhandler.h (enum change_state): Remove. (fhandler_base::status): Revert has_changed to a simple bit. (fhandler_base::fstat_helper): Add nAllocSize parameter. Rename ftCreationTime to ftChangeTime. * fhandler_disk_file.cc: Call fstat_helper with additional allocation size throughout. (fhandler_base::fstat_by_handle): Use NT native functions to get full file information on NT. Call fstat_helper with LastWriteTime as ctime, if ChangeTime is not available. (fhandler_base::fstat_by_name): Call fstat_helper with LastWriteTime as ctime. (fhandler_base::fstat_helper): Add comment. Drop special FAT handling since it's useless. Use nAllocSize for st_blocks if available. (fhandler_disk_file::touch_ctime): Only touch LastWriteTime. (fhandler_disk_file::fchmod): Set has_changed on 9x only. (fhandler_disk_file::fchown): Don't set has_changed. (fhandler_disk_file::facl): Ditto. (fhandler_disk_file::ftruncate): Ditto. (fhandler_disk_file::link): Set has_changed on 9x only and on original file only. (fhandler_base::open_fs): Don't set has_changed in O_TRUNC case. * ntdll.h (FILE_BASIC_INFORMATION): Define. (FILE_STANDARD_INFORMATION): Define. (FILE_INTERNAL_INFORMATION): Define. (FILE_EA_INFORMATION): Define. (FILE_ACCESS_INFORMATION): Define. (FILE_POSITION_INFORMATION): Define. (FILE_MODE_INFORMATION): Define. (FILE_ALIGNMENT_INFORMATION): Define. (FILE_NAME_INFORMATION): Don't define with arbitrary FileName size. (FILE_ALL_INFORMATION): Define. (FILE_INFORMATION_CLASS): Add FileAllInformation. (FILE_FS_VOLUME_INFORMATION): Define. (FS_INFORMATION_CLASS): Define. (NtQueryVolumeInformationFile): Define. Corinna Vinschen 2005-04-12 14:26:31 +0000
  • 576d455f5f * mips/array.ld, mips/cfe.ld, mips/dve.ld, mips/idt32.ld, * mips/idt64.ld, mips/idtecoff.ld, mips/idt.ld, * mips/jmr3904app-java.ld, mips/jmr3904app.ld, * mips/jmr3904dram-java.ld, mips/jmr3904dram.ld, mips/lsi.ld, * mips/nullmon.ld, mips/pmon.ld: Keep .init and .fini. Richard Sandiford 2005-04-12 08:06:40 +0000
  • e8b0558a10 Fix ChangeLog entry. Corinna Vinschen 2005-04-11 21:56:08 +0000
  • 98e103aac9 Revert previous patch. * autoload.cc (GetVolumePathNamesForVolumeNameA): Remove. * autoload.cc (GetVolumeNameForVolumeMountPointA): Add. * syscalls.cc (sync): Rewrite guid case to skip floppies also on Windows 2000. Corinna Vinschen 2005-04-11 21:54:54 +0000
  • 48d304ef5a * syscalls.cc (sync): Use renamed has_get_volume_pathnames wincap. * wincap.h (wincaps::has_get_volume_pathnames): Rename from has_guid_volumes * wincap.cc: Accomodate above rename throughout. Set to false on Windows 2000. Corinna Vinschen 2005-04-11 20:44:45 +0000
  • 7cc9282c4e merge from gcc DJ Delorie 2005-04-11 19:31:50 +0000
  • 6e75bff67d 2005-04-08 Jeff Johnston <jjohnstn@redhat.com> Jeff Johnston 2005-04-08 20:48:40 +0000
  • c400419414 * bsd_mutex.cc (msleep_cnt): Remove. (msleep_max_cnt): Remove. (msleep_arr): Remove. (class msleep_sync_array): New class to encapsulate msleep/wakeup thread synchronization. (msleep_sync): New object pointer. (msleep_init): Initialize new msleep_sync object. (_mutex): Just call msleep_sync->enter() and msleep_sync->leave() for thread synchronization. Improve debug output a bit more. (wakeup): Just call msleep_sync->wakeup(). (wakeup_all): Whitespace fix. Corinna Vinschen 2005-04-08 20:31:43 +0000
  • c07aaf0f04 * pipe.cc (fhandler_pipe::open): Remove O_CREAT limitation. Christopher Faylor 2005-04-08 19:57:36 +0000
  • 95c136c40a 2005-04-07 Shaun Jackman <sjackman@gmail.com> Jeff Johnston 2005-04-07 23:40:42 +0000
  • 9ae26f7e2e 2005-04-07 Shaun Jackman <sjackman@gmail.com> Jeff Johnston 2005-04-07 23:37:06 +0000
  • 2ecb1a58cf * syslog.cc (try_connect_guard): Remove useless conditionalized code. Corinna Vinschen 2005-04-07 20:42:20 +0000
  • 9d61c9a250 * syslog.cc: Include sys/socket.h. (try_connect_guard): New static variable. (syslogd_inited): Ditto. (syslogd_sock): Ditto. (try_connect_syslogd): New function to connect and write syslog to local syslogd. (vsyslog): Log to stderr if LOG_PERROR flag has been given to openlog. Try logging to syslogd. Use Event Log resp. log file as fallback. (closelog): Close socket to syslogd. * include/sys/syslog.h (_PATH_LOG): Define. (INTERNAL_NOPRI): Define if SYSLOG_NAMES is defined. (INTERNAL_MARK): Ditto. (struct _code): Ditto. (prioritynames): Ditto. (facilitynames): Ditto. Corinna Vinschen 2005-04-07 20:16:46 +0000
  • a5bfc68712 * fhandler_socket.cc (get_inet_addr): Add type parameter to return unix socket type. Read socket type from unix socket file. (fhandler_socket::bind): Write socket type to unix socket file. (fhandler_socket::connect): Return with errno EPROTOTYPE if socket type of socket doesn't match socket type of unix socket trying to connect to. Corinna Vinschen 2005-04-06 18:50:13 +0000
  • b62b8d7c80 * security.h (cygsidlist::addfromgr): Avoid duplicate entries. * grp.cc (initgrousp): Add syscall_printf. (setgroups): Add syscall_printf and make sure sids are added only once. Corinna Vinschen 2005-04-06 12:35:52 +0000
  • dafef5e249 * bsd_helper.cc (ipcexit_hookthread): Fix whitespace and handle leak. * bsd_mutex.cc: Include stdlib.h, sys/msg.h and sys/sem.h. (mtx_init): Initialize lock counter to 0. (_mtx_lock): Increment and log mutex lock counter. (mtx_owned): Add winpid argument. Return true only if mutex is actually owned by process winpid. (_mtx_assert): Add winpid argument accordingly. (_mtx_unlock): Log owner and lock count. (MSLEEP_MUTEX): Remove. (MSLEEP_SEM): Ditto. (MSLEEP_EVENT): Ditto. (msleep_event_name): Ditto. (msleep_cs): New global critical section. (msleep_cnt): New global variable indicating msleep record usage. (msleep_max_cnt): New global variable indicating msleep record size. (msleep_arr): New global pointer to msleep records. (msleep_init): Initialize msleep_cs. Allocate msleep_arr array. (_msleep): Rewrite using new msleep_cs/msleep_arr based thread synchronization. Don't be shy with debug output. (wakeup): Rewrite using new msleep_cs/msleep_arr based thread synchronization. * bsd_mutex.h (struct mtx): Add lock counter for better debugging. (mtx_owned): Declare with winpid argument. (_mtx_assert): Ditto. (mtx_assert): Define with winpid argument. * cygserver.cc (version): Remove. (SERVER_VERSION): New define, decoupling server version information from source code control system. (print_version): Simplify printing server version. * process.cc (process::process): Fix wrong bracketing (and handle leak). (process::~process): Only try to close _signal_arrived if valid. * sysv_sem.cc: Include sys/smallprint.h. (semundo_clear): Define with additional struct thread pointer argument. Accomodate throughout. (SEMUNDO_LOCKASSERT): Define with winpid argument. Accomodate throughout. (struct sem_undo): Define un_proc as pid_t on Cygwin. Accomodate throughout. (seminit): Improve debugging by adding the semid to the mutex name. (semget): Correctly print key value as 64 bit hex value in debug output. (semexit_myhook): Remove Cygwin specific unlocking of mutexes owned by exiting process. Keep semaphore global lock throughout whole function to avoid races. * sysv_shm.cc (GIANT_REQUIRED): Define empty on Cygwin. We know that Giant is locked. Corinna Vinschen 2005-04-06 11:11:07 +0000
  • f0fdfd3454 2005-04-06 Paolo Bonzini <bonzini@gnu.org> Paolo Bonzini 2005-04-06 06:23:22 +0000
  • 4ef6a27a5a * net.cc (cygwin_getservbyname): Return (possibly NULL) return value of dup_ent rather than assuming that tls buffer is valid. (cygwin_getservbyport): Ditto. (cygwin_gethostbyname): Ditto. (cygwin_gethostbyaddr): Ditto. Christopher Faylor 2005-04-06 05:48:55 +0000
  • 85da703991 2005-04-05 Dave Korn <dave.korn@artimi.com> Jeff Johnston 2005-04-05 18:38:09 +0000
  • 42aa06a575 * cygtls.cc (_cygtls::remove): Don't free or close stuff if we're being called in a "non-standard" way. Christopher Faylor 2005-04-05 17:13:35 +0000
  • 4385bf1240 2005-04-05 Paolo Bonzini <bonzini@gnu.org> Paolo Bonzini 2005-04-05 08:16:33 +0000
  • 2f1086cbca * sync.h (muto::initforce): Delete flawed implementation. * pwdgrp.h (pwdgrp::pglock): Make static. * grp.cc (pwdgrp::pwdgrp): Eliminate use of initforce. Christopher Faylor 2005-04-05 06:04:57 +0000
  • f45c299dbe * sync.h (muto::initforce): Force initialization even when name != NULL. * grp.cc (pwdgrp::pwdgrp): Use initforce since the enclosing structure is !NO_COPY. Christopher Faylor 2005-04-05 04:48:02 +0000
  • 322c131f9f * sync.h (muto::operator int): New operator. (locker): Remove unused class. (new_muto): Delete. (new_muto1): Ditto. (new_muto_name): Ditto. * cygheap.cc (cygheap_setup_for_child): Reflect use of static storage for muto rather than pointer. (_csbrk): Ditto. (_cmalloc): Ditto. (_cmalloc): Ditto. (_cfree): Ditto. * cygheap.h (cwdstuff::cwd_lock): Ditto. (cwdstuff::get_drive): Ditto. * cygmalloc.h (__malloc_lock): Ditto. (__malloc_unlock): Ditto. * cygtls.cc (sentry::lock): Ditto. (sentry::sentry): Ditto. (~sentry): Ditto. (_cygtls::init): Ditto. * dcrt0.cc: Ditto. (cygwin_atexit): Ditto. (cygwin_exit): Ditto. * debug.cc (lock_debug::locker): Ditto. (lock_debug::lock_debug): Ditto. (lock_debug::unlock): Ditto. (debug_init): Ditto. * dtable.cc (dtable::init_lock): Ditto. * dtable.h (dtable::lock_cs): Ditto. (dtable::lock): Ditto. (dtable::unlock): Ditto. * exceptions.cc (mask_sync): Ditto. (sighold): Ditto. (set_process_mask_delta): Ditto. (set_signal_mask): Ditto. (events_init): Ditto. * grp.cc (pwdgrp::pwdgrp): Ditto. * malloc_wrapper.cc (mallock): Ditto. (malloc_init): Ditto. * path.cc (cwdstuff::cwd_lock): Ditto. (cwdstuff::get_hash): Ditto. (cwdstuff::get_hash): Ditto. (cwdstuff::init): Ditto. (cwdstuff::set): Ditto. (cwdstuff::get): Ditto. * pwdgrp.h (pwdgrp::pglock): Ditto. (pwdgrp::refresh): Ditto. * sigproc.cc (sync_proc_subproc): Ditto. (get_proc_lock): Ditto. (proc_subproc): Ditto. (_cygtls::remove_wq): Ditto. (proc_terminate): Ditto. (sigproc_init): Ditto. * timer.cc (lock_timer_tracker::protect): Ditto. (lock_timer_tracker::lock_timer_tracker): Ditto. (lock_timer_tracker::~lock_timer_tracker): Ditto. * wininfo.cc (wininfo::_lock;): Ditto. (wininfo::winthread): Ditto. (operator HWND): Ditto. (wininfo::lock): Ditto. (wininfo::release): Ditto. * wininfo.h (wininfo::_lock;): Ditto. Christopher Faylor 2005-04-05 04:31:00 +0000
  • 82ae6271ba * path.cc (path_conv::check): Only check for PC_NO_ACCESS_CHECK in end component. Christopher Faylor 2005-04-04 16:07:36 +0000
  • 33ef35c8ad Fix typo. Andreas Schwab 2005-04-04 16:06:26 +0000
  • e6d598eee0 * dcrt0.cc (dll_crt0_1): Don't call set_cygwin_privileges on 9x. Corinna Vinschen 2005-04-04 10:26:35 +0000
  • 24e2f8b482 * include/winnt.h (SE_UNDOCK_NAME TEXT): Define. (SE_MANAGE_VOLUME_NAME TEXT): Ditto. (SE_IMPERSONATE_NAME TEXT): Ditto. (SE_ENABLE_DELEGATION_NAME TEXT): Ditto. (SE_SYNC_AGENT_NAME TEXT): Ditto. Corinna Vinschen 2005-04-03 17:47:37 +0000
  • f4a1f8a1db * cygheap.cc (cygheap_init): Accomodate set_process_privilege change. * cygheap.h (cygheap_user::curr_primary_token): New member. (cygheap_user::primary_token): New method. (cygheap_user::deimpersonate): Always revert to processes' impersonation token. (cygheap_user::reimpersonate): Set processes' or setuid token as necessary. (cygheap_user::has_impersonation_tokens): Look for curr_primary_token value. (cygheap_user::close_impersonation_tokens): Close curr_primary_token here if necessary. Don't reset token values to NO_IMPERSONATION since that's done in uinfo_init anyway. (init_cygheap::luid): New LUID array keeping privilege LUIDs. * cygtls.cc (_cygtls::init_thread): Call cygheap->user.reimpersonate. * dcrt0.cc (hProcToken): New global variable to keep process token. (hProcImpToken): Ditto for process impersonation token. (dll_crt0_0): Open process token here once. Duplicate to create hProcImpToken. (dll_crt0_1): Call set_cygwin_privileges. * environ.cc (allow_ntea): Drop duplicate declaration. (allow_smbntsec): Ditto. (set_traverse): Only set allow_traverse here. (environ_init): Ditto. * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Drop call to enable_restore_privilege. (fhandler_disk_file::fchown): Ditto. (fhandler_disk_file::facl): Ditto. * fork.cc (fork_child): Move call to cygheap->user.reimpersonate after syn with parent. Call set_cygwin_privileges. * grp.cc (internal_getgroups): Use hProcImpToken instead of opening process token. * path.cc (fs_info::update): Bypass traverse checking when retrieving volume information using push/pop_thread_privileges. * registry.cc (load_registry_hive): Drop setting restore privilege since it's already set if available. * sec_helper.cc: Include cygtls.h. (cygpriv): Privilege string array. (privilege_luid): New function, evaluate LUID from cygpriv_idx. (privilege_luid_by_name): New function, evaluate LUID from privilege string. (privilege_name): New function, evaluate privilege string from cygpriv_idx. (set_privilege): New static function called by set_process_privilege and set_thread_privilege. Call privilege_luid to get privilege LUID. Fix bug in return value evaluation. Improve debug output. (set_cygwin_privileges): New function. (set_process_privilege): Remove. (enable_restore_privilege): Remove. * security.cc (allow_traverse): New global variable. (sys_privs): Change type to cygpriv_idx and store privilege indices instead of strings. (SYSTEM_PRIVILEGES_COUNT): Renamed from SYSTEM_PERMISSION_COUNT. (get_system_priv_list): Don't use numerical constant in malloc call. Use privilege_luid to get privilege LUIDs. (get_priv_list): Call privilege_luid_by_name to get LUIDs. Improve inner privilege LUID comparison loop. (create_token): Enable create token privilege using push/pop_self_privileges. Use hProcToken instead of opening process token. Use default DACL when duplicating token. (subauth): Enable tcb privilege using push/pop_self_privileges. Use sec_none instead of homw made security attributes when duplicating token. (check_file_access): Don't duplicate access token, use active impersonation token as is. * security.h (enum cygpriv_idx): New enumeration type enumerating possible privileges. (privilege_luid): Declare new function. (privilege_luid_by_name): Ditto. (privilege_name): Ditto. (allow_traverse): Declare. (set_privilege): Declare function. (set_process_privilege): Define as macro. (enable_restore_privilege): Remove declaration. (_push_thread_privilege): Define macro. (push_thread_privilege): Ditto. (pop_thread_privilege): Ditto. (pop_self_privilege): Ditto. * spawn.cc (spawn_guts): Use cygheap->user.primary_token instead of cygheap->user.token. * syscalls.cc (statvfs): Bypass traverse checking when retrieving volume information using push/pop_thread_privileges. Rearrange code to simplify push/pop bracketing. (seteuid32): Use hProcToken instead of opening process token. Call cygheap->user.deimpersonate instead of RevertToSelf. Create impersonation token from primary internal or external token. Set cygheap->user.curr_primary_token and cygheap->user.current_token privileges once here. Drop "failed" and "failed_ptok" labels. Drop setting DefaultDacl of process token. (setegid32): Use hProcToken and hProcImpToken instead of opening process token. Always reimpersonate afterwards. * uinfo.cc (cygheap_user::init): Use hProcToken instead of opening process token. (internal_getlogin): Ditto. Set hProcImpToken, too. (uinfo_init): Initialize cygheap->user.curr_primary_token. * winsup.h (hProcToken): Declare. (hProcImpToken): Declare. Corinna Vinschen 2005-04-03 13:06:43 +0000
  • fe3e333661 Unify usage of CYG_MAX_PATH throughout. Change buffers from size CYG_MAX_PATH + 1 to CYG_MAX_PATH. Change length tests accordingly. Corinna Vinschen 2005-04-03 08:45:21 +0000
  • 5e679b1981 * include/cygwin/version.h: Bump DLL minor number to 15. Christopher Faylor 2005-04-02 21:22:52 +0000
  • 31d419c977 * fork.cc (fork_child): Add missing __stdcall. Corinna Vinschen 2005-04-01 16:52:48 +0000
  • 46390451a4 include/opcode/ 2005-04-01 Jan Beulich <jbeulich@novell.com> Jan Beulich 2005-04-01 16:03:39 +0000
  • c9f545e20f * bsd_mutex.cc (_msleep): Whitespace fix. * process.cc (process::process): Handle invalid signal_arrived values more gracefully. Corinna Vinschen 2005-04-01 15:35:47 +0000
  • d0bed66e45 * sigproc.cc (create_signal_arrive): New (temporary?) function to create signal_arrived event. (sigproc_init): Use create_signal_arrived. * fork.cc (fork_child): Create signal_arrived early. Christopher Faylor 2005-04-01 15:27:52 +0000
  • b6e69d53f6 * fork.cc (fork_child): Fixup SYSV IPC shared memory before fixing up fdtab. Corinna Vinschen 2005-04-01 11:47:00 +0000
  • fefc73a0c7 * libc/stdlib/strtod.c (_strtod_r): Never change s00. Corinna Vinschen 2005-04-01 09:54:19 +0000
  • e033f8aec0 * gentls_offsets: Add '-m32' flag to native compiler call to satisfy cross platform builds. Corinna Vinschen 2005-03-31 15:53:57 +0000
  • ecd5006bcc force checkin Christopher Faylor 2005-03-31 15:37:12 +0000
  • a1d1d8ab80 * include/_mingw.h (__MINGW_ATTRIB_NONNULL): Define. Danny Smith 2005-03-31 10:00:26 +0000
  • 12a410132d * errno.cc (NO_SYSTEM_RESOURCES): Map to EAGAIN. (NONPAGED_SYSTEM_RESOURCES): Ditto. (PAGED_SYSTEM_RESOURCES): Ditto. (WORKING_SET_QUOTA): Ditto. (PAGEFILE_QUOTA): Ditto. (COMMITMENT_LIMIT): Ditto. Corinna Vinschen 2005-03-30 22:07:20 +0000
  • 4e6c0729d1 * environ.cc (spenvs): Re-force SYSTEMROOT to always be included in environment. (build_env): Ditto. Christopher Faylor 2005-03-30 22:06:32 +0000
  • 6829b6e914 * environ.cc (spenv::retrieve): Revert most of previous change. (build_env): Ditto. Rework to track environment variables which need to always be in the windows environment in a separate array. Christopher Faylor 2005-03-30 21:35:31 +0000
  • e8cf344cf6 * path.cc (symlink_info::case_check): Ignore trailing characters in paths when comparing case. Corinna Vinschen 2005-03-30 20:01:43 +0000
  • 18ef968f40 fix typo Christopher Faylor 2005-03-30 19:43:36 +0000
  • 5b5312972a * config/mh-mingw32: Delete. * configure.in: Don't use it. * configure: Regenerate. Joern Rennecke 2005-03-30 18:36:33 +0000
  • 5b70a45665 * how-using.texinfo: Add more words to the "multiple DLL" section. Christopher Faylor 2005-03-30 17:02:00 +0000
  • 47dc3dec0a * environ.h (win_env::immediate): Declare new field. (win_env::operator = ): Declare new operator. (win_env::reset): Declare new function. (win_env::~win_env): Declare new destructor. (getwinenv): Add optional third argument to declaration. * environ.cc (conv_envvars): Accommodate immediate field. (win_env::operator =): Define new operator. (win_env::~win_env): Define new destructor. (win_env::add_cache): Add value to environment immediately if "immediate" is set. (getwinenv): Accept optional third argument which will be used to store "cached" values to avoid overwriting real cache. (spenv::force): Declare new field. (spenvs): Accommodate force field. Add "PATH=" with force set to true. (spenv::retrieve): Avoid duping anything if we're not building an envblock. (build_env): Ditto. Use size of potentially constructed new environment block to determine if we need to create an environment block. Pass getwinenv temporary storage to avoid inappropriately overwriting the environment cache. Christopher Faylor 2005-03-30 15:54:28 +0000
  • f3fd76d418 2005-02-28 Paolo Bonzini <bonzini@gnu.org> Paolo Bonzini 2005-03-30 08:39:18 +0000
  • 2e1cd25574 merge from gcc DJ Delorie 2005-03-29 19:32:15 +0000
  • ed874f87e0 gas/testsuite/ H.J. Lu 2005-03-29 19:30:46 +0000
  • 232fee428a * include/limits.h (NAME_MAX): New define. (PATH_MAX): POSIX allows PATH_MAX to include trailing NUL. Corinna Vinschen 2005-03-29 17:46:17 +0000
  • db27ea4125 * path.cc (is_floppy): Make externally available. * path.h (is_floppy): Declare. * syscalls.cc (sync): Check for floppies on A: and B: in guid case. Don't call setmntent in non-guid case but evaluate drive bit mask locally. Corinna Vinschen 2005-03-29 17:42:50 +0000
  • 72a90d496d bfd/ * bfd-in2.h, libbfd.h: Regenerated. * reloc.c: Add ARM TLS relocations. * elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS relocations. (elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto) (elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto) (elf32_arm_tls_ie32_howto): New. (elf32_arm_howto_from_type): Support TLS relocations. (elf32_arm_reloc_map): Likewise. (elf32_arm_reloc_type_lookup): Likewise. (TCB_SIZE): Define. (struct elf32_arm_obj_tdata): New. (elf32_arm_tdata, elf32_arm_local_got_tls_type): Define. (elf32_arm_mkobject): New function. (struct elf32_arm_relocs_copied): Add pc_count. (elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD) (GOT_TLS_IE): Define. (struct elf32_arm_link_hash_table): Add tls_ldm_got. (elf32_arm_link_hash_newfunc): Initialize tls_type. (elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type. (elf32_arm_link_hash_table_create): Initialize tls_ldm_got. (dtpoff_base, tpoff): New functions. (elf32_arm_final_link_relocate): Handle TLS relocations. (IS_ARM_TLS_RELOC): Define. (elf32_arm_relocate_section): Warn about TLS mismatches. (elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count. (elf32_arm_check_relocs): Detect invalid symbol indexes. Handle TLS relocations and pc_count. (elf32_arm_adjust_dynamic_symbol): Check non_got_ref. (allocate_dynrelocs): Handle TLS. Bind REL32 relocs to local calls. (elf32_arm_size_dynamic_sections): Handle TLS. (elf32_arm_finish_dynamic_symbol): Likewise. (bfd_elf32_mkobject): Define. gas/ * config/tc-arm.c (arm_parse_reloc): Add TLS relocations. (md_apply_fix3): Mark TLS symbols. (tc_gen_reloc): Handle TLS relocations. (arm_fix_adjustable): Ignore TLS relocations. (s_arm_elf_cons): Support expressions after decorated symbols. gas/testuite/ * gas/arm/tls.s, gas/arm/tls.d: New files. * gas/arm/arm.exp: Run TLS test. include/elf/ * arm.h: Add TLS relocations. ld/testsuite/ * ld-arm/tls-lib.s, ld-arm/tls-lib.d, ld-arm/tls-lib.r, ld-arm/tls-app.s, ld-arm/tls-app.d, ld-arm/tls-app.r: New files. * ld-arm/arm-lib.ld, ld-arm/arm-dyn.ld: Increase data segment alignment. * ld-arm/arm-elf.exp: Run TLS tests. Daniel Jacobowitz 2005-03-29 16:54:22 +0000