public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* Re: PE32+ Format!
@ 2005-04-11 16:04 Jan Beulich
  2005-04-11 17:37 ` Christopher Faylor
  0 siblings, 1 reply; 9+ messages in thread
From: Jan Beulich @ 2005-04-11 16:04 UTC (permalink / raw)
  To: u-thiel, nickc; +Cc: binutils

>By the way - is there any public documentation on the PE32+ format 
>available ?

I know only of the MSDN doc (which can't really be considered public I guess), but since Cygwin appears to know about the (or at least some, did a brief check only) 64-bit extensions they must have gotten them from somewhere...

Jan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: PE32+ Format!
  2005-04-11 16:04 PE32+ Format! Jan Beulich
@ 2005-04-11 17:37 ` Christopher Faylor
  0 siblings, 0 replies; 9+ messages in thread
From: Christopher Faylor @ 2005-04-11 17:37 UTC (permalink / raw)
  To: nickc, u-thiel, Jan Beulich, binutils

On Mon, Apr 11, 2005 at 06:04:37PM +0200, Jan Beulich wrote:
>>By the way - is there any public documentation on the PE32+ format 
>>available ?
>
>I know only of the MSDN doc (which can't really be considered public I
>guess), but since Cygwin appears to know about the (or at least some,
>did a brief check only) 64-bit extensions they must have gotten them
>from somewhere...

? What 64-bit extensions does cygwin know about?

cgf

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: PE32+ Format!
  2005-04-12  6:42 Jan Beulich
@ 2005-04-12 13:46 ` Christopher Faylor
  0 siblings, 0 replies; 9+ messages in thread
From: Christopher Faylor @ 2005-04-12 13:46 UTC (permalink / raw)
  To: Jan Beulich, binutils

[reply-to set]
On Tue, Apr 12, 2005 at 08:41:59AM +0200, Jan Beulich wrote:
>>>> Christopher Faylor <me@cgf.cx> 11.04.05 19:37:32 >>>
>>On Mon, Apr 11, 2005 at 06:04:37PM +0200, Jan Beulich wrote:
>>>>By the way - is there any public documentation on the PE32+ format 
>>>>available ?
>>>
>>>I know only of the MSDN doc (which can't really be considered public I
>>>guess), but since Cygwin appears to know about the (or at least some,
>>>did a brief check only) 64-bit extensions they must have gotten them
>>>from somewhere...
>>
>>? What 64-bit extensions does cygwin know about?
>
>Just grep Cygwin's winnt.h for 'IMAGE.*64', and most of the hits will
>give you an idea; as I see one of the odd things is that they have
>quite a number of the structure changes, but they're lacking the change
>to the NT header (IMAGE_OPTIONAL_HEADER64) and the new 'magic' value to
>indicate its use.  PE32+ isn't really a different format except for
>some slightly changed sub-structures to accomodate 64-bit values where
>needed (which I guess is why they don't call it PE64).

You are apparently referring to the header files in the
winsup/w32api/include directory, which is not strictly "cygwin".  These
have been filled in by volunteers from the net, probably people
associated with the MinGW project.  I guess if you have questions about
these headers the mingw project would be the place to ask.

cgf

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: PE32+ Format!
  2005-04-11 20:56   ` Aaron W. LaFramboise
@ 2005-04-12  7:33     ` Ulrich Thiel
  0 siblings, 0 replies; 9+ messages in thread
From: Ulrich Thiel @ 2005-04-12  7:33 UTC (permalink / raw)
  To: Aaron W. LaFramboise; +Cc: binutils

On 15:56 Mon 11 Apr     , Aaron W. LaFramboise wrote:
> The same PECOFF specification that documents the PE format presently
> supported by binutils also specifies PE32+.  In each place where PE32 is
> described, changes for PE32+ are also described, making it particularly
> easy to use the specification as a guide for creating a PE32+ port based
> on the existing binutils PE support.

Exactly!

> I think it would be lots of fun to do, and fairly easy too, but I'm so
> bogged down with silly schoolwork and extracurricular projects presently
> that I can't--in good faith--volunteer to help with this.

I wouldn't call it fun :) 
The problem is that I don't know anything about the binutils code. It'll
take some weeks until I understand what to do...However I'll try it.
Damn M$!


Uli
-- 
PGP key:     http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x66BE0B18
fingerprint: 6530 B562 5234 9326 CDAE  5D7D 73F1 CDFD 66BE 0B18

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: PE32+ Format!
@ 2005-04-12  6:42 Jan Beulich
  2005-04-12 13:46 ` Christopher Faylor
  0 siblings, 1 reply; 9+ messages in thread
From: Jan Beulich @ 2005-04-12  6:42 UTC (permalink / raw)
  To: me; +Cc: u-thiel, nickc, binutils

>>> Christopher Faylor <me@cgf.cx> 11.04.05 19:37:32 >>>
>On Mon, Apr 11, 2005 at 06:04:37PM +0200, Jan Beulich wrote:
>>>By the way - is there any public documentation on the PE32+ format 
>>>available ?
>>
>>I know only of the MSDN doc (which can't really be considered public I
>>guess), but since Cygwin appears to know about the (or at least some,
>>did a brief check only) 64-bit extensions they must have gotten them
>>from somewhere...
>
>? What 64-bit extensions does cygwin know about?

