public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] Error compilling synth target
@ 2015-04-22 17:50 Claus Lensbøl
  2015-04-26 13:48 ` [ECOS] " John Dallaway
  0 siblings, 1 reply; 2+ messages in thread
From: Claus Lensbøl @ 2015-04-22 17:50 UTC (permalink / raw)
  To: ecos-discuss

Hi

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'
make: Leaving directory
'/home/cmol/Dropbox/Documents/DTU/34299-Fagprojekt/eCos_synth_system_build'
/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:387:
Error: operand type mismatch for `pop'

/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:388:
Error: operand type mismatch for `push'
/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:388:
Error: operand type mismatch for `pop'
/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:389:
Error: operand type mismatch for `push'
/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:389:
Error: operand type mismatch for `pop'
/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:390:
Error: operand type mismatch for `push'
/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:390:
Error: operand type mismatch for `pop'
/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:391:
Error: operand type mismatch for `push'
/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:391:
Error: operand type mismatch for `pop'
/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:392:
Error: operand type mismatch for `push'
/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:392:
Error: operand type mismatch for `pop'
/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:393:
Error: operand type mismatch for `push'

........ loads more

/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:432:
Error: operand type mismatch for `pop'
/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:432:
Error: operand type mismatch for `pop'
/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:452:
Error: invalid instruction suffix for `pop'
/tmp/ccr4YNvl.s: Error: .size expression for __restore_rt does not
evaluate to a constant
/tmp/ccr4YNvl.s: Error: .size expression for __restore does not
evaluate to a constant
==================================================================

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
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
4.9.1-16ubuntu6'
--with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.9 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--enable-gnu-unique-object --disable-vtable-verify --enable-plugin
--with-system-zlib --disable-browser-plugin --enable-java-awt=gtk
--enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre
--enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64
--with-arch-directory=amd64
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc
--enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64
--with-multilib-list=m32,m64,mx32 --enable-multilib
--with-tune=generic --enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.1 (Ubuntu 4.9.1-16ubuntu6)

ld -v
GNU ld (GNU Binutils for Ubuntu) 2.24.90.20141014


Any clue as to what goes wrong?

-- 
Kind regards
Claus Lensbøl

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [ECOS] Re: Error compilling synth target
  2015-04-22 17:50 [ECOS] Error compilling synth target Claus Lensbøl
@ 2015-04-26 13:48 ` John Dallaway
  0 siblings, 0 replies; 2+ messages in thread
From: John Dallaway @ 2015-04-26 13:48 UTC (permalink / raw)
  To: Claus Lensbøl; +Cc: eCos Discussion

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-04-26 13:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-22 17:50 [ECOS] Error compilling synth target Claus Lensbøl
2015-04-26 13:48 ` [ECOS] " John Dallaway

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).