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
tree: 94464805495585babf364f5155f000d52060ca8c
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/