Ubuntu Weekly Newsletter, Gentoo GSoC Repors, and Free Software Directory Meetings
-
The Fridge: Ubuntu Weekly Newsletter Issue 797
Welcome to the Ubuntu Weekly Newsletter, Issue 797 for the week of July 16 – 22, 2023. The full version of this issue is available here.
-
Ubuntu Weekly Newsletter Issue 797
-
Gentoo GSoC: Weekly report 8, LLVM libc
Hi! This (and last week) I’ve spent my time polishing the LLVM/Clang
crossdev work. I have also created ebuilds for llvm-libc, libc-hdrgen
and also the SCUDO allocator. But I will probably bake SCUDO into the
llvm-libc ebuild instead actually.One thing I have also made is a cross eclass that handles cross
compilation, instead of having the same logic copy-pasted in all
ebuilds. To differentiate a “normal” crossdev package and LLVM/Clang
crossdev I decided to use “cross_llvm-${CTARGET}” as package category
name. This is necessary since you need some way to tell the ebuild about
using LLVM for cross. My initial idea was to handle all this in the
crossdev script, but crossdev ebuilds are self-contained, and you can do
something like “emerge cross_llvm-gentoo-linux-llvm/llvm-libc” and it
will do the right thing without running emerge from crossdev. Hence I
need to handle cross compilation in the ebuilds themselves, using the
eclass. Me and sam are not sure if a new eclass is the right thing to
do but I will continue with it until I get some more thoughts as we can
just inline everything later without wasting any work.I feel pretty much done now except for baking SCUDO directly into the
llvm-libc ebuild. Actually it is very simple to do but I got some issues
with libstdc++ when using llvm/ as root source directory for the libc
build, which is necessary to use when compiling SCUDO. Previously I used
runtimes/ as root directory, and that worked without issue. Currently to
work around this you can just compile the source files in
llvm-project/compiler-rt/lib/scudo/standalone and append the object
files into libc.a. LLVM libc then just works with crossdev and you
can compile things with the emerge wrapper as usual, but currently a lot
of autotools things break due to me not having specified gnuconfig for
llvm-libc yet. -
Gentoo GSoC: Weekly report 6, LLVM libc
Hi! This week I have been working on LLVM/Clang support for
Crossdev. This is currently done by swapping out the different Crossdev
stages for ones that make sense for LLVM.Currently it replaces stage0 with checking whether LLVM can target the
target triple’s architecture by checking the LLVM_TARGETS USE-flag.Stage1, which normally installs libc headers and compiles a -stage1 C
compiler is replaced by installing libc headers and compiling
Stage2 (kernel headers), is the same.
Stage3 (libc install), is the same.
Stage4, which compiles a full compiler is skipped completely.
-
FSF Events: Free Software Directory meeting on IRC: Friday, August 04, starting at 12:00 EDT (16:00 UTC)
-
FSF Events: Free Software Directory meeting on IRC: Friday, July 28, starting at 12:00 EDT (16:00 UTC)