Fix bugs in cosmocc toolchain

This change integrates e58abc1110b335a3341e8ad5821ad8e3880d9bb2 from
https://github.com/ahgamut/musl-cross-make/ which fixes the issues we
were having with our C language extension for symbolic constants. This
change also performs some code cleanup and bug fixes to getaddrinfo().
It's now possible to compile projects like ncurses, readline and python
without needing to patch anything upstream, except maybe a line or two.
Pretty soon it should be possible to build a Linux distro on Cosmo.
This commit is contained in:
Justine Tunney 2023-06-08 23:44:03 -07:00
parent 22f81a8d50
commit 23e235b7a5
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
272 changed files with 3491 additions and 4350 deletions

View file

@ -1,6 +1,5 @@
#ifndef COSMOPOLITAN_LIBC_SYSV_CONSTS_MSG_H_
#define COSMOPOLITAN_LIBC_SYSV_CONSTS_MSG_H_
#include "libc/runtime/symbolic.h"
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
@ -34,37 +33,64 @@ extern const int MSG_TRUNC;
extern const int MSG_WAITALL;
extern const int MSG_WAITFORONE;
#define MSG_DONTROUTE 4
#define MSG_OOB 1
#define MSG_PEEK 2
#define MSG_BATCH MSG_BATCH
#define MSG_BCAST MSG_BCAST
#define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC
#define MSG_CONFIRM MSG_CONFIRM
#define MSG_CTRUNC MSG_CTRUNC
#define MSG_DONTWAIT MSG_DONTWAIT
#define MSG_EOF MSG_EOF
#define MSG_EOR MSG_EOR
#define MSG_ERRQUEUE MSG_ERRQUEUE
#define MSG_EXCEPT MSG_EXCEPT
#define MSG_FASTOPEN MSG_FASTOPEN
#define MSG_FIN MSG_FIN
#define MSG_INFO MSG_INFO
#define MSG_MCAST MSG_MCAST
#define MSG_MORE MSG_MORE
#define MSG_NOERROR MSG_NOERROR
#define MSG_NOSIGNAL MSG_NOSIGNAL
#define MSG_NOTIFICATION MSG_NOTIFICATION
#define MSG_PARITY_ERROR MSG_PARITY_ERROR
#define MSG_PROXY MSG_PROXY
#define MSG_RST MSG_RST
#define MSG_STAT MSG_STAT
#define MSG_SYN MSG_SYN
#define MSG_TRUNC MSG_TRUNC
#define MSG_WAITALL MSG_WAITALL
#define MSG_WAITFORONE MSG_WAITFORONE
#define __tmpcosmo_MSG_BATCH -1134416743
#define __tmpcosmo_MSG_BCAST 370853917
#define __tmpcosmo_MSG_CMSG_CLOEXEC -1745056044
#define __tmpcosmo_MSG_CONFIRM -1373446954
#define __tmpcosmo_MSG_CTRUNC -1111700304
#define __tmpcosmo_MSG_DONTWAIT -667086557
#define __tmpcosmo_MSG_EOF -602741896
#define __tmpcosmo_MSG_EOR -91925267
#define __tmpcosmo_MSG_ERRQUEUE 1651845516
#define __tmpcosmo_MSG_EXCEPT 460132348
#define __tmpcosmo_MSG_FASTOPEN -394051246
#define __tmpcosmo_MSG_FIN 1618968310
#define __tmpcosmo_MSG_INFO -1121675098
#define __tmpcosmo_MSG_MCAST -782610984
#define __tmpcosmo_MSG_MORE 1239285605
#define __tmpcosmo_MSG_NOERROR -1816652550
#define __tmpcosmo_MSG_NOSIGNAL -1026018855
#define __tmpcosmo_MSG_NOTIFICATION -1641797121
#define __tmpcosmo_MSG_PARITY_ERROR 742069756
#define __tmpcosmo_MSG_PROXY -2048250956
#define __tmpcosmo_MSG_RST -1659007642
#define __tmpcosmo_MSG_STAT -1766577788
#define __tmpcosmo_MSG_SYN -105011009
#define __tmpcosmo_MSG_TRUNC 1248152008
#define __tmpcosmo_MSG_WAITALL -209697144
#define __tmpcosmo_MSG_WAITFORONE -583987704
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
#define MSG_BATCH SYMBOLIC(MSG_BATCH)
#define MSG_BCAST SYMBOLIC(MSG_BCAST)
#define MSG_CMSG_CLOEXEC SYMBOLIC(MSG_CMSG_CLOEXEC)
#define MSG_CONFIRM SYMBOLIC(MSG_CONFIRM)
#define MSG_CTRUNC SYMBOLIC(MSG_CTRUNC)
#define MSG_DONTROUTE LITERALLY(4)
#define MSG_DONTWAIT SYMBOLIC(MSG_DONTWAIT)
#define MSG_EOF SYMBOLIC(MSG_EOF)
#define MSG_EOR SYMBOLIC(MSG_EOR)
#define MSG_ERRQUEUE SYMBOLIC(MSG_ERRQUEUE)
#define MSG_EXCEPT SYMBOLIC(MSG_EXCEPT)
#define MSG_FASTOPEN SYMBOLIC(MSG_FASTOPEN)
#define MSG_FIN SYMBOLIC(MSG_FIN)
#define MSG_INFO SYMBOLIC(MSG_INFO)
#define MSG_MCAST SYMBOLIC(MSG_MCAST)
#define MSG_MORE SYMBOLIC(MSG_MORE)
#define MSG_NOERROR SYMBOLIC(MSG_NOERROR)
#define MSG_NOSIGNAL SYMBOLIC(MSG_NOSIGNAL)
#define MSG_NOTIFICATION SYMBOLIC(MSG_NOTIFICATION)
#define MSG_OOB LITERALLY(1)
#define MSG_PARITY_ERROR SYMBOLIC(MSG_PARITY_ERROR)
#define MSG_PEEK LITERALLY(2)
#define MSG_PROXY SYMBOLIC(MSG_PROXY)
#define MSG_RST SYMBOLIC(MSG_RST)
#define MSG_STAT SYMBOLIC(MSG_STAT)
#define MSG_SYN SYMBOLIC(MSG_SYN)
#define MSG_TRUNC SYMBOLIC(MSG_TRUNC)
#define MSG_WAITALL SYMBOLIC(MSG_WAITALL)
#define MSG_WAITFORONE SYMBOLIC(MSG_WAITFORONE)
#endif /* COSMOPOLITAN_LIBC_SYSV_CONSTS_MSG_H_ */