la libgcc de gcc doit faire quelques lignes d'assembleur pour initialiser la pile et sauter à main().
Oh non, ce que tu décris c'est crt0 ; dans libgcc il y a beaucoup plus de code, quelques dizaines de routines pour fournir les primitives gcc qui ne sont pas nécessairement existantes en tant qu'instructions (ou courtes séquences d'instruction) du processeur cible : ffs(), multiplication et division 64 bits, conversion de float en double et vice-versa, etc.
C'est dans le fichier libgcc2.c qui fait plusieurs milliers de lignes, tout de même.
[^] # Re: Pas sûr que trouver des erreurs/la fiabilité soit si important pour la communauté libre..
Posté par Miod in the middle . En réponse à la dépêche [code] Trouver les erreurs. Évalué à 4.
Oh non, ce que tu décris c'est crt0 ; dans libgcc il y a beaucoup plus de code, quelques dizaines de routines pour fournir les primitives gcc qui ne sont pas nécessairement existantes en tant qu'instructions (ou courtes séquences d'instruction) du processeur cible : ffs(), multiplication et division 64 bits, conversion de float en double et vice-versa, etc.
C'est dans le fichier libgcc2.c qui fait plusieurs milliers de lignes, tout de même.