diff options
author | simonb@chromium.org <simonb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-10 15:57:52 +0000 |
---|---|---|
committer | simonb@chromium.org <simonb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-10 15:57:52 +0000 |
commit | 3e7b7388d6e38371c1f0dbc4b68c9888dc6fc5b1 (patch) | |
tree | cff40819e475cf90c4961c631eb7df5643e1da23 /build | |
parent | 7cdcd7969730e857ef5812f39c447669a490caef (diff) | |
download | chromium_src-3e7b7388d6e38371c1f0dbc4b68c9888dc6fc5b1.zip chromium_src-3e7b7388d6e38371c1f0dbc4b68c9888dc6fc5b1.tar.gz chromium_src-3e7b7388d6e38371c1f0dbc4b68c9888dc6fc5b1.tar.bz2 |
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=
Review URL: https://codereview.chromium.org/310483003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276043 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
0 files changed, 0 insertions, 0 deletions