Skip to content

Cosmopolitan v3.7.0

Compare
Choose a tag to compare
@jart jart released this 16 Aug 15:09
· 242 commits to master since this release
de0cde8

Cosmopolitan Libc makes C a build-once run-anywhere language, like Java, except it doesn't need an interpreter or virtual machine. Instead, it reconfigures stock GCC and Clang to output a POSIX-approved polyglot format that runs natively on Linux + Mac + Windows + FreeBSD + OpenBSD + NetBSD + BIOS with the best possible performance and the tiniest footprint imaginable. For further details, read Cosmopolitan Third Edition, the Cosmo README, and the Cosmopolitan Toolchain README. Prebuilt software is available on https://cosmo.zip/

Improvements

Your malloc() function is now more scalable on Linux Aarch64 and other
platforms, where it previously was not working as well as advertised.

  • 0a79c69 Make malloc scalable on all platforms

Cosmopolitan Bash now works better on Windows. For example, if you start
a process that redirects stderr to a file, then your entire process tree
will now be able to cooperatively write to that file. When you update it
is recommended that you upgrade all your cosmos binaries at once.

  • 3f26dfb Share file offset across execve() on Windows
  • 761c6ad Share file offset across processes

Improvements have been made to cosmocc and libcxx which made it possible
for us to compile Clang as an APE binary.

  • 77d3a07 Fix std::filesystem
  • 0d7c272 Don't use sendfile() in libcxx
  • 18964e5 Fix remove() directory on Windows
  • 6ac3d3b Add precompiled header support to cosmocc
  • f8cfc89 Allow -c to be specified with -E in cosmocc
  • 01b09bc Support printf %n directive
  • 3dab207 Remove mkfifo() prototype
  • d0360bf Introduce cosmoranlib

Some upstream dependencies have been updated. In particular, Musl locale
handling is more true to the way it works upstream. You may need to have
setlocale(LC_ALL, "C.UTF-8") in your main() function for certain POSIX
functions to work the same way they did previously by default.

  • bb815ea Update Musl Libc code
  • ff1a0d1 Upgrade to superconfigure z0.0.51
  • 3fd275f Import optimized routines changes to exp10
  • d40acc6 Detect more x86 features

Additional Changes

  • a80ab3f Implement bf16 compiler runtime library
  • 8d8aecb Avoid legacy instruction penalties on x86
  • 24666e1 Add nightly cosmocc (artifact) builds (#1254)
  • 3119416 Remove .internal from more header filenames
  • 7499367 Ignore -Wimplicit-function-declaration in cosmocc
  • 9ebacb7 Convert GCC 14 errors back to warnings (#1247)
  • e18fe1e Freshen build/bootstrap/cocmd
  • cf1559c Remove __threaded variable