summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/release
Commit message (Collapse)AuthorAgeFilesLines
* Implement dladdr() (partially)Jon Turney2017-03-081-0/+2
| | | | | | | Note that this always returns with dli_sname and dli_saddr set to NULL, indicating no symbol matching addr could be found. Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
* Export timingsafe_bcmp and timingsafe_memcmpJon Turney2017-03-071-0/+1
| | | | Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
* Document pthread_cond_wait change in release notesCorinna Vinschen2017-03-071-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Preserve order of dlopen'd modules in dll_list::topsortnewlib-snapshot-20170228David Allsopp2017-02-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch alters the behaviour of dll_list::topsort to preserve the order of dlopen'd units. The load order of unrelated DLLs is reversed every time fork is called, since dll_list::topsort finds the tail of the list and then unwinds to reinsert items. My change takes advantage of what should be undefined behaviour in dll_list::populate_deps (ndeps non-zero and ndeps and deps not initialised) to allow the deps field to be initialised prior to the call and appended to, rather than overwritten. All DLLs which have been dlopen'd have their deps list initialised with the list of all previously dlopen'd units. These extra dependencies mean that the unwind preserves the order of dlopen'd units. The motivation for this is the FlexDLL linker used in OCaml. The FlexDLL linker allows a dlopen'd unit to refer to symbols in previously dlopen'd units and it resolves these symbols in DllMain before anything else has initialised (including the Cygwin DLL). This means that dependencies may exist between dlopen'd units (which the OCaml runtime system understands) but which Windows is unaware of. During fork, the process-level table which FlexDLL uses to get the symbol table of each DLL is copied over but because the load order of dlopen'd DLLs is reversed, it is possible for FlexDLL to attempt to access memory in the DLL before it has been loaded and hence it fails with an access violation. Because the list is reversed on each call to fork, it means that a subsequent call to fork puts the DLLs back into the correct order, hence "even" invocations of fork work! An interesting side-effect is that this only occurs if the DLLs load at their preferred base address - if they have to be rebased, then FlexDLL works because at the time that the dependent unit is loaded out of order, there is still in memory the "dummy" DONT_RESOLVE_DLL_REFERENCES version of the dependency which, as it happens, will contain the correct symbol table in the data section. For my tests, this initially appeared to be an x86-only problem, but that was only because the two DLLs on x64 should have been rebased. Signed-off-by: David Allsopp <david.allsopp@metastack.com>
* Add 2.7.1 release fileCorinna Vinschen2017-02-241-0/+14
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 609d2b2Corinna Vinschen2017-02-031-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit a1529738Jon Turney2017-01-311-0/+3
| | | | Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
* Add release message for commit 095cac4Corinna Vinschen2017-01-311-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit ca3e3bcCorinna Vinschen2017-01-201-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 4652cc4Corinna Vinschen2017-01-191-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 688d943Corinna Vinschen2017-01-141-0/+4
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 6ed4753Corinna Vinschen2017-01-121-1/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Document latest Cygwin changesCorinna Vinschen2017-01-101-0/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Export getentropy and getrandom callsCorinna Vinschen2016-12-161-0/+14
| | | | | | | | | | | | getentropy per OpenBSD http://man.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man2/getentropy.2 getrandom per Linux http://man7.org/linux/man-pages/man2/getrandom.2.html Note that GRND_NONBLOCK is not handled
* Cygwin: Add release messages for last two checkinsCorinna Vinschen2016-12-131-0/+7
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin 2.6.1: Add missing release textCorinna Vinschen2016-12-061-4/+16
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release note for commit 8a32c24Corinna Vinschen2016-11-171-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add _PC_CASE_INSENSITIVE to [f]pathconfKen Brown2016-10-211-0/+2
| | | | | | | | Update the getconf utility to support the new flag as well as _PC_POSIX_PERMISSIONS and _PC_POSIX_SECURITY. These were previously unsupported, probably as an oversight. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Don't check directories always case-insensitive in rename(2)Corinna Vinschen2016-10-191-0/+3
| | | | | | | | | | | | | | | | | | Long-standing problem in one of the corner cases of rename(2): If we rename a directory a check is performed to see if newpath is identical to oldpath or a subdir of oldpath. This check is (accidentally? no hints anywhere in ChangeLogs or code) performed case-insensitive for as long as we use Unicode paths and NT functions. This leads to the problems described in https://cygwin.com/ml/cygwin/2016-09/msg00264.html Change this to be conditional case-sensitive as all other checks but let's take this with a grain of salt. There may be corner-cases in this corner-case which require to chek parts of the path always case-insensitive. Off the top of my head I can't construct such a case but that's no proof they don't exist :} Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release msg for 5a3496cCorinna Vinschen2016-10-191-0/+13
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix passwd getting error 1265 when running on newer WindowsCorinna Vinschen2016-08-311-0/+3
| | | | | | | | | | | | | On Windows 8.1 and later, the NetUserChangePassword call apparently doesn't accept the usual "\\server" string anymore, but requires to use the "domain" instead, otherwise it emits en error code 1265, ERROR_DOWNGRADE_DETECTED. Since this is accepted by pre-8.1 as well, use the domain indiscriminately when calling NetUserChangePassword from passwd(1). While at it, do some minor cleanup in passwd.c. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 3d3ab82Yaakov Selkowitz2016-08-301-0/+3
| | | | Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Add missing LF in release textCorinna Vinschen2016-08-231-0/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Export and document strerror_l, strptime_l, wcsftime_l from CygwinCorinna Vinschen2016-08-231-6/+6
| | | | | | Bump Cygwin API minor number. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add pthread_getname_np and pthread_setname_npJon Turney2016-08-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds pthread_getname_np and pthread_setname_np. These were added to glibc in 2.12[1] and are also present in some form on NetBSD and several UNIXes. The code is based on NetBSD's implementation with changes to better match Linux behaviour. Implementation quirks: * pthread_setname_np with a NULL pointer segfaults (as linux) * pthread_setname_np returns ERANGE for names longer than 16 characters (as linux) * pthread_getname_np with a NULL pointer returns EFAULT (as linux) * pthread_getname_np with a buffer length of less than 16 returns ERANGE (as linux) * pthread_getname_np truncates the thread name to fit the buffer length. This guarantees success even when the default thread name is longer than 16 characters, but means there is no way to discover the actual length of the thread name. (Linux always truncates the thread name to 16 characters) * Changing program_invocation_short_name changes the default thread name (on linux, it has no effect on the default thread name) I'll leave it up to you to decide if any of these matter. This is implemented via class pthread_attr to make it easier to add pthread_attr_[gs]etname_np (present in NetBSD and some UNIXes) should it ever be added to Linux (or we decide we want it anyway). [1] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS
* Document nl_langinfo_l and separate POSIX from GNU extensions in release messageCorinna Vinschen2016-08-201-9/+12
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit eb61113Corinna Vinschen2016-08-191-0/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit a871644Corinna Vinschen2016-08-191-0/+4
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit c02ac89Corinna Vinschen2016-08-171-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Rephrase release messageCorinna Vinschen2016-08-161-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix typo in release messageCorinna Vinschen2016-08-161-1/+0
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release text for Cygwin 2.6.0Corinna Vinschen2016-08-152-29/+70
| | | | | | Move release/2.5.3 to release/2.6.0. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix typoCorinna Vinschen2016-07-181-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 71df3bfCorinna Vinschen2016-07-181-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Put previous doc in correct sectionEric Blake2016-07-141-3/+3
| | | | | | SSIZE_MAX was a bug fix, not a huge change. Signed-off-by: Eric Blake <eblake@redhat.com>
* Add release message for commit fe9e3b4Corinna Vinschen2016-07-141-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix 32-bit SSIZE_MAXEric Blake2016-07-141-0/+3
| | | | | | | | | | | | | | | | | | | POSIX requires that SSIZE_MAX have the same type as ssize_t, but on 32-bit, we were defining it as a long even though ssize_t resolves to an int. It also requires that SSIZE_MAX be usable via preprocessor #if, so we can't cheat and use a cast. If this were newlib, I'd have had to hack _intsup.h to probe the qualities of size_t (via gcc's __SIZE_TYPE__), similar to how we already probe the qualities of int8_t and friends, then cross our fingers that ssize_t happens to have the same rank (most systems do, but POSIX permits a system where they differ such as size_t being long while ssize_t is int). Unfortunately gcc gives us neither __SSIZE_TYPE__ nor __SSIZE_MAX__. On the other hand, our limits.h is specific to cygwin, so we can just shortcut to the correct results rather than being generic to all possible ABI. Signed-off-by: Eric Blake <eblake@redhat.com>
* Add release message for commit 82e0649Corinna Vinschen2016-07-141-0/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 8cff156Corinna Vinschen2016-07-061-1/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit b2867a6Corinna Vinschen2016-06-271-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 733af66Corinna Vinschen2016-06-231-0/+14
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 2c83227Corinna Vinschen2016-06-211-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 7239bb7b3ded5ab961dc56dc346d8ab83660ba29Corinna Vinschen2016-06-061-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for select(2) changesCorinna Vinschen2016-06-061-0/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: Add release messages for previous two commitsCorinna Vinschen2016-05-311-0/+6
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for previous mmap fixCorinna Vinschen2016-05-201-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for scheduler fixesCorinna Vinschen2016-05-201-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Bump Cygwin DLL version to 2.5.2Corinna Vinschen2016-05-181-0/+13
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 9409c53Corinna Vinschen2016-04-201-0/+4
|
* Add release message for commit e2ea143Corinna Vinschen2016-04-181-0/+4
|