Avoid writing the sandbox base address to memory in memcpy

PNaCl x86-64 code avoids revealing the sandbox base address to untrusted code,
to make vulnerabilities harder to exploit. For this to be effective, the IRT
also needs to have this property. Currently the IRT is built by PNaCl and so
is safe in this way, but we want to switch to nacl-clang. nacl-clang has the
same defaults for codegen, but includes assembly versions of memcpy, memset,
and setjmp.

This CL fixes memcpy in several ways
- It avoids writing the sandbox base to memory. (It also avoids the movs string instructions.)
- It uses L-prefix symbol names to keep them out of the object symbol table by default.
- It uses rbp as a base pointer instead of rsi/rdi to avoid extra masking.
- It removes use of nontemporal store and prefetch instructions. (It also removes the fence instruction, which was there because movnti has weak ordering with respect to other stores).

R=mseaborn@chromium.org
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4088

Review URL: https://codereview.chromium.org/917463003
2 files changed