binutils: get rid of spurious L0^A labels in objdump
newlib, glibc: fix memcpy bug

h/t Martin Maas
Special case 8 byte instruction validation to workaround undefined
behavior in C
gcc: port libsanitizer

Thanks to Palmer Dabbelt for contributing this patch.
gcc: add mul/div emulation routines to libgcc
gcc: support -march flag

Arguments like IMAFD or RV32I are supported.
binutils, glibc: avoid DT_TEXTREL in ld.so

ld.so was using a non-PIC reloc to get the link-time address of _DYNAMIC,
which, while correct, causes the library to be flagged DT_TEXTREL.  Avoid
this by leveraging the fact that the static linker has put the link-time
address of _DYNAMIC in the first GOT entry.
binutils, gcc: make DWARF sections read-only

Use PC-relative expressions to avoid dynamic relocs in PIC.
binutils: keep .dynamic section out of text segment

This obviates writable text/executable data.
binutils: avoid needlessly setting DT_TEXTREL
binutils: set text start addresses more sensibly

Position-dependent executables are now linked at base address 0x800000.
Shared libraries and PIEs are now linked at base address 0.