Eval Compiler options.

Questions regarding the use of the ANSI C SDK for Server or Client development or integration into customer products ...

Moderator: uasdkc

Post Reply
scalfee
Hero Member
Hero Member
Posts: 73
Joined: 08 Mar 2014, 01:13

Eval Compiler options.

Post by scalfee »

I am proposing a Linux project using you sdk's. I am using the eval stuff. I am trying to show some demo's.

So Q) what is the difference between code generated on 32 bit 686, vs 32 bit 586? I am trying to demo on an intel Atom small pc, and I guess it is a 586. Will the 686 binaries work or slowly crash?

Follow up: If you only want to provide binaries for eval, why not generate them as 386 binaries. All more recent processors are backwards compatible to 386, so they would be a more broadly useful base.

Thanks, Steve

User avatar
Support Team
Hero Member
Hero Member
Posts: 2532
Joined: 18 Mar 2011, 15:09

Re: Eval Compiler options.

Post by Support Team »

So Q) what is the difference between code generated on 32 bit 686, vs 32 bit 586? I am trying to demo on an intel Atom small pc, and I guess it is a 586. Will the 686 binaries work or slowly crash?
The difference is the used instruction set. Depending in the GCC -march switch you tell GCC what instruction set it can use.
i386 is ancient and delivers poor performance compared to newer x86 systems. i686 is the defacto standard for linux distribution for x86 systems. In GCC i686 is equal to generic. Intel Atom is newer than that and should be backwards compatible, but that's not the point.

Follow up: If you only want to provide binaries for eval, why not generate them as 386 binaries. All more recent processors are backwards compatible to 386, so they would be a more broadly useful base.
Binary compatibility is much more complicated than just the instruction set. On Linux there is no guaranteed binary compatibility between distributions, as this depends on kernel headers, c library and GCC version, and other configuration options.

The eval version is there to evaluate the SDK on the system it was compiled for (Windows and OpenSuSE). After successful validation of the SDK you can obtain a developer license. Then you get all the sources and can cross-compile it to whatever CPU you prefer.

In addition to Windows and OpenSuSE we also have an eval version of the SDK for Raspberry Pi (ARM). Unfortunately there is no eval version for any Atom based system available.

User avatar
Support Team
Hero Member
Hero Member
Posts: 2532
Joined: 18 Mar 2011, 15:09

Re: Eval Compiler options.

Post by Support Team »

This slides: http://free-electrons.com/doc/training/ ... slides.pdf
contain great information about embedded Linux or Linux in general.
Read the section about toolchains, crosscompiling and how different ABI versions, floating points support, different c libraries can be selected. I think then you will better understand the problem of binary compatibility.

Post Reply