Nevermind, I got it. The C library uses it's own entry point for your program. I guess the C library has to do some stuff first (and some stuff afterwards). It then calls your programs main. So, instead of _start, it's main. And I shouldn't have used linux's exit system call, but just return instead. The C library flushes the buffers and frees the files and whatnot. Example:
asdf db "Hello, world!",0
format db "%s",0xa,0
push dword asdf
push dword format
Then instead of using ld, I just used gcc..
gcc -o new_example new_example.o