From 03ac0afe48a32d1afc954dc97c67ab2f2134cb4a Mon Sep 17 00:00:00 2001
From: Christopher Faylor <me@cgf.cx>
Date: Wed, 5 Jul 2006 15:59:39 +0000
Subject: [PATCH] * sortdin: New program. * cygwin.din: Sort.

---
 winsup/cygwin/ChangeLog  |   5 +
 winsup/cygwin/cygwin.din | 413 +++++++++++++++++++--------------------
 winsup/cygwin/sortdin    |  35 ++++
 3 files changed, 246 insertions(+), 207 deletions(-)
 create mode 100755 winsup/cygwin/sortdin

diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 0d72da3cb..7b3d44f8e 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2006-07-05  Christopher Faylor  <cgf@timesys.com>
+
+	* sortdin: New program.
+	* cygwin.din: Sort.
+
 2006-07-05  Corinna Vinschen  <corinna@vinschen.de>
 
 	* fhandler.h (fhandler_socket::wait): Reset default timeout to 10ms.
diff --git a/winsup/cygwin/cygwin.din b/winsup/cygwin/cygwin.din
index bed0c6d1d..7a472a1d7 100644
--- a/winsup/cygwin/cygwin.din
+++ b/winsup/cygwin/cygwin.din
@@ -4,7 +4,6 @@ EXPORTS
 __argc DATA
 __argv DATA
 __check_rhosts_file DATA
-_ctype_ DATA
 __cygwin_environ DATA
 __cygwin_user_data DATA
 __mb_cur_max DATA
@@ -13,35 +12,71 @@ __rcmd_errstr DATA
 _check_for_executable DATA
 _ctype_ DATA
 _daylight DATA
-_impure_ptr DATA
-_sys_errlist DATA
-sys_errlist = _sys_errlist DATA
-_sys_nerr DATA
-sys_nerr = _sys_nerr DATA
-_timezone DATA
-_tzname DATA
 h_errno DATA
+_impure_ptr DATA
 optarg DATA
 opterr DATA
 optind DATA
 optopt DATA
 optreset DATA
 reent_data DATA
-_alloca NOSIGFE
-dll_entry@12 NOSIGFE
+sys_errlist = _sys_errlist DATA
+_sys_errlist DATA
+sys_nerr = _sys_nerr DATA
+_sys_nerr DATA
+_timezone DATA
+_tzname DATA
+__argz_add = argz_add SIGFE
+__argz_add_sep = argz_add_sep SIGFE
+__argz_append = argz_append SIGFE
+__argz_count = argz_count NOSIGFE
+__argz_create = argz_create SIGFE
+__argz_create_sep = argz_create_sep SIGFE
+__argz_delete = argz_delete SIGFE
+__argz_extract = argz_extract NOSIGFE
+__argz_insert = argz_insert SIGFE
+__argz_next = argz_next NOSIGFE
+__argz_replace = argz_replace SIGFE
+__argz_stringify = argz_stringify NOSIGFE
 __assert SIGFE
 __assertfail SIGFE
+__envz_add = envz_add SIGFE
+__envz_entry = envz_entry NOSIGFE
+__envz_get = envz_get NOSIGFE
+__envz_merge = envz_merge SIGFE
+__envz_remove = envz_remove SIGFE
+__envz_strip = envz_strip SIGFE
 __eprintf SIGFE
 __errno NOSIGFE
+__f_atan2 = _f_atan2 NOSIGFE
+__f_atan2f = _f_atan2f NOSIGFE
+__f_exp = _f_exp NOSIGFE
+__f_expf = _f_expf NOSIGFE
+__f_frexp = _f_frexp NOSIGFE
+__f_frexpf = _f_frexpf NOSIGFE
+__f_ldexp = _f_ldexp NOSIGFE
+__f_ldexpf = _f_ldexpf NOSIGFE
+__f_log = _f_log NOSIGFE
+__f_log10 = _f_log10 NOSIGFE
+__f_log10f = _f_log10f NOSIGFE
+__f_logf = _f_logf NOSIGFE
+__f_pow = _f_pow NOSIGFE
+__f_powf = _f_powf NOSIGFE
+__f_tan = _f_tan NOSIGFE
+__f_tanf = _f_tanf NOSIGFE
 __fpclassifyd NOSIGFE
 __fpclassifyf NOSIGFE
+__getdelim SIGFE
+__getline SIGFE
 __getreent NOSIGFE
 __infinity NOSIGFE
-__isinff NOSIGFE
 __isinfd NOSIGFE
-__isnanf NOSIGFE
+__isinff NOSIGFE
 __isnand NOSIGFE
+__isnanf NOSIGFE
 __main NOSIGFE
+__mempcpy = mempcpy NOSIGFE
+__opendir_with_d_ino SIGFE
 __signbitd NOSIGFE
 __signbitf NOSIGFE
 __signgam NOSIGFE
@@ -49,72 +84,12 @@ __srget SIGFE
 __srget_r SIGFE
 __swbuf SIGFE
 __swbuf_r SIGFE
