fix: fix signature of `memcpy`

The signature of `memcpy` should specify that the `dst` and `src`
pointers are `restrict` (i.e. they do not alias each other).

Note that the `dst` and `src` pointers to `memcpy_s` are not `restrict`,
because they may alias (in which case it panics).

Change-Id: Ic402487b231fddf73269c96ee5eb0809325d5d9b
Signed-off-by: Karl Meakin <karl.meakin@arm.com>
diff --git a/src/std.c b/src/std.c
index 1569c04..925f6ce 100644
--- a/src/std.c
+++ b/src/std.c
@@ -12,7 +12,7 @@
 
 /* Declare unsafe functions locally so they are not available globally. */
 void *memset(void *s, int c, size_t n);
-void *memcpy(void *dst, const void *src, size_t n);
+void *memcpy(void *restrict dst, const void *src, size_t n);
 void *memmove(void *dst, const void *src, size_t n);
 
 void memset_s(void *dest, rsize_t destsz, int ch, rsize_t count)