hardening: eliminate all text relocations from lidbvm

This patch consists of:
- changes to mterp/ that turn all literals from absolute
  to PC relative, so the relocations can be resolved at
  (build) link time
- changes to compiler/template/ that result in the
  compiler templates to live in the non-executable
  .data.rel.ro section (this code is never executed
  directly, only from the jit heap, so there is no
  reason to put it in the .text section)

Change-Id: I2dc97bd4720b393a74b7277a188f0c7b681fc932
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
20 files changed