title: When is the gcc flag -nostartfiles used?
body: <p>I can't seem to figure out the purpose of the flag <code>-nostartfiles</code>.  It prevents <code>main()</code> from being called immediately, and typically you'd also specify the program entry point.  However, why would I want to do that?  I have written a kernel that required it, since everything was up to me to get started, but other than that, is there a non-OS reason to specify a different program entry point?</p>