gcc: support C11/C++11 atomics and GNU libatomic
gcc: use init_array/fini_array
gcc: don't generate atomics when !TARGET_ATOMIC
Don't use crti.S/crtn.S

They are unnecessary because we use .init_array/.fini_array exclusively.
gcc: detect assembler support for TLS

h/t Matt Thomas
gcc: don't override ASM_OUTPUT_ALIGNED_LOCAL

There's no longer any need to do so.
gcc: remove some unnecessary MIPS cruft
gcc: improve PIC code generation

First of all, never spill symbolic addresses to the constant pool.  This
creates costly dynamic relocations while providing little benefit.

Second, due to a bug, we were failing to elide the GOT for local symbol
references with nonzero offsets.
binutils, glibc: rewrite bfd; employ sane ELF ABI

The new BFD port is primarily based upon TILE-Gx, which is conveniently
simple and vanilla.  We no longer have dynamic REL relocations, and the
GOT no longer needs to be sorted a la MIPS.  So GNU-style shared object
hashes are now supported.

Note that there are probably a few lingering issues.
gcc: fix ICE on atomic test-and-set on globals
binutils, glibc, gcc: support TLS copy relocations

This allows the local-exec model to be used for any non-PIC TLS reference,
even if it cannot be proven at compile time that the access binds locally.
It essentially obviates the need for IE -> LE relaxations.
gcc: disable inapplicable test case

We don't signal SIGFPE on division by zero.
gcc: fix ICEs generating PIEs