Skip to content

Cosmopolitan v3.2

Compare
Choose a tag to compare
@jart jart released this 04 Jan 18:15
· 623 commits to master since this release
a3deef7

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.

Our latest 3.2 release features exciting fixes and improvements.

  • 83107f7 Introduce FreeBSD ARM64 support
  • 43fe595 Use DNS implementation from Musl Libc
  • 7961487 Remove hard coded paths from APE bootloader (NixOS)
  • f8ea02d Import /etc/shadow support from Musl for Linux
  • ce0143e Fix madvise() on Windows
  • 873069f Fix -Xaarch64 in cosmocc
  • 1a28e35 Use good locks in dlmalloc
  • cd52c59 Allow MAP_POPULATE under pledge()
  • e36283f Support double parameters in dlsym() imports
  • 6be9477 Fix redbean to only check additional content types when Lua is present (#1033)

We've fixed important threading bugs on /zip/... file descriptors.

We now have a hack that lets you use cosmo binaries as a login shell.
Setuid security is improved. Executable path self-detection is better.
There's a new APE loader version as a result. If you have a systemwide
APE loader install, it's recommended that you upgrade, but not required.

Our public header files now have better open source compatibility.

  • 8874a37 Add <link.h> for absl
  • 221a278 Define max_align_t in <stddef.h>
  • 06ace4e Always use compiler builtin for offsetof()
  • a11016e Use gid_t and uid_t in passwd.h (#995)
  • b0cced8 Move tcgetpgrp and tcsetpgrp decls to unistd.h (#996) (#997)