Date: Fri, 27 Feb 2009 13:22:42 -0500 From: Alexander Kabaev <kabaev@gmail.com> To: Andriy Gapon <avg@icyb.net.ua> Cc: Ed Schouten <ed@80386.nl>, Roman Divacky <rdivacky@freebsd.org>, FreeBSD, Arch <freebsd-arch@freebsd.org> Subject: Re: Making LLVM happy: memmove() in the kernel Message-ID: <20090227132242.4ef6a633@kan.dnsalias.net> In-Reply-To: <49A80F4D.8000406@icyb.net.ua> References: <20090227131155.GE19161@hoeg.nl> <20090227131221.GA60215@freebsd.org> <49A80F4D.8000406@icyb.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/cg0fB=pr8bTeWCjOr/j3cSz Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Fri, 27 Feb 2009 18:05:33 +0200 Andriy Gapon <avg@icyb.net.ua> wrote: > 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(). > >=20 > > also.. quoting from > > (http://gcc.gnu.org/onlinedocs/gcc-4.2.1/gcc/Standards.html):=20 > >=20 > > 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. > >=20 > > we were just lucky to not run into this >=20 > Some people actually were not that lucky and had to use similar > workarounds. >=20 I think we should use this opportunity and make sure we have external symbols for all of the above mem* functions, not just memmove. Please :) --=20 Alexander Kabaev --Sig_/cg0fB=pr8bTeWCjOr/j3cSz Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iD8DBQFJqC9yQ6z1jMm+XZYRAiIXAJsH8W+cvnwb9Y+ZUo9NI3IbbWmy3ACfUwyS WHMH10V/OpAGTnP0Z453nuM= =se/P -----END PGP SIGNATURE----- --Sig_/cg0fB=pr8bTeWCjOr/j3cSz--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090227132242.4ef6a633>