Karoshi MSX Community

MSX Actualidad => General => Mensaje iniciado por: alucardX en 24 de Octubre de 2012, 03:15:02 pm



Título: bug en asMSX?
Publicado por: alucardX en 24 de Octubre de 2012, 03:15:02 pm
Hola amiguitos:

Cuando utilizo asMSX en Linux (compilado desde fuentes), siempre me da un error de munmap_chunk(): invalid pointer al incluir cualquier otro fuente en mi codigo:

.include "tools/depack.asm"

Pensaba que era un error de mi glibc, pero he probado en tres linux diferentes (32 y 64 bits, ubuntu, fedora y archlinux) y siempre falla ;-(
Podeis confirmar si a vosotros tb os pasa, o solo usais asMSX en Windows?

Un saludote


Título: Re: bug en asMSX?
Publicado por: theNestruo en 24 de Octubre de 2012, 06:03:43 pm
Yo sólo lo utilizo en Windows y tengo dos tipos de errores frecuentes:
- El compilador deja de responder al llegar a algún include: lo soluciono con el botón de quitar espacios al final de las líneas o, cuando eso no funciona, quitando el tabulador inicial a línea del include (o poniéndoselo de nuevo si lo tenía quitado)
- El compilador da errores por referencias inválidas (que sí son válidas): aquí no he encontrado una solución que me funcione siempre, así que quito código comentado (me suele dar cuando comento código) o añado algún nop por ahí y luego cuando toque otra cosa lo quito a ver si ya deja de dar.

Un saludo, ¡y suerte!


Título: Re: bug en asMSX?
Publicado por: nenefranz en 24 de Octubre de 2012, 11:32:27 pm

Yo también uso únicamente la versión windows (en windows XP). El único error extraño que me da a veces es el mismo que a theNestruo ... la referencias inválidas que no lo son.
También lo resuelvo con NOP's. Al final de fichero .asm principal añado el siguiente código:

Código:

.REPT 0
nop
.ENDR


Por defecto el .rept está 0, pero cuando me da algún error de referencia no válida, y estoy seguro que debería funcionar,
voy cambiando el número a 8, 16 , 32 ... voy probando con diferentes números hasta que me vuelve a compilar sin problemas.



Título: Re: bug en asMSX?
Publicado por: alucardX en 25 de Octubre de 2012, 11:00:58 am
- El compilador deja de responder al llegar a algún include: lo soluciono con el botón de quitar espacios al final de las líneas o, cuando eso no funciona, quitando el tabulador inicial a línea del include (o poniéndoselo de nuevo si lo tenía quitado)

Pues ésto es lo primero que voy a probar, thx por el tip!


Título: Re: bug en asMSX?
Publicado por: theNestruo en 25 de Octubre de 2012, 01:21:58 pm
De hecho, el error que te da a ti, si no me equivoco, es exactamente éste: http://code.google.com/p/asmsx-license-gpl/issues/detail?id=1

Hay un parche que lo soluciona.
Si sabes cómo hacerlo (yo no) puedes bajarte el código, aplicar dicho parche y recompilarte el asmsx.


Título: Re: bug en asMSX?
Publicado por: alucardX en 25 de Octubre de 2012, 03:14:49 pm
Pa'matarme... lo podría haber mirado ahí antes de preguntar nada  >:(

Es un diff, así que se puede parchear fácilmente, recompilar y volver a hacer la prueba.

De nuevo, muchas gracias por vuestra ayuda!


Título: Re: bug en asMSX?
Publicado por: alucardX en 25 de Octubre de 2012, 03:59:56 pm
Comprobado el patch y funciona correctamente. Para los que no sepan hacerlo, tan solo hay que bajar el parche y los fuentes del asMSX. Despues descomprimirlos los fuentes y antes de compilarlos, copiamos el parche en el mismo nivel de directorio:

asMSX <-- directorio descomprimido
asMSX.zip <-- paquete asMSX comprimido
patch <-- fichero del parche tal y como baja de la web

Ejecutamos la orden de parcheo con "patch":
$ patch -p1 < patch
patching file asMSX/src/parser1.l

Compilamos y probamos el ejecutable que esta en asMSX/src/asmsx. Recomiendo copiar el nuevo binario al $PATH para que siempre os funcione con el nuevo ejecutable parcheado.

Un saludote y gracias a todos por vuestra ayuda (y al usuario que hizo el parche)