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_PTY_H_
#define COSMOPOLITAN_LIBC_SYSV_CONSTS_PTY_H_
#include "libc/runtime/symbolic.h"
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
@ -16,19 +15,23 @@ extern const int TIOCPKT_STOP;
extern const int TIOCSPTLCK;
extern const int PTMGET;
#define TIOCPKT_DATA 0x00
#define TIOCPKT_DOSTOP 0x01
#define TIOCPKT_FLUSHREAD 0x02
#define TIOCPKT_FLUSHWRITE 0x04
#define TIOCPKT_IOCTL 0x08
#define TIOCPKT_NOSTOP 0x10
#define TIOCPKT_START 0x20
#define TIOCPKT_STOP 0x40
#define TIOCPKT TIOCPKT
#define TIOCSPTLCK TIOCSPTLCK
#define PTMGET PTMGET
#define __tmpcosmo_TIOCPKT -1036987649
#define __tmpcosmo_TIOCSPTLCK 372918192
#define __tmpcosmo_PTMGET -2064878958
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
#define TIOCPKT SYMBOLIC(TIOCPKT)
#define TIOCSPTLCK SYMBOLIC(TIOCSPTLCK)
#define PTMGET SYMBOLIC(PTMGET)
#define TIOCPKT_DATA LITERALLY(0x00)
#define TIOCPKT_DOSTOP LITERALLY(0x01)
#define TIOCPKT_FLUSHREAD LITERALLY(0x02)
#define TIOCPKT_FLUSHWRITE LITERALLY(0x04)
#define TIOCPKT_IOCTL LITERALLY(0x08)
#define TIOCPKT_NOSTOP LITERALLY(0x10)
#define TIOCPKT_START LITERALLY(0x20)
#define TIOCPKT_STOP LITERALLY(0x40)
#endif /* COSMOPOLITAN_LIBC_SYSV_CONSTS_PTY_H_ */