svn commit: r286715 - head/lib/libc/string

Pedro Giffuni pfg at FreeBSD.org
Thu Aug 13 15:25:37 UTC 2015


FWIW;

I think the posix manpage is in the right direction.

For a more detailed discussion about replacing bcopys you may read Ted 
Unangst's
blog post[1], but of course OpenBSD is not FreeBSD.

I honesly would sepnd much time in bcopy, it is one of those things that 
will stay
in FreeBSD for a long while. I would focus on strtoq() and strtouq() 
which carry
this *comical* notice in stdlib.h :

/* Deprecated interfaces, to be removed in FreeBSD 6.0. */

Cheers,

Pedro.

[1]
http://www.tedunangst.com/flak/post/memcpy-vs-memmove

On 13/08/2015 02:56 a.m., Marcelo Araujo wrote:
> Hi David,
>
> So it means, this commit here was right already:
> https://svnweb.freebsd.org/base?view=revision&revision=286651
>
> Although I made a mistake with the date.
>
>
> All the best.
>
> 2015-08-13 15:24 GMT+08:00 David Chisnall <theraven at freebsd.org 
> <mailto:theraven at freebsd.org>>:
>
>     On 13 Aug 2015, at 08:11, Marcelo Araujo <araujobsdport at gmail.com
>     <mailto:araujobsdport at gmail.com>> wrote:
>     >
>     > The bcopy() was removed in IEEE Std 1003.1-2008 and it is marked
>     as LEGACY in IEEE Std 1003.1-2004. However, BSD has its
>     implementation before IEEE Std 1003.1-2001.
>     >
>     > In my understood it is obsolete on POSIX, but not truly obsolete
>     for FreeBSD.
>     > So I believe, this patch now address it in the correct way.
>
>     Its use should be strongly discouraged in FreeBSD (or, ideally,
>     replaced with the macro from the POSIX man page).  LLVM does a
>     load of optimisations for memmove and memcpy - using bcopy is a
>     really good way of bypassing all of these.
>
>     David
>
>
>
>
> -- 
>
> -- 
> Marcelo Araujo            (__)
> araujo at FreeBSD.org  <mailto:araujo at FreeBSD.org>      \\\'',)
> http://www.FreeBSD.org  <http://www.freebsd.org/>    \/  \ ^
> Power To Server.         .\. /_)



More information about the svn-src-head mailing list