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