summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorSimon Baldwin <simonb@google.com>2015-03-26 17:13:19 +0000
committerSimon Baldwin <simonb@google.com>2015-03-26 17:13:19 +0000
commit569a75268948e6ee8c1b2faf1f77877d4d3c678f (patch)
tree9a960b69792bd47dc5e127f737ee4cc0cd3fec76 /tools
parent7f8d91ea8e24e89db39ae868085913e763e04557 (diff)
downloadbionic-569a75268948e6ee8c1b2faf1f77877d4d3c678f.zip
bionic-569a75268948e6ee8c1b2faf1f77877d4d3c678f.tar.gz
bionic-569a75268948e6ee8c1b2faf1f77877d4d3c678f.tar.bz2
Fix comment drift in assorted relocation packer modules.
Some of the commentary in relocation packer code is relevant only to the packing strategy employed by chromium, and no longer applies here. This change fixes or deletes it. Code comment change only; no functional effect. Change-Id: Id229ee1d802bba608be15b79bc75bf90df557dab Signed-off-by: Simon Baldwin <simonb@google.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/relocation_packer/src/elf_file.h45
-rw-r--r--tools/relocation_packer/src/leb128.h5
-rw-r--r--tools/relocation_packer/src/main.cc3
-rw-r--r--tools/relocation_packer/src/packer.h37
-rw-r--r--tools/relocation_packer/src/sleb128.h5
5 files changed, 8 insertions, 87 deletions
diff --git a/tools/relocation_packer/src/elf_file.h b/tools/relocation_packer/src/elf_file.h
index 73c3192..a749d50 100644
--- a/tools/relocation_packer/src/elf_file.h
+++ b/tools/relocation_packer/src/elf_file.h
@@ -4,53 +4,16 @@
// ELF shared object file updates handler.
//
-// Provides functions to remove relative relocations from the .rel.dyn
-// or .rela.dyn sections and pack into .android.rel.dyn or .android.rela.dyn,
-// and unpack to return the file to its pre-packed state.
-//
-// Files to be packed or unpacked must include an existing .android.rel.dyn
-// or android.rela.dyn section. A standard libchrome.<version>.so will not
-// contain this section, so the following can be used to add one:
-//
-// echo -n 'NULL' >/tmp/small
-// if file libchrome.<version>.so | grep -q 'ELF 32'; then
-// arm-linux-androideabi-objcopy
-// --add-section .android.rel.dyn=/tmp/small
-// libchrome.<version>.so libchrome.<version>.so.packed
-// else
-// aarch64-linux-android-objcopy
-// --add-section .android.rela.dyn=/tmp/small
-// libchrome.<version>.so libchrome.<version>.so.packed
-// fi
-// rm /tmp/small
-//
-// To use, open the file and pass the file descriptor to the constructor,
-// then pack or unpack as desired. Packing or unpacking will flush the file
-// descriptor on success. Example:
-//
-// int fd = open(..., O_RDWR);
-// ElfFile elf_file(fd);
-// bool status;
-// if (is_packing)
-// status = elf_file.PackRelocations();
-// else
-// status = elf_file.UnpackRelocations();
-// close(fd);
+// Provides functions to pack relocations in the .rel.dyn or .rela.dyn
+// sections, and unpack to return the file to its pre-packed state.
//
// SetPadding() causes PackRelocations() to pad .rel.dyn or .rela.dyn with
// NONE-type entries rather than cutting a hole out of the shared object
// file. This keeps all load addresses and offsets constant, and enables
// easier debugging and testing.
//
-// A packed shared object file has all of its relative relocations
-// removed from .rel.dyn or .rela.dyn, and replaced as packed data in
-// .android.rel.dyn or .android.rela.dyn respectively. The resulting file
-// is shorter than its non-packed original.
-//
-// Unpacking a packed file restores the file to its non-packed state, by
-// expanding the packed data in .android.rel.dyn or .android.rela.dyn,
-// combining the relative relocations with the data already in .rel.dyn
-// or .rela.dyn, and then writing back the now expanded section.
+// A packed shared object file is shorter than its non-packed original.
+// Unpacking a packed file restores the file to its non-packed state.
#ifndef TOOLS_RELOCATION_PACKER_SRC_ELF_FILE_H_
#define TOOLS_RELOCATION_PACKER_SRC_ELF_FILE_H_
diff --git a/tools/relocation_packer/src/leb128.h b/tools/relocation_packer/src/leb128.h
index 2c5b5d0..67fc4b8 100644
--- a/tools/relocation_packer/src/leb128.h
+++ b/tools/relocation_packer/src/leb128.h
@@ -4,9 +4,8 @@
// LEB128 encoder and decoder for packed relative relocations.
//
-// Run-length encoded relative relocations consist of a large number
-// of pairs of relatively small positive integer values. Encoding these as
-// LEB128 saves space.
+// Packed relocations consist of a large number of relatively small
+// integer values. Encoding these as LEB128 saves space.
//
// For more on LEB128 see http://en.wikipedia.org/wiki/LEB128.
diff --git a/tools/relocation_packer/src/main.cc b/tools/relocation_packer/src/main.cc
index 3f784e4..8e9de6d 100644
--- a/tools/relocation_packer/src/main.cc
+++ b/tools/relocation_packer/src/main.cc
@@ -4,9 +4,6 @@
// Tool to pack and unpack relative relocations in a shared library.
//
-// Packing removes relative relocations from .rel.dyn and writes them
-// in a more compact form to .android.rel.dyn. Unpacking does the reverse.
-//
// Invoke with -v to trace actions taken when packing or unpacking.
// Invoke with -p to pad removed relocations with R_*_NONE. Suppresses
// shrinking of .rel.dyn.
diff --git a/tools/relocation_packer/src/packer.h b/tools/relocation_packer/src/packer.h
index 8a57e62..63f50e2 100644
--- a/tools/relocation_packer/src/packer.h
+++ b/tools/relocation_packer/src/packer.h
@@ -3,43 +3,6 @@
// found in the LICENSE file.
// Pack relative relocations into a more compact form.
-//
-//
-// For relative relocations without addends (32 bit platforms)
-// -----------------------------------------------------------
-//
-// Applies two packing strategies. The first is run-length encoding, which
-// turns a large set of relative relocations into a much smaller set
-// of delta-count pairs, prefixed with a two-word header comprising the
-// count of pairs and the initial relocation offset. The second is LEB128
-// encoding, which compresses the result of run-length encoding.
-//
-// Once packed, data is prefixed by an identifier that allows for any later
-// versioning of packing strategies.
-//
-// A complete packed stream of relocations without addends might look
-// something like:
-//
-// "APR1" pairs init_offset count1 delta1 count2 delta2 ...
-// 41505231 f2b003 b08ac716 e001 04 01 10 ...
-//
-//
-// For relative relocations with addends (64 bit platforms)
-// --------------------------------------------------------
-//
-// Applies two packing strategies. The first is delta encoding, which
-// turns a large set of relative relocations into a smaller set
-// of offset and addend delta pairs, prefixed with a header indicating the
-// count of pairs. The second is signed LEB128 encoding, which compacts
-// the result of delta encoding.
-//
-// Once packed, data is prefixed by an identifier that allows for any later
-// versioning of packing strategies.
-//
-// A complete packed stream might look something like:
-//
-// "APA1" pairs offset_d1 addend_d1 offset_d2 addend_d2 ...
-// 41505232 f2b018 04 28 08 9f01 ...
#ifndef TOOLS_RELOCATION_PACKER_SRC_PACKER_H_
#define TOOLS_RELOCATION_PACKER_SRC_PACKER_H_
diff --git a/tools/relocation_packer/src/sleb128.h b/tools/relocation_packer/src/sleb128.h
index fa0a246..3a63f66 100644
--- a/tools/relocation_packer/src/sleb128.h
+++ b/tools/relocation_packer/src/sleb128.h
@@ -4,9 +4,8 @@
// SLEB128 encoder and decoder for packed relative relocations.
//
-// Delta encoded relative relocations consist of a large number
-// of pairs signed integer values, many with small values. Encoding these
-// as signed LEB128 saves space.
+// Packed relocations consist of a large number of relatively small
+// integer values. Encoding these as LEB128 saves space.
//
// For more on LEB128 see http://en.wikipedia.org/wiki/LEB128.