Hi Claus On 22/04/15 18:50, Claus Lensbøl wrote:
> I'm trying to compile a synth target with eCos. > I downloaded using the tcl-script, and are running the configtool to > select the target. > I have set CYGBLD_GLOBAL_COMMAND_PREFIX to empty, to use the system > stack, however I cannot get it to compile due to "loss of precision" > errors. If I add -fpermissive to the compile I get further but end up > with a lot of: > > > ================================================================== > /opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:387: > Error: operand type mismatch for `push' [ snip ] > I'm running on a ubuntu 14.10 system wit gcc: > > gcc -v > Using built-in specs. > COLLECT_GCC=gcc > COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper > Target: x86_64-linux-gnu [ snip] The eCos synthetic (linux) target does not support 64-bit compilation at present. Try adding the "-m32" switch to the following eCos configuration options: CYGBLD_GLOBAL_CFLAGS CYGBLD_GLOBAL_LDFLAGS in order to force 32-bit compilation and linking on your 64-bit Linux host. I hope this helps... John Dallaway eCos maintainer http://www.dallaway.org.uk/john -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
