g++ -m32 option causes an error

Warren Young warren@etr-usa.com
Sun Oct 20 02:20:00 GMT 2013


On 10/19/2013 13:20, Arthur Schwarz wrote:
>
> What I want is the compiler to generate 32-bit code loadable
> on a 64-bit and a 32-bit platform. This is possible using the 32-bit
> cygwin compilers.

Yes, it's possible, but it may not do what you expect.

64-bit Cygwin can blindly launch a 32-bit Cygwin program (and vice 
versa) but none of the cross-process mechanisms that involve cygwin1.dll 
will work since the two programs will be running under different 
versions of the DLL.

Whether this matters or not depends on what Program A (64-bit) is asking 
Program B (32-bit) to do for it.  Program B can't access a POSIX shared 
memory segment set up by Program A, for example.

> I don't understand why there is not x86_64-pc-cygwin assembler

There is.  It's called as(1) and you run it from 64-bit Cygwin.

The only reason you need to give the long platform prefix on these 
commands is when you're doing cross-compilation.  So, say g++ instead of 
bla-bla-bla-g++.

Now, if you're asking why there is no 64-bit *cross-assembler* for use 
on 32-bit Cygwin, I'd guess that's because no one has needed it yet.

--
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



More information about the Cygwin mailing list