This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ARM build of uClinux fails in Cygwin


Greetings all...

I used the procedure outlined in http://www.uclinux.org/pub/uClinux/archive/8306.html to build the 
tools and compile the kernel.  This works just fine for m68k target (at least I get an image... 
whether that image is valid is unknown).  Trying to do the same thing for the ARM Atmel/AT91 goes 
as far as the build of the kernel itself then, it gives me this error and dies:

make CFLAGS="-D__KERNEL__ -I/usr/local/src/uClinux/uClinux-dist/linux-2.4.x/include  -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-common -pipe -fno-builtin -D__linux__ -g -DNO_MM -mapcs-32 -march=armv4 -mtune=arm7tdmi -mshort-load-bytes -msoft-float " -C  
arch/armnommu/kernel
make[2]: Entering directory `/usr/local/src/uClinux/uClinux-dist/linux-2.4.x/arch/armnommu/kernel'
arm-elf-gcc -D__KERNEL__ -I/usr/local/src/uClinux/uClinux-dist/linux-2.4.x/include  -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-common -pipe -fno-builtin -D__linux__ -g -DNO_MM -mapcs-32 -march=armv4 -mtune=arm7tdmi -mshort-load-bytes -msoft-float   -
nostdinc -I /usr/local/lib/gcc-lib/arm-elf/2.95.3/include -DKBUILD_BASENAME=dma  -c -o dma.o dma.c
In file included from dma.c:23:
/usr/local/src/uClinux/uClinux-dist/linux-2.4.x/include/asm/mach/dma.h:53: warning: useless keyword or type name in empty declaration
/usr/local/src/uClinux/uClinux-dist/linux-2.4.x/include/asm/mach/dma.h:53: warning: empty declaration
arm-elf-gcc -D__ASSEMBLY__ -D__KERNEL__ -I/usr/local/src/uClinux/uClinux-dist/linux-2.4.x/include  -DNO_MM -mapcs-32 -marmv4 -msoft-float -mno-fpu   -c -o entry-armv.o entry-armv.S
entry-armv.S: Assembler messages:
entry-armv.S:1035: Error: Internal_relocation (type 187) not fixed up (OFFSET_IMM)
entry-armv.S:1037: Error: Internal_relocation (type 185) not fixed up (IMMEDIATE)
entry-armv.S:1088: Error: Internal_relocation (type 187) not fixed up (OFFSET_IMM)
entry-armv.S:1089: Error: Internal_relocation (type 187) not fixed up (OFFSET_IMM)
entry-armv.S:1320: Error: Can not represent SWI relocation in this object file format (0)
make[2]: *** [entry-armv.o] Error 1
make[2]: Leaving directory `/usr/local/src/uClinux/uClinux-dist/linux-2.4.x/arch/armnommu/kernel'
make[1]: *** [_dir_arch/armnommu/kernel] Error 2
make[1]: Leaving directory `/usr/local/src/uClinux/uClinux-dist/linux-2.4.x'
make: *** [linux] Error 1

I think the warning from dma.c is ok, or rather nothing I can do about it but it is bothersome.  
The big deal is that entry-armv.S doesn't assemble.  Does anybody have a clue as to why this does not assemble?

Also, I am getting circular dependencies created because the code is actually doing it:
include/asm/memory.h includes include/arch/asm/memory.h which includes include/arch/asm/page.h 
which includes include/asm/memory.h

This seems to me to be an indication that the ARM compiler/assembler is broken on Cygwin, but I 
haven't a clue as to what to do about it.  This builds just fine on RedHat Linux.

Any advice would be appreciated.


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]