This patch adds PIE executable support for aarch64-linux. It adds
two more segments:
- 0x05500000000-0x05600000000: 39-bits PIE program segments
- 0x2aa00000000-0x2ab00000000: 42-bits PIE program segments
Fortunately it is possible to use the same transformation formula for
the new segments range with some adjustments in shadow to memory
formula (it adds a constant offset based on the VMA size).
I checked by running the testcase build with and without PIE flags.
No regressions found.
This closes the concerns raised in [1] and [2] regarding PIE support
to tsan on aarch64-linux-gnu.
[1] http://reviews.llvm.org/D14199
[2] http://reviews.llvm.org/D15308