PROJECT DOSSIER // [MINILIBC]VOIR LA SOURCERETOUR AUX PROJETS →

01 // LE PROJET EN BREF

MINILIBC

Assembly

Réécrire les fonctions de la bibliothèque C directement en assembleur x86-64.

Descendre au niveau le plus bas possible : écrire des fonctions non plus en C, mais dans le langage que le processeur exécute réellement. Le résultat est une bibliothèque partagée que n'importe quel programme C peut utiliser sans savoir qu'elle n'a pas été écrite en C. C'est le projet qui dissipe définitivement toute magie autour de la compilation.

Bibliothèque partagée libasm.so implémentant en assembleur x86-64 douze fonctions de la libc — strlen, strchr, rindex, strcmp, strncmp, strcasecmp, strstr, strpbrk, strcspn, memset, memcpy et memmove — assemblées avec nasm puis liées avec ld, conformément à l'ABI System V AMD64.

PRINCIPALAssembly
RÉALISATIONPROJET D’ÉQUIPE
VÉRIFICATIONmake
SOURCEINSPECTOR READY
PIÈCES JOINTES (Images, Photos, Videos)

03 // APPORTS CLÉS

  • Bibliothèque partagée entièrement en assembleur, utilisable depuis du C
  • Respect strict de la convention d'appel, où une erreur se manifeste ailleurs
  • Chaîne nasm + ld maîtrisée de bout en bout, sans passer par gcc

04 // ARBORESCENCE DU CODE

LECTURE DES SOURCES…