On Monday 15 March 2010 19:33:41, Danny Backx wrote: > > 3) with -mcpu=cortex-a8 (Assembler messages: Error: cannot represent > > BFD_RELOC_ARM_MOVW relocation in this object file format) > > > > Does it mean that there is no proper support for newer cpu's in the version > > of binutils that come with cegcc? Is it easier for me to upgrade? > > > > PS: Cmd line used: arm-mingw32ce-gcc -c /tmp/test.c -mcpu=cortex-a8 >
This device is a thumb-2 device. Those are new relocations for forming constants from immediates (usually using the movw/movt instruction pair), rather than loading the data from the constant pool. Although these are static relocations, PE/COFF doesn't support representing them in the .o files. The easiest way around this is disabling these instructions in gcc. A better solution would be to extend bfd and to have a way to represent these relocations, as a GNU extension. Perhaps a new section, or perhaps extend the pseudo-relocs concept to static relocations (if we need extra relocations in final images, new pseudo-reloc kinds are the obvious choice). An even better solution would be for Microsoft to define and officialize new relocations for Thumb2, but, probably not going to happen. There are simple hooks for disabling those instructions under gcc/config/arm. That said, which that issue out of the way, MSFT's compilers doesn't support thumb2 AFAIK. So, even if the code compiles, you're probably going to run into kernel issues running it. -- Pedro Alves ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Cegcc-devel mailing list Cegcc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cegcc-devel