"forced unwind support is required":
¡Que extraño!. Prueba a repetir el paso 2 (build_2.sh) con la opción en configure "--enable-shared".
Como sea eso, me vi a cagar en to lo que se menea. Un momento y actualizo el guión.
< - >Yo tampoco lo creía, pero al compilar contra las OpenGL, me demandaba soporte VFP Así que me armé de paciencia y compila mi toolchain con -mhard-float y -mvfp. E hice un test consistente en sumar, restar, multiplicar y dividir floats compilando para hardware (-mvfp) y la Wiz se los tragaba sin problemas (puse salidas de texto para comprobar que no se quedaban colgados).
De todas formas, las extensiones Jazelle implican VFP ¿no? vamos, leido así por encima. Que alguien me corrija o me diga si tengo razón o no
Con tanta cosa yo ya estoy MUY confuso respecto a lo que tiene o no la Wiz. Desde luego, si se confirma que trae VFP la Pandora lo va a pasar muy mal.
Estoy ahora con el tema, así que si averiguo algo más, lo digo.
Última edición por flozanot; 07/06/2009 a las 12:06 Razón: Edición automática anti doble-post.
Te confirmo que el "--enable-shared" no soluciona el problema.
Lo he solventado añadiendo al build_4.sh lo siguiente (justo después del cd BUILD/glibc-2.9-headers) para forzar el soporte unwind:
Posteriormente hay que añadir al configure la opción "--cache-file=config.cache"Código:echo "libc_cv_forced_unwind=yes" > config.cache echo "libc_cv_c_cleanup=yes" >> config.cache echo "libc_cv_mlong_double_128=yes" >> config.cache echo "libc_cv_alpha_tls=yes" >> config.cache
Una vez arreglado esto, tira hasta que vuelve a fallar (en la versión con glibc 2.6 y también con 2.9) debido a un problema con unas expresiones regulares en el fichero /src/glibc-2.9/scripts/gen-sorted.awk.
Hay que substituir \/[^/]+$ con \/[^\/]+$ en las diferentes lineas en las que falla. Parece que es necesario escapar el / dentro del paréntesis o no lo interpreta.
Después de estos apaños, finaliza el build_4 correctamente con el glibc 2.9.
El mismo patch se necesita para glibc 2.6.
Seguimos con el tema a ver si lo cuadramos
el build_5 sin problemas, pero en el build_6 volvemos a engancharnos.
Intenta compilar sobre el directorio cd BUILD/gcc-4.4.0 donde no encuentra make.
Lo corrijo compilando sobre el cd BUILD/gcc-4.4.0-stage1.
Despues de esto finaliza correctamente el paso 6 y ahora mismo se está compilando el 7. A ver que pasa. xD
Última edición por xau; 07/06/2009 a las 15:28
Ejem... pues veras, resulta que tenia mi perfil de usuario Linux "contaminado" con ciertos parámetros que favorecían el buen funcionamiento de los guiones.
Acabo de ingresar como "root" y ahora me esta construyendo la glibc, osea, que es un problema en los guiones que creo haber solucionado ya. No voy a modificar nada no sea que vuelva a meter la pata. Disculpas a todos... esto de ser tan torpe...
Acabé la compilación del toolchain con exito. (el de glibc 2.9)
Después de ordenar algunos directorios y de meterle los includes y libs de gp2x, he probado de compilar alguna cosa con la toolchain nueva y mi gozo en un pozo.
el crt1.o este me lleva de cabeza.Código:/home/xau/new-toolchain/bin/arm-unknown-linux-gnu-gcc main.c -o hellobasico.wiz.gpe -I/home/xau/new-toolchain/arm-unknown-linux-gnu/include -L/home/xau/new-toolchain/arm-unknown-linux-gnu/lib /home/xau/new-toolchain/lib/gcc/arm-unknown-linux-gnu/4.4.0/../../../../arm-unknown-linux-gnu/bin/ld: crt1.o: No such file: No such file or directory collect2: ld devolvió el estado de salida 1
Llevo un rato buscando y no encuentro nada. Estoy ya un poco desesperado.
¿algún consejo?
Bueno, pues la compilacion de glibc fue aparentemente perfecta... ahora estoy compilando el gcc con c, c++, java y fortran. Si va bien, pondré los guiones y la toolchain ya precompilada.
Me he estado mirando la documentación el procesador arm926tj-s y ese "-s"... ¿no tendrá algo que ver con el coprocesador vfp9-s?
La verdad es que no sé que pensar por un lado dicen que Pollux no tiene coprocesador VFP, pero por otro lado al enlazar las librerías te dice que estas han sido compiladas para VFP.
Hice algunas pruebas con la toochain que me compile con -mhard-float y la Wiz no se petaba después de las operaciones float de suma/resta y multiplicación/división.
Por si las moscas, reharé las pruebas, no sea que algún "duende" hiciera el "milagro"
Saludos. ¡Y a ver si termina ya de compilar! ¡Menudo !
La documentación oficial de GCC tiene mucha información.
http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/
Aquí por ejemplo, tienes las opciones del compilador explicadas
http://gcc.gnu.org/onlinedocs/gcc-4....l#Invoking-GCC
Y aquí la documentación de SDL
http://www.libsdl.org/cgi/docwiki.cgi/
Eso ya me suena más lógico, ya que los ARM de esta familia no soportan VFP. La NDS tiene un ARM que tampoco tiene VFP y sin embargo tiene hardware 3D.Quizás no petaba por lo que explica este usuario de gp32x (la negrita la he puesto yo) :
Última edición por hardyx; 07/06/2009 a las 21:36
Bueno, pues he hecho unas pruebas y... la Wiz NO tiene soporte VFP, se las traga porque una isr atrapa la excepción de instrucción no válida.
En cuanto a rendimiento, es más alto con emulación software que con instrucciones hardware. (Pero una bestialidad)
Bueno, miremoslo por el lado positivo, ya no urge tanto una toolchain decente
Ya sólo queda recompilar si o si la OGL que es la que demandaba VFPhard.
He probado nanoGL y GLES y petan por soleares aunque compilar compilan bien.
Saludos.
Marcadores