This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Trouble with running cygwin dll on Vortex86MX+ CPU


On Apr  2 23:03, Colin wrote:
> Hi Team,
> 
> I'm new here, but have dabbled in Cygwin for a few years. I hope someone 
> more knowledgeable than myself can help with with this issue which is 
> quite frankly baffling me for the past few weeks.
> 
> 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...
> 
> I can do the same on any desktop PC running Windows XP, or 7, my "Hello 
> World" runs as expected.
> 
> 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.

I had a quick look into the programmer's manual for this CPU, and per
this document the CPU is i486DX compatible.  This could be the problem.
The Cygwin GCC defaults to i686 for a long time and naturally the Cygwin
DLL as well as your own application are built for i686.

> In discussing this with the embedded PC supplier, he suggests that the 
> cygwin1.dll is exiting because it doesn't recognise the CPU. Is this 
> explanation plausible? And if it is, is there a solution available, or 
> must I give up on using cygwin for this application?

As far as the pre-built Cygwin goes, I fear that you can't do a lot.
You could try to build Cygwin in i486 mode, and if that works, you have
to make sure to build applications against the newly built crt0.o and
libcygwin.a.  But that's not all to keep in mind.  When building
applications, parts of GCC are linked in as well, namely crtbegin.o and
crtend.o, and sometimes cyggcc_s-1.dll.  All these may or may not use
post-i486 opcodes, so if push comes to shove you'd end up having to
rebuild GCC for i486 as well.

I'm not trying to discourage you, but you might have a lot of
experimenting to do to get this working.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: pgpi2hthWMvak.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]