public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "post+sourceware.org at ralfj dot de" <sourceware-bugzilla@sourceware.org>
To: glibc-bugs@sourceware.org
Subject: [Bug string/31055] Request: guarantee that memcpy(x, x, n) is well-defined
Date: Thu, 23 Nov 2023 07:36:18 +0000	[thread overview]
Message-ID: <bug-31055-131-lfmAyP48Eb@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-31055-131@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=31055

--- Comment #4 from Ralf Jung <post+sourceware.org at ralfj dot de> ---
> I think with this extra constraint we can't really mark the memcpy as having 'restrict' arguments, which would also have extra performance implications.

Does anything change in the generated assembly for memcpy when the arguments
are vs are not `restrict`? If yes, that would be a sign that compilers should
probably stop using `memcpy(x, x, n)`... but it seems unlikely, given how
heavily hand-tuned that code already is.

> And I think valgrind will need to at least keep this warning for non-glibc targets, which I am not it would simplify things.

It would at least give solid motivation for the to support the option of a libc
that allows this, e.g. via a flag.

> Maybe the best way would to follow the __memcmpeq route, where it was added solely for compile usage.

That's also a possibility, of course. Though I assume adding a new symbol would
take forever to propagate through the ecosystem. Also, would that symbol be for
GCC only or also for other compilers? It would not be great to have a GCC-only
solution.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

  parent reply	other threads:[~2023-11-23  7:36 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-11 17:37 [Bug string/31055] New: " post+sourceware.org at ralfj dot de
2023-11-11 18:41 ` [Bug string/31055] " sam at gentoo dot org
2023-11-13 18:47 ` adhemerval.zanella at linaro dot org
2023-11-18 17:56 ` post+sourceware.org at ralfj dot de
2023-11-21 15:30 ` adhemerval.zanella at linaro dot org
2023-11-23  7:36 ` post+sourceware.org at ralfj dot de [this message]
2023-11-23 11:53 ` adhemerval.zanella at linaro dot org
2023-11-23 14:48 ` sam at gentoo dot org
2023-11-23 15:18 ` post+sourceware.org at ralfj dot de
2023-11-24  7:46 ` rguenth at gcc dot gnu.org
2023-11-24  8:52 ` post+sourceware.org at ralfj dot de
2023-11-24  9:37 ` rguenth at gcc dot gnu.org
2023-11-28  7:18 ` sam at gentoo dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-31055-131-lfmAyP48Eb@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=glibc-bugs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).