Index: b/usr/src/head/wchar.h =================================================================== --- a/usr/src/head/wchar.h +++ b/usr/src/head/wchar.h @@ -190,6 +190,10 @@ extern size_t mbsnrtowcs(wchar_t *_RESTR #endif /* defined(_XPG7) || !defined(_STRICT_SYMBOLS) */ +#if defined(__EXTENSIONS__) || defined(_GNU_SOURCE) +extern wchar_t *wmempcpy(wchar_t *, const wchar_t *, size_t); +#endif + #ifdef __cplusplus } #endif Index: b/usr/src/lib/libc/port/mapfile-vers =================================================================== --- a/usr/src/lib/libc/port/mapfile-vers +++ b/usr/src/lib/libc/port/mapfile-vers @@ -280,6 +280,7 @@ SYMBOL_VERSION DYSON_1 { program_invocation_name; program_invocation_short_name; rawmemchr; + wmempcpy; } ILLUMOS_0.3; SYMBOL_VERSION ILLUMOS_0.3 { # Illumos additions Index: b/usr/src/lib/libc/amd64/Makefile =================================================================== --- a/usr/src/lib/libc/amd64/Makefile +++ b/usr/src/lib/libc/amd64/Makefile @@ -683,6 +683,7 @@ PORTI18N= \ wmemcmp.o \ wmemcpy.o \ wmemmove.o \ + wmempcpy.o \ wmemset.o \ wscat.o \ wschr.o \ Index: b/usr/src/lib/libc/i386/Makefile.com =================================================================== --- a/usr/src/lib/libc/i386/Makefile.com +++ b/usr/src/lib/libc/i386/Makefile.com @@ -726,6 +726,7 @@ PORTI18N= \ wmemchr.o \ wmemcmp.o \ wmemcpy.o \ + wmempcpy.o \ wmemmove.o \ wmemset.o \ wscat.o \ Index: b/usr/src/lib/libc/port/i18n/wmempcpy.c =================================================================== --- /dev/null +++ b/usr/src/lib/libc/port/i18n/wmempcpy.c @@ -0,0 +1,7 @@ +#include + +wchar_t *wmempcpy (wchar_t *dest, const wchar_t *src, size_t n) +{ + return wmemcpy(dest, src, n) + n; +} +