aboutsummaryrefslogtreecommitdiff
path: root/bfd/peXXigen.c
diff options
context:
space:
mode:
authorOmar Majid <omajid@redhat.com>2019-07-23 09:44:57 +0100
committerNick Clifton <nickc@redhat.com>2019-07-23 09:44:57 +0100
commit1dd1bc4daf99ec7ad1f9a6feea8cf4ebe715a92d (patch)
tree968e6d80c069a68fcb0bc8630dd2b67ab14362e3 /bfd/peXXigen.c
parent5ba29434765feed692b6342a8b0f853050be2402 (diff)
downloadgdb-1dd1bc4daf99ec7ad1f9a6feea8cf4ebe715a92d.zip
gdb-1dd1bc4daf99ec7ad1f9a6feea8cf4ebe715a92d.tar.gz
gdb-1dd1bc4daf99ec7ad1f9a6feea8cf4ebe715a92d.tar.bz2
Allow objdump to recognise the System.Runtime.dll files that get shipped with .NET Core 2.1.
include * coff/i386.h (IMAGE_FILE_MACHINE_NATIVE_APPLE_OVERRIDE): Define. (IMAGE_FILE_MACHINE_NATIVE_FREEBSD_OVERRIDE): Define. (IMAGE_FILE_MACHINE_NATIVE_LINUX_OVERRIDE): Define. (IMAGE_FILE_MACHINE_NATIVE_NETBSD_OVERRIDE): Define. (I386_APPLE_MAGIC): Define. (I386_FREEBSD_MAGIC): Define. (I386_LINUX_MAGIC): Define. (I386_NETBSD_MAGIC): Define. (I386BADMAG): Extend macro to allow new magic numbers. * coff/x86_64.h (IMAGE_FILE_MACHINE_NATIVE_APPLE_OVERRIDE): Define. (IMAGE_FILE_MACHINE_NATIVE_FREEBSD_OVERRIDE): Define. (IMAGE_FILE_MACHINE_NATIVE_LINUX_OVERRIDE): Define. (IMAGE_FILE_MACHINE_NATIVE_NETBSD_OVERRIDE): Define. (AMD64_APPLE_MAGIC): Define. (AMD64_FREEBSD_MAGIC): Define. (AMD64_LINUX_MAGIC): Define. (AMD64_NETBSD_MAGIC): Define. (AMD64BADMAG): Extend macro to allow new magic numbers. bfd * coffcode.h (coff_set_arch_mach_hook): Handle I386_APPLE_MAGIC, I386_FREEBSD_MAGIC, I386_LINUX_MAGIC, I386_NETBSD_MAGIC, AMD64_APPLE_MAGIC, AMD64_FREEBSD_MAGIC, AMD64_LINUX_MAGIC, AMD64_NETBSD_MAGIC. * peXXigen.c: Add comment about source of .NET magic numbers. binutils* Makefile.am (AUTOMAKE_OPTIONS): Add subdir-objects (GENTESTDLLSPROG): Define. (TEST_PROGS): Add GENTESTDLLSPROG. * Makefile.in: Regenerate. * testsuite/binutils-all/objdump.exp (test_objdump_dotnet_assemblies): New proc. Run the new proc. * testsuite/gentestdlls.c: New source file.
Diffstat (limited to 'bfd/peXXigen.c')
-rw-r--r--bfd/peXXigen.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c
index 77fb493..ee6da64 100644
--- a/bfd/peXXigen.c
+++ b/bfd/peXXigen.c
@@ -35,6 +35,13 @@
"Peering Inside the PE: A Tour of the Win32 Portable Executable
File Format", MSJ 1994, Volume 9.
+ The PE/PEI format is also used by .NET. ECMA-335 describes this:
+
+ "Standard ECMA-335 Common Language Infrastructure (CLI)", 6th Edition, June 2012.
+
+ This is also available at
+ https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-335.pdf.
+
The *sole* difference between the pe format and the pei format is that the
latter has an MSDOS 2.0 .exe header on the front that prints the message
"This app must be run under Windows." (or some such).