Hi rajex,
Welcome to the Forum.
In 32-bit code (at least) the "_start:" label is not "call"ed, so is not really a "subroutine". There is no return address on the stack, the first thing is "argc". (unless you've pushed ebp) Usually gcc is not involved in this case, so the "subject" may not be accurate.
My computer recently crashed and I didn't have my code backed up so I don't have an example at the moment. Can rewrite one, but not really in the mood, so see what you can do...
Best,
Frank