Just grep Cygwin's winnt.h for 'IMAGE.*64', and most of the hits will give you an idea; as I see one of the odd things is that they have quite a number of the structure changes, but they're lacking the change to the NT header (IMAGE_OPTIONAL_HEADER64) and the new 'magic' value to indicate its use. PE32+ isn't really a different format except for some slightly changed sub-structures to accomodate 64-bit values where needed (which I guess is why they don't call it PE64).

Jan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: PE32+ Format!
  2005-04-11 15:55 ` Nick Clifton
@ 2005-04-11 20:56   ` Aaron W. LaFramboise
  2005-04-12  7:33     ` Ulrich Thiel
  0 siblings, 1 reply; 9+ messages in thread
From: Aaron W. LaFramboise @ 2005-04-11 20:56 UTC (permalink / raw)
  To: Nick Clifton; +Cc: Ulrich Thiel, binutils

Nick Clifton wrote:

> By the way - is there any public documentation on the PE32+ format 
> available ?

The same PECOFF specification that documents the PE format presently
supported by binutils also specifies PE32+.  In each place where PE32 is
described, changes for PE32+ are also described, making it particularly
easy to use the specification as a guide for creating a PE32+ port based
on the existing binutils PE support.

I think it would be lots of fun to do, and fairly easy too, but I'm so
bogged down with silly schoolwork and extracurricular projects presently
that I can't--in good faith--volunteer to help with this.


Aaron W. LaFramboise

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: PE32+ Format!
@ 2005-04-11 17:50 Ulrich Thiel
  0 siblings, 0 replies; 9+ messages in thread
From: Ulrich Thiel @ 2005-04-11 17:50 UTC (permalink / raw)
  To: binutils

Hi Nick,

thanks for answering. I've sent this reply to the mailing list again.

> Would you be interested in writing a patch to add this support then ?

Okay, here's my problem: We're working on a software that is mainly
developed under Windows. Part of the software is pure assembler code
(MASM syntax). To get the program running under Linux we convert the
object files from COFF format to ELF format. That worked for the 32-bit
version.
Now we have also developed assembler code for Athlon64 under Win64 and
therefore we have these PE32+ (I think) object files that can't be
converted by objdump.
Now, to get this running under Linux again, we could write a converter
that converts the assembler files from MASM syntax to AT&T syntax. Or we
could try to implement this new format in binutils. Since I've heard
that there are only a few changes from PE32 to PE32+ it would be easier
to implement this format in binutils.
If anybody knows about documentation of this format please send it to
me. All help is welcome...


Uli
-- 
PGP key:     http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x66BE0B18
fingerprint: 6530 B562 5234 9326 CDAE  5D7D 73F1 CDFD 66BE 0B18

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: PE32+ Format!
  2005-04-08 16:40 Ulrich Thiel
@ 2005-04-11 15:55 ` Nick Clifton
  2005-04-11 20:56   ` Aaron W. LaFramboise
  0 siblings, 1 reply; 9+ messages in thread
From: Nick Clifton @ 2005-04-11 15:55 UTC (permalink / raw)
  To: Ulrich Thiel; +Cc: binutils

Hi Ulrich,

> Is there any possibility to convert PE32+ (remark the +) object files to
> x86_64 ELF64 object files? 

At the moment no.  Nobody has contributed code to support the PE32+ 
format, so binutils cannot read it, let alone convert it.

> I've heard that there are only a few changes in this new PE32+ file format.

Would you be interested in writing a patch to add this support then ?

By the way - is there any public documentation on the PE32+ format 
available ?

Cheers
   Nick


^ permalink raw reply	[flat|nested] 9+ messages in thread

* PE32+ Format!
@ 2005-04-08 16:40 Ulrich Thiel
  2005-04-11 15:55 ` Nick Clifton
  0 siblings, 1 reply; 9+ messages in thread
From: Ulrich Thiel @ 2005-04-08 16:40 UTC (permalink / raw)
  To: binutils

Hi!

Is there any possibility to convert PE32+ (remark the +) object files to
x86_64 ELF64 object files? I know that I can convert the 'old' 32-bit COFF
files using objcopy. But opjcopy doesn't even know the file format of
these files compiled under Win64!
I've heard that there are only a few changes in this new PE32+ file format.
Can anybody help me? Would be great!!


U. Thiel

-- 
PGP key:     http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x66BE0B18
fingerprint: 6530 B562 5234 9326 CDAE  5D7D 73F1 CDFD 66BE 0B18

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2005-04-12 13:46 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-11 16:04 PE32+ Format! Jan Beulich
2005-04-11 17:37 ` Christopher Faylor
  -- strict thread matches above, loose matches on Subject: below --
2005-04-12  6:42 Jan Beulich
2005-04-12 13:46 ` Christopher Faylor
2005-04-11 17:50 Ulrich Thiel
2005-04-08 16:40 Ulrich Thiel
2005-04-11 15:55 ` Nick Clifton
2005-04-11 20:56   ` Aaron W. LaFramboise
2005-04-12  7:33     ` Ulrich Thiel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).