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_SCM_H_
#define COSMOPOLITAN_LIBC_SYSV_CONSTS_SCM_H_
#include "libc/runtime/symbolic.h"
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
@ -13,11 +12,17 @@ extern const int SCM_WIFI_STATUS;
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
#define SCM_RIGHTS LITERALLY(1)
#define SCM_TIMESTAMP SYMBOLIC(SCM_TIMESTAMP)
#define SCM_CREDENTIALS SYMBOLIC(SCM_CREDENTIALS)
#define SCM_TIMESTAMPING SYMBOLIC(SCM_TIMESTAMPING)
#define SCM_TIMESTAMPNS SYMBOLIC(SCM_TIMESTAMPNS)
#define SCM_WIFI_STATUS SYMBOLIC(SCM_WIFI_STATUS)
#define SCM_RIGHTS 1
#define SCM_TIMESTAMP SCM_TIMESTAMP
#define SCM_CREDENTIALS SCM_CREDENTIALS
#define SCM_TIMESTAMPING SCM_TIMESTAMPING
#define SCM_TIMESTAMPNS SCM_TIMESTAMPNS
#define SCM_WIFI_STATUS SCM_WIFI_STATUS
#define __tmpcosmo_SCM_TIMESTAMP -1645076061
#define __tmpcosmo_SCM_CREDENTIALS 972207148
#define __tmpcosmo_SCM_TIMESTAMPING 2083109223
#define __tmpcosmo_SCM_TIMESTAMPNS 1344216429
#define __tmpcosmo_SCM_WIFI_STATUS -1069868696
#endif /* COSMOPOLITAN_LIBC_SYSV_CONSTS_SCM_H_ */