[Android Software/Hacking General [Developers Only]] ubergeek77:
Has anyone had any success in compiling a Pixel 3 XL kernel? I feel like I've tried everything, and I just can't get this working.

I followed the small list of Pixel 3-specific steps from the Building Kernels page on the official Android documentation website. That had me run these commands:

repo init -u https://android.googlesource.com/kernel/manifest -b android-msm-bluecross-4.9-pie-qpr1
repo sync

This leaves me with a ~11GB directory containing all of the kernel sources for the Pixel 3 XL, as well as toolchains for various architectures - every toolchain mentioned in the OP of this thread, even the Pixel-specific Clang binaries, and even the ARM32 binaries, are downloaded with this.

The Android documentation proceeds to tell you to run this command from within the working directory that was initialized with repo:

sh build/build.sh

This launches a build. The shell script is rather long, but environment variables aside, it seems to just be a fancy way of running the Clang-specific build commands that the OP linked to.

Whether or not I use the build.sh that was included with the source download, or I run the command manually, the result is the same. Trying to run make-clean results in this weirdness:

make[1]: Entering directory '/home/ubergeek77/Pixel3Kernel/private/msm-google/out'
CLEAN .
CLEAN arch/arm64/kernel/vdso
CLEAN arch/arm64/kernel/vdso32
find: ‘arch/arm64/boot/dts/’: No such file or directory
find: ‘arch/arm64/boot/dts/’: No such file or directory
CLEAN .tmp_versions
make[1]: Leaving directory '/home/ubergeek77/Pixel3Kernel/private/msm-google/out'

Note that the "no such file or directory" errors are referring to a directory that absolutely does exist, and has subfolders within it. Going further, the build fails with this error:

/..//bin/as: unrecognized option '-mfloat-abi=soft'
clang-5.0: error: assembler command failed with exit code 1 (use -v to see invocation)
make[3]: *** [/home/ubergeek77/Pixel3Kernel/private/msm-google/arch/arm64/kernel/vdso32/Makefile:144: arch/arm64/kernel/vdso32/sigreturn.o] Error 1
make[3]: *** Waiting for unfinished jobs....
/..//bin/as: unrecognized option '-mfloat-abi=soft'
clang-5.0: error: assembler command failed with exit code 1 (use -v to see invocation)
make[3]: *** [/home/ubergeek77/Pixel3Kernel/private/msm-google/arch/arm64/kernel/vdso32/Makefile:142: arch/arm64/kernel/vdso32/vgettimeofday.o] Error 1
make[2]: *** [arch/arm64/Makefile:242: vdso_prepare] Error 2
make[1]: *** [Makefile:152: sub-make] Error 2
make: *** [Makefile:24: __sub-make] Error 2

I have no idea what I'm doing wrong here. I've triple-checked every environment variable that could possibly be required, I've made sure I'm specifying the right toolchains, and I've gone over OP's guide more times than I can count. I've Googled and Googled for any solution, but I've exhausted all options that Google search results came up with. Nothing is working.

Is there a system dependency I'm missing or something? I'm using Arch Linux on x86_64, but I've installed the aosp-devel AUR meta-package, so I can't think of any system dependencies I might be missing.

Can anyone help me, please?