-_asprintf_r SIGFE
-asprintf_r = _asprintf_r SIGFE
-_dll_crt0@0 NOSIGFE
-_exit SIGFE
-_f_atan2 NOSIGFE
-__f_atan2 = _f_atan2 NOSIGFE
-_f_atan2f NOSIGFE
-__f_atan2f = _f_atan2f NOSIGFE
-_f_exp NOSIGFE
-__f_exp = _f_exp NOSIGFE
-_f_expf NOSIGFE
-__f_expf = _f_expf NOSIGFE
-_f_frexp NOSIGFE
-__f_frexp = _f_frexp NOSIGFE
-_f_frexpf NOSIGFE
-__f_frexpf = _f_frexpf NOSIGFE
-_f_ldexp NOSIGFE
-__f_ldexp = _f_ldexp NOSIGFE
-_f_ldexpf NOSIGFE
-__f_ldexpf = _f_ldexpf NOSIGFE
-_f_log NOSIGFE
-__f_log = _f_log NOSIGFE
-_f_log10 NOSIGFE
-__f_log10 = _f_log10 NOSIGFE
-_f_log10f NOSIGFE
-__f_log10f = _f_log10f NOSIGFE
-_f_logf NOSIGFE
-__f_logf = _f_logf NOSIGFE
-_f_pow NOSIGFE
-__f_pow = _f_pow NOSIGFE
-_f_powf NOSIGFE
-__f_powf = _f_powf NOSIGFE
-_f_tan NOSIGFE
-__f_tan = _f_tan NOSIGFE
-_f_tanf NOSIGFE
-__f_tanf = _f_tanf NOSIGFE
-_fcloseall_r SIGFE
-fcloseall_r = _fcloseall_r SIGFE
-_fscanf_r SIGFE
-fscanf_r = _fscanf_r SIGFE
-fstat SIGFE
-_fstat = fstat SIGFE
-_pipe SIGFE
-_pthread_cleanup_pop SIGFE
-_pthread_cleanup_push SIGFE
-_scanf_r SIGFE
-scanf_r = _scanf_r SIGFE
-_sscanf_r SIGFE
-sscanf_r = _sscanf_r SIGFE
-stat SIGFE
-_stat = stat SIGFE
-_strtold SIGFE
-trunc NOSIGFE
-_vasprintf_r SIGFE
-vasprintf_r = _vasprintf_r SIGFE
-_vfscanf_r SIGFE
-vfscanf_r = _vfscanf_r SIGFE
-_vscanf_r SIGFE
-vscanf_r = _vscanf_r SIGFE
-_vsscanf_r SIGFE
-vsscanf_r = _vsscanf_r SIGFE
 a64l NOSIGFE
 abort NOSIGFE
 _abort = abort SIGFE
 abs NOSIGFE
 _abs = abs NOSIGFE
+accept = cygwin_accept SIGFE
 access SIGFE
 _access = access SIGFE
 acl SIGFE
@@ -154,32 +129,21 @@ acoshf NOSIGFE
 _acoshf = acoshf NOSIGFE
 alarm SIGFE
 _alarm = alarm SIGFE
+_alloca NOSIGFE
 alphasort NOSIGFE
 _alphasort = alphasort NOSIGFE
 argz_add SIGFE
-__argz_add = argz_add SIGFE
 argz_add_sep SIGFE
-__argz_add_sep = argz_add_sep SIGFE
 argz_append SIGFE
-__argz_append = argz_append SIGFE
 argz_count NOSIGFE
-__argz_count = argz_count NOSIGFE
 argz_create SIGFE
-__argz_create = argz_create SIGFE
 argz_create_sep SIGFE
-__argz_create_sep = argz_create_sep SIGFE
 argz_delete SIGFE
-__argz_delete = argz_delete SIGFE
 argz_extract NOSIGFE
-__argz_extract = argz_extract NOSIGFE
 argz_insert SIGFE
-__argz_insert = argz_insert SIGFE
 argz_next NOSIGFE
-__argz_next = argz_next NOSIGFE
 argz_replace SIGFE
-__argz_replace = argz_replace SIGFE
 argz_stringify NOSIGFE
-__argz_stringify = argz_stringify NOSIGFE
 asctime SIGFE
 _asctime = asctime SIGFE
 asctime_r SIGFE
@@ -194,6 +158,8 @@ asinhf NOSIGFE
 _asinhf = asinhf NOSIGFE
 asprintf SIGFE
 _asprintf = asprintf SIGFE
+asprintf_r = _asprintf_r SIGFE
+_asprintf_r SIGFE
 atan NOSIGFE
 _atan = atan NOSIGFE
 atan2 NOSIGFE
@@ -222,6 +188,7 @@ bcmp NOSIGFE
 _bcmp = bcmp NOSIGFE
 bcopy NOSIGFE
 _bcopy = bcopy NOSIGFE
+bind = cygwin_bind SIGFE
 bsearch NOSIGFE
 _bsearch = bsearch NOSIGFE
 btowc NOSIGFE
@@ -259,14 +226,15 @@ clearerr SIGFE
 _clearerr = clearerr SIGFE
 clock SIGFE
 _clock = clock SIGFE
-clock_gettime SIGFE
 clock_getres SIGFE
+clock_gettime SIGFE
 clock_setres SIGFE
 close SIGFE
 _close = close SIGFE
 closedir SIGFE
 _closedir = closedir SIGFE
 closelog SIGFE
+connect = cygwin_connect SIGFE
 copysign NOSIGFE
 _copysign = copysign NOSIGFE
 copysignf NOSIGFE
@@ -290,96 +258,39 @@ cuserid NOSIGFE
 _cuserid = cuserid NOSIGFE
 cwait SIGFE
 _cwait = cwait SIGFE
