One of the longstanding build failures on aarch64 is x11/e17/elementary.
This turned out to be actually not one, but two problems.
Enlightenment comes with its own script language engine that is
used during the build. The lexer doesn't handle input bytes with
the eighth bit set. On signed char architectures they are accidentally
ignored, on aarch64 the parser subsequently assert()s an impossible
situation. The "fix" here was to remove the UTF-8 non-breaking
space characters that had snuck into a script file.
Alas, edje_cc still segfaults during most builds. It dereferences
a bad pointer. This is clearly a memory management bug; I had one
backtrace where the pointer value was some fragment of ASCII text.
I'm unable to narrow this down any further and there is too much
code involved. I can't reproduce this on amd64 even with malloc_conf=S,
but I think it is a machine-independent bug that just happens to
reveal itself on aarch64.