Releases: dslm4515/CMLFS
Stable 2.0.0 - LLVM 12.0.0 x86_64
Stable Version 2.0.0
New features:
- Upgraded to LLVM 12.0.0
- GCC now builds for llvmtools and final system
- Eliminated /opt/gnu and /llvmtools/gnu. GCC will now be installed in /llvmtools and /usr
- Elfutils can be patched to build under LLVM
- Added script to switch between GCC or LLVM as system compiler system
- Added script to switch between GNU's binutils or LLVM's binary tools
- Zlib or Zlib-ng can be built
- Ninja or Samurai can be built.
- Build initramfs image without the mkinitramfs script
Issues:
- Skarnet's utmps segfaults if built with clang
- Diskboot.img of grub is not correctly built with clang. Grub requires GCC and patching.
- Perl 5.34.0 fails to cross-compile for llvmtools. Use perl 5.32.1 for llvmtools and perl 5.34.0 for final system
- Perl will not build with system installed zlib-ng. Use perl's bundled zlib source as a workaround.
Changelog
- Upgraded to LLVM 12.0.0
- Added ncurses to llvmtools
- Ncurses now must be built before LLVM for both llvmtools and final system
- Removed libffi and libuv from llvmtools, CMake and Python will build with bundled versions
- No longer install GCC, gmp, mpfr, & mpc in /opt/gnu and /llvmtools/gnu
- Added patch for kernel headers to build under Musl
- Added os-release file
- Upgraded procps to 3.3.17
- Upgraded findutils to 4.8.0 for llvmtools
- Upgraded expat to 2.4.1
- Updated build for inetutils 2.0
- Upgraded bison to 2.7.6
- Upgraded libcap to 2.50
- Upgraded acl to 2.3.1
- Upgraded attr to 2.5.1
- Upgraded utmps to 0.1.0.2
- Upgraded cmake to 3.20.4
- Upgraded GCC to 10.3.1_git20210424 (Alpine Linux fork)
- Added -fPIC cflag to bzip2 build
- Changed LLVM builds from MinSizeRel to Release
- Switched build files from ninja to make
- llvmtools: build optional GCC with cgnutools, instead of cross-tools.
Release Files
- cgnutools-LLVM12-musl_amd64-2.0.0.tar.xz : cgnutools that runs on x86_64 musl hosts
- gnutools-LLVM12-glibc_amd64-2.0.0.tar.xz : cgnutools that runs on x86_64 glibc hosts
- llvmtools-LLVM12-AMD64-cmlfs4-2.0.0.tar.xz : llvmtools that runs on both x86_64 glibc/musl hosts
First Completed Build
First completed build. Build is rough, but boots and runs. Several built libraries and binaries have messy run paths like:
/usr/bin/../lib/libLLVM-11.so
Instead of
/usr/lib/libLLVM-11.so
Libelf from elfutils still requires GCC to build and building grub with clang results in a grub install with a malformed diskboot.img
that is 525 bytes instead of 125mb/513mb.
Beta 0.1.3 for x86_64
First successful build of CMLFS! Clang+LLVM are the main system toolchain with GCC+GNU-Binutils as secondary toolchain in /opt/gnu
. GMP, MPFR, and MPC were installed in /opt/gnu
. In next release, all three will probably be installed in /usr
instead.
LLVM's lld
is the system default linker and ld.bfd
and ld.gold
are available in /opt/gnu/bin
Userland is built, but not the kernel yet.
First Release (Broken Build)
First attempt in creating a LLVM toolchain without GCC. Stage 2 clang fails to build. Using LLVM 11.0.0.
Based on Genshen's docker-clang-toolchain