-accept = cygwin_accept SIGFE
-cygwin_attach_handle_to_fd SIGFE
 cygwin32_attach_handle_to_fd = cygwin_attach_handle_to_fd SIGFE
-bind = cygwin_bind SIGFE
-connect = cygwin_connect SIGFE
-cygwin_conv_to_full_posix_path SIGFE
 cygwin32_conv_to_full_posix_path = cygwin_conv_to_full_posix_path SIGFE
-cygwin_conv_to_full_win32_path SIGFE
 cygwin32_conv_to_full_win32_path = cygwin_conv_to_full_win32_path SIGFE
-cygwin_conv_to_posix_path SIGFE
 cygwin32_conv_to_posix_path = cygwin_conv_to_posix_path SIGFE
-cygwin_conv_to_win32_path SIGFE
 cygwin32_conv_to_win32_path = cygwin_conv_to_win32_path SIGFE
-cygwin_detach_dll SIGFE_MAYBE
 cygwin32_detach_dll = cygwin_detach_dll SIGFE_MAYBE
-cygwin_dll_init NOSIGFE
-endprotoent = cygwin_endprotoent SIGFE
-endservent = cygwin_endservent SIGFE
-endusershell SIGFE
-err SIGFE
-errx SIGFE
-gethostbyaddr = cygwin_gethostbyaddr SIGFE
-gethostbyname = cygwin_gethostbyname SIGFE
-_gethostname = cygwin_gethostname SIGFE
-gethostname = cygwin_gethostname SIGFE
-getpeereid SIGFE
-getpeername = cygwin_getpeername SIGFE
-getprogname NOSIGFE
-getprotobyname = cygwin_getprotobyname SIGFE
-getprotobynumber = cygwin_getprotobynumber SIGFE
-getprotoent = cygwin_getprotoent SIGFE
-getservbyname = cygwin_getservbyname SIGFE
-getservbyport = cygwin_getservbyport SIGFE
-getservent = cygwin_getservent SIGFE
-getsockname = cygwin_getsockname SIGFE
-getsockopt = cygwin_getsockopt SIGFE
-getsubopt NOSIGFE
-getusershell SIGFE
-herror = cygwin_herror SIGFE
-hstrerror = cygwin_hstrerror NOSIGFE
-inet_addr = cygwin_inet_addr SIGFE
-inet_aton = cygwin_inet_aton SIGFE
-inet_pton = cygwin_inet_pton SIGFE
-inet_network = cygwin_inet_network SIGFE
-inet_ntoa = cygwin_inet_ntoa SIGFE
-inet_ntop = cygwin_inet_ntop SIGFE
-cygwin_internal NOSIGFE
 cygwin32_internal = cygwin_internal SIGFE
-listen = cygwin_listen SIGFE
-cygwin_logon_user SIGFE
-lstat SIGFE
-_lstat = lstat SIGFE
-cygwin_posix_path_list_p NOSIGFE
 cygwin32_posix_path_list_p = cygwin_posix_path_list_p NOSIGFE
-cygwin_posix_to_win32_path_list SIGFE
 cygwin32_posix_to_win32_path_list = cygwin_posix_to_win32_path_list SIGFE
-cygwin_posix_to_win32_path_list_buf_size SIGFE
 cygwin32_posix_to_win32_path_list_buf_size = cygwin_posix_to_win32_path_list_buf_size SIGFE
-rcmd = cygwin_rcmd SIGFE
-recv = cygwin_recv SIGFE
-recvfrom = cygwin_recvfrom SIGFE
-recvmsg = cygwin_recvmsg SIGFE
-rexec = cygwin_rexec SIGFE
-rresvport = cygwin_rresvport SIGFE
-_select = cygwin_select SIGFE
-select = cygwin_select SIGFE
-pread SIGFE
-pwrite SIGFE
-pselect SIGFE
-send = cygwin_send SIGFE
-sendmsg = cygwin_sendmsg SIGFE
-sendto = cygwin_sendto SIGFE
-cygwin_set_impersonation_token SIGFE
-setprogname NOSIGFE
-setprotoent = cygwin_setprotoent SIGFE
-setservent = cygwin_setservent SIGFE
-setsockopt = cygwin_setsockopt SIGFE
-setusershell SIGFE
-shutdown = cygwin_shutdown SIGFE
-socket = cygwin_socket SIGFE
-cygwin_split_path NOSIGFE
 cygwin32_split_path = cygwin_split_path NOSIGFE
+cygwin32_win32_to_posix_path_list = cygwin_win32_to_posix_path_list SIGFE
+cygwin32_win32_to_posix_path_list_buf_size = cygwin_win32_to_posix_path_list_buf_size SIGFE
+cygwin32_winpid_to_pid = cygwin_winpid_to_pid SIGFE
+cygwin_attach_handle_to_fd SIGFE
+cygwin_conv_to_full_posix_path SIGFE
+cygwin_conv_to_full_win32_path SIGFE
+cygwin_conv_to_posix_path SIGFE
+cygwin_conv_to_win32_path SIGFE
+cygwin_detach_dll SIGFE_MAYBE
+cygwin_dll_init NOSIGFE
+cygwin_internal NOSIGFE
+cygwin_logon_user SIGFE
+cygwin_posix_path_list_p NOSIGFE
+cygwin_posix_to_win32_path_list SIGFE
+cygwin_posix_to_win32_path_list_buf_size SIGFE
+cygwin_set_impersonation_token SIGFE
+cygwin_split_path NOSIGFE
 cygwin_stackdump SIGFE
 cygwin_umount SIGFE
 cygwin_win32_to_posix_path_list SIGFE
