Hello misc,
I've just gone into /usr/src and done "TARGET=arm64 make cross-gcc" on
6.2 with a 6.2 source tree installed. This shell session describes what
I'm
running into better than I could in words:
$ cd /tmp
$ ed hello.c
hello.c: No such file or directory
a
#include <stdio.h>
int
main()
{
printf("hello world\n");
}
.
wq
60
$ /usr/cross/arm64/usr/bin/aarch64-unknown-openbsd6.2-clang -c -o
hello.o hello.c
$ /usr/cross/arm64/usr/bin/aarch64-unknown-openbsd6.2-objdump -S hello.o
hello.o: file format elf64-aarch64
/usr/cross/arm64/usr/bin/aarch64-unknown-openbsd6.2-objdump: Can't
disassemble for architecture aarch64
$ ^D
Now, I know clang is the system compiler on arm64. I also know that the
version of binutils in /usr/src/gnu predates aarch64's existence by a
good
handful of years, while LLVM 4.0 is very recent. The question is, then,
what's
to be done about this? I'm not actually trying to cross-compile on ARM,
just
getting a feel for the cross-* targets for other purposes. I'm poring
through
/usr/src/Makefile.cross, and unfortunately `apropos cross` only turns up
some
X11 and Perl references. Any pointers to understanding the cross-*
system are
appreciated.
Thanks,
yuuko