This release significantly extends the capabilities of the /opt/fil distribution. It also includes many bug fixes.
Added packages to /opt/fil (https://fil-c.org/optfil):
- libaudit
- PCRE2
- PAM 1.7.1 (with select Ubuntu patches)
- libselinux/libsepol
- Kerberos 5
- keyutils 1.6.3
- dummy pam_ecryptfs
Other /opt/fil fixes:
- Actually build libreadline with Fil-C
- Apply the GSSAPI KEX patch to OpenSSH
Bug fixes:
- Make tcgetwinsize work in musl
- Make mount(2) work with the last argument being NULL
- Fix ICE when masked load/store intrinsics use a pointer that is either an argument or a global
- Make atomic loads/stores of structs that contain pointers preserve the capability
- Add support for keyctl(2) syscalls and their friends
- Fix sched_get/setaffinity syscalls
- Add ability to panic quietly
- Add get_mempolicy/set_mempolicy
- UB optimizations are more thoroughly disabled. This includes disabling strict aliasing and silly assumptions about integer math. Options like
-fwrapvand-fno-strict-aliasingare now superfluous (they are the default). Options like-fstrict-aliasingdo nothing (they are silently ignored).
Thank you @pcc for helping to contribute fixes for this release!
Guide to the available files:
filc-0.674-linux-x86_64.tar.xzis the traditional, self-contained "pizfix" distribution. 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.optfil-0.674-linux-x86_64.tar.xzis the /opt/fil distribution. It includes useful programs like OpenSSH client and server, is based on glibc 2.40, and requires root permissions. This is recommended for giving Fil-C deeper scrutiny.