-cygwin32_win32_to_posix_path_list = cygwin_win32_to_posix_path_list SIGFE
 cygwin_win32_to_posix_path_list_buf_size SIGFE
-cygwin32_win32_to_posix_path_list_buf_size = cygwin_win32_to_posix_path_list_buf_size SIGFE
 cygwin_winpid_to_pid SIGFE
-cygwin32_winpid_to_pid = cygwin_winpid_to_pid SIGFE
 daemon SIGFE
 difftime NOSIGFE
 _difftime = difftime NOSIGFE
@@ -391,8 +302,10 @@ _div = div NOSIGFE
 dlclose SIGFE
 dlerror NOSIGFE
 dlfork NOSIGFE
+_dll_crt0@0 NOSIGFE
 dll_crt0__FP11per_process NOSIGFE
 dll_dllcrt0 NOSIGFE
+dll_entry@12 NOSIGFE
 dll_noncygwin_dllcrt0 NOSIGFE
 dlopen SIGFE
 dlsym SIGFE
@@ -417,23 +330,20 @@ _endgrent = endgrent NOSIGFE
 endhostent NOSIGFE
 endmntent NOSIGFE
 _endmntent = endmntent NOSIGFE
+endprotoent = cygwin_endprotoent SIGFE
 endpwent NOSIGFE
 _endpwent = endpwent NOSIGFE
+endservent = cygwin_endservent SIGFE
+endusershell SIGFE
 endutent SIGFE
 _endutent = endutent SIGFE
 endutxent SIGFE
 envz_add SIGFE
-__envz_add = envz_add SIGFE
 envz_entry NOSIGFE
-__envz_entry = envz_entry NOSIGFE
 envz_get NOSIGFE
-__envz_get = envz_get NOSIGFE
 envz_merge SIGFE
-__envz_merge = envz_merge SIGFE
 envz_remove SIGFE
-__envz_remove = envz_remove SIGFE
 envz_strip SIGFE
-__envz_strip = envz_strip SIGFE
 erand48 NOSIGFE
 _erand48 = erand48 NOSIGFE
 erf NOSIGFE
@@ -444,6 +354,8 @@ erfcf NOSIGFE
 _erfcf = erfcf NOSIGFE
 erff NOSIGFE
 _erff = erff NOSIGFE
+err SIGFE
+errx SIGFE
 execl SIGFE
 _execl = execl SIGFE
 execle SIGFE
@@ -457,6 +369,7 @@ _execve = execve SIGFE
 execvp SIGFE
 _execvp = execvp SIGFE
 exit = cygwin_exit SIGFE
+_exit SIGFE
 exp NOSIGFE
 _exp = exp NOSIGFE
 exp2 NOSIGFE
@@ -467,6 +380,22 @@ expm1 NOSIGFE
 _expm1 = expm1 NOSIGFE
 expm1f NOSIGFE
 _expm1f = expm1f NOSIGFE
+_f_atan2 NOSIGFE
+_f_atan2f NOSIGFE
+_f_exp NOSIGFE
+_f_expf NOSIGFE
+_f_frexp NOSIGFE
+_f_frexpf NOSIGFE
+_f_ldexp NOSIGFE
+_f_ldexpf NOSIGFE
+_f_log NOSIGFE
+_f_log10 NOSIGFE
+_f_log10f NOSIGFE
+_f_logf NOSIGFE
+_f_pow NOSIGFE
+_f_powf NOSIGFE
+_f_tan NOSIGFE
+_f_tanf NOSIGFE
 fabs NOSIGFE
 _fabs = fabs NOSIGFE
 fabsf NOSIGFE
@@ -485,6 +414,8 @@ fclose SIGFE
 _fclose = fclose SIGFE
 fcloseall SIGFE
 _fcloseall = fcloseall SIGFE
+fcloseall_r = _fcloseall_r SIGFE
+_fcloseall_r SIGFE
 fcntl SIGFE
 _fcntl = fcntl SIGFE
 _fcntl64 = fcntl64 SIGFE
@@ -494,6 +425,7 @@ fcvtbuf SIGFE
 _fcvtbuf = fcvtbuf SIGFE
 fcvtf SIGFE
 _fcvtf = fcvtf SIGFE
+fdatasync SIGFE
 fdim NOSIGFE
 fdimf NOSIGFE
 fdopen SIGFE
@@ -524,18 +456,6 @@ fiprintf SIGFE
 _fiprintf = fiprintf SIGFE
 flock SIGFE
 flockfile SIGFE
-ftrylockfile SIGFE
-fts_children SIGFE
-fts_close SIGFE
-fts_get_clientptr NOSIGFE
-fts_get_stream NOSIGFE
-fts_open SIGFE
-fts_read SIGFE
-fts_set NOSIGFE
-fts_set_clientptr NOSIGFE
-ftw SIGFE
-nftw SIGFE
-funlockfile SIGFE
 floor NOSIGFE
 _floor = floor NOSIGFE
 floorf NOSIGFE
@@ -578,6 +498,8 @@ frexpf NOSIGFE
 _frexpf = frexpf NOSIGFE
 fscanf SIGFE
 _fscanf = fscanf SIGFE
+fscanf_r = _fscanf_r SIGFE
+_fscanf_r SIGFE
 fseek SIGFE
 _fseek = fseek SIGFE
 fseeko SIGFE
