all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Arsen Arsenović" <arsen@aarsen.me>
To: Eli Zaretskii <eliz@gnu.org>
Cc: luangruo@yahoo.com, mattias.engdegard@gmail.com,
	vibhavp@gmail.com, rpluim@gmail.com, emacs-devel@gnu.org
Subject: Re: HAVE_FAST_UNALIGNED_ACCESS
Date: Sat, 01 Apr 2023 17:22:48 +0200	[thread overview]
Message-ID: <86h6tzr4b2.fsf@aarsen.me> (raw)
In-Reply-To: <83zg7rybfo.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 2431 bytes --]


Eli Zaretskii <eliz@gnu.org> writes:

> You are again trying to push for a change without showing any actual
> bug with the existing code.  Please humor me, and please show me an
> actual bug due to the existing code before suggesting a solution.  See
> above for the description of the details I'd like to know about such
> actual bug.

For a somewhat contrived example, UBsan flags this code (and, when
running the testsuite, it'd seem that it flags only this code).

  ~/gnu/emacs-29/_build 2 $ gcc --version
  gcc (Gentoo Hardened 13.0.1_pre20230326-r1 p9) 13.0.1 20230326 (experimental)
  Copyright (C) 2023 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  
  ~/gnu/emacs-29/_build$ git rev-parse HEAD
  b39c3cd1125590bf4b77880b41ac08b29cdfcff6
  ~/gnu/emacs-29/_build$ gcc -dumpmachine
  x86_64-pc-linux-gnu

I can't speak to Po's example, but IIUC, he ran into a problem somewhere
(maybe the same example?).

>> .. or something similar to it, assuming I made an error, which is likely
>> given the circumstances.  This does pass the testsuite, anyway.  It
>> should just expand deferences into explicit memcpys.
>> 
>> No actual memcpy calls are produced, and this is at least functional on
>> a superset of compilers, and I suspect replacing the whole thing with a
>> naive-looking while (*(w1++) != *(w2++)); loop would be even better (but
>> I can settle for that being too experimental).
>
> Sorry, I don't want to risk any errors, and I would like to avoid any
> experiments with the release branch.  Which is why I'm asking for hard
> evidence.  It isn't that I don't understand what you and others are
> saying, or don't believe you.  It's just that we need to see the
> problems before we can judge the solutions that must be safe on this
> branch.

I was writing the patch for demonstration purposes more than for actual
application.

I understand why you're arguing this, and I have to thank you for it -
such efforts keep Emacs as stable as it is - but this feels like an
example that is too trivial to apply such judgment to, hence my
position.  I am certain that you have an understanding of the issue at
hand, I'm only trying to provide a solution that's safe enough for 29.

Have a lovely day.
-- 
Arsen Arsenović

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 381 bytes --]

  reply	other threads:[~2023-04-01 15:22 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-30  9:34 HAVE_FAST_UNALIGNED_ACCESS Robert Pluim
2023-03-30 10:26 ` HAVE_FAST_UNALIGNED_ACCESS Eli Zaretskii
2023-03-30 11:09   ` HAVE_FAST_UNALIGNED_ACCESS Sam James
2023-03-30 12:18   ` HAVE_FAST_UNALIGNED_ACCESS Arsen Arsenović
     [not found]     ` <87v8ihu3t8.fsf@yahoo.com>
2023-03-31  7:15       ` HAVE_FAST_UNALIGNED_ACCESS Robert Pluim
2023-03-31  7:45       ` HAVE_FAST_UNALIGNED_ACCESS Arsen Arsenović
2023-03-31 17:29     ` HAVE_FAST_UNALIGNED_ACCESS Mattias Engdegård
2023-03-31 20:13       ` HAVE_FAST_UNALIGNED_ACCESS Arsen Arsenović
2023-03-30 10:28 ` HAVE_FAST_UNALIGNED_ACCESS Mattias Engdegård
2023-03-30 11:38 ` HAVE_FAST_UNALIGNED_ACCESS Vibhav Pant
2023-03-31 16:57   ` HAVE_FAST_UNALIGNED_ACCESS Mattias Engdegård
2023-03-31 17:59     ` HAVE_FAST_UNALIGNED_ACCESS Eli Zaretskii
2023-03-31 18:03       ` HAVE_FAST_UNALIGNED_ACCESS Mattias Engdegård
2023-03-31 18:12         ` HAVE_FAST_UNALIGNED_ACCESS Eli Zaretskii
2023-04-01  0:45         ` HAVE_FAST_UNALIGNED_ACCESS Po Lu
2023-04-01  5:43           ` HAVE_FAST_UNALIGNED_ACCESS Eli Zaretskii
2023-04-01  6:31             ` HAVE_FAST_UNALIGNED_ACCESS Po Lu
2023-04-01  6:39               ` HAVE_FAST_UNALIGNED_ACCESS Eli Zaretskii
2023-04-01  7:42                 ` HAVE_FAST_UNALIGNED_ACCESS Mattias Engdegård
2023-04-01  8:19                   ` HAVE_FAST_UNALIGNED_ACCESS Eli Zaretskii
2023-04-01  9:17                     ` HAVE_FAST_UNALIGNED_ACCESS Po Lu
2023-04-01 11:25                       ` HAVE_FAST_UNALIGNED_ACCESS Eli Zaretskii
2023-04-01 12:59                         ` HAVE_FAST_UNALIGNED_ACCESS Arsen Arsenović
2023-04-01 13:33                           ` HAVE_FAST_UNALIGNED_ACCESS Eli Zaretskii
2023-04-01 15:22                             ` Arsen Arsenović [this message]
2023-04-01 16:22                               ` HAVE_FAST_UNALIGNED_ACCESS Eli Zaretskii
2023-04-02  0:50                                 ` HAVE_FAST_UNALIGNED_ACCESS Po Lu
2023-04-02  0:48                             ` HAVE_FAST_UNALIGNED_ACCESS Po Lu

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=86h6tzr4b2.fsf@aarsen.me \
    --to=arsen@aarsen.me \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=luangruo@yahoo.com \
    --cc=mattias.engdegard@gmail.com \
    --cc=rpluim@gmail.com \
    --cc=vibhavp@gmail.com \
    /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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.