summaryrefslogtreecommitdiffstats
path: root/courgette/encoded_program.h
diff options
context:
space:
mode:
authorwfh@chromium.org <wfh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-23 21:05:22 +0000
committerwfh@chromium.org <wfh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-23 21:05:22 +0000
commit6bf1a00d77b886f11b8e5d96a64c3a22f544afad (patch)
tree2f97a7ebb508ebf3482ba8ec855ee3554f5ca92f /courgette/encoded_program.h
parent4b5dc66011b4499c09da44eb69d7e8f5836a9f50 (diff)
downloadchromium_src-6bf1a00d77b886f11b8e5d96a64c3a22f544afad.zip
chromium_src-6bf1a00d77b886f11b8e5d96a64c3a22f544afad.tar.gz
chromium_src-6bf1a00d77b886f11b8e5d96a64c3a22f544afad.tar.bz2
Add PE64 support to courgette
Add tests for PE64 BUG=38784 Review URL: https://chromiumcodereview.appspot.com/23600063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224789 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'courgette/encoded_program.h')
-rw-r--r--courgette/encoded_program.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/courgette/encoded_program.h b/courgette/encoded_program.h
index 3eca364..a370e3a 100644
--- a/courgette/encoded_program.h
+++ b/courgette/encoded_program.h
@@ -45,7 +45,7 @@ class EncodedProgram {
CheckBool AddRel32(int label_index) WARN_UNUSED_RESULT;
CheckBool AddRel32ARM(uint16 op, int label_index) WARN_UNUSED_RESULT;
CheckBool AddAbs32(int label_index) WARN_UNUSED_RESULT;
- CheckBool AddPeMakeRelocs() WARN_UNUSED_RESULT;
+ CheckBool AddPeMakeRelocs(ExecutableType kind) WARN_UNUSED_RESULT;
CheckBool AddElfMakeRelocs() WARN_UNUSED_RESULT;
CheckBool AddElfARMMakeRelocs() WARN_UNUSED_RESULT;
@@ -75,6 +75,7 @@ class EncodedProgram {
MAKE_PE_RELOCATION_TABLE = 5, // Emit PE base relocation table blocks.
MAKE_ELF_RELOCATION_TABLE = 6, // Emit Elf relocation table for X86
MAKE_ELF_ARM_RELOCATION_TABLE = 7, // Emit Elf relocation table for ARM
+ MAKE_PE64_RELOCATION_TABLE = 8, // Emit PE64 base relocation table blocks.
// ARM reserves 0x1000-LAST_ARM, bits 13-16 define the opcode
// subset, and 1-12 are the compressed ARM op.
REL32ARM8 = 0x1000,
@@ -91,7 +92,8 @@ class EncodedProgram {
typedef NoThrowBuffer<OP> OPVector;
void DebuggingSummary();
- CheckBool GeneratePeRelocations(SinkStream *buffer) WARN_UNUSED_RESULT;
+ CheckBool GeneratePeRelocations(SinkStream *buffer,
+ uint8 type) WARN_UNUSED_RESULT;
CheckBool GenerateElfRelocations(Elf32_Word pending_elf_relocation_table,
SinkStream *buffer) WARN_UNUSED_RESULT;
CheckBool DefineLabelCommon(RvaVector*, int, RVA) WARN_UNUSED_RESULT;