Android crazy linker: Support GNU hash table format |
||
Issue descriptionGNU hash tables are considerably smaller and faster than the standard ELF hash table format. The crazy linker should be updated to support them, since this would allow: - Reducing the size of the generated libraries (by a few hundred bytes). - Faster symbol resolution, which will become important when we split Chrome into several shared libraries for release builds (see https://crbug.com/846761 )
,
Sep 11
,
Oct 19
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/76f2c1a57a1151a6b04edef5bb4d0d957868462b commit 76f2c1a57a1151a6b04edef5bb4d0d957868462b Author: David 'Digit' Turner <digit@google.com> Date: Fri Oct 19 09:49:11 2018 android: Remove ELF SysV hash tables from chrome binaries. This CL slightly reduces the size of libchrome.so by removing the SysV symbol hash tables from them (only the GNU ones, which are now supported by the crazy linker [1], will be included). Note that this is not needed for libmonochrome.so which already does that. + Only use one SysV format table for libchromium_android_linker.so since it is always loaded by the system linker, on platforms that do not support the GNU format. This saves 445 bytes in ChromePublic.apk (woohoo!). [1] https://chromium-review.googlesource.com/c/chromium/src/+/1216122 BUG= 851391 R=agrieve@chromium.org, pasko@chromium.org, rmcilroy@chromium.org, cjgrant@chromium.org Change-Id: I9ed7901312a25cda3b77440c32a1a2645e14beca Reviewed-on: https://chromium-review.googlesource.com/c/1254441 Commit-Queue: David Turner <digit@chromium.org> Reviewed-by: agrieve <agrieve@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Cr-Commit-Position: refs/heads/master@{#601094} [modify] https://crrev.com/76f2c1a57a1151a6b04edef5bb4d0d957868462b/base/android/linker/BUILD.gn [modify] https://crrev.com/76f2c1a57a1151a6b04edef5bb4d0d957868462b/chrome/android/BUILD.gn |
||
►
Sign in to add a comment |
||
Comment 1 by bugdroid1@chromium.org
, Sep 11