@@ -586,11 +508,12 @@ _fseeko64 = fseeko64 SIGFE
 fsetpos SIGFE
 _fsetpos = fsetpos SIGFE
 _fsetpos64 = fsetpos64 SIGFE
+fstat SIGFE
+_fstat = fstat SIGFE
 _fstat64 = fstat64 SIGFE
 fstatfs SIGFE
 _fstatfs = fstatfs SIGFE
 fstatvfs SIGFE
-fdatasync SIGFE
 fsync SIGFE
 _fsync = fsync SIGFE
 ftell SIGFE
@@ -605,6 +528,18 @@ _ftok = ftok SIGFE
 ftruncate SIGFE
 _ftruncate = ftruncate SIGFE
 _ftruncate64 = ftruncate64 SIGFE
+ftrylockfile SIGFE
+fts_children SIGFE
+fts_close SIGFE
+fts_get_clientptr NOSIGFE
+fts_get_stream NOSIGFE
+fts_open SIGFE
+fts_read SIGFE
+fts_set NOSIGFE
+fts_set_clientptr NOSIGFE
+ftw SIGFE
+funlockfile SIGFE
+futimes SIGFE
 fwrite SIGFE
 _fwrite = fwrite SIGFE
 gamma NOSIGFE
@@ -631,7 +566,6 @@ getchar_unlocked SIGFE
 _getchar_unlocked = getchar_unlocked SIGFE
 getcwd SIGFE
 _getcwd = getcwd SIGFE
-__getdelim SIGFE
 getdelim = __getdelim SIGFE
 getdomainname SIGFE
 _getdomainname = getdomainname SIGFE
@@ -651,24 +585,27 @@ _getgid32 = getgid32 NOSIGFE
 getgrent SIGFE
 _getgrent = getgrent SIGFE
 _getgrent32 = getgrent32 SIGFE
-getgrgid_r SIGFE
 getgrgid SIGFE
 _getgrgid = getgrgid SIGFE
 _getgrgid32 = getgrgid32 SIGFE
-getgrnam_r SIGFE
+getgrgid_r SIGFE
 getgrnam SIGFE
 _getgrnam = getgrnam SIGFE
 _getgrnam32 = getgrnam32 SIGFE
+getgrnam_r SIGFE
 getgroups SIGFE
 _getgroups = getgroups SIGFE
 _getgroups32 = getgroups32 SIGFE
+gethostbyaddr = cygwin_gethostbyaddr SIGFE
+gethostbyname = cygwin_gethostbyname SIGFE
 gethostid SIGFE
+gethostname = cygwin_gethostname SIGFE
+_gethostname = cygwin_gethostname SIGFE
 getitimer SIGFE
-__getline SIGFE
 getline = __getline SIGFE
-getlogin_r NOSIGFE
 getlogin NOSIGFE
 _getlogin = getlogin NOSIGFE
+getlogin_r NOSIGFE
 getmntent SIGFE
 _getmntent = getmntent SIGFE
 getmode SIGFE
@@ -680,6 +617,8 @@ getpagesize SIGFE
 _getpagesize = getpagesize SIGFE
 getpass SIGFE
 _getpass = getpass SIGFE
+getpeereid SIGFE
+getpeername = cygwin_getpeername SIGFE
 getpgid SIGFE
 getpgrp SIGFE
 _getpgrp = getpgrp SIGFE
@@ -688,6 +627,10 @@ _getpid = getpid NOSIGFE
 getppid NOSIGFE
 _getppid = getppid NOSIGFE
 getpriority SIGFE
+getprogname NOSIGFE
+getprotobyname = cygwin_getprotobyname SIGFE
+getprotobynumber = cygwin_getprotobynumber SIGFE
+getprotoent = cygwin_getprotoent SIGFE
 getpwduid NOSIGFE
 _getpwduid = getpwduid NOSIGFE
 getpwent SIGFE
@@ -706,12 +649,19 @@ getrusage SIGFE
 _getrusage = getrusage SIGFE
 gets SIGFE
 _gets = gets SIGFE
+getservbyname = cygwin_getservbyname SIGFE
+getservbyport = cygwin_getservbyport SIGFE
+getservent = cygwin_getservent SIGFE
 getsid SIGFE
+getsockname = cygwin_getsockname SIGFE
+getsockopt = cygwin_getsockopt SIGFE
+getsubopt NOSIGFE
 gettimeofday SIGFE
 _gettimeofday = gettimeofday SIGFE
 getuid NOSIGFE
 _getuid = getuid NOSIGFE
 _getuid32 = getuid32 NOSIGFE
+getusershell SIGFE
 getutent SIGFE
 _getutent = getutent SIGFE
 getutid SIGFE
@@ -738,8 +688,10 @@ hcreate SIGFE
 hcreate_r SIGFE
 hdestroy SIGFE
 hdestroy_r SIGFE
+herror = cygwin_herror SIGFE
 hsearch SIGFE
 hsearch_r SIGFE
+hstrerror = cygwin_hstrerror NOSIGFE
 htonl NOSIGFE
 _htonl = htonl NOSIGFE
 htons NOSIGFE
@@ -756,8 +708,14 @@ imaxabs = llabs NOSIGFE
 imaxdiv = lldiv NOSIGFE
 index NOSIGFE
 _index = index NOSIGFE
+inet_addr = cygwin_inet_addr SIGFE
+inet_aton = cygwin_inet_aton SIGFE
 inet_makeaddr NOSIGFE
 inet_netof NOSIGFE
