Projet système : faq : Différence entre versions
De Ensiwiki
(→Compiler le projet sur une architecture 64bits : : changement de as en gcc) |
(Correction d'une faute d'orthographe) |
||
Ligne 26 : | Ligne 26 : | ||
LD=ld -melf_i386 | LD=ld -melf_i386 | ||
− | Modifier ces options ne vous | + | Modifier ces options ne vous gênera pas pour compiler votre projet sur une machine 32 bits classique. |
== BUGS == | == BUGS == |
Version du 25 mai 2010 à 05:48
Sommaire
Conseils
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ênera pas pour compiler votre projet sur une machine 32 bits 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"