This will be my first attempt to add an applet to Busybox, which
1) Has more than one file in it
2) Has an assembler in one file
It's not going so well, because applying -O2 optimisation (what Busybox does) results in the code not working. I'm using gcc v3.3 (very old) and it doesn't have the pragma to disable optimisation for a single function that came in gcc 3.4. The version of buildroot that I based my toolchain off (from 2011), has gone from the buildroot site as well (sometimes buildroot gives several compilers to choose from).
So my options appear to be to move to a later buildroot, or rewrite more of the program in assembler (I don't want to disable optimisations for the whole of Busybox), or try to re-write the C code so it works with optimisations on (my least favourite option).