Glibc && Cygwin && cross-compiling

Buenas,

Llevo unos días trabajando sobre un proyecto y ando muy atascado [agggtt] ,a ver si alguno me puede guiar un pokillo .

Motivación.

Me han mandado intentar buscar la forma de recompilar el kernel de linux así como los drivers ke ando desarrollando para una arquitectura ARM en windows [Ooooo] , motivos.. para poder conectarme al cacharro sólo se puede realizar mediante un "port" de cygwin.

Este port ya tiene el toolchain instalado: arm-elf-gcc y esas cosas, PERO, se supone
http://www.cygwin.com/faq/faq.txt que no esta enlazado con la glibc que usaré en el kernel (2.2.5)

Planteamiento.

Instalo las fuentes para arm de la glibc y las fuentes del kernel..
Aplico varios parches ke parece ke se necesitan: el de arm, y algunos otros recomendados por los usuarios de la gp32 (bueno, y por más gente por el google).

y luego, pues nada, a instalar:
#!/bin/sh
chmod -R u+w .
export BUILD_CC=gcc
export CC=arm-elf-gcc
export AR=arm-elf-ar
export NM=arm-elf-nm
export RANLIB=arm-elf-ranlib
./configure --prefix=/usr --build=i686-pc-cygwin<-probé unas cuantas --exec-prefix=/ arm-linux --enable-add-ons --enable-debug --enable-profile --disable-nls --with-headers=/usr/local/bin/linux/include <--Fuentes kernel &&
make cross-compiling=yes &&
make install &&
vi /usr/local/arm/arm-linux/lib/libc.so &&
touch .


El caso es que me escupe el muy mamón:
../sysdeps/unix/sysv/linux/arm/sysdep.S: Assembler messages:
../sysdeps/unix/sysv/linux/arm/sysdep.S:24: Warning: .type pseudo-op used outside of .def/.endef ignored.
../sysdeps/unix/sysv/linux/arm/sysdep.S:24: Warning: rest of line ignored; first ignored character is `e'
../sysdeps/unix/sysv/linux/arm/sysdep.S:25: Warning: .size pseudo-op used outside of .def/.endef ignored.
../sysdeps/unix/sysv/linux/arm/sysdep.S:25: Warning: rest of line ignored; first ignored character is `e'
../sysdeps/unix/sysv/linux/arm/sysdep.S:37: Warning: .type pseudo-op used outside of .def/.endef ignored.
../sysdeps/unix/sysv/linux/arm/sysdep.S:37: Warning: rest of line ignored; first ignored character is `_'
../sysdeps/unix/sysv/linux/arm/sysdep.S:38: Error: no such instruction: `rsb r0,r0,$0'
../sysdeps/unix/arm/sysdep.S:41: Error: no such instruction: `ldr r1,_errno_loc'
../sysdeps/unix/arm/sysdep.S:42: Error: invalid char '[' beginning operand 2 `[r1]'
../sysdeps/unix/arm/sysdep.S:44: Error: no such instruction: `stmdb sp!,{r0,lr}'
../sysdeps/unix/arm/sysdep.S:46: Error: no such instruction: `bl __errno_location'
../sysdeps/unix/arm/sysdep.S:47: Error: no such instruction: `ldmia sp!,{r1,lr}'
../sysdeps/unix/arm/sysdep.S:48: Error: invalid char '[' beginning operand 2 `[r0]'
../sysdeps/unix/arm/sysdep.S:71: Error: no such instruction: `mvn r0,$0'
../sysdeps/unix/arm/sysdep.S:72: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
../sysdeps/unix/arm/sysdep.S:79: Warning: .size pseudo-op used outside of .def/.endef ignored.
../sysdeps/unix/arm/sysdep.S:79: Warning: rest of line ignored; first ignored character is `_'
make[1]: *** [sysdep.o] Error 1
make: *** [csu/subdir_lib] Error 2


Por supuesto, ya me leí los documentos de los ke saben un montón sobre el tema.


Salu22222

Pd: en la faq de cygwin se dice ke es dificil portar la glibc a cygwin, pero sin embargo hay mucha gente por internete ke dice haberlo conseguido :-S
0 respuestas