From ca4cf67eb859947c2ee5217b36a29869133b8a7a Mon Sep 17 00:00:00 2001 From: Justine Tunney Date: Mon, 1 Jul 2024 01:32:25 -0700 Subject: [PATCH] Include more programs in cosmocc The Cosmopolitan Compiler Collection now includes the following programs - `ar.ape` is a faster alternative to `ar rcsD` for creating determistic static archives. It's ~10x faster than GNU because it isn't quadratic. It'll even outperform LLVM ar by 2x, thanks to writev/copy_file_range. - `sha256sum.ape` is a faster alternative to the `sha256sum` command. It goes 2x faster since it leverages vectorized assembly implementations. - `resymbol` is a brand new program we invented, like objcopy, that lets you rename all the global symbols in a .o file to have a new suffix or prefix. In the future, this will be used by cosmocc automatically when building -O3 math kernels, that need to be vectorized for all hardware - `gzip.ape` is a faster version of the `gzip` command, that is included by most Linux distros. It gains better performance using Chromium Zlib which, once again, includes highly optimized assembly, that Mark Adler won't merge into the official MS-DOS compatible zlib codebase. - `cocmd` is the cosmopolitan shell. It can function as a faster `sh -c` alternative than bash and dash as the `SHELL = /opt/cosmocc/bin/cocmd` at the top of your Makefile. Please note you should be using the cosmo fork of GNU make (already included), since normal make won't recognize this as a bourne-compatible shell and remove the execve() optimization which makes things slower. In some ways that's true. This doesn't have a complete POSIX shell implementation. However it's enough for cosmo's mono repo. It also implements faster behaviors in some respects. The following programs are also introduced, which aren't as interesting. The main reason why they're here is so Cosmopolitan's mono repo shall be able to remove build/bootstrap/ in future editions. That way we can keep build utilities better up to date, without bloating the git history much - `chmod.ape` for hermeticity - `cp.ape` for hermeticity - `echo.ape` for hermeticity - `objbincopy` is an objcopy-like tool that's used to build ape loader - `package.ape` is used for strict dependency checking of object graph - `rm.ape` for hermeticity - `touch.ape` for hermeticity --- build/bootstrap/rollup | Bin 246415 -> 0 bytes third_party/make/job.c | 1 + tool/build/rollup.c | 177 ---------------------------------------- tool/cosmocc/package.sh | 35 +++++++- 4 files changed, 35 insertions(+), 178 deletions(-) delete mode 100755 build/bootstrap/rollup delete mode 100644 tool/build/rollup.c diff --git a/build/bootstrap/rollup b/build/bootstrap/rollup deleted file mode 100755 index 47d2d505c54631b15df6a83c321e64989d296b2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246415 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 n && memcmp(p, s, n) == 0; -} - -void Process(const char *p, const char *pe, const char *path, bool isheader) { - int level; - bool noformat; - const char *p2, *dq, *name; - for (noformat = false, level = 0; p < pe; p = p2) { - p2 = memchr(p, '\n', pe - p); - p2 = p2 ? p2 + 1 : pe; - if (LOOKINGAT(p, pe, "#if")) { - if (isheader && !level++) - continue; - } - if (LOOKINGAT(p, pe, "#endif")) { - if (isheader && !--level) - continue; - } - if (LOOKINGAT(p, pe, "/* clang-format off */")) { - noformat = true; - } else if (LOOKINGAT(p, pe, "/* clang-format on */")) { - noformat = false; - } - if (LOOKINGAT(p, pe, "#include \"")) { - name = p + strlen("#include \""); - dq = memchr(name, '"', pe - name); - if (dq) { - Visit(strndup(name, dq - name)); - continue; - } - } - Appendd(&output, p, p2 - p); - } - if (noformat) { - Appends(&output, "/* clang-format on */\n"); - } -} - -void Visit(const char *path) { - int fd; - char *map; - size_t size; - bool isheader; - if (!endswith(path, ".h") && !endswith(path, ".inc")) - return; - if (endswith(path, ".internal.h")) - return; - if (endswith(path, "/internal.h")) - return; - if (endswith(path, ".internal.inc")) - return; - if (endswith(path, "/internal.inc")) - return; - if (startswith(path, "libc/isystem/")) - return; - isheader = endswith(path, ".h"); - if (isheader && isinterned(visited, path)) - return; - Appends(&output, "\n\f\n/*!BEGIN "); - Appends(&output, path); - Appends(&output, " */\n\n"); - intern(visited, path); - if ((fd = open(path, O_RDONLY)) == -1) - DieSys(path); - if ((size = GetFdSize(fd))) { - map = mmap(0, size, PROT_READ, MAP_PRIVATE, fd, 0); - if (map == MAP_FAILED) - DieSys(path); - Process(map, map + size, path, isheader); - if (munmap(map, size)) - DieSys(path); - } - if (close(fd)) - DieSys(path); -} - -int main(int argc, char *argv[]) { - size_t bytes; - const char *src; - struct GetArgs ga; - prog = argv[0]; - if (!prog) - prog = "rollup"; - visited = newinterner(); - Appends(&output, "#ifndef COSMOPOLITAN_H_\n"); - Appends(&output, "#define COSMOPOLITAN_H_\n"); - getargs_init(&ga, argv + 1); - while ((src = getargs_next(&ga))) { - Visit(src); - } - getargs_destroy(&ga); - Appends(&output, "\n"); - Appends(&output, "#endif /* COSMOPOLITAN_H_ */\n"); - bytes = appendz(output).i; - if (write(1, output, bytes) != bytes) { - DieSys(prog); - } - freeinterner(visited); - return 0; -} diff --git a/tool/cosmocc/package.sh b/tool/cosmocc/package.sh index 70e76328cc8..0ad1fc091e9 100755 --- a/tool/cosmocc/package.sh +++ b/tool/cosmocc/package.sh @@ -44,6 +44,19 @@ make -j64 m=$AMD64 \ o/$AMD64/tool/build/zipobj.dbg \ o/$AMD64/tool/build/apelink.dbg \ o/$AMD64/tool/build/pecheck.dbg \ + o/$AMD64/tool/build/ar.dbg \ + o/$AMD64/tool/build/chmod.dbg \ + o/$AMD64/tool/build/cocmd.dbg \ + o/$AMD64/tool/build/compile.dbg \ + o/$AMD64/tool/build/cp.dbg \ + o/$AMD64/tool/build/echo.dbg \ + o/$AMD64/tool/build/gzip.dbg \ + o/$AMD64/tool/build/objbincopy.dbg \ + o/$AMD64/tool/build/package.dbg \ + o/$AMD64/tool/build/rm.dbg \ + o/$AMD64/tool/build/touch.dbg \ + o/$AMD64/tool/build/sha256sum.dbg \ + o/$AMD64/tool/build/resymbol.dbg \ o/$AMD64/third_party/make/make.dbg \ o/$AMD64/third_party/ctags/ctags.dbg @@ -64,6 +77,19 @@ make -j64 m=$ARM64 \ o/$ARM64/tool/build/zipobj.dbg \ o/$ARM64/tool/build/apelink.dbg \ o/$ARM64/tool/build/pecheck.dbg \ + o/$ARM64/tool/build/ar.dbg \ + o/$ARM64/tool/build/chmod.dbg \ + o/$ARM64/tool/build/cocmd.dbg \ + o/$ARM64/tool/build/compile.dbg \ + o/$ARM64/tool/build/cp.dbg \ + o/$ARM64/tool/build/echo.dbg \ + o/$ARM64/tool/build/gzip.dbg \ + o/$ARM64/tool/build/objbincopy.dbg \ + o/$ARM64/tool/build/package.dbg \ + o/$ARM64/tool/build/rm.dbg \ + o/$ARM64/tool/build/touch.dbg \ + o/$ARM64/tool/build/sha256sum.dbg \ + o/$ARM64/tool/build/resymbol.dbg \ o/$ARM64/third_party/make/make.dbg \ o/$ARM64/third_party/ctags/ctags.dbg @@ -146,7 +172,9 @@ cp -af tool/cosmocc/bin/* "$OUTDIR/bin/" cp -f o/$AMD64/ape/ape.elf "$OUTDIR/bin/ape-x86_64.elf" cp -f o/$AMD64/ape/ape.macho "$OUTDIR/bin/ape-x86_64.macho" cp -f o/$ARM64/ape/ape.elf "$OUTDIR/bin/ape-aarch64.elf" -for x in assimilate march-native mktemper fixupobj zipcopy apelink pecheck mkdeps zipobj; do + +for x in assimilate march-native mktemper fixupobj zipcopy apelink pecheck mkdeps zipobj \ + ar chmod cocmd cp echo gzip objbincopy package rm touch sha256sum resymbol; do ape $APELINK \ -l o/$AMD64/ape/ape.elf \ -l o/$ARM64/ape/ape.elf \ @@ -155,6 +183,11 @@ for x in assimilate march-native mktemper fixupobj zipcopy apelink pecheck mkdep o/$AMD64/tool/build/$x.dbg \ o/$ARM64/tool/build/$x.dbg done + +for x in ar chmod cp echo gzip package rm touch sha256sum; do + mv "$OUTDIR/bin/$x" "$OUTDIR/bin/$x.ape" +done + for x in make ctags; do ape $APELINK \ -l o/$AMD64/ape/ape.elf \