crazy linker: Add a Breakpad "guard region" to reserved space.
commitd91775bf59f883b75cce2071ac8b76f7aee062a2
authorsimonb <simonb@chromium.org>
Wed, 1 Jul 2015 16:30:51 +0000 (1 09:30 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 1 Jul 2015 16:31:21 +0000 (1 16:31 +0000)
tree3afa513b67a77b4251727baa7d413b293472aef3
parent97ecfd4b23f17f9a631bf8ca8169133f8e85c35e
crazy linker: Add a Breakpad "guard region" to reserved space.

Breakpad requires currently that a library's reported start_addr
actually be its load_bias.  It will also complain if there is an
apparent overlap in the memory mappings it reads in from a microdump.
If something in the process mmaps into the address space between
load_bias and start_addr, this will break Breakpad's minidump
processor.

Work round by adding a "guard region" into the reserved address space
but ahead of the start_addr where the library is loaded.  Making this
part of the reserved address space for the library ensures that
nothing will later mmap into it.

BUG=504410,499747

Review URL: https://codereview.chromium.org/1218493004

Cr-Commit-Position: refs/heads/master@{#337035}
base/android/linker/linker_jni.cc
third_party/android_crazy_linker/README.chromium
third_party/android_crazy_linker/src/src/crazy_linker_elf_loader.cpp
third_party/android_crazy_linker/src/src/crazy_linker_elf_loader.h