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,53 +1,5 @@
#ifndef COSMOPOLITAN_LIBC_SYSV_CONSTS_PF_H_
#define COSMOPOLITAN_LIBC_SYSV_CONSTS_PF_H_
#include "libc/runtime/symbolic.h"
#define PF_ALG SYMBOLIC(PF_ALG)
#define PF_APPLETALK SYMBOLIC(PF_APPLETALK)
#define PF_ASH SYMBOLIC(PF_ASH)
#define PF_ATMPVC SYMBOLIC(PF_ATMPVC)
#define PF_ATMSVC SYMBOLIC(PF_ATMSVC)
#define PF_AX25 SYMBOLIC(PF_AX25)
#define PF_BLUETOOTH SYMBOLIC(PF_BLUETOOTH)
#define PF_BRIDGE SYMBOLIC(PF_BRIDGE)
#define PF_CAIF SYMBOLIC(PF_CAIF)
#define PF_CAN SYMBOLIC(PF_CAN)
#define PF_ECONET SYMBOLIC(PF_ECONET)
#define PF_FILE SYMBOLIC(PF_FILE)
#define PF_IB SYMBOLIC(PF_IB)
#define PF_IEEE802154 SYMBOLIC(PF_IEEE802154)
#define PF_INET SYMBOLIC(PF_INET)
#define PF_INET6 SYMBOLIC(PF_INET6)
#define PF_IPX SYMBOLIC(PF_IPX)
#define PF_IRDA SYMBOLIC(PF_IRDA)
#define PF_ISDN SYMBOLIC(PF_ISDN)
#define PF_IUCV SYMBOLIC(PF_IUCV)
#define PF_KCM SYMBOLIC(PF_KCM)
#define PF_KEY SYMBOLIC(PF_KEY)
#define PF_LLC SYMBOLIC(PF_LLC)
#define PF_LOCAL SYMBOLIC(PF_LOCAL)
#define PF_MAX SYMBOLIC(PF_MAX)
#define PF_MPLS SYMBOLIC(PF_MPLS)
#define PF_NETBEUI SYMBOLIC(PF_NETBEUI)
#define PF_NETLINK SYMBOLIC(PF_NETLINK)
#define PF_NETROM SYMBOLIC(PF_NETROM)
#define PF_NFC SYMBOLIC(PF_NFC)
#define PF_PACKET SYMBOLIC(PF_PACKET)
#define PF_PHONET SYMBOLIC(PF_PHONET)
#define PF_PPPOX SYMBOLIC(PF_PPPOX)
#define PF_RDS SYMBOLIC(PF_RDS)
#define PF_ROSE SYMBOLIC(PF_ROSE)
#define PF_ROUTE SYMBOLIC(PF_ROUTE)
#define PF_RXRPC SYMBOLIC(PF_RXRPC)
#define PF_SECURITY SYMBOLIC(PF_SECURITY)
#define PF_SNA SYMBOLIC(PF_SNA)
#define PF_TIPC SYMBOLIC(PF_TIPC)
#define PF_UNIX SYMBOLIC(PF_UNIX)
#define PF_UNSPEC SYMBOLIC(PF_UNSPEC)
#define PF_VSOCK SYMBOLIC(PF_VSOCK)
#define PF_WANPIPE SYMBOLIC(PF_WANPIPE)
#define PF_X25 SYMBOLIC(PF_X25)
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
@ -97,6 +49,98 @@ extern const int PF_VSOCK;
extern const int PF_WANPIPE;
extern const int PF_X25;
#define PF_ALG PF_ALG
#define PF_APPLETALK PF_APPLETALK
#define PF_ASH PF_ASH
#define PF_ATMPVC PF_ATMPVC
#define PF_ATMSVC PF_ATMSVC
#define PF_AX25 PF_AX25
#define PF_BLUETOOTH PF_BLUETOOTH
#define PF_BRIDGE PF_BRIDGE
#define PF_CAIF PF_CAIF
#define PF_CAN PF_CAN
#define PF_ECONET PF_ECONET
#define PF_FILE PF_FILE
#define PF_IB PF_IB
#define PF_IEEE802154 PF_IEEE802154
#define PF_INET PF_INET
#define PF_INET6 PF_INET6
#define PF_IPX PF_IPX
#define PF_IRDA PF_IRDA
#define PF_ISDN PF_ISDN
#define PF_IUCV PF_IUCV
#define PF_KCM PF_KCM
#define PF_KEY PF_KEY
#define PF_LLC PF_LLC
#define PF_LOCAL PF_LOCAL
#define PF_MAX PF_MAX
#define PF_MPLS PF_MPLS
#define PF_NETBEUI PF_NETBEUI
#define PF_NETLINK PF_NETLINK
#define PF_NETROM PF_NETROM
#define PF_NFC PF_NFC
#define PF_PACKET PF_PACKET
#define PF_PHONET PF_PHONET
#define PF_PPPOX PF_PPPOX
#define PF_RDS PF_RDS
#define PF_ROSE PF_ROSE
#define PF_ROUTE PF_ROUTE
#define PF_RXRPC PF_RXRPC
#define PF_SECURITY PF_SECURITY
#define PF_SNA PF_SNA
#define PF_TIPC PF_TIPC
#define PF_UNIX PF_UNIX
#define PF_UNSPEC PF_UNSPEC
#define PF_VSOCK PF_VSOCK
#define PF_WANPIPE PF_WANPIPE
#define PF_X25 PF_X25
#define __tmpcosmo_PF_ALG -1167318959
#define __tmpcosmo_PF_APPLETALK 1352627627
#define __tmpcosmo_PF_ASH -1469433340
#define __tmpcosmo_PF_ATMPVC -1573973598
#define __tmpcosmo_PF_ATMSVC -1896919644
#define __tmpcosmo_PF_AX25 2047319632
#define __tmpcosmo_PF_BLUETOOTH -2059948473
#define __tmpcosmo_PF_BRIDGE 1226413197
#define __tmpcosmo_PF_CAIF 348719180
#define __tmpcosmo_PF_CAN 1956565481
#define __tmpcosmo_PF_ECONET -590876500
#define __tmpcosmo_PF_FILE -2117897689
#define __tmpcosmo_PF_IB -1143185526
#define __tmpcosmo_PF_IEEE802154 644075298
#define __tmpcosmo_PF_INET -965498803
#define __tmpcosmo_PF_INET6 -605664230
#define __tmpcosmo_PF_IPX -812984923
#define __tmpcosmo_PF_IRDA -845910457
#define __tmpcosmo_PF_ISDN -2124176331
#define __tmpcosmo_PF_IUCV -223080277
#define __tmpcosmo_PF_KCM -625322398
#define __tmpcosmo_PF_KEY -1338823775
#define __tmpcosmo_PF_LLC 1643083644
#define __tmpcosmo_PF_LOCAL -1878383051
#define __tmpcosmo_PF_MAX 1429755554
#define __tmpcosmo_PF_MPLS 859672223
#define __tmpcosmo_PF_NETBEUI -1279572811
#define __tmpcosmo_PF_NETLINK -904019371
#define __tmpcosmo_PF_NETROM -1202450843
#define __tmpcosmo_PF_NFC 1879738902
#define __tmpcosmo_PF_PACKET -754919290
#define __tmpcosmo_PF_PHONET 1932009977
#define __tmpcosmo_PF_PPPOX 2066783213
#define __tmpcosmo_PF_RDS 350205681
#define __tmpcosmo_PF_ROSE -183721473
#define __tmpcosmo_PF_ROUTE -2010441155
#define __tmpcosmo_PF_RXRPC 1253344453
#define __tmpcosmo_PF_SECURITY -2074690212
#define __tmpcosmo_PF_SNA 543851053
#define __tmpcosmo_PF_TIPC -1469649195
#define __tmpcosmo_PF_UNIX 523231587
#define __tmpcosmo_PF_UNSPEC -8069898
#define __tmpcosmo_PF_VSOCK 1746452212
#define __tmpcosmo_PF_WANPIPE -1066851141
#define __tmpcosmo_PF_X25 880954619
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
#endif /* COSMOPOLITAN_LIBC_SYSV_CONSTS_PF_H_ */