From patchwork Thu Dec 15 16:03:43 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Frysinger X-Patchwork-Id: 131693 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id D38341007D6 for ; Fri, 16 Dec 2011 03:04:10 +1100 (EST) Received: (qmail 15230 invoked by alias); 15 Dec 2011 16:04:01 -0000 Received: (qmail 15208 invoked by uid 22791); 15 Dec 2011 16:03:58 -0000 X-SWARE-Spam-Status: No, hits=-3.1 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD, TW_CP X-Spam-Check-By: sourceware.org Received: from smtp.gentoo.org (HELO smtp.gentoo.org) (140.211.166.183) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 15 Dec 2011 16:03:44 +0000 Received: from localhost.localdomain (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id 6CF851B400F for ; Thu, 15 Dec 2011 16:03:43 +0000 (UTC) From: Mike Frysinger To: gcc-patches@gcc.gnu.org Subject: [PATCH] libmudflap: avoid legacy memory functions Date: Thu, 15 Dec 2011 11:03:43 -0500 Message-Id: <1323965023-27232-1-git-send-email-vapier@gentoo.org> Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org 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 2011-12-15 Mike Frysinger * 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 */