+inet_network = cygwin_inet_network SIGFE
+inet_ntoa = cygwin_inet_ntoa SIGFE
+inet_ntop = cygwin_inet_ntop SIGFE
+inet_pton = cygwin_inet_pton SIGFE
 infinity NOSIGFE
 _infinity = infinity NOSIGFE
 infinityf NOSIGFE
@@ -770,7 +728,6 @@ _ioctl = ioctl SIGFE
 iprintf SIGFE
 _iprintf = iprintf SIGFE
 iruserok SIGFE
-ruserok SIGFE
 isalnum NOSIGFE
 _isalnum = isalnum NOSIGFE
 isalpha NOSIGFE
@@ -863,6 +820,7 @@ lgammaf_r NOSIGFE
 _lgammaf_r = lgammaf_r NOSIGFE
 link SIGFE
 _link = link SIGFE
+listen = cygwin_listen SIGFE
 llabs NOSIGFE
 lldiv NOSIGFE
 localeconv NOSIGFE
@@ -891,8 +849,6 @@ login SIGFE
 login_tty SIGFE
 logout SIGFE
 logwtmp SIGFE
-updwtmp SIGFE
-updwtmpx SIGFE
 longjmp NOSIGFE
 _longjmp = longjmp NOSIGFE
 lrand48 NOSIGFE
@@ -905,7 +861,10 @@ lsearch NOSIGFE
 lseek SIGFE
 _lseek = lseek SIGFE
 _lseek64 = lseek64 SIGFE
+lstat SIGFE
+_lstat = lstat SIGFE
 _lstat64 = lstat64 SIGFE
+lutimes SIGFE
 mallinfo SIGFE
 malloc SIGFE
 _malloc = malloc SIGFE
@@ -934,11 +893,10 @@ memcmp NOSIGFE
 _memcmp = memcmp NOSIGFE
 memcpy NOSIGFE
 _memcpy = memcpy NOSIGFE
+memmem NOSIGFE
 memmove NOSIGFE
 _memmove = memmove NOSIGFE
 mempcpy NOSIGFE
-__mempcpy = mempcpy NOSIGFE
-memmem NOSIGFE
 memset NOSIGFE
 _memset = memset NOSIGFE
 mkdir SIGFE
@@ -954,6 +912,7 @@ mktemp SIGFE
 _mktemp = mktemp SIGFE
 mktime SIGFE
 _mktime = mktime SIGFE
+mlock SIGFE
 mmap SIGFE
 _mmap64 = mmap64 SIGFE
 modf NOSIGFE
@@ -963,14 +922,13 @@ _modff = modff NOSIGFE
 mount SIGFE
 _mount = mount SIGFE
 mprotect SIGFE
-mlock SIGFE
-munlock SIGFE
 mrand48 NOSIGFE
 msgctl SIGFE
 msgget SIGFE
 msgrcv SIGFE
 msgsnd SIGFE
 msync SIGFE
+munlock SIGFE
 munmap SIGFE
 nan NOSIGFE
 _nan = nan NOSIGFE
@@ -984,6 +942,7 @@ nextafter NOSIGFE
 _nextafter = nextafter NOSIGFE
 nextafterf NOSIGFE
 _nextafterf = nextafterf NOSIGFE
+nftw SIGFE
 nice SIGFE
 _nice = nice SIGFE
 nl_langinfo SIGFE
@@ -999,7 +958,6 @@ open SIGFE
 _open = open SIGFE
 _open64
 opendir SIGFE
-__opendir_with_d_ino SIGFE
 openlog SIGFE
 _openlog = openlog SIGFE
 openpty SIGFE
@@ -1011,6 +969,7 @@ _pclose = pclose SIGFE
 perror SIGFE
 _perror = perror SIGFE
 pipe SIGFE
+_pipe SIGFE
 poll SIGFE
 _poll = poll SIGFE
 popen SIGFE
@@ -1023,8 +982,10 @@ pow NOSIGFE
 _pow = pow NOSIGFE
 powf NOSIGFE
 _powf = powf NOSIGFE
+pread SIGFE
 printf SIGFE
 _printf = printf SIGFE
+pselect SIGFE
 pthread_atfork SIGFE
 pthread_attr_destroy SIGFE
 pthread_attr_getdetachstate SIGFE
@@ -1041,6 +1002,8 @@ pthread_attr_setschedpolicy SIGFE
 pthread_attr_setscope SIGFE
 pthread_attr_setstacksize SIGFE
 pthread_cancel SIGFE
+_pthread_cleanup_pop SIGFE
+_pthread_cleanup_push SIGFE
 pthread_cond_broadcast SIGFE
 pthread_cond_destroy SIGFE
 pthread_cond_init SIGFE
@@ -1086,13 +1049,13 @@ pthread_rwlock_destroy SIGFE
 pthread_rwlock_init SIGFE
 pthread_rwlock_rdlock SIGFE
 pthread_rwlock_tryrdlock SIGFE
-pthread_rwlock_wrlock SIGFE
 pthread_rwlock_trywrlock SIGFE
 pthread_rwlock_unlock SIGFE
-pthread_rwlockattr_init SIGFE
-pthread_rwlockattr_getpshared SIGFE
-pthread_rwlockattr_setpshared SIGFE
+pthread_rwlock_wrlock SIGFE
 pthread_rwlockattr_destroy SIGFE
