Supported strrchr, strrstr, strto*, recvmmsg, recrmsg, nanosleep,
memchr, snprintf, socketpair, sprintf, getocketname, getsocketopt,
gettimeofday, getpeername.
strcpy was added because the test of sprintf need it. It will be
committed by D98966. Please ignore it when reviewing.
This is a part of https://reviews.llvm.org/D95835.
I assume the invariant here that differentiates this from strtol is that tmp_endptr is never null, right?
I suggest we add an assertion to make this explicit (here and in the similar functions that follow).