|
Add a host tool to pack R_ARM_RELATIVE relocations in libchrome.<ver>.so.
R_ARM_RELATIVE relocations are the bulk of dynamic relocations (the .rel.dyn
section) in libchrome.<version>.so. The ELF standard representation of them
is wasteful.
Packing uses run length encoding to store them more efficiently. Packed
relocations are placed in a new .android.rel.dyn section. Packing reduces
the footprint of libchrome.<version>.so in the filesystem, in APK downloads,
and in memory when loaded on the device.
A packed libchrome.<version>.so is designed so that it can be loaded directly
on Android, but requires the explicit support of a crazy linker that has been
extended to understand packed relocations.
A packed libchrome.<version>.so cannot currently be used with the standard
Android runtime linker.
See README.TXT and src/*.h for design and implementation notes.
BUG= 385553
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=276043
Total comments: 111
Total comments: 17
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+2507 lines, -7 lines) |
Patch |
|
A + |
tools/relocation_packer/LICENSE
|
View
|
1
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
A |
tools/relocation_packer/README.TXT
|
View
|
1
2
3
4
|
1 chunk |
+102 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/relocation_packer.gyp
|
View
|
1
2
3
4
|
1 chunk |
+66 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/debug.h
|
View
|
1
|
1 chunk |
+88 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/debug.cc
|
View
|
1
|
1 chunk |
+44 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/elf_file.h
|
View
|
1
|
1 chunk |
+107 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/elf_file.cc
|
View
|
1
2
3
4
|
1 chunk |
+977 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/elf_file_unittest.cc
|
View
|
1
2
3
4
|
1 chunk |
+151 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/leb128.h
|
View
|
1
2
3
4
|
1 chunk |
+67 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/leb128.cc
|
View
|
1
|
1 chunk |
+55 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/leb128_unittest.cc
|
View
|
1
|
1 chunk |
+92 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/main.cc
|
View
|
1
2
3
4
|
1 chunk |
+139 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/packer.h
|
View
|
1
|
1 chunk |
+51 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/packer.cc
|
View
|
1
|
1 chunk |
+69 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/packer_unittest.cc
|
View
|
1
|
1 chunk |
+114 lines, -0 lines |
0 comments
|
Download
|
|
A + |
tools/relocation_packer/src/run_all_unittests.cc
|
View
|
|
1 chunk |
+5 lines, -6 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/run_length_encoder.h
|
View
|
1
|
1 chunk |
+81 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/run_length_encoder.cc
|
View
|
1
|
1 chunk |
+139 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/src/run_length_encoder_unittest.cc
|
View
|
1
|
1 chunk |
+119 lines, -0 lines |
0 comments
|
Download
|
|
A |
tools/relocation_packer/test_data/elf_file_unittest_relocs.cc
|
View
|
1
2
3
4
|
1 chunk |
+40 lines, -0 lines |
0 comments
|
Download
|
Total messages: 21 (0 generated)
|