+pthread_rwlockattr_getpshared SIGFE
+pthread_rwlockattr_init SIGFE
+pthread_rwlockattr_setpshared SIGFE
 pthread_self SIGFE
 pthread_setcancelstate SIGFE
 pthread_setcanceltype SIGFE
@@ -1120,6 +1083,7 @@ _pututline = pututline SIGFE
 pututxline SIGFE
 putw SIGFE
 _putw = putw SIGFE
+pwrite SIGFE
 qsort NOSIGFE
 _qsort = qsort NOSIGFE
 raise SIGFE
@@ -1128,6 +1092,7 @@ rand NOSIGFE
 _rand = rand NOSIGFE
 rand_r NOSIGFE
 random NOSIGFE
+rcmd = cygwin_rcmd SIGFE
 read SIGFE
 _read = read SIGFE
 readdir SIGFE
@@ -1140,6 +1105,9 @@ _readv = readv SIGFE
 realloc SIGFE
 _realloc = realloc SIGFE
 realpath SIGFE
+recv = cygwin_recv SIGFE
+recvfrom = cygwin_recvfrom SIGFE
+recvmsg = cygwin_recvmsg SIGFE
 remainder NOSIGFE
 _remainder = remainder NOSIGFE
 remainderf NOSIGFE
@@ -1155,6 +1123,7 @@ rewind SIGFE
 _rewind = rewind SIGFE
 rewinddir SIGFE
 _rewinddir = rewinddir SIGFE
+rexec = cygwin_rexec SIGFE
 rindex NOSIGFE
 _rindex = rindex NOSIGFE
 rint NOSIGFE
@@ -1165,6 +1134,8 @@ rmdir SIGFE
 _rmdir = rmdir SIGFE
 round NOSIGFE
 roundf NOSIGFE
+rresvport = cygwin_rresvport SIGFE
+ruserok SIGFE
 sbrk SIGFE
 _sbrk = sbrk SIGFE
 scalb NOSIGFE
@@ -1181,6 +1152,8 @@ scandir SIGFE
 _scandir = scandir SIGFE
 scanf SIGFE
 _scanf = scanf SIGFE
+scanf_r = _scanf_r SIGFE
+_scanf_r SIGFE
 sched_get_priority_max SIGFE
 sched_get_priority_min SIGFE
 sched_getparam SIGFE
@@ -1194,6 +1167,8 @@ _seed48 = seed48 NOSIGFE
 seekdir SIGFE
 _seekdir = seekdir SIGFE
 _seekdir64 = seekdir64 SIGFE
+select = cygwin_select SIGFE
+_select = cygwin_select SIGFE
 sem_close SIGFE
 sem_destroy SIGFE
 sem_getvalue SIGFE
@@ -1206,6 +1181,9 @@ sem_wait SIGFE
 semctl SIGFE
 semget SIGFE
 semop SIGFE
+send = cygwin_send SIGFE
+sendmsg = cygwin_sendmsg SIGFE
+sendto = cygwin_sendto SIGFE
 setbuf SIGFE
 _setbuf = setbuf SIGFE
 setbuffer SIGFE
@@ -1246,6 +1224,8 @@ _setpgid = setpgid SIGFE
 setpgrp SIGFE
 _setpgrp = setpgrp SIGFE
 setpriority SIGFE
+setprogname NOSIGFE
+setprotoent = cygwin_setprotoent SIGFE
 setpwent NOSIGFE
 _setpwent = setpwent NOSIGFE
 setregid SIGFE
@@ -1258,14 +1238,17 @@ setreuid32 SIGFE
 _setreuid32 = setreuid32 SIGFE
 setrlimit SIGFE
 _setrlimit = setrlimit SIGFE
+setservent = cygwin_setservent SIGFE
 setsid SIGFE
 _setsid = setsid SIGFE
+setsockopt = cygwin_setsockopt SIGFE
 setstate NOSIGFE
 settimeofday SIGFE
 _settimeofday = settimeofday SIGFE
 setuid SIGFE
 _setuid = setuid SIGFE
 _setuid32 = setuid32 SIGFE
+setusershell SIGFE
 setutent SIGFE
 _setutent = setutent SIGFE
 setutxent SIGFE
@@ -1283,6 +1266,7 @@ shmat SIGFE
 shmctl SIGFE
 shmdt SIGFE
 shmget SIGFE
+shutdown = cygwin_shutdown SIGFE
 sigaction SIGFE
 sigaddset SIGFE
 sigdelset SIGFE
@@ -1290,7 +1274,6 @@ sigemptyset NOSIGFE
 sigfillset NOSIGFE
 sighold SIGFE
 sigignore SIGFE
-sigqueue SIGFE
 siginterrupt SIGFE
 sigismember SIGFE
 signal SIGFE
@@ -1299,6 +1282,7 @@ significandf NOSIGFE
 sigpause SIGFE
 sigpending SIGFE
 sigprocmask SIGFE
+sigqueue SIGFE
 sigrelse SIGFE
 sigset SIGFE
 sigsuspend SIGFE
@@ -1320,6 +1304,7 @@ sleep SIGFE
 _sleep = sleep SIGFE
 snprintf SIGFE
 _snprintf = snprintf SIGFE
+socket = cygwin_socket SIGFE
 socketpair SIGFE
 spawnl SIGFE
 _spawnl = spawnl SIGFE
@@ -1350,6 +1335,10 @@ _srand48 = srand48 NOSIGFE
 srandom NOSIGFE
 sscanf SIGFE
 _sscanf = sscanf SIGFE
