ron minnich has submitted this change and it was merged. ( https://review.coreboot.org/c/coreboot/+/31354 )
Change subject: libpayload: add memchr to libc ......................................................................
libpayload: add memchr to libc
libfdt requires memchr. Add missing function to libc.
Change-Id: I872026559d16a352f350147c9d7c4be97456a99f Signed-off-by: Philipp Hug philipp@hug.cx Reviewed-on: https://review.coreboot.org/c/31354 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Julius Werner jwerner@chromium.org --- M payloads/libpayload/include/string.h M payloads/libpayload/libc/memory.c 2 files changed, 13 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Julius Werner: Looks good to me, approved
diff --git a/payloads/libpayload/include/string.h b/payloads/libpayload/include/string.h index ca5d513..4aff0e8 100644 --- a/payloads/libpayload/include/string.h +++ b/payloads/libpayload/include/string.h @@ -39,6 +39,7 @@ void *memset(void *s, int c, size_t n); void *memcpy(void *dst, const void *src, size_t n); void *memmove(void *dst, const void *src, size_t n); +void *memchr(const void *s, int c, size_t n); int memcmp(const void *s1, const void *s2, size_t len); /** @} */
diff --git a/payloads/libpayload/libc/memory.c b/payloads/libpayload/libc/memory.c index 25c2b3a..8ee3eed 100644 --- a/payloads/libpayload/libc/memory.c +++ b/payloads/libpayload/libc/memory.c @@ -145,3 +145,15 @@
int memcmp(const void *s1, const void *s2, size_t n) __attribute__((weak, alias("default_memcmp"))); + + +void *memchr(const void *s, int c, size_t n) +{ + unsigned char *p = (unsigned char *)s; + while (n--) + if (*p != (unsigned char)c) + p++; + else + return p; + return 0; +}