summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
Commit message (Collapse)AuthorAgeFilesLines
...
* cygwin: Fix resource leak in readdir reparse point handlingCorinna Vinschen2017-07-241-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: add fflush fix to release notesCorinna Vinschen2017-07-191-0/+13
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: Bump DLL version to 2.8.3Corinna Vinschen2017-07-191-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: Use errno instead of _impure_ptr->_errnoCorinna Vinschen2017-07-191-2/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Revert "errno: Stop using _impure_ptr->_errno completely"Corinna Vinschen2017-07-193-5/+6
| | | | | | | | This reverts commit 44b1746a41921533d27aca414a9188314cb725b6. Bad idea. _impure_ptr->_errno is used by newlib Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: 2.8.2: add missing release message textcygwin-2_8_2-releaseCorinna Vinschen2017-07-121-0/+6
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: document signal.h fixesYaakov Selkowitz2017-07-121-1/+4
| | | | Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* cygwin: export fls, flsl, flsllCorinna Vinschen2017-07-113-1/+7
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: fix guard on struct siginfo_tYaakov Selkowitz2017-07-101-2/+4
| | | | | | | Add line breaks to make it clearer that the struct packing applies to more than one struct. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Rename __in and __out in headers to avoid collision with Windows APIsDavid Macek2017-07-071-1/+1
| | | | | * string.h: Local variables in expansion of strdupa and strndupa * sys/wait.h: Fields in anonymous union in expansion of __wait_status_to_int
* Add ffsl(), ffsll(), fls(), flsl(), flsll()Sebastian Huber2017-07-051-22/+0
| | | | | | | Use compiler builtin for ffs(). Remove duplicate implementation from Cygwin. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* Cygwin: fix signal.h with _POSIX_C_SOURCE=1Yaakov Selkowitz2017-07-041-0/+2
| | | | | | | | struct sigaction is POSIX.1-1990 but siginfo_t, which is used by its sa_sigaction member, is POSIX.1b-1993. Therefore it needs to be guarded as well, and as part of a union, the struct size is protected. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* add scandirat patch to release notesCorinna Vinschen2017-07-041-0/+13
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: scandirat: fix path given to scandirCorinna Vinschen2017-07-041-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Bump DLL minor versionCorinna Vinschen2017-07-041-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Note regtool fix in release messageCorinna Vinschen2017-06-221-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: readdir: Activate check for remote reparse pointsCorinna Vinschen2017-06-201-4/+5
| | | | | | Fix and move comment accordingly. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Compatibility improvements to reparse point handling.Joe_Lowe2017-06-203-36/+87
|
* cygwin: export strverscmp, add versionsortYaakov Selkowitz2017-06-195-1/+13
| | | | Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Ensure that send() interrupted by a signal returns sucessfullyErik M. Bray2017-06-191-4/+4
| | | | | | | | | | When SA_RESTART is not set on a socket, a blocking send() that is interrupted mid-transition by a signal should return success (and report just how many bytes were actually transmitted). The err variable used here was not always guaranteed to be set correctly in the loop, so better to just remove it and call WSAGetLastError() explicitly.
* cygwin: document XSI sigpauseYaakov Selkowitz2017-06-141-0/+3
| | | | Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Export XSI sigpauseYaakov Selkowitz2017-06-143-1/+15
| | | | | | | | | | There are two common sigpause variants, both of which take an int argument. If you request _XOPEN_SOURCE or _GNU_SOURCE, you get the System V version, which removes the given signal from the process's signal mask; otherwise you get the BSD version, which sets the process's signal mask to the given value. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Feature test macros overhaul: Cygwin signal.hYaakov Selkowitz2017-06-141-1/+25
| | | | | | This should match newlib's <sys/signal.h>. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* cygwin: readdir: don't lookup mount target inodesCorinna Vinschen2017-06-141-41/+30
| | | | | | | | | | | | So far Cygwin's readdir returned the inode number of a mount target in d_ino, rather than the actual inode number of the mount point in the underlying filesystem. This not only results in a performance hit if the mount target is a remote FS, it is also not done on other POSIX systems. Remove the code evaluating the mount target inode number. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* readdir() with mount point dentry, return mount point INOJoe Lowe2017-06-141-23/+10
| | | | | | | | | | | | | | | This patch fixes a minor compatibility issue w/ cygwin mount point handling in readdir(), compared to equivalent behavior of Linux and MacOS. dentry.d_ino should indicate the INO of the mount point itself, not the target volume root folder. Changed return type from readdir_check_reparse_point to uint8_t, to avoid unnecessarily being implicitly cast to and from a signed int. Renamed a related local variable "attr" to "oattr" that was eclipsing a member variable with the same name. Joe L.
* cygwin: document lrint bugfixCorinna Vinschen2017-06-071-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: Fix lrint{f,l} to return a 64 bit long on x86_64Corinna Vinschen2017-06-073-3/+9
| | | | | | | | Mingw-w64 (where the code has been taken from) has 4 byte longs independently of the architecture but x86_64 Cygwin has 64 bit longs. So use fistpll instead of fistpl on x86_64 Cygwin. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: document env var crash fixCorinna Vinschen2017-06-061-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: Fix crash if env var name starts with non-ASCII charCorinna Vinschen2017-06-061-2/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: document wcsxfrm fixCorinna Vinschen2017-06-061-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin wcsxfrm: byte swap result ourselvesCorinna Vinschen2017-06-061-8/+13
| | | | | | | | | | | | | | | | | | | | | Workaround a bug (or undocumented behaviour) in LCMapStringW: It's documented(*) that the cchDest parameter is a byte count with LCMAP_SORTKEY, but a character count otherwise. But the docs don't state what happens if you combine LCMAP_SORTKEY with LCMAP_BYTEREV. Tests indicate that LCMAP_SORTKEY treats cchDest as byte count, but then LCMAP_BYTEREV treats it as char count in the same call. So the latter swaps twice as much bytes in the destination buffer than the byte count it returns, which potentially results in writing past the end of the given output buffer. Solution: Don't specify LCMAP_BYTEREV in the LCMapStringW(LCMAP_SORTKEY) call, rather byte swap afterwards. (*) https://msdn.microsoft.com/en-us/library/windows/desktop/dd318702(v=vs.85).aspx Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix transposed lines in 2.8.1 release textJon Turney2017-04-241-2/+2
|
* Update 2.8.1 release textJon Turney2017-04-241-1/+7
|
* cygwin: add 2.8.1 release fileCorinna Vinschen2017-04-241-0/+23
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin TEST: Add nagging debug output to pinfoCorinna Vinschen2017-04-241-0/+13
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: pinfo: do not wait for setting ppid on a transitional procinfoCorinna Vinschen2017-04-241-6/+11
| | | | | | | | This leads to excessive lag when stracing processes if the inferior process checks the process table. The reason is that ppid isn't set in the procinfo memory of the dynamically loading strace itself. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: try unprivileged symlink creation on W10 1703 and laterCorinna Vinschen2017-04-241-2/+9
| | | | | | | | | | | | Add new SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE flag to CreateSymbolicLinkW call when running on W10 1703 or later. Don't do that on older versions to avoid ERROR_INVALID_PARAMETER. Preliminary, needs testing. There's an off-chance that the flag results in the same ERROR_INVALID_PARAMETER on 1703 if the developer settings are not enabled. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: wincap: handle W10 1703Corinna Vinschen2017-04-242-2/+28
| | | | | | | Add has_unprivileged_createsymlink flag and set to true on 1703 and later. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: wincap: fix evaluation of build numberCorinna Vinschen2017-04-241-0/+1
| | | | | | | | | RtlGetNtVersionNumbers returns the build number with some upper bits set for no apparent reason. The fact that RtlGetNtVersionNumbers is undocumented doesn't exactly help. Just filter out the upper WORD for now. If build numbers are in danger to become 6 digit numbers, re-evaluate.
* cygwin: remov unused winpids constructorCorinna Vinschen2017-04-241-2/+0
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix stat.st_blocks for files compressed with CompactOS methodChristian Franke2017-04-221-5/+12
| | | | | | | | Always retrieve FileCompressionInformation for non-empty files if FileStandardInformation returns 0 allocated blocks. This fixes stat.st_blocks for files compressed with CompactOS method. Signed-off-by: Christian Franke <franke@computer.org>
* newlib: remove __infinity{f,ld} constantsCorinna Vinschen2017-04-181-0/+5
| | | | | | | | | | | | | | | previous commit 4c90db7bc89e7fa1077025fefdd58269dc71a6ac introduced a compile time error because libm/common/s_infconst.c used the remove __fmath, __dmath, and __ldmath union types. Since this is very old, and unused for a very long time, just drop the file and thus the __infinity constants entirely. Exception: Cygwin exports __infinity from the beginning. There's a very, VERY low probability that any existing executable or lib still uses this constant, but we just keep it in for backward compat, nevertheless. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Avoid decimal point localization in /proc/loadavgJon Turney2017-04-101-3/+8
| | | | | | | | Explicitly format the contents of /proc/loadavg to avoid the decimal point getting localized according to LC_NUMERIC. Using anything other than '.' is wrong and breaks top. Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
* mkvers.sh: Remove "function" to avoid dash objecting to bash-ism.Mark Geisert2017-04-061-1/+1
|
* Cygwin: Export reallocarrayCorinna Vinschen2017-04-042-1/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Bump Cygwin to 2.8.1Corinna Vinschen2017-04-041-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add latest changes to Cygwin release informationCorinna Vinschen2017-03-281-0/+8
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Change CURR_SHARED_MAGIC to account for getloadavg patchCorinna Vinschen2017-03-281-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Implement getloadavg()Jon Turney2017-03-2710-4/+239
| | | | | | | | | | | | | | | v2: autoload PerfDataHelper functions Keep loadavg in shared memory Guard loadavg access by a mutex Initialize loadavg to the current load v3: Shared memory version bump isn't needed if we are only extending it Remove unused autoload Mark inititalized flags as NO_COPY for correct behaviour in fork child Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
* declaration of ppoll() by poll.h should be guarded by _GNU_SOURCEJon Turney2017-03-271-0/+2
| | | | Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>