+sscanf_r = _sscanf_r SIGFE
+_sscanf_r SIGFE
+stat SIGFE
+_stat = stat SIGFE
 _stat64 = stat64 SIGFE
 statfs SIGFE
 _statfs = statfs SIGFE
@@ -1409,18 +1398,19 @@ strstr NOSIGFE
 _strstr = strstr NOSIGFE
 strtod SIGFE
 _strtod = strtod SIGFE
-strtof SIGFE
-_strtodf = strtof SIGFE
 strtodf = strtof SIGFE
+_strtodf = strtof SIGFE
+strtof SIGFE
+strtoimax = strtoll NOSIGFE
 strtok NOSIGFE
 _strtok = strtok NOSIGFE
 strtok_r NOSIGFE
 _strtok_r = strtok_r NOSIGFE
 strtol NOSIGFE
 _strtol = strtol NOSIGFE
+_strtold SIGFE
 strtoll NOSIGFE
 _strtoll = strtoll NOSIGFE
-strtoimax = strtoll NOSIGFE
 strtosigno NOSIGFE
 strtoul NOSIGFE
 _strtoul = strtoul NOSIGFE
@@ -1440,7 +1430,6 @@ sysconf SIGFE
 _sysconf = sysconf SIGFE
 syslog SIGFE
 _syslog = syslog SIGFE
-vsyslog SIGFE
 system SIGFE
 _system = system SIGFE
 tan NOSIGFE
@@ -1478,9 +1467,9 @@ tfind NOSIGFE
 tgamma NOSIGFE
 tgammaf NOSIGFE
 time SIGFE
-timelocal SIGFE
-timegm NOSIGFE
 _time = time SIGFE
+timegm NOSIGFE
+timelocal SIGFE
 timer_create SIGFE
 timer_delete SIGFE
 timer_gettime SIGFE
@@ -1502,6 +1491,7 @@ _toupper = toupper NOSIGFE
 towctrans NOSIGFE
 towlower NOSIGFE
 towupper NOSIGFE
+trunc NOSIGFE
 truncate SIGFE
 _truncate = truncate SIGFE
 _truncate64 = truncate64 SIGFE
@@ -1529,24 +1519,24 @@ _unlink = unlink SIGFE
 unlockpt NOSIGFE
 unsetenv SIGFE
 _unsetenv = unsetenv SIGFE
+updwtmp SIGFE
+updwtmpx SIGFE
 usleep SIGFE
 _usleep = usleep SIGFE
 utime SIGFE
 _utime = utime SIGFE
 utimes SIGFE
 _utimes = utimes SIGFE
-futimes SIGFE
-lutimes SIGFE
 utmpname SIGFE
 _utmpname = utmpname SIGFE
 utmpxname SIGFE
 valloc SIGFE
 vasprintf SIGFE
 _vasprintf = vasprintf SIGFE
+vasprintf_r = _vasprintf_r SIGFE
+_vasprintf_r SIGFE
 verr SIGFE
 verrx SIGFE
-vwarn SIGFE
-vwarnx SIGFE
 vfiprintf SIGFE
 _vfiprintf = vfiprintf SIGFE
 vfork SIGFE
@@ -1555,18 +1545,27 @@ vfprintf SIGFE
 _vfprintf = vfprintf SIGFE
 vfscanf SIGFE
 _vfscanf = vfscanf SIGFE
+vfscanf_r = _vfscanf_r SIGFE
+_vfscanf_r SIGFE
 vhangup SIGFE
 _vhangup = vhangup SIGFE
 vprintf SIGFE
 _vprintf = vprintf SIGFE
 vscanf SIGFE
 _vscanf = vscanf SIGFE
+vscanf_r = _vscanf_r SIGFE
+_vscanf_r SIGFE
 vsnprintf SIGFE
 _vsnprintf = vsnprintf SIGFE
 vsprintf SIGFE
 _vsprintf = vsprintf SIGFE
 vsscanf SIGFE
 _vsscanf = vsscanf SIGFE
+vsscanf_r = _vsscanf_r SIGFE
+_vsscanf_r SIGFE
+vsyslog SIGFE
+vwarn SIGFE
+vwarnx SIGFE
 wait SIGFE
 _wait = wait SIGFE
 wait3 SIGFE
diff --git a/winsup/cygwin/sortdin b/winsup/cygwin/sortdin
new file mode 100755
index 000000000..bdb4323aa
--- /dev/null
+++ b/winsup/cygwin/sortdin
@@ -0,0 +1,35 @@
+#!/usr/bin/perl
+
+my %data = ();
+my %code = ();
+
+my @out = ();
+
+my $fn = $ARGV[0];
+
+while (<>) {
+    push(@out, $_);
+    /^\s*exports/i and last;
+}
+
+while (<>) {
+    my $key;
+    $arr = /\sDATA\s*$/o ? \%data : \%code;
+    $_ =~ s/^\s+//;
+    my $key = (split(' ', $_))[0];
+    substr($key, 0, 1) = '' if /^_/o;
+    chomp $key;
+    $arr->{$key}->{$_} = 1;
+}
+
+for my $k (sort keys %data) {
+    push(@out, sort {$b cmp $a} keys %{$data{$k}});
+}
+
+for my $k (sort keys %code) {
+    push(@out, sort {$b cmp $a} keys %{$code{$k}});
+}
+
+open(R, '>', $fn);
+print R @out;
+close R;