Fix ARG_MAX with chibicc documentation generator

This commit is contained in:
Justine Tunney 2022-05-25 14:06:11 -07:00
parent d230a01222
commit 1a29424c52
2 changed files with 18 additions and 2 deletions

View file

@ -354,9 +354,10 @@ o/cosmopolitan.h: \
o/cosmopolitan.html: \ o/cosmopolitan.html: \
o/$(MODE)/third_party/chibicc/chibicc.com.dbg \ o/$(MODE)/third_party/chibicc/chibicc.com.dbg \
$(filter-out %.s,$(foreach x,$(COSMOPOLITAN_OBJECTS),$($(x)_SRCS))) $(filter-out %.s,$(foreach x,$(COSMOPOLITAN_OBJECTS),$($(x)_SRCS)))
$(file >$@.args,$(filter-out %.s,$(foreach x,$(COSMOPOLITAN_OBJECTS),$($(x)_SRCS))))
o/$(MODE)/third_party/chibicc/chibicc.com.dbg -J \ o/$(MODE)/third_party/chibicc/chibicc.com.dbg -J \
-fno-common -include libc/integral/normalize.inc -o $@ \ -fno-common -include libc/integral/normalize.inc -o $@ \
$(filter-out %.s,$(foreach x,$(COSMOPOLITAN_OBJECTS),$($(x)_SRCS))) @$@.args
$(SRCS): \ $(SRCS): \
libc/integral/normalize.inc \ libc/integral/normalize.inc \

View file

@ -1,7 +1,22 @@
#include "libc/mem/arena.h" #include "libc/mem/arena.h"
#include "libc/runtime/internal.h" #include "libc/runtime/internal.h"
#include "libc/x/x.h"
#include "third_party/chibicc/chibicc.h" #include "third_party/chibicc/chibicc.h"
#include "tool/build/lib/getargs.h"
int main(int argc, char **argv) { int main(int argc, char **argv) {
return chibicc(argc, argv); int n;
char **p;
const char *arg;
struct GetArgs ga;
n = 0;
p = xcalloc(n + 1, sizeof(*p));
getargs_init(&ga, argv);
while ((arg = getargs_next(&ga))) {
p = xrealloc(p, (++n + 1) * sizeof(*p));
p[n - 1] = xstrdup(arg);
p[n - 0] = 0;
}
getargs_destroy(&ga);
return chibicc(n, p);
} }