Date: Fri, 04 Apr 2003 23:52:53 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: bde@zeta.org.au Cc: des@ofug.org Subject: Re: cvs commit: src/sys/alpha/alpha support.s src/sys/i386/i386 identcpu.c support.s src/sys/i386/include md_var.h src/sys/i386/isa npx.c src/sys/ia64/ia64 support.s src/sys/powerpc/powerpc bcopy.c sr Message-ID: <20030404.235253.02300362.imp@bsdimp.com> In-Reply-To: <20030405160449.L37042@gamplex.bde.org> References: <20030404173635.GA22147@rot13.obsecurity.org> <xzppto2c6v7.fsf@flood.ping.uio.no> <20030405160449.L37042@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20030405160449.L37042@gamplex.bde.org> Bruce Evans <bde@zeta.org.au> writes: : > The existence of ovbcopy()? I imagine it was just an API issue, : > someone didn't feel comfortable assuming that the kernel bcopy() : > handles overlap when the userland version doesn't. In FreeBSD : : I think the problem is more the reverse. The userland bcopy() has handled : overlap (and has been documented to do so) since at least FreeBSD-1.1. : It's hard to see how the BSD bcopy() family could work if bcopy() didn't : handle overlap, since this family has no other member corresponding to : Standard C's memmove(). Actually ovbcopy was introduced in some of the Sys V or Sys III ports when people found they could (or thought they could) write 'memcpy' faster than 'memmove' and it matter enough to go through their source code trees and hack the overlap cases to deal with ovbcopy. In BSD land bcopy has always ment what we spell these days as 'memmove'. In the middle 1980's there was a lot of ifdefs to deal with all this madness, and I think only IRIX and/or HP-UX were the only machines that changed the API of bcopy to mean 'memcpy' and had ovbopy for the overlapping cases, but I couldn't find anything in my ancient collection of unix books tonight to back up my vague memory. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030404.235253.02300362.imp>