Date: Fri, 27 Feb 2009 18:05:33 +0200 From: Andriy Gapon <avg@icyb.net.ua> To: Roman Divacky <rdivacky@freebsd.org> Cc: Ed Schouten <ed@80386.nl>, FreeBSD Arch <freebsd-arch@freebsd.org> Subject: Re: Making LLVM happy: memmove() in the kernel Message-ID: <49A80F4D.8000406@icyb.net.ua> In-Reply-To: <20090227131221.GA60215@freebsd.org> References: <20090227131155.GE19161@hoeg.nl> <20090227131221.GA60215@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
on 27/02/2009 15:12 Roman Divacky said the following: > On Fri, Feb 27, 2009 at 02:11:55PM +0100, Ed Schouten wrote: >> Hi all, >> >> The FreeBSD+LLVM folks* noticed Clang generates calls to memmove() by >> itself. I have yet to confirm this, but I assume this is done when >> performing copies of structs greater than a certain size. In our kernel, >> we don't have a memmove() function, but we do have a bcopy(). > > also.. quoting from > (http://gcc.gnu.org/onlinedocs/gcc-4.2.1/gcc/Standards.html): > > Most of the compiler support routines used by GCC are present in libgcc, > but there are a few exceptions. GCC requires the freestanding environment > provide memcpy, memmove, memset and memcmp. > > we were just lucky to not run into this Some people actually were not that lucky and had to use similar workarounds. -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49A80F4D.8000406>