Don't attempt to use copy relocs for TLS
Relax TLS sequences in executables

Sequences to address thread-local variables like

  lui  v0, %tprel_hi(my_tls_var)
  add  v0, v0, tp
  addi v0, v0, %tprel_lo(my_tls_var)

can now be relaxed to

  addi v0, tp, %tprel_lo(my_tls_var)

when the thread pointer offset fits in 12 bits.
Relax TLS IE to TLS LE when legal
Speed up relocation processing
dead code elimination in bfd
fix bug where RISC-V bfd was removing dynamic relocation entries away

 * this bug surfaced while running dynamically-linked clang
 * it seems like there isn't a PLT entry for this symbol
Rename and renumber DT_MIPS_* to DT_RISCV_*
Initialize gp from within dynamic linker

Sometimes, calls from shared objects' init functions (e.g. static construction
of C++ objects) will make use of the executable's PLT.  In these cases, we
must initialize gp before the exectuable even has a chance to run.