libc/winsup/cygwin
David Allsopp 226f69422a Preserve order of dlopen'd modules in dll_list::topsort
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>
2017-02-28 16:12:03 +01:00
..
include Bump Cygwin version to 2.7.1 2017-02-24 20:51:50 +01:00
lib Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
libc Move getentropy/getrandom into own file 2017-01-19 20:58:06 +01:00
math Avoid truncating from long double to double in sinhl(). 2016-08-22 14:18:39 +02:00
regex regex: Fix typo in CHaddrange 2016-11-24 16:09:31 +01:00
release Preserve order of dlopen'd modules in dll_list::topsort 2017-02-28 16:12:03 +01:00
DevNotes * DevNotes: Add entry cgf-000026. 2014-04-26 17:38:22 +00:00
Makefile.in fix parallel build for version.cc and winver.o 2017-02-16 21:14:39 +01:00
ROADMAP
aclocal.m4 * i686.din: New file. 2013-04-30 23:43:08 +00:00
advapi32.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
analyze_sigfe Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
assert.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
autogen.sh ChangeLog: 2012-11-23 13:22:47 +00:00
autoload.cc Drop autoloading transaction functions from ntdll 2016-06-24 21:07:39 +02:00
automode.c Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
binmode.c Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
child_info.h Clarify setting of child_info::msv_count in child_info.h 2016-06-25 10:21:45 +02:00
collate.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
common.din Export getentropy and getrandom calls 2016-12-16 23:10:19 +01:00
config.h.in Remove remnants of never-defined MALLOC_DEBUG and NEWVFORK 2016-04-01 13:53:25 +02:00
configure Rename without-mingw-progs to with-cross-bootstrap 2016-04-04 16:39:41 +02:00
configure.ac Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cpuid.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
crt0.c Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
ctype.cc Drop global __ctype_ptr__ entirely in favor of using locale_t::ctype_ptr 2016-08-25 14:18:31 +02:00
cxx.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygerrno.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygheap.cc Consolidate wctomb/mbtowc calls for POSIX-1.2008 2016-08-15 10:56:57 +02:00
cygheap.h Consolidate wctomb/mbtowc calls for POSIX-1.2008 2016-08-15 10:56:57 +02:00
cygheap_malloc.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cyglsa.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygmagic Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygmalloc.h Only define __getreent inline function when building newlib or Cygwin 2016-08-20 17:14:55 +02:00
cygserver.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygserver_ipc.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygserver_msg.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygserver_pwdgrp.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygserver_sem.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygserver_setpwd.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygserver_shm.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygthread.cc Send thread names to debugger 2016-08-23 15:07:42 +01:00
cygthread.h Remove leftover useless copyright hints 2016-06-25 13:36:52 +02:00
cygtls.cc Remove CYGWIN=detect_bloda option 2016-06-25 00:43:01 +02:00
cygtls.h Remove redundant macro and function called `__getreent' 2016-07-27 14:00:30 +02:00
cygtls_padsize.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygwait.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygwait.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygwin-cxx.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygwin-shilka
cygwin.ldif * Makefile.in (install): Add install-ldif target. 2014-11-26 19:46:59 +00:00
cygwin.sc.in * cygwin.sc.in: (Temporarily?) workaround serious ld bug which 2014-04-08 14:13:59 +00:00
cygwin_version.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygxdr.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
cygxdr.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
dcrt0.cc Send thread names to debugger 2016-08-23 15:07:42 +01:00
debug.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
debug.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
devices.cc Handle up to 63 partitions per drive 2016-06-23 16:56:41 +02:00
devices.h Remove leftover useless copyright hints 2016-06-25 13:36:52 +02:00
devices.in Handle up to 63 partitions per drive 2016-06-23 16:56:41 +02:00
dir.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
dlfcn.cc dlopen: on x/lib search x/bin if exe is in x/bin 2016-09-08 13:36:32 +02:00
dll_init.cc Preserve order of dlopen'd modules in dll_list::topsort 2017-02-28 16:12:03 +01:00
dll_init.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
dllfixdbg Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
dtable.cc Fix various OS-related comments 2016-06-24 23:32:39 +02:00
dtable.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
environ.cc Move the core environment parsing of environ_init into a new win32env_to_cygenv function. 2017-01-10 16:24:50 +01:00
environ.h Move the core environment parsing of environ_init into a new win32env_to_cygenv function. 2017-01-10 16:24:50 +01:00
errno.cc Implement missing POSIX-1.2008 function strerror_l 2016-08-23 17:51:14 +02:00
exception.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
exceptions.cc Remove redundant check for NULL pointer in cygwin_exception::dump_exception 2016-11-24 14:46:57 +01:00
exec.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
external.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fcntl.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fenv.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler.cc Cygwin: Add IUTF8 termios iflag 2017-01-31 15:36:24 +01:00
fhandler.h Cygwin: Add IUTF8 termios iflag 2017-01-31 15:36:24 +01:00
fhandler_clipboard.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_console.cc Cleanup fhandler_console::read for readability 2017-01-19 21:58:05 +01:00
fhandler_dev.cc Handle up to 63 partitions per drive 2016-06-23 16:56:41 +02:00
fhandler_disk_file.cc Fix various OS-related comments 2016-06-24 23:32:39 +02:00
fhandler_dsp.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_fifo.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_floppy.cc fhandler_dev_floppy::get_drive_info: fix comment 2016-06-24 21:56:34 +02:00
fhandler_mailslot.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_netdrive.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_nodevice.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_proc.cc Handle up to 63 partitions per drive 2016-06-23 16:56:41 +02:00
fhandler_process.cc Add a /proc/<pid>/environ proc file handler, analogous to /proc/<pid>/cmdline. 2017-01-10 16:24:50 +01:00
fhandler_procnet.cc Drop has_gaa_on_link_prefix flag and remove obsolete functions thusly 2016-06-23 22:18:42 +02:00
fhandler_procsys.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_procsysvipc.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_random.cc Define RtlGenRandom correctly in ntsecapi.h wrapper 2016-12-14 14:14:28 +01:00
fhandler_raw.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_registry.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_serial.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_socket.cc Define RtlGenRandom correctly in ntsecapi.h wrapper 2016-12-14 14:14:28 +01:00
fhandler_tape.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_termios.cc Cygwin: Add IUTF8 termios iflag 2017-01-31 15:36:24 +01:00
fhandler_tty.cc Add comments to intentional switch fallthroughs 2016-11-24 10:51:32 +01:00
fhandler_virtual.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_virtual.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_windows.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
fhandler_zero.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
flock.cc Drop autoloading of CancelSynchronousIo 2016-06-24 21:07:39 +02:00
fork.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
gcrt0.c Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
gendef Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
gendevices Handle up to 63 partitions per drive 2016-06-23 16:56:41 +02:00
gentls_offsets Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
glob.cc * common.din (issetugid): Export. 2015-03-03 12:58:34 +00:00
glob_pattern_p.cc
globals.cc Remove CYGWIN=detect_bloda option 2016-06-25 00:43:01 +02:00
gmon.c Throughout Cygwin, use u_intN_t or uintN_t 2016-03-24 16:39:15 +01:00
gmon.h Throughout Cygwin, use u_intN_t or uintN_t 2016-03-24 16:39:15 +01:00
grp.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
heap.cc Fix various OS-related comments 2016-06-24 23:32:39 +02:00
heap.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
hires.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
hookapi.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
how-autoload-works.txt Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
how-cygheap-works.txt Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
how-cygtls-works.txt Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
how-fhandlers-work.txt Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
how-signals-work.txt Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
how-spawn-works.txt
how-startup-shutdown-works.txt Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
how-to-debug-cygwin.txt Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
how-vfork-works.txt
i686.din Add missing long double functions to Cygwin 2016-03-29 14:43:55 +02:00
init.cc Make sure alloca is called even when optimizing, fully init _REENT 2016-08-15 10:56:58 +02:00
ioctl.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
ipc.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
kernel32.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
lc_era.h
lc_msg.h Regenerate Cygwin locale message info 2015-11-18 19:09:47 +01:00
ldap.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
ldap.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
libstdcxx_wrapper.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
localtime.cc TZ: Replace unreliable isupper calls on wchars 2016-05-25 12:13:03 +02:00
lsearch.cc
malloc.cc Only define __getreent inline function when building newlib or Cygwin 2016-08-20 17:14:55 +02:00
malloc_wrapper.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
math.h Add missing long double functions to Cygwin 2016-03-29 14:43:55 +02:00
mcount.c Throughout Cygwin, use u_intN_t or uintN_t 2016-03-24 16:39:15 +01:00
mcountFunc.S * Makefile.in (VPATH): Drop CONFIG_DIR. 2013-06-18 09:45:37 +00:00
miscfuncs.cc miscfuncs.cc: Revert exclusion of inclusion of exception.h 2017-01-19 21:51:38 +01:00
miscfuncs.h Simplify check for Alt-Numpad 2017-01-19 21:42:10 +01:00
mkglobals_h mkglobals_h: Handle CRLF earlier. 2015-08-17 11:05:43 +02:00
mkimport * Merge in cygwin-64bit-branch. 2013-04-23 09:44:36 +00:00
mkstatic
mktemp.cc * Makefile.in (DLL_OFILES): Add arc4random.o. 2013-05-21 19:04:49 +00:00
mkvers.sh Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
mmap.cc Handle up to 63 partitions per drive 2016-06-23 16:56:41 +02:00
mmap_helper.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
mount.cc Fix various OS-related comments 2016-06-24 23:32:39 +02:00
mount.h Remove support for SUNWNFS file system 2016-06-23 21:30:15 +02:00
msg.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
mtinfo.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
net.cc Fix limited Internet speeds caused by inappropriate socket buffering 2017-02-03 21:51:45 +01:00
netdb.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
nfs.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
nfs.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
nlsfuncs.cc Reference __global_locale only via __get_global_locale. 2016-08-23 12:38:28 +02:00
ntdll.h Define RtlGenRandom correctly in ntsecapi.h wrapper 2016-12-14 14:14:28 +01:00
ntea.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
ntsecapi.h Define RtlGenRandom correctly in ntsecapi.h wrapper 2016-12-14 14:14:28 +01:00
passwd.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
path.cc FAST_CWD: adjust the initial search scope 2017-01-12 09:10:30 +01:00
path.h Eliminate unused parameter from path_conv::eq_worker 2016-11-24 15:06:05 +01:00
pathfinder.h dlopen (pathfinder): try each basename per dir 2016-09-08 13:36:31 +02:00
perprocess.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
pinfo.cc Fix formatting in pinfo.cc 2017-01-10 16:38:01 +01:00
pinfo.h Add a _pinfo.environ() method analogous to _pinfo.cmdline(), and others. 2017-01-10 16:24:50 +01:00
pipe.cc Remove leftover useless copyright hints 2016-06-25 13:36:52 +02:00
poll.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
posix_ipc.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
profil.c Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
profil.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
pseudo-reloc.cc Silent relocation truncations considered harmful 2016-02-17 10:55:28 +01:00
pthread.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
pwdgrp.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
quotactl.cc Handle up to 63 partitions per drive 2016-06-23 16:56:41 +02:00
random.cc Only define __getreent inline function when building newlib or Cygwin 2016-08-20 17:14:55 +02:00
registry.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
registry.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
regparm.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
resource.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
scandir.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
sched.cc Use PROCESS/THREAD_QUERY_LIMITED_INFORMATION where appropriate 2016-06-27 17:56:16 +02:00
sec_acl.cc Simplify "Windows-standard-like" permissions 2016-08-19 16:50:15 +02:00
sec_auth.cc Don't free statically allocated sys_privs 2017-01-09 14:02:19 +01:00
sec_helper.cc Fix various OS-related comments 2016-06-24 23:32:39 +02:00
sec_posixacl.cc Revamp acl_extended_fd/acl_extended_file to avoid open(2) call 2016-03-10 10:36:00 +01:00
sec_posixacl.h Implement POSIX.1e ACL functions 2016-03-08 13:56:40 +01:00
security.cc Simplify "Windows-standard-like" permissions 2016-08-19 16:50:15 +02:00
security.h Fix outdated S_JUSTCREATED comment 2016-08-19 16:27:07 +02:00
select.cc Simplify check for Alt-Numpad 2017-01-19 21:42:10 +01:00
select.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
sem.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
setlsapwd.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
shared.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
shared_info.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
shm.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
signal.cc Don't allow sending invalid signals from user space 2016-11-24 14:24:07 +01:00
sigproc.cc Add comments to intentional switch fallthroughs 2016-11-24 10:51:32 +01:00
sigproc.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
smallprint.cc Add comments to intentional switch fallthroughs 2016-11-24 10:51:32 +01:00
sortdin
spawn.cc No longer support "Interact with desktop" 2016-06-25 00:42:36 +02:00
speclib * Merge in cygwin-64bit-branch. 2013-04-23 09:44:36 +00:00
spinlock.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
strace.cc strace: Make sure strace timer isn't copied to child process 2016-07-06 19:12:59 +02:00
strfuncs.cc Move string functions from miscfunc.cc to strfuncs.cc 2017-01-19 21:02:16 +01:00
string.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
strsep.cc
strsig.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
sync.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
sync.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
syscalls.cc rename: Refactor "new file already exists and rename fails" case 2017-01-12 22:42:11 +01:00
sysconf.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
syslog.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
termios.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
textmode.c Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
textreadmode.c Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
thread.cc Send thread names to debugger 2016-08-23 15:07:42 +01:00
thread.h Add pthread_getname_np and pthread_setname_np 2016-08-23 15:07:42 +01:00
timer.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
times.cc Use PROCESS/THREAD_QUERY_LIMITED_INFORMATION where appropriate 2016-06-27 17:56:16 +02:00
tls_pbuf.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
tls_pbuf.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
tlsoffsets.h Fix original stack when running signal handler on alternate stack 2015-07-04 22:49:30 +02:00
tlsoffsets64.h Fix original stack when running signal handler on alternate stack 2015-07-04 22:49:30 +02:00
tmpbuf.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
tty.cc Handle up to 63 partitions per drive 2016-06-23 16:56:41 +02:00
tty.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
tz_posixrules.h
uinfo.cc Workaround AzureAD shortcomings 2016-08-18 10:27:28 +02:00
uname.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
update-copyright * fhandler_tty.cc: Revert accidental checkin. 2013-07-31 15:19:18 +00:00
userinfo.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
vstrlist.h dlopen: switch to new pathfinder class 2016-09-08 13:36:29 +02:00
wait.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
wchar.h Consolidate wctomb/mbtowc calls for POSIX-1.2008 2016-08-15 10:56:57 +02:00
wincap.cc Drop max_sys_priv wincap 2016-06-24 21:00:04 +02:00
wincap.h Drop max_sys_priv wincap 2016-06-24 21:00:04 +02:00
window.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
winf.cc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
winf.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
wininfo.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
winlean.h Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
winsup.h Remove unused GetTickCount_ns 2016-06-24 23:33:01 +02:00
winver.rc Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option 2016-06-23 10:09:17 +02:00
x86_64.din Add missing long double functions to Cygwin 2016-03-29 14:43:55 +02:00