Messages in this thread | | | Date | Thu, 22 Jun 2017 15:31:13 -0700 | From | Matthias Kaehlcke <> | Subject | Re: [PATCH 4/7] x86, boot, LLVM: #undef memcpy etc in string.c |
| |
(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 <md@google.com> > --- > 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;
| |