PDA

Ver la versión completa : Un par de preguntas sobre los ejecutables de Wiz



jcom
09/09/2009, 02:09
Estos días, que estoy disfrutando de mi Wiz a precio normal comprada unas horas antes de la rebaja de septiembre (Anarchy, no te guardo rencor), he estado haciendo algunas pruebas con el toolchain que está en la zona de descargas de gp32spain. Los programas que uso para las pruebas son ejemplos sacados de "Programming Linux Games" (un libro gratuito que podréis descargar sin mucho problema) ligeramente retocados para ser usados en Wiz/GP2X.

Primera pregunta: he observado que los binarios compilados estáticamente no funcionan en la Wiz, mientras que los compilados dinámicamente sí. De momento no tengo cable serie así que estoy un poco ciego, ¿sabe alguien por qué sucede esto? Que conste que me parece estupendo que funcionen los binarios con compilación dinámica, estoy preguntando por curiosidad.

Segunda pregunta: hasta ahora había leído que la Wiz usaba OABI, pero tanto los binarios creados por el toolchain como los programas incluidos en el firmware de la Wiz (al menos el gp2xmenu) son EABI. Que conste que EABI es más reciente y mejor que OABI. ¿Llegó a anunciarse esto en algún lado o es algo que se añadió de forma silenciosa?

P.D.

Yo no tenía ni idea de lo que era un ABI, pero hay un artículo muy bueno en la wikipedia que lo explica. También hay una página de Debian-ARM que explica las diferencias entre OABI y EABI, aunque el texto es un poco más oscuro.

Theck
09/09/2009, 10:13
Aunque respondo a ciegas, me atrevería a decir que estáticamente no te funciona porque las librerías no son las correctas mientras que dinámicamente te pilla las que vienen con la wiz (que si lo son). Pero vamos, no me hagas mucho caso.

flozanot
09/09/2009, 12:04
Enlazado dinámico: busca las rutinas en librerias externas y las carga con las funciones de la biblioteca "dl". Permite la actualizacion de rutinas sin muchas complicaciones y es 100% GPL.

Enlazado estático: las rutinas estan integradas, enlazadas, en el ejecutable, de forma que no se llama a ninguna rutina externa. No permite la actualizacion de rutinas sin la necesidad de recompilar y reenlazar. Viola los terminos de la GPL.

La razon de que un programa enlazado estatico no funcione esta en que el codigo de las rutinas con la que esta estaticamente enlazado no sea el adecuado para el entorno que trae la Wiz. He observado diferencias sustanciales entre las librerias "independientes" y las "oficiales". No tienes mas que hecer un "diff" y veras que no son exactamente iguales.

EABI u OABI: depende del compilador que uses, asi te genera uno u otro.

Anarchy
09/09/2009, 12:15
Estos días, que estoy disfrutando de mi Wiz a precio normal comprada unas horas antes de la rebaja de septiembre (Anarchy, no te guardo rencorMira que lo avisé con casi 2 semanas de antelación... :)

jcom
09/09/2009, 12:33
Gracias por las respuestas.

Lo de EABI u OABI lo pregunto porque hasta ahora se dijo que la Wiz usaba OABI (por lo menos era así en las consolas distribuidas a los devs), pero está claro que usa EABI. ¿Se llegó a anunciar el cambio en algún lado?


Mira que lo avisé con casi 2 semanas de antelación... :)

La verdad es que me esperaba la rebaja para el 15 de septiembre, no a principios de mes. Bueno, la verdad es que me está bien por impaciente...

docc
09/09/2009, 14:28
definitivamente esta seccion del foro solo la consulto si me equivoco,

no me entero de nada.

PD, perdon por el offtopic.

SplinterGU
09/09/2009, 15:42
que sea estatico o dinamico no tiene nada que ver con violaciones de terminos de licencia GPL... la violacion estaria si linkeas estaticamente con algo GPL sin liberar los fuentes de ese "algo"... en otras palabras, mientras se libreren los fuentes o se de posibilidad de obtener de los mismos de forma gratuita (salvo gastos de envio, copia, etc) no se viola ninguna licencia GPL.

< - >
es mas, los terminos incluyen linkeo tanto estatico como dinamico... no asi la carga (no linkeo) de librerias dinamicas.