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


Hallo Pedro,

I tested the testsuites on i386-linux cross and native for binutils, gas, 
and ld. Sorry for, but I have no other architecture available.

Here comes the two first parts of the patch. There will be another three 
for binutils, gas, and ld coming up soon.

Change log modifications for include/coff

        * external.h:   Add proper external_aouthdr64 structure (without 
data_start member)
                AOUTHDRSZ64:    Set according structure size
                AOUTHDR64:              As typedef of external_aouthdr64 
structure
        * internal.h:   Add relocation identifiers for coff
        * pe.h: Add define IMAGE_FILE_MACHINE_AMD64 the coff signature
                PEPAOUTHDR:             Adjust structure to have proper 
size (using AOUTHDR64)
                PEPAOUTSZ:              Calculated size of 240
        * x86_64.h:     New file for coff information for x86_64 (AMD64)

Changes log modifications for bfd

        * configure.in: Added new target-vectors x86_64coff_vec, 
x86_64pe_vec, and x86_64pei_vec
        * config.bfd:           Adjusted x86_64 target architecture 
detection
        * bfd.c:                        Add for new target "coff-x86-64"
                bfd_get_sign_extend:    Add target vector idents for 
pe-x86-64. and pei-x86-64
        * coff-x86_64.c:        Add new file for x86_64 (AMD64) coff 
support
        * libpei.h                              Adjustments for 
COFF_WITH_pex64
        * coffcode.h:                   Add for new target machine, 
architecture, signature, and internal
                                                                signature 
handler.
        * makefile.am:  Add new files to target-all and define make-rule 
for pex64igen.c
        * makefile.in:  Add new files to target-all and define make-rule 
for pex64igen.c
        * pe-x86_64.c:  Add for new target "pe-x86-64"
        * pei-x86_64.c: Add for new target "pei-x86-64"
        * peicode.h:            Adjusts for new targets
                coff_swap_filehdr_out:  set for this target to 
_bfd_pex64_only_swap_filehdr_out
                SIZEOF_IDATA4:                          define it as 8 
byte size for this target
                SIZEOF_IDATA5:                          define it as 8 
byte size for this target
                jump_table jtab:                        Add for AMD64MAGIC
                pe_ILF_build_a_bfd:             Adjusts for new size of 
SIZEOF_IDATA4 and SIZE_IDATA5
                pe_ILF_object_p:                        Add coff 
image-file signature to internal signature translation
        * pexxigen.c:           Adjust proper include of target 
coff-header and introduced target specific code
                COFF_WITH_pex64:        New macro for this target
                pe_print_idata: New dumping method for import section of 
PE+ files
        * target.c:             Add new target vectors declarations for 
x86_64 coff targets

Regards,
 i.A. Kai Tietz

Attachment: binutils-2.17.pex-64.060913_bfd.diff
Description: Binary data

Attachment: binutils-2.17.pex-64.060913_include.diff
Description: Binary data


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