[Aboriginal] Possibly winding down the project.

Rob Landley rob at landley.net
Wed May 4 02:27:35 PDT 2016


The last-gplv2 toolchains have broken on 3 different architectures
recently, all due to kernel changes that didn't regression test on them.

Arm broke in linux 4.4, I blogged about it at
http://landley.net/notes-2016.html#13-01-2016 and the problem is if you
create an empty *.a file, and then link that into a .o file, it
hallucinates an arm EABI architecture revision number 0 for the
nonexistent code, then linking that into the kernel complains that EABI
0 and EABI version 4 are incompatible. More recent kernels added a flag
to say "this isn't real", but said flag is in infrastructure binutils
2.17 doesn't have.

This breaks in the 4.4 kernel because they unconditionally included a
virtualization infrastructure subdirectory, which builds even when the
config symbol is switched off.

Mips broke (see http://landley.net/notes-2016.html#15-02-2016) because
they unconditionally enabled VDSO which requires binutils 2.23. While
they do HAVE a probe for older binutils versions, it has assumptions
about how many digits wide your version fields are that break on the git
snapshot I'm using which identifies itself as "2.17.50.20070703" and
when I fix THAT, the assembly for the non-VDSO #else case still uses
assembly language constructs that weren't in binutils 2.17.

Now sh4 broke with a segfault building crypto/because kernel commit
798b2cbf9 unconditionally sets CRYPTO if you enable IPV4, and the crypto
menu inherits 22 forced on symbols from that including crap like 3DES
that nobody sane uses anymore, and one of those now does:

    CC      crypto/drbg.o
  crypto/drbg.c: In function 'drbg_kcapi_random':
  crypto/drbg.c:1729: internal compiler error: Segmentation fault
  Please submit a full bug report,

So, wheee.

There's been a GPLv3 toolchain submission here, which I admit is half of
what's discouraging me from working on aboriginal linux anymore. Putting
effort into my old toolchain... people don't want to use it so what's
the point? Rich is doing a new GPLv3 toolchain at
https://github.com/richfelker/musl-cross make and good luck with that too.

But I will never distribute a binary GPLv3 program in a hobbyist
context. If a corporation wants to stand up and take the legal liability
and pay me to do it on their behalf as an employee so THEY are the one
getting sued, fine. But I'm not doing it as me ever. (Keep in mind I
outwaited AOL and Windows, and am in the process of outwaiting facebook.
The sun only has so much hydrogen, I am waiting for GPLv3 to go away and
working to build public domain alternatives to it.)

Defending GPLv2 against GPLv3 was always a stopgap measure, the proper
fix is for GPL to go away entirely and be replaced by licensing closer
to the public domain. (I.E. the FSF probably outlive Richard Stallman,
and the best thing I can do is work towards obsoleting them.)

I've been playing a little with LLVM, maybe I should do more of that,
but it's a giant hairball nightmare written in C++  and I don't really
WANT to have anything to do with it. The only advantage is it's not
FSF-maintained GPLv3 crap.

I still need to use this to test toybox, but to be honest I can stay on
linux 4.3 for years doing that. Nobody makes binary native toolchains,
but maybe I can make puppy eyes at Rich about that, and if not... I've
got my old ones building under my old kernel and when I'm ready to open
the AOSP can of worms they build under LLVM anyway.

Bootstrapping debian would be nice, but I'm not sure anybody under the
age of 40 still cares about non-Android Linux? Heck, even most of the
android developers are using windows and mac hosts. No seriously,
there's numbers:

  http://stackoverflow.com/research/developer-survey-2015#tech-os

Sigh. I _can_ fix everything that's currently wrong with the old
toolchains (although it's probably a couple weeks of debugging, that's
just what I _know_ about). Or I could ask Rich to do native toolchains,
make a really small shell script to build and paclage a toybox
userspace, and move on with my life. I'm sticking on Ubuntu 14.04 (last
non-systemd LTS version) until it's end of lifed, which gives me a
deadline to get a working self-hosting android workstation working...

Anybody else care to venture an opinion?

Rob


More information about the Aboriginal mailing list