Refactor chromium's Linker class.
Preparation for creating an alternative non-crazy linker based
chromium Linker:
- Convert Linker from pure static into a singleton class.
- Split into an abstract base class containing (expected) common code,
and (for now) a single concrete subclass that implements the current
crazy linker based loading of libchrome.so.
- Update client code to handle the singleton getInstance() requirement
and class name changes.
- Modernize logging.
Later changes will introduce a second concrete Linker subclass that is
free of crazy linker code, for Android platform system linkers that
handle packed relocations, load from apk, and shared relro natively.
BUG=385553
Review URL: https://codereview.chromium.org/1224963002
Cr-Commit-Position: refs/heads/master@{#338182}
CrOS-Libchrome-Original-Commit: 908ec61cdcf5b82547596c930caf54f00b840955
5 files changed