binutils: remove unused macro
Explicitly use /bin/bash for Makefile's shell
gcc: remove some unnecessary MIPS cruft
binutils: allow splitting of AUIPC-based relocs

The low part uses an indirect relocation to the high part to determine
how to fill itself in.  For example:

  .L1:
    auipc t0, %pcrel_hi(foo)
    [unrelated code]
    addi t0, t0, %pcrel_lo(.L1)

will correctly load &foo into t0.