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,67 +1,5 @@
#ifndef COSMOPOLITAN_LIBC_SYSV_CONSTS_SIO_H_
#define COSMOPOLITAN_LIBC_SYSV_CONSTS_SIO_H_
#include "libc/runtime/symbolic.h"
#define SIOCADDDLCI SYMBOLIC(SIOCADDDLCI)
#define SIOCADDMULTI SYMBOLIC(SIOCADDMULTI)
#define SIOCADDRT SYMBOLIC(SIOCADDRT)
#define SIOCATMARK SYMBOLIC(SIOCATMARK)
#define SIOCDARP SYMBOLIC(SIOCDARP)
#define SIOCDELDLCI SYMBOLIC(SIOCDELDLCI)
#define SIOCDELMULTI SYMBOLIC(SIOCDELMULTI)
#define SIOCDELRT SYMBOLIC(SIOCDELRT)
#define SIOCDEVPRIVATE SYMBOLIC(SIOCDEVPRIVATE)
#define SIOCDIFADDR SYMBOLIC(SIOCDIFADDR)
#define SIOCDRARP SYMBOLIC(SIOCDRARP)
#define SIOCGARP SYMBOLIC(SIOCGARP)
#define SIOCGIFADDR SYMBOLIC(SIOCGIFADDR)
#define SIOCGIFBR SYMBOLIC(SIOCGIFBR)
#define SIOCGIFBRDADDR SYMBOLIC(SIOCGIFBRDADDR)
#define SIOCGIFCONF SYMBOLIC(SIOCGIFCONF)
#define SIOCGIFCOUNT SYMBOLIC(SIOCGIFCOUNT)
#define SIOCGIFDSTADDR SYMBOLIC(SIOCGIFDSTADDR)
#define SIOCGIFENCAP SYMBOLIC(SIOCGIFENCAP)
#define SIOCGIFFLAGS SYMBOLIC(SIOCGIFFLAGS)
#define SIOCGIFHWADDR SYMBOLIC(SIOCGIFHWADDR)
#define SIOCGIFINDEX SYMBOLIC(SIOCGIFINDEX)
#define SIOCGIFMAP SYMBOLIC(SIOCGIFMAP)
#define SIOCGIFMEM SYMBOLIC(SIOCGIFMEM)
#define SIOCGIFMETRIC SYMBOLIC(SIOCGIFMETRIC)
#define SIOCGIFMTU SYMBOLIC(SIOCGIFMTU)
#define SIOCGIFNAME SYMBOLIC(SIOCGIFNAME)
#define SIOCGIFNETMASK SYMBOLIC(SIOCGIFNETMASK)
#define SIOCGIFPFLAGS SYMBOLIC(SIOCGIFPFLAGS)
#define SIOCGIFSLAVE SYMBOLIC(SIOCGIFSLAVE)
#define SIOCGIFTXQLEN SYMBOLIC(SIOCGIFTXQLEN)
#define SIOCGPGRP SYMBOLIC(SIOCGPGRP)
#define SIOCGRARP SYMBOLIC(SIOCGRARP)
#define SIOCGSTAMP SYMBOLIC(SIOCGSTAMP)
#define SIOCGSTAMPNS SYMBOLIC(SIOCGSTAMPNS)
#define SIOCPROTOPRIVATE SYMBOLIC(SIOCPROTOPRIVATE)
#define SIOCRTMSG SYMBOLIC(SIOCRTMSG)
#define SIOCSARP SYMBOLIC(SIOCSARP)
#define SIOCSIFADDR SYMBOLIC(SIOCSIFADDR)
#define SIOCSIFBR SYMBOLIC(SIOCSIFBR)
#define SIOCSIFBRDADDR SYMBOLIC(SIOCSIFBRDADDR)
#define SIOCSIFDSTADDR SYMBOLIC(SIOCSIFDSTADDR)
#define SIOCSIFENCAP SYMBOLIC(SIOCSIFENCAP)
#define SIOCSIFFLAGS SYMBOLIC(SIOCSIFFLAGS)
#define SIOCSIFHWADDR SYMBOLIC(SIOCSIFHWADDR)
#define SIOCSIFHWBROADCAST SYMBOLIC(SIOCSIFHWBROADCAST)
#define SIOCSIFLINK SYMBOLIC(SIOCSIFLINK)
#define SIOCSIFMAP SYMBOLIC(SIOCSIFMAP)
#define SIOCSIFMEM SYMBOLIC(SIOCSIFMEM)
#define SIOCSIFMETRIC SYMBOLIC(SIOCSIFMETRIC)
#define SIOCSIFMTU SYMBOLIC(SIOCSIFMTU)
#define SIOCSIFNAME SYMBOLIC(SIOCSIFNAME)
#define SIOCSIFNETMASK SYMBOLIC(SIOCSIFNETMASK)
#define SIOCSIFPFLAGS SYMBOLIC(SIOCSIFPFLAGS)
#define SIOCSIFSLAVE SYMBOLIC(SIOCSIFSLAVE)
#define SIOCSIFTXQLEN SYMBOLIC(SIOCSIFTXQLEN)
#define SIOCSPGRP SYMBOLIC(SIOCSPGRP)
#define SIOCSRARP SYMBOLIC(SIOCSRARP)
#define SIOGIFINDEX SYMBOLIC(SIOGIFINDEX)
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
@ -125,6 +63,126 @@ extern const uint64_t SIOCSPGRP;
extern const uint64_t SIOCSRARP;
extern const uint64_t SIOGIFINDEX;
#define SIOCADDDLCI SIOCADDDLCI
#define SIOCADDMULTI SIOCADDMULTI
#define SIOCADDRT SIOCADDRT
#define SIOCATMARK SIOCATMARK
#define SIOCDARP SIOCDARP
#define SIOCDELDLCI SIOCDELDLCI
#define SIOCDELMULTI SIOCDELMULTI
#define SIOCDELRT SIOCDELRT
#define SIOCDEVPRIVATE SIOCDEVPRIVATE
#define SIOCDIFADDR SIOCDIFADDR
#define SIOCDRARP SIOCDRARP
#define SIOCGARP SIOCGARP
#define SIOCGIFADDR SIOCGIFADDR
#define SIOCGIFBR SIOCGIFBR
#define SIOCGIFBRDADDR SIOCGIFBRDADDR
#define SIOCGIFCONF SIOCGIFCONF
#define SIOCGIFCOUNT SIOCGIFCOUNT
#define SIOCGIFDSTADDR SIOCGIFDSTADDR
#define SIOCGIFENCAP SIOCGIFENCAP
#define SIOCGIFFLAGS SIOCGIFFLAGS
#define SIOCGIFHWADDR SIOCGIFHWADDR
#define SIOCGIFINDEX SIOCGIFINDEX
#define SIOCGIFMAP SIOCGIFMAP
#define SIOCGIFMEM SIOCGIFMEM
#define SIOCGIFMETRIC SIOCGIFMETRIC
#define SIOCGIFMTU SIOCGIFMTU
#define SIOCGIFNAME SIOCGIFNAME
#define SIOCGIFNETMASK SIOCGIFNETMASK
#define SIOCGIFPFLAGS SIOCGIFPFLAGS
#define SIOCGIFSLAVE SIOCGIFSLAVE
#define SIOCGIFTXQLEN SIOCGIFTXQLEN
#define SIOCGPGRP SIOCGPGRP
#define SIOCGRARP SIOCGRARP
#define SIOCGSTAMP SIOCGSTAMP
#define SIOCGSTAMPNS SIOCGSTAMPNS
#define SIOCPROTOPRIVATE SIOCPROTOPRIVATE
#define SIOCRTMSG SIOCRTMSG
#define SIOCSARP SIOCSARP
#define SIOCSIFADDR SIOCSIFADDR
#define SIOCSIFBR SIOCSIFBR
#define SIOCSIFBRDADDR SIOCSIFBRDADDR
#define SIOCSIFDSTADDR SIOCSIFDSTADDR
#define SIOCSIFENCAP SIOCSIFENCAP
#define SIOCSIFFLAGS SIOCSIFFLAGS
#define SIOCSIFHWADDR SIOCSIFHWADDR
#define SIOCSIFHWBROADCAST SIOCSIFHWBROADCAST
#define SIOCSIFLINK SIOCSIFLINK
#define SIOCSIFMAP SIOCSIFMAP
#define SIOCSIFMEM SIOCSIFMEM
#define SIOCSIFMETRIC SIOCSIFMETRIC
#define SIOCSIFMTU SIOCSIFMTU
#define SIOCSIFNAME SIOCSIFNAME
#define SIOCSIFNETMASK SIOCSIFNETMASK
#define SIOCSIFPFLAGS SIOCSIFPFLAGS
#define SIOCSIFSLAVE SIOCSIFSLAVE
#define SIOCSIFTXQLEN SIOCSIFTXQLEN
#define SIOCSPGRP SIOCSPGRP
#define SIOCSRARP SIOCSRARP
#define SIOGIFINDEX SIOGIFINDEX
#define __tmpcosmo_SIOCADDDLCI -302399980
#define __tmpcosmo_SIOCADDMULTI -241508129
#define __tmpcosmo_SIOCADDRT -1966468807
#define __tmpcosmo_SIOCATMARK 2090047872
#define __tmpcosmo_SIOCDARP 500998632
#define __tmpcosmo_SIOCDELDLCI -1902714796
#define __tmpcosmo_SIOCDELMULTI -1463386224
#define __tmpcosmo_SIOCDELRT 1022320556
#define __tmpcosmo_SIOCDEVPRIVATE -60666997
#define __tmpcosmo_SIOCDIFADDR 1566002657
#define __tmpcosmo_SIOCDRARP 1846842637
#define __tmpcosmo_SIOCGARP -1836460866
#define __tmpcosmo_SIOCGIFADDR 1391552614
#define __tmpcosmo_SIOCGIFBR -1677174045
#define __tmpcosmo_SIOCGIFBRDADDR -427841369
#define __tmpcosmo_SIOCGIFCONF 1049413040
#define __tmpcosmo_SIOCGIFCOUNT 2030522997
#define __tmpcosmo_SIOCGIFDSTADDR -1936137036
#define __tmpcosmo_SIOCGIFENCAP 569723560
#define __tmpcosmo_SIOCGIFFLAGS 953969575
#define __tmpcosmo_SIOCGIFHWADDR 1826446939
#define __tmpcosmo_SIOCGIFINDEX 676788651
#define __tmpcosmo_SIOCGIFMAP -402430259
#define __tmpcosmo_SIOCGIFMEM 1080384634
#define __tmpcosmo_SIOCGIFMETRIC -1711572020
#define __tmpcosmo_SIOCGIFMTU 1680466237
#define __tmpcosmo_SIOCGIFNAME -1345894348
#define __tmpcosmo_SIOCGIFNETMASK -496934230
#define __tmpcosmo_SIOCGIFPFLAGS -980003252
#define __tmpcosmo_SIOCGIFSLAVE 1979814983
#define __tmpcosmo_SIOCGIFTXQLEN -539822558
#define __tmpcosmo_SIOCGPGRP 291251287
#define __tmpcosmo_SIOCGRARP -1469233791
#define __tmpcosmo_SIOCGSTAMP -2051228190
#define __tmpcosmo_SIOCGSTAMPNS -800810625
#define __tmpcosmo_SIOCPROTOPRIVATE -59287791
#define __tmpcosmo_SIOCRTMSG -1653362727
#define __tmpcosmo_SIOCSARP -1453381361
#define __tmpcosmo_SIOCSIFADDR -2115976317
#define __tmpcosmo_SIOCSIFBR 748599293
#define __tmpcosmo_SIOCSIFBRDADDR -1268459166
#define __tmpcosmo_SIOCSIFDSTADDR 92076531
#define __tmpcosmo_SIOCSIFENCAP -37300098
#define __tmpcosmo_SIOCSIFFLAGS 813103544
#define __tmpcosmo_SIOCSIFHWADDR -1351841045
#define __tmpcosmo_SIOCSIFHWBROADCAST -668663122
#define __tmpcosmo_SIOCSIFLINK -1706385678
#define __tmpcosmo_SIOCSIFMAP -186030343
#define __tmpcosmo_SIOCSIFMEM -985300611
#define __tmpcosmo_SIOCSIFMETRIC -1714941240
#define __tmpcosmo_SIOCSIFMTU -1509233635
#define __tmpcosmo_SIOCSIFNAME 1451802510
#define __tmpcosmo_SIOCSIFNETMASK -1774301296
#define __tmpcosmo_SIOCSIFPFLAGS 1203125093
#define __tmpcosmo_SIOCSIFSLAVE 859709068
#define __tmpcosmo_SIOCSIFTXQLEN 1300761928
#define __tmpcosmo_SIOCSPGRP 793321404
#define __tmpcosmo_SIOCSRARP -1216626551
#define __tmpcosmo_SIOGIFINDEX 375877633
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
#endif /* COSMOPOLITAN_LIBC_SYSV_CONSTS_SIO_H_ */