From 4b3d192b4f437336378b175372b417451943ab93 Mon Sep 17 00:00:00 2001 From: "dgarrett@chromium.org" Date: Tue, 8 Nov 2011 20:32:26 +0000 Subject: Add Elf 32 Support to Courgette. This change takes advantage of recent refactoring and adds support for Elf X86 32 executables to courgette. It should have no effect on handling of Windows PE executables. We have planned ahead to be able to restrict the code size of the courgette library in different cases to reduce patcher sizes, but this change does not yet take advantage of that (all platforms are supported everywhere). Also, the patcher class currently contains a very small amount of Elf/PE specific code for recreating relocation tables that cannot (currently) be compiled out. BUG=chromium-os:22149 TEST=Please verify that Chrome/Chromium patches can still be generated and work. Also, please see how much the updater executable which is downloaded to users has changed in size since R16. Review URL: http://codereview.chromium.org/8477045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109089 0039d316-1c4b-4281-b951-d872f2087c98 --- courgette/disassembler_win32_x86.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'courgette/disassembler_win32_x86.cc') diff --git a/courgette/disassembler_win32_x86.cc b/courgette/disassembler_win32_x86.cc index d09d67d..39cb695 100644 --- a/courgette/disassembler_win32_x86.cc +++ b/courgette/disassembler_win32_x86.cc @@ -562,7 +562,7 @@ CheckBool DisassemblerWin32X86::ParseFileRegion( // actually be anywhere. Make sure we skip it because we will regenerate it // during assembly. if (current_rva == relocs_start_rva) { - ok = program->EmitMakeRelocsInstruction(); + ok = program->EmitPeRelocsInstruction(); if (!ok) break; uint32 relocs_size = base_relocation_table().size_; -- cgit v1.1