[CFI] Fix component build symbol visiblity bug

By default the extern __start/stop_protected_memory symbols were exposed
with global visibility so that if two separate libraries were loaded
with those symbols one library's symbols would be overriden. This would
cause failures when that library tried to perform DCHECK() that a given
pointer was in the bounds of its protected memory section.

The only reliable way to test for this case would be to add another
component to the base_unittests build that built a separate set of
ProtectedMemory unit tests to see if any load-time symbol conflicts
caused unit test failures. It seems undesirable to add the additional
build complexity for this test alone. This bug will be implicitly tested
for once ProtectedMemory is used in separate Chromium components.

The same bug does not occur on the OS X or Windows builds.

Bug: 771365
Change-Id: Ib95e7038d5be7a1d3fe05c42625800b0d7735679
Reviewed-on: https://chromium-review.googlesource.com/777604
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518070}

CrOS-Libchrome-Original-Commit: 00fb4b7ed96237cd71e7b81fd61b458f0c9c15b4
1 file changed
tree: fb95f8e5ab1aeb264554be868e603cdb442bdf8f
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/