@etchedpixels @dalias yeah, gcc converts printf("hello world\n") into puts("hello world");
That's one of the numerous optimizations present in "hosted" mode, which is why I always tell people to get rid of -ffreestanding when building with a full C library.
Btw, on armhf, hello world is way smaller than on x86_64:
$ size test-hello-armhf
text data bss dec hex filename
1520 76 4624 6220 184c test-hello-armhf