Skip to content

Fil-C Linux/x86_64+ARM64 version 0.682

Latest

Choose a tag to compare

@pizlonator pizlonator released this 03 Aug 02:38

This release brings beta quality Linux/ARM64 support, currently restricted to systems with 4K pages.

Thanks to @pcc and @twilligon, who did most of the work to support ARM64! The ARM64 binaries have been tested on a MacBook M1 running Ubuntu 26 in a UTM VM. Programs compiled with the ARM64 build of Fil-C have also been tested on OpenWrt One hardware.

In addition to ARM64 support, this release includes:

  • zcall now passes C++ exceptions (and unwinding generally) through.
  • added FILC_DUMP_EXCEPTIONS environment variable to log exception throwing.
  • added FILC_DUMP_DLOPENS environment variable to log dlopen calls.
  • fix a case where a compiler optimization for computing the difference between pointers was leading to dropped capabilities (spurious panics with null capability).
  • fix a bug where dead stores to variable length arrays were being eliminated prematurely, leading to an incorrect program not panicking.
  • make sure that libc++experimental.a is included in distributions.
  • fix a GC bug involving ifuncs that return malloc'd memory.
  • fix a GC bug involving combining closures, threads, and unwind handlers.
  • fix a stack smash bug in sendmmsg/recvmmsg with large vlen argument.

Guide to the available files:

  • filc-0.682-linux-x86_64.tar.xz is the traditional, self-contained "pizfix" distribution for X86_64. It only includes the compiler, doesn't require root, and is based on the musl libc. This is recommended for quickly trying out Fil-C.
  • filc-0.682-linux-aarch64.tar.xz is the traditional, self-contained "pizfix" distribution for ARM64. It only includes the compiler, doesn't require root, and is based on the musl libc. This is recommended for quickly trying out Fil-C. This is a beta release; it only supports 4KB page systems for now, and has not received much testing, yet.
  • optfil-0.682-linux-x86_64.tar.xz is the /opt/fil distribution, only available for X86_64. It includes many useful programs like OpenSSH, sudo, tmux, and git. It's based on glibc 2.40, and requires root permissions. This is recommended for giving Fil-C deeper scrutiny.