Mudflap checks a few legacy memory functions like bzero, and then passes through the result to the C library's bzero. However, these functions are no longer required in the latest POSIX spec (and in previous ones, they were marked as LEGACY), so some libraries will omit this which leads to build failures in libmudflap.
Wrapping the legacy funcs on the frontend are fine, but that doesn't mean that we need to implement things locally with those legacy funcs. So use the newer POSIX standard equivalents. Signed-off-by: Mike Frysinger <vap...@gentoo.org> 2011-12-15 Mike Frysinger <vap...@gentoo.org> * mf-hooks2.c (bzero wrapper): Change bzero call to memset. (bcopy wrapper): Change bcopy call to memmove. (bcmp wrapper): Change bcmp call to memcmp. (index wrapper): Change index call to strchr. (rindex wrapper): Change rindex call to strrchr. --- libmudflap/mf-hooks2.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libmudflap/mf-hooks2.c b/libmudflap/mf-hooks2.c index c030e69..f7c493e 100644 --- a/libmudflap/mf-hooks2.c +++ b/libmudflap/mf-hooks2.c @@ -424,7 +424,7 @@ WRAPPER2(void, bzero, void *s, size_t n) { TRACE ("%s\n", __PRETTY_FUNCTION__); MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); - bzero (s, n); + memset (s, 0, n); } @@ -434,7 +434,7 @@ WRAPPER2(void, bcopy, const void *src, void *dest, size_t n) TRACE ("%s\n", __PRETTY_FUNCTION__); MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); - bcopy (src, dest, n); + memmove (dest, src, n); } @@ -444,7 +444,7 @@ WRAPPER2(int, bcmp, const void *s1, const void *s2, size_t n) TRACE ("%s\n", __PRETTY_FUNCTION__); MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); - return bcmp (s1, s2, n); + return memcmp (s1, s2, n); } @@ -453,7 +453,7 @@ WRAPPER2(char *, index, const char *s, int c) size_t n = strlen (s); TRACE ("%s\n", __PRETTY_FUNCTION__); MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); - return index (s, c); + return strchr (s, c); } @@ -462,7 +462,7 @@ WRAPPER2(char *, rindex, const char *s, int c) size_t n = strlen (s); TRACE ("%s\n", __PRETTY_FUNCTION__); MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); - return rindex (s, c); + return strrchr (s, c); } /* XXX: stpcpy, memccpy */ -- 1.7.6.1