a.out.h for 64-bit Cygwin?

Corinna Vinschen corinna-cygwin@cygwin.com
Sun Mar 10 20:52:00 GMT 2013


On Mar 10 09:06, Ken Brown wrote:
> On 3/10/2013 7:18 AM, Corinna Vinschen wrote:
> >On Mar  9 22:43, Ken Brown wrote:
> >>It may be too soon to expect this to work, but I'm trying to build
> >>emacs for 64-bit Cygwin.  Part of the build process involves direct
> >>manipulation of a .exe file, based on the structures defined in
> >>/usr/include/a.out.h.  I'm wondering whether this file needs to be
> >>updated before it will work with 64-bit .exe files.
> >
> >Yes, absolutely!
> >
> >It's not very tricky.  AFAIK only a single header part is different, the
> >one called IMAGE_OPTIONAL_HEADER in MSDN.  Given the age of a.out.h,
> >there are also a couple of defines missing, all of them are documented
> >in MSDN and available in the Mingw headers.  Patches most welcome.
> 
> OK, I'll work on this.  One question: Is it OK for a.out.h to
> include windows.h so that I can use macros like WORD, DWORD,... as
> in the Mingw headers?  Or is it better to just use standard types as
> in the current a.out.h?

No, we shouldn't include windows.h.  Some of the values are already
defined using another name in a.out.h, see I386MAGIC, DOSMAGIC, or
NT_SIGNATURE.

I'm pretty open to add definitions for other values, as long as they
either match the already used naimg scheme, or, if they are entirely
new, are similar, but not exactly named like the original Windows
definitions.  I don't think anything speaks against adding stuff like

  #define AMD64MAGIC 0x8664
  [...]
  #define IMG_NT_OPTIONAL_HDR32_MAGIC 0x10b
  [...]
  #define IMG_SUBSYS_NATIVE 1


Corinna

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



More information about the Cygwin-apps mailing list