this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Remove initializers from libSystem's sublibraries

+90 -90
-1
src/duct/src/commpage.c
··· 3 3 4 4 //uint8_t __commpage[_COMM_PAGE_AREA_LENGTH]; 5 5 6 - __attribute__((constructor)) 7 6 void _darling_initialize_commpage(void) 8 7 { 9 8 mmap(_COMM_PAGE_BASE_ADDRESS, _COMM_PAGE_AREA_LENGTH, PROT_READ|PROT_WRITE,
+87 -89
src/kernel/emulation/linux/errno.c
··· 2 2 #include "base.h" 3 3 #include "duct_errno.h" 4 4 5 - static int linux_to_darwin[512]; 5 + static const int linux_to_darwin[512] = { 6 6 7 - __attribute__((constructor)) void __init_errno_map(void) 8 - { 9 - linux_to_darwin[LINUX_EPERM] = EPERM; 10 - linux_to_darwin[LINUX_ENOENT] = ENOENT; 11 - linux_to_darwin[LINUX_ESRCH] = ESRCH; 12 - linux_to_darwin[LINUX_EINTR] = EINTR; 13 - linux_to_darwin[LINUX_EIO] = EIO; 14 - linux_to_darwin[LINUX_ENXIO] = ENXIO; 15 - linux_to_darwin[LINUX_ENOEXEC] = ENOEXEC; 16 - linux_to_darwin[LINUX_EBADF] = EBADF; 17 - linux_to_darwin[LINUX_ECHILD] = ECHILD; 18 - linux_to_darwin[LINUX_EDEADLK] = EDEADLK; 19 - linux_to_darwin[LINUX_ENOMEM] = ENOMEM; 20 - linux_to_darwin[LINUX_EACCES] = EACCES; 21 - linux_to_darwin[LINUX_EFAULT] = EFAULT; 22 - linux_to_darwin[LINUX_ENOTBLK] = ENOTBLK; 23 - linux_to_darwin[LINUX_EBUSY] = EBUSY; 24 - linux_to_darwin[LINUX_EEXIST] = EEXIST; 25 - linux_to_darwin[LINUX_EXDEV] = EXDEV; 26 - linux_to_darwin[LINUX_ENODEV] = ENODEV; 27 - linux_to_darwin[LINUX_ENOTDIR] = ENOTDIR; 28 - linux_to_darwin[LINUX_EISDIR] = EISDIR; 29 - linux_to_darwin[LINUX_EINVAL] = EINVAL; 30 - linux_to_darwin[LINUX_ENFILE] = ENFILE; 31 - linux_to_darwin[LINUX_EMFILE] = EMFILE; 32 - linux_to_darwin[LINUX_ENOTTY] = ENOTTY; 33 - linux_to_darwin[LINUX_ETXTBSY] = ETXTBSY; 34 - linux_to_darwin[LINUX_EFBIG] = EFBIG; 35 - linux_to_darwin[LINUX_ENOSPC] = ENOSPC; 36 - linux_to_darwin[LINUX_ESPIPE] = ESPIPE; 37 - linux_to_darwin[LINUX_EROFS] = EROFS; 38 - linux_to_darwin[LINUX_EMLINK] = EMLINK; 39 - linux_to_darwin[LINUX_EPIPE] = EPIPE; 40 - linux_to_darwin[LINUX_EDOM] = EDOM; 41 - linux_to_darwin[LINUX_ERANGE] = ERANGE; 42 - linux_to_darwin[LINUX_EAGAIN] = EAGAIN; 43 - linux_to_darwin[LINUX_EINPROGRESS] = EINPROGRESS; 44 - linux_to_darwin[LINUX_EALREADY] = EALREADY; 45 - linux_to_darwin[LINUX_ENOTSOCK] = ENOTSOCK; 46 - linux_to_darwin[LINUX_EDESTADDRREQ] = EDESTADDRREQ; 47 - linux_to_darwin[LINUX_EMSGSIZE] = EMSGSIZE; 48 - linux_to_darwin[LINUX_EPROTOTYPE] = EPROTOTYPE; 49 - linux_to_darwin[LINUX_ENOPROTOOPT] = ENOPROTOOPT; 50 - linux_to_darwin[LINUX_EPROTONOSUPPORT] = EPROTONOSUPPORT; 51 - linux_to_darwin[LINUX_ESOCKTNOSUPPORT] = ESOCKTNOSUPPORT; 52 - linux_to_darwin[LINUX_ENOTSUP] = ENOTSUP; 53 - linux_to_darwin[LINUX_EPFNOSUPPORT] = EPFNOSUPPORT; 54 - linux_to_darwin[LINUX_EAFNOSUPPORT] = EAFNOSUPPORT; 55 - linux_to_darwin[LINUX_EADDRINUSE] = EADDRINUSE; 56 - linux_to_darwin[LINUX_EADDRNOTAVAIL] = EADDRNOTAVAIL; 57 - linux_to_darwin[LINUX_ENETDOWN] = ENETDOWN; 58 - linux_to_darwin[LINUX_ENETUNREACH] = ENETUNREACH; 59 - linux_to_darwin[LINUX_ENETRESET] = ENETRESET; 60 - linux_to_darwin[LINUX_ECONNABORTED] = ECONNABORTED; 61 - linux_to_darwin[LINUX_ECONNRESET] = ECONNRESET; 62 - linux_to_darwin[LINUX_ENOBUFS] = ENOBUFS; 63 - linux_to_darwin[LINUX_EISCONN] = EISCONN; 64 - linux_to_darwin[LINUX_ENOTCONN] = ENOTCONN; 65 - linux_to_darwin[LINUX_ESHUTDOWN] = ESHUTDOWN; 66 - linux_to_darwin[LINUX_ETOOMANYREFS] = ETOOMANYREFS; 67 - linux_to_darwin[LINUX_ETIMEDOUT] = ETIMEDOUT; 68 - linux_to_darwin[LINUX_ECONNREFUSED] = ECONNREFUSED; 69 - linux_to_darwin[LINUX_ELOOP] = ELOOP; 70 - linux_to_darwin[LINUX_ENAMETOOLONG] = ENAMETOOLONG; 71 - linux_to_darwin[LINUX_EHOSTDOWN] = EHOSTDOWN; 72 - linux_to_darwin[LINUX_EHOSTUNREACH] = EHOSTUNREACH; 73 - linux_to_darwin[LINUX_ENOTEMPTY] = ENOTEMPTY; 74 - linux_to_darwin[LINUX_EUSERS] = EUSERS; 75 - linux_to_darwin[LINUX_EDQUOT] = EDQUOT; 76 - linux_to_darwin[LINUX_ESTALE] = ESTALE; 77 - linux_to_darwin[LINUX_EREMOTE] = EREMOTE; 78 - linux_to_darwin[LINUX_ENOLCK] = ENOLCK; 79 - linux_to_darwin[LINUX_ENOSYS] = ENOSYS; 80 - linux_to_darwin[LINUX_EOVERFLOW] = EOVERFLOW; 81 - linux_to_darwin[LINUX_ECANCELED] = ECANCELED; 82 - linux_to_darwin[LINUX_EIDRM] = EIDRM; 83 - linux_to_darwin[LINUX_ENOMSG] = ENOMSG; 84 - linux_to_darwin[LINUX_EILSEQ] = EILSEQ; 85 - linux_to_darwin[LINUX_EBADMSG] = EBADMSG; 86 - linux_to_darwin[LINUX_EMULTIHOP] = EMULTIHOP; 87 - linux_to_darwin[LINUX_ENODATA] = ENODATA; 88 - linux_to_darwin[LINUX_ENOLINK] = ENOLINK; 89 - linux_to_darwin[LINUX_ENOSR] = ENOSR; 90 - linux_to_darwin[LINUX_ENOSTR] = ENOSTR; 91 - linux_to_darwin[LINUX_EPROTO] = EPROTO; 92 - linux_to_darwin[LINUX_ETIME] = ETIME; 93 - linux_to_darwin[LINUX_EOPNOTSUPP] = EOPNOTSUPP; 94 - } 7 + [LINUX_EPERM] = EPERM, 8 + [LINUX_ENOENT] = ENOENT, 9 + [LINUX_ESRCH] = ESRCH, 10 + [LINUX_EINTR] = EINTR, 11 + [LINUX_EIO] = EIO, 12 + [LINUX_ENXIO] = ENXIO, 13 + [LINUX_ENOEXEC] = ENOEXEC, 14 + [LINUX_EBADF] = EBADF, 15 + [LINUX_ECHILD] = ECHILD, 16 + [LINUX_EDEADLK] = EDEADLK, 17 + [LINUX_ENOMEM] = ENOMEM, 18 + [LINUX_EACCES] = EACCES, 19 + [LINUX_EFAULT] = EFAULT, 20 + [LINUX_ENOTBLK] = ENOTBLK, 21 + [LINUX_EBUSY] = EBUSY, 22 + [LINUX_EEXIST] = EEXIST, 23 + [LINUX_EXDEV] = EXDEV, 24 + [LINUX_ENODEV] = ENODEV, 25 + [LINUX_ENOTDIR] = ENOTDIR, 26 + [LINUX_EISDIR] = EISDIR, 27 + [LINUX_EINVAL] = EINVAL, 28 + [LINUX_ENFILE] = ENFILE, 29 + [LINUX_EMFILE] = EMFILE, 30 + [LINUX_ENOTTY] = ENOTTY, 31 + [LINUX_ETXTBSY] = ETXTBSY, 32 + [LINUX_EFBIG] = EFBIG, 33 + [LINUX_ENOSPC] = ENOSPC, 34 + [LINUX_ESPIPE] = ESPIPE, 35 + [LINUX_EROFS] = EROFS, 36 + [LINUX_EMLINK] = EMLINK, 37 + [LINUX_EPIPE] = EPIPE, 38 + [LINUX_EDOM] = EDOM, 39 + [LINUX_ERANGE] = ERANGE, 40 + [LINUX_EAGAIN] = EAGAIN, 41 + [LINUX_EINPROGRESS] = EINPROGRESS, 42 + [LINUX_EALREADY] = EALREADY, 43 + [LINUX_ENOTSOCK] = ENOTSOCK, 44 + [LINUX_EDESTADDRREQ] = EDESTADDRREQ, 45 + [LINUX_EMSGSIZE] = EMSGSIZE, 46 + [LINUX_EPROTOTYPE] = EPROTOTYPE, 47 + [LINUX_ENOPROTOOPT] = ENOPROTOOPT, 48 + [LINUX_EPROTONOSUPPORT] = EPROTONOSUPPORT, 49 + [LINUX_ESOCKTNOSUPPORT] = ESOCKTNOSUPPORT, 50 + [LINUX_ENOTSUP] = ENOTSUP, 51 + [LINUX_EPFNOSUPPORT] = EPFNOSUPPORT, 52 + [LINUX_EAFNOSUPPORT] = EAFNOSUPPORT, 53 + [LINUX_EADDRINUSE] = EADDRINUSE, 54 + [LINUX_EADDRNOTAVAIL] = EADDRNOTAVAIL, 55 + [LINUX_ENETDOWN] = ENETDOWN, 56 + [LINUX_ENETUNREACH] = ENETUNREACH, 57 + [LINUX_ENETRESET] = ENETRESET, 58 + [LINUX_ECONNABORTED] = ECONNABORTED, 59 + [LINUX_ECONNRESET] = ECONNRESET, 60 + [LINUX_ENOBUFS] = ENOBUFS, 61 + [LINUX_EISCONN] = EISCONN, 62 + [LINUX_ENOTCONN] = ENOTCONN, 63 + [LINUX_ESHUTDOWN] = ESHUTDOWN, 64 + [LINUX_ETOOMANYREFS] = ETOOMANYREFS, 65 + [LINUX_ETIMEDOUT] = ETIMEDOUT, 66 + [LINUX_ECONNREFUSED] = ECONNREFUSED, 67 + [LINUX_ELOOP] = ELOOP, 68 + [LINUX_ENAMETOOLONG] = ENAMETOOLONG, 69 + [LINUX_EHOSTDOWN] = EHOSTDOWN, 70 + [LINUX_EHOSTUNREACH] = EHOSTUNREACH, 71 + [LINUX_ENOTEMPTY] = ENOTEMPTY, 72 + [LINUX_EUSERS] = EUSERS, 73 + [LINUX_EDQUOT] = EDQUOT, 74 + [LINUX_ESTALE] = ESTALE, 75 + [LINUX_EREMOTE] = EREMOTE, 76 + [LINUX_ENOLCK] = ENOLCK, 77 + [LINUX_ENOSYS] = ENOSYS, 78 + [LINUX_EOVERFLOW] = EOVERFLOW, 79 + [LINUX_ECANCELED] = ECANCELED, 80 + [LINUX_EIDRM] = EIDRM, 81 + [LINUX_ENOMSG] = ENOMSG, 82 + [LINUX_EILSEQ] = EILSEQ, 83 + [LINUX_EBADMSG] = EBADMSG, 84 + [LINUX_EMULTIHOP] = EMULTIHOP, 85 + [LINUX_ENODATA] = ENODATA, 86 + [LINUX_ENOLINK] = ENOLINK, 87 + [LINUX_ENOSR] = ENOSR, 88 + [LINUX_ENOSTR] = ENOSTR, 89 + [LINUX_EPROTO] = EPROTO, 90 + [LINUX_ETIME] = ETIME, 91 + [LINUX_EOPNOTSUPP] = EOPNOTSUPP, 92 + }; 95 93 96 94 int errno_linux_to_bsd(int err) 97 95 {
+3
src/libsystem/init.c
··· 47 47 extern void libdispatch_init(void); // from libdispatch.a 48 48 extern void _libxpc_initializer(void); // from libxpc 49 49 extern void __objc_initialize(void); 50 + extern void _darling_initialize_commpage(void); // in duct, should go away 50 51 51 52 // signal malloc stack logging that initialisation has finished 52 53 extern void __stack_logging_early_finished(void); // form libsystem_c.dylib ··· 105 106 .realloc = realloc, 106 107 ._pthread_exit_if_canceled = _pthread_exit_if_canceled, 107 108 }; 109 + 110 + _darling_initialize_commpage(); 108 111 109 112 int* x_argc; 110 113 char*** x_argv;