On 2014-04-02 18:03, Colin wrote:
The problem I have can be reduced to this: I compile a simple "Hello
World" console mode c program. I copy the .exe file and cygwin1.dll onto
an embedded PC, open a console window, and run the program. The program
runs, and returns immediately to the command prompt, with no output. No
error messages, no nothing...
The embedded PC is currently running a full installation of Windows XP
Professional, SP3. It does so quite happily. It's CPU is DM&P Vortex86MX+
933MHz. I am able to run a "Hello World" program compiled with a native
Windows compiler on it successfully.
In discussing this with the embedded PC supplier, he suggests that the
cygwin1.dll is exiting because it doesn't recognise the CPU.
Actually, if Wikipedia[1] is correct (yes, yes, I know), the problem is
that the CPU doesn't recognize the code. Apparently, these CPUs are
missing the CMOV instruction used when compiling with gcc -march=i686,
which has been the default setting for the Cygwin x86 compilers for
several years now.
Therefore, in order to even attempt to make this work, you would have to
recompile gcc for -march=i586 default, then rebuild *everything* with
that gcc; but I can't guarantee that there won't be other issues as well.
Yaakov
[1] https://en.wikipedia.org/wiki/Vortex86#CPU
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple