Date: Mon, 6 Apr 2015 09:58:49 -0600 From: Warner Losh <imp@bsdimp.com> To: John-Mark Gurney <jmg@funkthat.com> Cc: freebsd-arm@FreeBSD.org Subject: Re: remove broken lib/libc/arm/string/memcpy_xscale.S Message-ID: <EBEF298E-38F7-49BA-8BFC-D8B61C0F0BBA@bsdimp.com> In-Reply-To: <20150405015245.GO51048@funkthat.com> References: <20150405015245.GO51048@funkthat.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_1D3B8A86-5E90-43C0-A0C4-B0FC86FC3A39 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii > On Apr 4, 2015, at 7:52 PM, John-Mark Gurney <jmg@funkthat.com> wrote: > > I would like to remove this file as it does not implement our defined > memcpy. Per POSIX, overlapping regions passed to memcpy is undefined > behavior. We have defined it to have the same symatics as memmove. > > Sample test program: > #include <stdio.h> > #include <string.h> > > char bufa[512] = "this is a test buffer that should be copied fine."; > int > main() > { > > memcpy(&bufa[10], &bufa[0], strlen(&bufa[10])); > printf("%s\n", bufa); > > return 0; > } > > Output on amd64 HEAD: > this is a this is a test buffer that should be co > > Output on old armv4 from 9.x: > this is a this is a thst buffethst bufhould beufh > > If you just look at the file, it is clear that the implementation does > not adjust the copy direction based upon pointers. We imported the > code from NetBSD, and NetBSD does apparently require memcpy's arguments > to be non-overlapping. > > I'll remove the file shortly unless someone can prove to me that all > uses of memcpy in our tree do not depend upon our defined behavior > per memcpy(3)'s man page. Any chance you can fix this implementation instead? Warner --Apple-Mail=_1D3B8A86-5E90-43C0-A0C4-B0FC86FC3A39 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJVIq05AAoJEGwc0Sh9sBEAU54P/AlgpT9pDJxoZ5vK9JcB3Z45 1vfz0Vyr2OpfnXCU4A8W48sECy9OphGRoz0afGcEsZjAiRZk1JyBLgTjktAEoqAL VfOMffmzmMRl2tJCkWDkveXiXp26k8PYY0y0hAd1TXuG8eHX21kXlPvGOtx7NxSn 9hBfMewIGGNlRUu/SK49AsyW9+wdNKR6hjCZWqnbGrAElXOJxsZ884gEG676Q33I 12A8rRvDPYznCsUePIS3TXFvTeQUcARZ+m6KOV3DOyvaU5qoL/ovpMufMEF8IF25 zDRBFsfCJyujDfNhLdB9x95LlEIVrw1F8rRVmncHjeM1vCP+FBh+molhgCmy9Nyw k9b1NV17yYEQKOMmfXOEqieBA3fh2d96nCqnBNhzfozkHluss0DwwCzOKPeWqweY 6YAqrvWKo1X6vSZ5haESbiSkd+u+6axW0Q+sEhuElLdxBBTY1C6wwSd5zXnvtm2B qExEF1gLhiTRKMGRVam95APGMIaqO3kuU6A8YByH/bC1u62wt8fRuNuX2F+XT9lN LTyNyXCekCC631mA885trPtUVtzMmO3NcchgRDecwUi6VRyG0WoLn2nGnBXETQ7q +ZSBPwC7LjgWtDl2ejG+zOSf+v9+X/KBWcilnvWuLIkEx5V0YD7FFgKSoyjQVKQs w+CDqsANvfrZJ+GPLUI4 =GKgz -----END PGP SIGNATURE----- --Apple-Mail=_1D3B8A86-5E90-43C0-A0C4-B0FC86FC3A39--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EBEF298E-38F7-49BA-8BFC-D8B61C0F0BBA>