I\'ve been playing around with the assembly output switch for GCC:
gcc -S -c helloworld.c
helloworld.c:
#i
As user unwind mentioned:
This is because your C program is expecting to be linked with the standard C runtime library, which has
puts()
in it. You can of course dig up the library file on your system as disassemble it, if you feel like it.
So I used objdump to disassemble libc.a
and found the assembly code under the
section: objdump -d /usr/lib/x86_64-linux-gnu/libc.a