MythBuild-ISSUE: AIX Compilation failed, impossible constraint in `asm'

9 views
Skip to first unread message

Dario Rodriguez

unread,
Feb 28, 2011, 3:47:58 PM2/28/11
to mythos-devgroup
Quiza sea porque el sistema es de 64 bit, como sea creo que estos
segmentos en ASM necesitan algo de luz para esclarecer cuánto dependen
de la arquitectura y porqué, o si es que necesitan reimplementarse
para otra arquitectura.

Fuera de ello, debemos evitar estos errores desde la compilación, con
lo que debemos agregar condicionales para detectar si estamos en un
sistema donde somos capaces de compilar, y si no lo estamos, saber
decir por qué, ej: "No se puede compilar en AIX(64bit): La
lectura/escritura de...".

Esto nos esclarecerá las arquitecturas que soportamos, y las
especificaciones técnicas que debemos tener en cuenta para portar el
sistema, a demás de ser más amigable para el usuario que un oscuro
error de compilación de inline assembler.

Cualquiera que quiera investigar sobre esto y enviar información es bienvenido:

INFO ################################################################

$ gmake
>>> MYTHOS BUILD STARTED AT 2011-02-28 21:25:29
>>> built on AIX
o> KERNEL OBJECT [src/kernel/main.ko]
o> KERNEL OBJECT [src/kernel/video.ko]
o> KERNEL OBJECT [src/kernel/system.ko]
src/kernel/system.c: In function `inportb':
src/kernel/system.c:7: error: impossible constraint in `asm'
gmake: *** [src/kernel/system.ko] Error 1
$ cat -n src/kernel/system.c
1 #include "inc/types.h"
2
3
4 BYTE inportb(WORD Port)
5 {
6 BYTE result;
7 __asm__ __volatile__ ("inb %1, %0" : "=a" (result) :
"dN" (Port));
8 return result;
9 }
10
11 void outportb(WORD Port, BYTE Data)
12 {
13 __asm__ __volatile__ ("outb %1, %0" : : "dN" (Port),
"a" (Data));
14 }

--
Saludos,
D4RIO

Reply all
Reply to author
Forward
0 new messages