Projet système : faq

De Ensiwiki
Révision de 21 mai 2010 à 08:19 par Parentco (discussion | contributions) (Compiler le projet sur une architecture 64bits : : changement de as en gcc)

Aller à : navigation, rechercher

Mycomputer.png  Deuxième Année  CDROM.png  Informatique 

Conseils

  • Avez-vous noté le document sur la conduite du projet ? (PC ou FPGA)

Astuces

Compiler le projet sur une architecture 64bits

Le projet contient du code assembleur qui ne compile pas sur une machine avec une distribution x86_64. Pour pouvoir compiler le projet, il faut éditer les Makefile et indiquer à gcc, as et ld qu'ils doivent générer un executable pour une cible i386. Il y a deux fichiers à éditer dans le dossier kernel-base: kernel-base/kernel/Makefile et kernel-base/kernel/kbd_linux/Makefile. Remplacez

CC=gcc
AS=gcc
LD=ld

par

CC=gcc -m32
AS=gcc -m32
LD=ld -melf_i386

Modifier ces options ne vous gêneront pas pour compiler votre projet sur une machine 32bits classique.

BUGS

undefined "__builtin_stdarg_start", lors d'une compilation avec gcc-4.4

Avec les versions récentes de gcc, la compilation des sources initiales s'arrête sur une erreur dans le fichier shared/stdarg.h

Il faut remplacer ligne 27 "__builtin_stdarg_start" par "__builtin_va_start"