summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Cygwin: stat: fix st_mode of fifosCorinna Vinschen2020-01-291-2/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: remove CYGWIN=dos_file_warning optionCorinna Vinschen2020-01-289-49/+14
| | | | | | | This option has been disabled long ago and nobody missed it. Removing drops a bit of unneeded code Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: FIFO: fstatvfs: use our handle if O_PATH is setKen Brown2020-01-281-0/+8
| | | | | | | | If O_PATH is set, then the fhandler_fifo object has a handle that can be used for getting the statvfs information. Use it by calling fhandler_base::fstatvfs_by_handle. Before this change, fhandler_disk_file::fstatfvs was called on a new fhandler_disk_file object, which would then have to be opened.
* Cygwin: fhandler_disk_file::fstatvfs: refactorKen Brown2020-01-282-6/+17
| | | | | | | | | Define a new method fhandler_base::fstatvfs_by_handle, extracted from fhandler_disk_file::fstatvfs, which gets the statvfs information when a handle is available. This will be used in future commits for special files that have been opened with O_PATH.
* Cygwin: fhandler_base::fstat_fs: accomodate the O_PATH flagKen Brown2020-01-281-1/+1
| | | | | | | | | | | | | Treat a special file opened with O_PATH the same as a regular file, i.e., use its handle to get the stat information. Before this change, fstat_fs opened the file a second time, with the wrong flags and without closing the existing handle. A side effect was to change the openflags of the file, possibly causing further system calls to fail. Currently this change only affects FIFOs, but it will affect AF_LOCAL/AF_UNIX sockets too once they support O_PATH.
* Cygwin: symlink/mknod: fix ACL handlingCorinna Vinschen2020-01-283-55/+57
| | | | | | | | | | | | | | mknod32 actually creates a path_conv, just to call mknod_worker with a win32 path. This doesn't only require to create path_conv twice, it also breaks permissions on filesystems supporting ACLs. Fix this by passing the path_conv created in the caller down to symlink_worker. Also, while at it, simplify the handling of trailing slashes and move it out of symlink_worker. Especially use the new PC_SYM_NOFOLLOW_DIR flag to avoid fiddeling with creating a new path copy without the trailing slash. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: path_conv: add PC_SYM_NOFOLLOW_DIR flagCorinna Vinschen2020-01-282-7/+21
| | | | | | | | | | | | | Usually a trailing slash requires to follow an existing symlink, even with PC_SYM_NOFOLLOW. The reason is that "foo/" is equivalent to "foo/." so the symlink is in fact not the last path component, "." is. This is default for almost all scenarios. PC_SYM_NOFOLLOW_DIR now allows the caller to request not to follow the symlink even if a trailing slash is given. This can be used in callers to perform certain functions Linux-compatible. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: add short comments to path_conv optionsCorinna Vinschen2020-01-281-12/+13
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: drop __stdcall from close_all_filesCorinna Vinschen2020-01-282-2/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: move chmod_device declaration to winsup.hCorinna Vinschen2020-01-283-2/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: pty: Revise code waiting for forwarding again.Takashi Yano2020-01-284-6/+34
| | | | | | - After commit 6cc299f0e20e4b76f7dbab5ea8c296ffa4859b62, outputs of cygwin programs which call both printf() and WriteConsole() are frequently distorted. This patch fixes the issue.
* Cygwin: console: Share readahead buffer within the same process.Takashi Yano2020-01-285-55/+110
| | | | | | | | | - The cause of the problem reported in https://www.cygwin.com/ml/cygwin/2020-01/msg00220.html is that the chars input before dup() cannot be read from the new file descriptor. This is because the readahead buffer (rabuf) in the console is newly created by dup(), and does not inherit from the parent. This patch fixes the issue.
* Cygwin: FIFO: tweak fcntl and dup when O_PATH is setKen Brown2020-01-241-1/+4
| | | | | fhandler_fifo::fcntl and fhandler_fifo::dup now call the corresponding fhandler_base methods if the FIFO was opened with the O_PATH flag.
* Cygwin: re-implement fhandler_fifo::open with O_PATHKen Brown2020-01-241-8/+2
| | | | | | | | | If the O_PATH flag is set, fhandler_fifo::open now simply calls fhandler_base::open_fs. The previous attempt to handle O_PATH in commit aa55d22c, "Cygwin: honor the O_PATH flag when opening a FIFO", fixed a hang but otherwise didn't do anything useful.
* Cygwin: device_access_denied: return false if O_PATH is setKen Brown2020-01-241-0/+3
| | | | | | | | | | If O_PATH is set in the flags argument of fhandler_base::device_access_denied, return false. No read/write/execute access should be required in this case. Previously, the call to device_access_denied in open(2) would lead to an attempt to open the file with read access even if the O_PATH flag was set.
* Cygwin: Bump DLL version to 3.1.3Corinna Vinschen2020-01-241-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* fhandler_proc.cc:format_proc_cpuinfo add rdpru flagBrian Inglis2020-01-231-0/+1
| | | | | | | | rdpru flag is cpuid xfn 80000008 ebx bit 4 added in linux 5.5; see AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions https://www.amd.com/system/files/TechDocs/24594.pdf#page=329 and elsewhere in that document
* Cygwin: pty: Remove close() call just before reopening slave.Takashi Yano2020-01-231-1/+0
| | | | | | - After commit da4ee7d60b9ff0bcdc081609a4467adb428d58e6, the issue reported in https://www.cygwin.com/ml/cygwin/2020-01/msg00209.html occurs. This patch fixes the issue.
* add pseudo console fixes to release textnewlib-3.3.0Corinna Vinschen2020-01-221-3/+9
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: pty: Introduce disable_pcon in environment CYGWIN.Takashi Yano2020-01-224-0/+10
| | | | | | - For programs which does not work properly with pseudo console, disable_pcon in environment CYGWIN is introduced. If disable_pcon is set, pseudo console support is disabled.
* Cygwin: pty: Fix reopening slave in push_to_pcon_screenbuffer().Takashi Yano2020-01-221-12/+19
| | | | | | | | - For programs compiled with -mwindows option, reopening slave is needed in push_to_pcon_screenbuffer(), however, it was not at appropriate place. This causes the problem reported in https://www.cygwin.com/ml/cygwin/2020-01/msg00161.html. This patch fixes the issue.
* Bump up newlib release to 3.3.0Jeff Johnston2020-01-21109-1083/+1083
|
* Change the reent verify check option to document disabling itJeff Johnston2020-01-213-5/+5
| | | | | | - also change the handling of default_newlib_reent_check_verify to be the same as other default variables in configure.host - regenerate newlib/configure
* Default newlib_reent_check_verify to yes in configure.hostJeff Johnston2020-01-211-3/+3
|
* Cygwin: pty: Revise code waiting for forwarding by master_fwd_thread.Takashi Yano2020-01-213-4/+13
| | | | | | - Though this rarely happens, sometimes the first printing of non- cygwin process does not displayed correctly. To fix this issue, the code for waiting for forwarding by master_fwd_thread is revised.
* riscv: Map between ieeefp.h exception bits and RISC-V FCSR bitsKeith Packard2020-01-211-3/+37
| | | | | | | | If we had architecture-specific exception bits, we could just set them to match the processor, but instead ieeefp.h is shared by all targets so we need to map between the public values and the register contents. Signed-off-by: Keith Packard <keithp@keithp.com>
* riscv: Add 'break' statements to fpsetround switchKeith Packard2020-01-211-4/+4
| | | | | | | | This makes the fpsetround function actually do something rather than just return -1 due to the default 'fall-through' behavior of the switch statement. Signed-off-by: Keith Packard <keithp@keithp.com>
* riscv: Use current pseudo-instructions to access the FCSR registerKeith Packard2020-01-211-2/+2
| | | | | | | Use fscsr and frcsr to store and read the FCSR register instead of fssr and frsr. Signed-off-by: Keith Packard <keithp@keithp.com>
* Cygwin: document recent changesKen Brown2020-01-202-3/+31
|
* Cygwin: fstatat, fchownat: support the AT_EMPTY_PATH flagKen Brown2020-01-201-6/+41
| | | | | | | | Following Linux, allow the pathname argument to be an empty string if the AT_EMPTY_PATH flag is specified. In this case the dirfd argument can refer to any type of file, not just a directory, and the call operates on that file. In particular, dirfd can refer to a symlink that was opened with O_PATH | O_NOFOLLOW.
* Cygwin: readlinkat: allow pathname to be emptyKen Brown2020-01-171-2/+17
| | | | | | | Following Linux, allow the pathname argument to be an empty string, provided the dirfd argument refers to a symlink opened with O_PATH | O_NOFOLLOW. The readlinkat call then operates on that symlink.
* Cygwin: allow opening a symlink with O_PATH | O_NOFOLLOWKen Brown2020-01-171-1/+1
| | | | | Up to now, opening a symlink with O_NOFOLLOW fails with ELOOP. Following Linux, allow this to succeed if O_PATH is also specified.
* Cygwin: normalize_win32_path: allow drive without trailing backslashKen Brown2020-01-172-1/+5
| | | | | | | | | | | | | | Commit 283cb372, "Cygwin: normalize_win32_path: improve error checking", required a prefix '\\?\' or '\??\' in the source path to be followed by 'UNC\' or 'X:\', where X is a drive letter. That was too restrictive, since it disallowed the paths '\\?\X: and '\??\X:'. This caused problems when a user tried to use the root of a drive as the Cygwin installation root, as reported here: https://cygwin.com/ml/cygwin/2020-01/msg00111.html Modify the requirement so that '\??\X:' and '\\?\X:' are now allowed as source paths, without a trailing backslash.
* Cygwin: pty: Fix state mismatch caused in octave gui.Takashi Yano2020-01-171-0/+9
| | | | | | - In octave gui, sometimes state mismatch between real pty state and state variable occurs. For example, this occurs when 'ls' command is executed in octave gui. This patch fixes the issue.
* Cygwin: pty: Set console code page only if pseudo console is enabled.Takashi Yano2020-01-141-9/+12
| | | | | | - Input UTF-8 chars are garbled in ConEmu with cygwin connector if the environment does not support pseudo console. This patch fixes the issue.
* Cygwin: pty: Disable FreeConsole() on close for non cygwin process.Takashi Yano2020-01-143-4/+16
| | | | | | | | | | | | - After commit e1a0775dc0545b5f9c81b09a327fc110c538b7b4, the problem reported in https://www.cygwin.com/ml/cygwin/2020-01/msg00093.html occurs. For Gnu scren and tmux, calling FreeConsole() on pty close is necessary. However, if FreeConsole() is called, cygwin setup with '-h' option does not work. Therefore, the commit e1a0775dc0545b5f9c81b09a327fc110c538b7b4 delayed closing pty. This is the cause of the problem above. Now, instead of delaying pty close, FreeConsole() is not called if the process is non cygwin processes such as cygwin setup.
* Cygwin: console: Add code to restore console mode on close.Takashi Yano2020-01-141-0/+21
| | | | | | | | - The console with 24bit color support has a problem that console mode is changed if cygwin process is executed in cmd.exe which started in cygwin shell. For example, cursor keys become not working if bash -> cmd -> true are executed in this order. This patch fixes the issue.
* Cygwin: console: Add workaround for broken CSI3J in Win10 1809.Takashi Yano2020-01-143-1/+54
| | | | | | | - In Win10 1809, the cursor position sometimes goes out of screen by clear command in console. This seems to be caused by escape sequence CSI3J (ESC[3J). This happens only for 1809. This patch is a workaround for the issue.
* Cygwin: console: Disable xterm mode for non cygwin process only.Takashi Yano2020-01-144-30/+32
| | | | | | | - Special function keys such as arrow keys or function keys do not work in ConEmu with cygwin-connector after commit 6a06c6bc8f8492ea09aa3ae180fe94e4ac265611. This patch fixes the issue.
* Cygwin: pty: Add missing CloseHandle() calls.Takashi Yano2020-01-142-2/+27
| | | | | | | - PTY code which support pseudo console has a problem that causes handle leaks. Four of these are bug in pty code, and the other one seems to be a bug of Windows10. ClosePseudoConsole() fails to close one internal handle. This patch fixes the issue.
* Cygwin: pty: Fix the issue regarding open and close multiple PTYs.Takashi Yano2020-01-141-4/+11
| | | | | | - If two PTYs are opened in the same process and the first one is closed, the helper process for the first PTY remains running. This patch fixes the issue.
* Cygwin: select: Speed up select() call for pty, pipe and fifo.Takashi Yano2020-01-132-3/+13
| | | | | | | | | | | | - The slowing down issue of X11 forwarding using ssh -Y, reported in https://www.cygwin.com/ml/cygwin/2019-12/msg00295.html, is due to the change of select() code for pty in the commit 915fcd0ae8d83546ce135131cd25bf6795d97966. cygthread::detach() takes at most about 10msec because Sleep() is used in the thread. For this issue, this patch uses cygwait() instead of Sleep() and introduces an event to abort the wait. For not only pty, but pipe and fifo also have the same problem potentially, so this patch applies same strategy to them as well.
* Cygwin: console: Make suspending process work properly.Takashi Yano2020-01-131-0/+2
| | | | | | - After commit f4b47827cf87f055687a0c52a3485d42b3e2b941, suspending process by Ctrl-Z does not work in console and results in hang up. This patch fixes the issue.
* Cygwin: pty: Revise the code for setting code page of pseudo console.Takashi Yano2020-01-132-27/+28
| | | | | - Fix the problem which overrides the code page setting, reported in https://www.cygwin.com/ml/cygwin/2019-12/msg00292.html.
* Cygwin: pty: Remove destructor for fhandler_pty_master class.Takashi Yano2020-01-132-10/+0
| | | | | - The destructor for fhandler_pty_master class does not seem to be necessary anymore. Therefore, it has been removed.
* Fixed crash on wine by adding NULL check after memchrArseniy Lartsev2020-01-131-0/+2
| | | | | This is not a joke, there are vendors out there who build software for cygwin only. Besides, this NULL check is good to have anyway.
* Cygwin: Add missing Linux #define of CPU_SETSIZEMark Geisert2020-01-132-0/+6
| | | | | | | | | Though our implementation of cpu sets doesn't need it, software from Linux environments expects this definition to be present. It's documented on the Linux CPU_SET(3) man page but was left out due to oversight. Addresses https://cygwin.com/ml/cygwin/2019-12/msg00248.html
* Prevent more NULL ptr accesses due to Balloc out of memoryJeff Johnston2020-01-093-9/+9
| | | | - fix gdtoa-gethex.c, ldtoa.c, and strtodg.c to use eBalloc
* Bump up release to 3.2.0 for yearly snapshotnewlib-snapshot-20200102newlib-3.2.0Jeff Johnston2020-01-02111-1094/+1111
|
* doc: add more details about adding documentation to HOWTOJon Turney2019-12-291-2/+4
| | | | | Add a little more detail to the checklist for adding documentation Also update the list of supported sections