diff options
author | 2018-02-12 13:12:45 +0000 | |
---|---|---|
committer | 2018-02-12 13:15:56 +0000 | |
commit | 830db0485e19000985ccfdbacda4d4d5d62583bb (patch) | |
tree | dada7466cb61a68114ec1819770b9e58fe86000d /bfd/peicode.h | |
parent | Update Russian translation for the gas/ sub-directory. (diff) | |
download | binutils-gdb-830db0485e19000985ccfdbacda4d4d5d62583bb.tar.gz binutils-gdb-830db0485e19000985ccfdbacda4d4d5d62583bb.tar.bz2 binutils-gdb-830db0485e19000985ccfdbacda4d4d5d62583bb.zip |
Add support for reading msdos MZ executables.
See email thread starting here: https://www.sourceware.org/ml/binutils/2018-01/msg00001.html
include * coff/msdos.h: New header.
* coff/pe.h: Move common defines to msdos.h.
* coff/powerpc.h: Likewise.
bfd * i386msdos.c (msdos_mkobject); New function.
(msdos_object_p): New function.
(i386_msdos_vec): Use msdos_object_p as the check_format
function.
* peicode.h: Rename external_PEI_DOS_hdr, DOSMAGIC, and
NT_SIGNATURE to external_DOS_hdr, IMAGE_DOS_SIGNATURE, and
IMAGE_NT_SIGNATURE.
* peXXigen.c: Likewise.
* coff-ia64.c: Likewise.
Diffstat (limited to 'bfd/peicode.h')
-rw-r--r-- | bfd/peicode.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/bfd/peicode.h b/bfd/peicode.h index 94dd861a91e..30dc08b45ea 100644 --- a/bfd/peicode.h +++ b/bfd/peicode.h @@ -1386,7 +1386,7 @@ static const bfd_target * pe_bfd_object_p (bfd * abfd) { bfd_byte buffer[6]; - struct external_PEI_DOS_hdr dos_hdr; + struct external_DOS_hdr dos_hdr; struct external_PEI_IMAGE_hdr image_hdr; struct internal_filehdr internal_f; struct internal_aouthdr internal_a; @@ -1420,7 +1420,7 @@ pe_bfd_object_p (bfd * abfd) /* There are really two magic numbers involved; the magic number that says this is a NT executable (PEI) and the magic number that - determines the architecture. The former is DOSMAGIC, stored in + determines the architecture. The former is IMAGE_DOS_SIGNATURE, stored in the e_magic field. The latter is stored in the f_magic field. If the NT magic number isn't valid, the architecture magic number could be mimicked by some other field (specifically, the number @@ -1428,7 +1428,7 @@ pe_bfd_object_p (bfd * abfd) correctly for a PEI file, check the e_magic number here, and, if it doesn't match, clobber the f_magic number so that we don't get a false match. */ - if (H_GET_16 (abfd, dos_hdr.e_magic) != DOSMAGIC) + if (H_GET_16 (abfd, dos_hdr.e_magic) != IMAGE_DOS_SIGNATURE) { bfd_set_error (bfd_error_wrong_format); return NULL; |