summaryrefslogtreecommitdiffstats
path: root/courgette
diff options
context:
space:
mode:
authordmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-21 15:20:49 +0000
committerdmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-21 15:20:49 +0000
commit86550a48fb1d29a4aef57ded243d335a9b1408cf (patch)
treed24c3495b39389f33000b4f535a0bf246277f2d0 /courgette
parentac38a4e4cd797177454038396842fa35e2d949e3 (diff)
downloadchromium_src-86550a48fb1d29a4aef57ded243d335a9b1408cf.zip
chromium_src-86550a48fb1d29a4aef57ded243d335a9b1408cf.tar.gz
chromium_src-86550a48fb1d29a4aef57ded243d335a9b1408cf.tar.bz2
Revert 207805 "Differential updates for components. We are addin..."
Unit tests fail on Mac Dbg with this patch: http://build.chromium.org/p/chromium.mac/buildstatus?builder=Mac%2010.6%20Tests%20%28dbg%29%284%29&number=29470 and http://build.chromium.org/p/chromium.mac/buildstatus?builder=Mac%2010.7%20Tests%20%28dbg%29%284%29&number=12750 > Differential updates for components. We are adding support for delivering delta updates for Chrome components. Initial platform support for the patcher is Windows only. The update response includes both the full update and, if available, the differential update. The differential update is tried first, then the full update, if needed. > > BUG=245318 > > Review URL: https://chromiumcodereview.appspot.com/15908002 TBR=sorin@chromium.org Review URL: https://codereview.chromium.org/17551004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207823 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'courgette')
-rw-r--r--courgette/disassembler_elf_32.h14
-rw-r--r--courgette/disassembler_elf_32_x86.h5
-rw-r--r--courgette/third_party/bsdiff.h10
-rw-r--r--courgette/third_party/bsdiff_apply.cc41
4 files changed, 11 insertions, 59 deletions
diff --git a/courgette/disassembler_elf_32.h b/courgette/disassembler_elf_32.h
index b1832dc..5c3f8a2 100644
--- a/courgette/disassembler_elf_32.h
+++ b/courgette/disassembler_elf_32.h
@@ -47,7 +47,7 @@ class DisassemblerElf32 : public Disassembler {
// Misc Section Helpers
- Elf32_Half SectionHeaderCount() const {
+ const Elf32_Half SectionHeaderCount() const {
return section_header_table_size_;
}
@@ -60,13 +60,13 @@ class DisassemblerElf32 : public Disassembler {
return OffsetToPointer(SectionHeader(id)->sh_offset);
}
- Elf32_Word SectionBodySize(int id) const {
+ const Elf32_Word SectionBodySize(int id) const {
return SectionHeader(id)->sh_size;
}
// Misc Segment Helpers
- Elf32_Half ProgramSegmentHeaderCount() const {
+ const Elf32_Half ProgramSegmentHeaderCount() const {
return program_header_table_size_;
}
@@ -76,22 +76,22 @@ class DisassemblerElf32 : public Disassembler {
}
// The virtual memory address at which this program segment will be loaded
- Elf32_Addr ProgramSegmentMemoryBegin(int id) const {
+ const Elf32_Addr ProgramSegmentMemoryBegin(int id) const {
return ProgramSegmentHeader(id)->p_vaddr;
}
// The number of virtual memory bytes for this program segment
- Elf32_Word ProgramSegmentMemorySize(int id) const {
+ const Elf32_Word ProgramSegmentMemorySize(int id) const {
return ProgramSegmentHeader(id)->p_memsz;
}
// Pointer into the source file for this program segment
- Elf32_Addr ProgramSegmentFileOffset(int id) const {
+ const Elf32_Addr ProgramSegmentFileOffset(int id) const {
return ProgramSegmentHeader(id)->p_offset;
}
// Number of file bytes for this program segment. Is <= ProgramMemorySize.
- Elf32_Word ProgramSegmentFileSize(int id) const {
+ const Elf32_Word ProgramSegmentFileSize(int id) const {
return ProgramSegmentHeader(id)->p_filesz;
}
diff --git a/courgette/disassembler_elf_32_x86.h b/courgette/disassembler_elf_32_x86.h
index 28de7cf..6096781 100644
--- a/courgette/disassembler_elf_32_x86.h
+++ b/courgette/disassembler_elf_32_x86.h
@@ -23,12 +23,13 @@ class DisassemblerElf32X86 : public DisassemblerElf32 {
virtual e_machine_values ElfEM() { return EM_386; }
protected:
+
virtual CheckBool RelToRVA(Elf32_Rel rel, RVA* result)
- const WARN_UNUSED_RESULT;
+ const WARN_UNUSED_RESULT;
virtual CheckBool ParseRelocationSection(
const Elf32_Shdr *section_header,
- AssemblyProgram* program) WARN_UNUSED_RESULT;
+ AssemblyProgram* program) WARN_UNUSED_RESULT;
virtual CheckBool ParseRel32RelocsFromSection(
const Elf32_Shdr* section) WARN_UNUSED_RESULT;
diff --git a/courgette/third_party/bsdiff.h b/courgette/third_party/bsdiff.h
index 77897a8..5e5683a 100644
--- a/courgette/third_party/bsdiff.h
+++ b/courgette/third_party/bsdiff.h
@@ -30,15 +30,12 @@
* 2009-03-31 - Change to use Streams. Move CRC code to crc.{h,cc}
* Changed status to an enum, removed unused status codes.
* --Stephen Adams <sra@chromium.org>
- * 2013-04-10 - Added wrapper to apply a patch directly to files.
- * --Joshua Pawlicki <waffles@chromium.org>
*/
#ifndef COURGETTE_BSDIFF_H_
#define COURGETTE_BSDIFF_H_
#include "base/basictypes.h"
-#include "base/file_util.h"
namespace courgette {
@@ -47,8 +44,7 @@ enum BSDiffStatus {
MEM_ERROR = 1,
CRC_ERROR = 2,
READ_ERROR = 3,
- UNEXPECTED_ERROR = 4,
- WRITE_ERROR = 5
+ UNEXPECTED_ERROR = 4
};
class SourceStream;
@@ -68,10 +64,6 @@ BSDiffStatus ApplyBinaryPatch(SourceStream* old_stream,
SourceStream* patch_stream,
SinkStream* new_stream);
-// As above, but simply takes the file paths.
-BSDiffStatus ApplyBinaryPatch(const base::FilePath& old_stream,
- const base::FilePath& patch_stream,
- const base::FilePath& new_stream);
// The following declarations are common to the patch-creation and
// patch-application code.
diff --git a/courgette/third_party/bsdiff_apply.cc b/courgette/third_party/bsdiff_apply.cc
index 3ed346e..762c12c 100644
--- a/courgette/third_party/bsdiff_apply.cc
+++ b/courgette/third_party/bsdiff_apply.cc
@@ -26,8 +26,6 @@
* Changelog:
* 2009-03-31 - Change to use Streams. Move CRC code to crc.{h,cc}
* --Stephen Adams <sra@chromium.org>
- * 2013-04-10 - Add wrapper method to apply a patch to files directly.
- * --Joshua Pawlicki <waffles@chromium.org>
*/
// Copyright (c) 2009 The Chromium Authors. All rights reserved.
@@ -36,7 +34,6 @@
#include "courgette/third_party/bsdiff.h"
-#include "base/files/memory_mapped_file.h"
#include "courgette/crc.h"
#include "courgette/streams.h"
@@ -171,42 +168,4 @@ BSDiffStatus ApplyBinaryPatch(SourceStream* old_stream,
return OK;
}
-BSDiffStatus ApplyBinaryPatch(const base::FilePath& old_file_path,
- const base::FilePath& patch_file_path,
- const base::FilePath& new_file_path) {
- // Set up the old stream.
- base::MemoryMappedFile old_file;
- if (!old_file.Initialize(old_file_path)) {
- return READ_ERROR;
- }
- SourceStream old_file_stream;
- old_file_stream.Init(old_file.data(), old_file.length());
-
- // Set up the patch stream.
- base::MemoryMappedFile patch_file;
- if (!patch_file.Initialize(patch_file_path)) {
- return READ_ERROR;
- }
- SourceStream patch_file_stream;
- patch_file_stream.Init(patch_file.data(), patch_file.length());
-
- // Set up the new stream and apply the patch.
- SinkStream new_sink_stream;
- BSDiffStatus status = ApplyBinaryPatch(&old_file_stream,
- &patch_file_stream,
- &new_sink_stream);
- if (status != OK) {
- return status;
- }
-
- // Write the stream to disk.
- int written = file_util::WriteFile(
- new_file_path,
- reinterpret_cast<const char*>(new_sink_stream.Buffer()),
- static_cast<int>(new_sink_stream.Length()));
- if (written != static_cast<int>(new_sink_stream.Length()))
- return WRITE_ERROR;
- return OK;
-}
-
} // namespace