PE+ and new COFF format for x86_64 target for XP64 and Vista binaries

Pedro Alves pedro_alves@portugalmail.pt
Fri Sep 8 09:48:00 GMT 2006


Hi Kai,

I'm no binutils maintainer, but I got a few sugestions.

Kai Tietz wrote:
> Hallo,
> 
> This is a port of binutils-2.17 for COFF-format x86-64 (AMD64) and the PE+ 
> for Windows XP64 and Vista EXE/DLL. The target is named x86_64-pc-mingw64. 

To get this into binutils, you will need to forward port your changes
to the current version in CVS. The 2.17 branch should only take
important bug fixes.


> I enabled windres and dlltool for this target. For the tool objdump the 
> processing and printing methods for DLL-imports are adjusted (they are now 
> 8 bytes long :( )
> 


> I made a copy of the pe_dll(.c&.h) as pep_dll(.c&.h) to minimize 
> intersections. 

Looking and diffing at the pep_dll.{c|h} and pep.em files, I notice that 
the changes related to pe_dll.{c|h} and pe.em, excluding the pe_* to
pep_* renamings, could be minimized to just a few places.
We should avoid duplicating files this size. I haven't looked at the 
other parts of the patch, but possibly, the same could apply.

>May these files can be merged.
> 

I would say, yes please.


Hope this helps,
Cheers,
Pedro Alves


> In the "include/coff/external.h" I introduced the proper PE+ external 
> aouthdr structure without the data_start member. Because this non-existing 
> member breaks the
> size of the PEPAOUT structure in include/coff/pe.h.
> 
> For the bfd/pexxigen.c template I used the pex64 name alias for 
> generation.
> 
> I added the following new files:
>         bfd/coff-x86_64.c
>         bfd/pe-x86_64.c
>         bfd/pei-x86_64.c
>         gas/config/te-pep.h
>         include/coff/x86_54.h
>         ld/pep_dll.c
>         ld/pep_dll.h
>         ld/emulparams/i386pep.sh
>         ld/emultempl/pep.em
>         ld/scripttempl/pep.sc
> 
> 
> I tested the ld of this target by MSVC object-files and by (a patched) gcc 
> object-files (using this gas) linking against MS-Runtime-libraries.
> 
> i.A. Kai Tietz
> 



More information about the Binutils mailing list