Index: newlib/libc/include/string.h =================================================================== RCS file: /cvs/src/src/newlib/libc/include/string.h,v retrieving revision 1.30 diff -u -p -r1.30 string.h --- newlib/libc/include/string.h 10 May 2012 08:34:08 -0000 1.30 +++ newlib/libc/include/string.h 22 Oct 2012 14:50:06 -0000 @@ -10,6 +10,7 @@ #include "_ansi.h" #include #include +#include #define __need_size_t #include @@ -65,9 +66,17 @@ char *_EXFUN(stpncpy,(char *, const cha int _EXFUN(strcasecmp,(const char *, const char *)); char *_EXFUN(strcasestr,(const char *, const char *)); char *_EXFUN(strchrnul,(const char *, int)); +#endif +#if !defined(__STRICT_ANSI__) || (_XOPEN_SOURCE >= 500) char *_EXFUN(strdup,(const char *)); +#endif +#ifndef __STRICT_ANSI__ char *_EXFUN(_strdup_r,(struct _reent *, const char *)); +#endif +#if !defined(__STRICT_ANSI__) || (_XOPEN_SOURCE >= 700) char *_EXFUN(strndup,(const char *, size_t)); +#endif +#ifndef __STRICT_ANSI__ char *_EXFUN(_strndup_r,(struct _reent *, const char *, size_t)); /* There are two common strerror_r variants. If you request _GNU_SOURCE, you get the GNU version; otherwise you get the POSIX