[Auto-enseignement] Rédaction de mon propre système d'exploitation. Insumétré par la série YouTube de "Write Your Own Operating System" et le repo GitHub associé


g++ binutils libc6-dev-i386 grub-legacy xorriso
g++ binutils libc6-dev-i386 libisoburn mtools
make mykernel.iso
Lors de la compilation, GCC peut donner l'erreur gdt.cpp:(.text+0xa2): undefined reference to `__stack_chk_fail_local' . Si cela se produit, créez une fonction __stack_chk_fail_local() à l'intérieur du fichier, GCC dit qu'il ne peut pas le trouver. Gardez à l'esprit qu'il ne peut y avoir qu'une de ces fonctions, donc si elle est déjà implémentée ailleurs, vous devrez le déplacer. Au moment de la rédaction de ceci, la fonction __stack_chk_fail_local est déjà écrite dans myos/src/gdt.cpp . S'il est jamais déplacé dans ce référentiel, vous pouvez le trouver en recherchant __stack_chk_fail_local dans la fonctionnalité "Rechercher dans ce référentiel" de GitHub.
uint32_t __stack_chk_fail_local (){
return 0 ;
}De plus amples informations sur ce problème ont été discutées dans un autre référentiel