@ekaitz_zarraga they basically setup things that must occurs once just after a program exec()uted starts, like initializing the c library.
But the only thing that crt0.s HAVE to do is to setup argc and argv and then call main() (in Jehanne it calls __jehanne_libc_init that will call main)