This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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: PE+ and new COFF format for x86_64 target for XP64 and Vista binaries


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



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