summaryrefslogtreecommitdiff
path: root/src/cmd/ld/pe.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/ld/pe.h')
-rw-r--r--src/cmd/ld/pe.h179
1 files changed, 0 insertions, 179 deletions
diff --git a/src/cmd/ld/pe.h b/src/cmd/ld/pe.h
deleted file mode 100644
index 7aa938829..000000000
--- a/src/cmd/ld/pe.h
+++ /dev/null
@@ -1,179 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-typedef struct {
- uint16 Machine;
- uint16 NumberOfSections;
- uint32 TimeDateStamp;
- uint32 PointerToSymbolTable;
- uint32 NumberOfSymbols;
- uint16 SizeOfOptionalHeader;
- uint16 Characteristics;
-} IMAGE_FILE_HEADER;
-
-typedef struct {
- uint32 VirtualAddress;
- uint32 Size;
-} IMAGE_DATA_DIRECTORY;
-
-typedef struct {
- uint16 Magic;
- uint8 MajorLinkerVersion;
- uint8 MinorLinkerVersion;
- uint32 SizeOfCode;
- uint32 SizeOfInitializedData;
- uint32 SizeOfUninitializedData;
- uint32 AddressOfEntryPoint;
- uint32 BaseOfCode;
- uint32 BaseOfData;
- uint32 ImageBase;
- uint32 SectionAlignment;
- uint32 FileAlignment;
- uint16 MajorOperatingSystemVersion;
- uint16 MinorOperatingSystemVersion;
- uint16 MajorImageVersion;
- uint16 MinorImageVersion;
- uint16 MajorSubsystemVersion;
- uint16 MinorSubsystemVersion;
- uint32 Win32VersionValue;
- uint32 SizeOfImage;
- uint32 SizeOfHeaders;
- uint32 CheckSum;
- uint16 Subsystem;
- uint16 DllCharacteristics;
- uint32 SizeOfStackReserve;
- uint32 SizeOfStackCommit;
- uint32 SizeOfHeapReserve;
- uint32 SizeOfHeapCommit;
- uint32 LoaderFlags;
- uint32 NumberOfRvaAndSizes;
- IMAGE_DATA_DIRECTORY DataDirectory[16];
-} IMAGE_OPTIONAL_HEADER;
-
-typedef struct {
- uint8 Name[8];
- uint32 VirtualSize;
- uint32 VirtualAddress;
- uint32 SizeOfRawData;
- uint32 PointerToRawData;
- uint32 PointerToRelocations;
- uint32 PointerToLineNumbers;
- uint16 NumberOfRelocations;
- uint16 NumberOfLineNumbers;
- uint32 Characteristics;
-} IMAGE_SECTION_HEADER;
-
-typedef struct {
- uint32 OriginalFirstThunk;
- uint32 TimeDateStamp;
- uint32 ForwarderChain;
- uint32 Name;
- uint32 FirstThunk;
-} IMAGE_IMPORT_DESCRIPTOR;
-
-typedef struct _IMAGE_EXPORT_DIRECTORY {
- uint32 Characteristics;
- uint32 TimeDateStamp;
- uint16 MajorVersion;
- uint16 MinorVersion;
- uint32 Name;
- uint32 Base;
- uint32 NumberOfFunctions;
- uint32 NumberOfNames;
- uint32 AddressOfFunctions;
- uint32 AddressOfNames;
- uint32 AddressOfNameOrdinals;
-} IMAGE_EXPORT_DIRECTORY;
-
-#define PEBASE 0x00400000
-// SectionAlignment must be greater than or equal to FileAlignment.
-// The default is the page size for the architecture.
-#define PESECTALIGN 0x1000
-// FileAlignment should be a power of 2 between 512 and 64 K, inclusive.
-// The default is 512. If the SectionAlignment is less than
-// the architecture's page size, then FileAlignment must match SectionAlignment.
-#define PEFILEALIGN (2<<8)
-extern int32 PESECTHEADR;
-extern int32 PEFILEHEADR;
-
-enum {
- IMAGE_FILE_MACHINE_I386 = 0x14c,
- IMAGE_FILE_MACHINE_AMD64 = 0x8664,
-
- IMAGE_FILE_RELOCS_STRIPPED = 0x0001,
- IMAGE_FILE_EXECUTABLE_IMAGE = 0x0002,
- IMAGE_FILE_LARGE_ADDRESS_AWARE = 0x0020,
- IMAGE_FILE_32BIT_MACHINE = 0x0100,
- IMAGE_FILE_DEBUG_STRIPPED = 0x0200,
-
- IMAGE_SCN_CNT_CODE = 0x00000020,
- IMAGE_SCN_CNT_INITIALIZED_DATA = 0x00000040,
- IMAGE_SCN_CNT_UNINITIALIZED_DATA = 0x00000080,
- IMAGE_SCN_MEM_EXECUTE = 0x20000000,
- IMAGE_SCN_MEM_READ = 0x40000000,
- IMAGE_SCN_MEM_WRITE = 0x80000000,
- IMAGE_SCN_MEM_DISCARDABLE = 0x2000000,
-
- IMAGE_DIRECTORY_ENTRY_EXPORT = 0,
- IMAGE_DIRECTORY_ENTRY_IMPORT = 1,
- IMAGE_DIRECTORY_ENTRY_RESOURCE = 2,
- IMAGE_DIRECTORY_ENTRY_EXCEPTION = 3,
- IMAGE_DIRECTORY_ENTRY_SECURITY = 4,
- IMAGE_DIRECTORY_ENTRY_BASERELOC = 5,
- IMAGE_DIRECTORY_ENTRY_DEBUG = 6,
- IMAGE_DIRECTORY_ENTRY_COPYRIGHT = 7,
- IMAGE_DIRECTORY_ENTRY_ARCHITECTURE = 7,
- IMAGE_DIRECTORY_ENTRY_GLOBALPTR = 8,
- IMAGE_DIRECTORY_ENTRY_TLS = 9,
- IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG = 10,
- IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT = 11,
- IMAGE_DIRECTORY_ENTRY_IAT = 12,
- IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT = 13,
- IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR = 14,
-
- IMAGE_SUBSYSTEM_WINDOWS_GUI = 2,
- IMAGE_SUBSYSTEM_WINDOWS_CUI = 3,
-};
-
-void peinit(void);
-void asmbpe(void);
-void dope(void);
-
-IMAGE_SECTION_HEADER* newPEDWARFSection(char *name, vlong size);
-
-// X64
-typedef struct {
- uint16 Magic;
- uint8 MajorLinkerVersion;
- uint8 MinorLinkerVersion;
- uint32 SizeOfCode;
- uint32 SizeOfInitializedData;
- uint32 SizeOfUninitializedData;
- uint32 AddressOfEntryPoint;
- uint32 BaseOfCode;
- uint64 ImageBase;
- uint32 SectionAlignment;
- uint32 FileAlignment;
- uint16 MajorOperatingSystemVersion;
- uint16 MinorOperatingSystemVersion;
- uint16 MajorImageVersion;
- uint16 MinorImageVersion;
- uint16 MajorSubsystemVersion;
- uint16 MinorSubsystemVersion;
- uint32 Win32VersionValue;
- uint32 SizeOfImage;
- uint32 SizeOfHeaders;
- uint32 CheckSum;
- uint16 Subsystem;
- uint16 DllCharacteristics;
- uint64 SizeOfStackReserve;
- uint64 SizeOfStackCommit;
- uint64 SizeOfHeapReserve;
- uint64 SizeOfHeapCommit;
- uint32 LoaderFlags;
- uint32 NumberOfRvaAndSizes;
- IMAGE_DATA_DIRECTORY DataDirectory[16];
-} PE64_IMAGE_OPTIONAL_HEADER;
-
-void setpersrc(Sym *sym);