Been spending a few days on this, and with the help of @simonvanderveldt, @tehn, and others, I managed to get some of this working!
As of now, I’m able to use a toolchain generated by build root to cross-compile AND link programs, and then copy the programs to the norns. The caveat here is that you probably will have to use the norns image built by buildroot. Main reason for this is glibc versioning issues. The shipped norns OS uses glibc 2.24, while buildroot uses glibc 2.28. I learned this the hard way.
It was a lot of trial and error for me, but the gist of it is to use @simonvanderveldt’s norns-image repo and buildroot repo to build a setup locally on your (presumably linux) computer. The output generated cross-compilation tools for me in output/host/bin, and all the libraries in output/host/arm-buildroot-linux-gnueabihf/sysroot.
At this point, you’ll want to setup your PATH to look for binaries in output/host/bin, then it’s just a matter of telling your C project compiler to use that compiler. This is how I explicitly set it in the Makefile found in low-level norns examples repo: https://github.com/PaulBatchelor/norns-lowlevel/blob/2be02f38c8a5c67ba30691f3a5bfe13881a337b8/Makefile#L7
I didn’t need to set any additional LDFLAGS or CFLAGS, it just seemed to know where to find them.
As an added bonus, I also managed to get use the buildroot environment to drivers for the griffin powermate for the norns, without needing to recompile + reflash the norns device. Luckily, I had figured how to do this before. I followed similar set of steps, only using buildroot instead of the linux kernel sources.