Skip site navigation (1)Skip section navigation (2)
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>