I know what causes this - in general. I do not know what the specific "thing" on Solaris is.
The standard library is required to have a strcpy prototype like this (minus the "restrict"):
However, in the runtime, the compiler may have an entry point into the underlying library function which is optimized and does not look look like the prototype. This is totally up to the local implmentors of the compiler.