From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752430AbdF3Sc6 (ORCPT ); Fri, 30 Jun 2017 14:32:58 -0400 Received: from mail-pf0-f179.google.com ([209.85.192.179]:35766 "EHLO mail-pf0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752307AbdF3Sc5 (ORCPT ); Fri, 30 Jun 2017 14:32:57 -0400 Date: Fri, 30 Jun 2017 11:32:54 -0700 From: Matthias Kaehlcke To: "H. Peter Anvin" Cc: Michael Davidson , Thomas Gleixner , Ingo Molnar , Alexander Potapenko , Dmitry Vyukov , x86@kernel.org, linux-kernel@vger.kernel.org, Arnd Bergmann Subject: Re: [PATCH 4/7] x86, boot, LLVM: #undef memcpy etc in string.c Message-ID: <20170630183254.GA95735@google.com> References: <20170317001520.85223-1-md@google.com> <20170317001520.85223-5-md@google.com> <20170622223113.GD52338@google.com> <76723246-ebb4-9bc3-ecc6-e649deb3280f@zytor.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <76723246-ebb4-9bc3-ecc6-e649deb3280f@zytor.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org El Thu, Jun 22, 2017 at 03:37:23PM -0700 H. Peter Anvin ha dit: > On 06/22/17 15:31, Matthias Kaehlcke wrote: > > (removed some non-x86 lists and folks from recipients) > > > > El Thu, Mar 16, 2017 at 05:15:17PM -0700 Michael Davidson ha dit: > > > >> undef memcpy and friends in boot/string.c so that the functions > >> defined here will have the correct names, otherwise we end up > >> up trying to redefine __builtin_memcpy etc. > >> Surprisingly, gcc allows this (and, helpfully, discards the > >> __builtin_ prefix from the function name when compiling it), > >> but clang does not. > >> > >> Adding these #undef's appears to preserve what I assume was > >> the original intent of the code. > > > > Any comments on this patch? > > > >> Signed-off-by: Michael Davidson > >> --- > >> arch/x86/boot/string.c | 9 +++++++++ > >> 1 file changed, 9 insertions(+) > >> > >> diff --git a/arch/x86/boot/string.c b/arch/x86/boot/string.c > >> index 5457b02fc050..b40266850869 100644 > >> --- a/arch/x86/boot/string.c > >> +++ b/arch/x86/boot/string.c > >> @@ -16,6 +16,15 @@ > >> #include "ctype.h" > >> #include "string.h" > >> > >> +/* > >> + * Undef these macros so that the functions that we provide > >> + * here will have the correct names regardless of how string.h > >> + * may have chosen to #define them. > >> + */ > >> +#undef memcpy > >> +#undef memset > >> +#undef memcmp > >> + > >> int memcmp(const void *s1, const void *s2, size_t len) > >> { > >> bool diff; > > Acked-by: H. Peter Anvin Ingo, do you plan to pick this change? Thanks Matthias