[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: HAVE_FAST_UNALIGNED_ACCESS
From: |
Vibhav Pant |
Subject: |
Re: HAVE_FAST_UNALIGNED_ACCESS |
Date: |
Thu, 30 Mar 2023 17:08:16 +0530 |
User-agent: |
Evolution 3.46.4 |
On Thu, 2023-03-30 at 11:34 +0200, Robert Pluim wrote:
> Instead, HAVE_FAST_UNALIGNED_ACCESS and UNALIGNED_LOAD_SIZE should be
> removed and memcpy used instead:
>
> word_t a, c;
>
> memcpy (&a, w1 + b / ws, sizeof a);
> memcpy (&c, w2 + b / ws, sizeof c);
>
I had recently made a few modifications to this on master. There,
Fstring_lessp in uses the macro UNALIGNED_LOAD_SIZE instead, which is
defined to __sanitizer_unaligned_loadXX in lisp.h if:
* We're building with AddressSaniziter,
* <sanitizer/common_interface_defs.h> is available, and
* USE_SANITIZER_UNALIGNED_LOAD is defined.
> I would like to install such a change on emacs-29. Emacs currently
> crashes when built with various compilers performing pointer
> alignment
> checks.
Instead of removing the code entirely, you could try modifying the
macro definition by getting rid of the AddressSanitizer ifdef, and
building with USE_SANITIZER_UNALIGNED_LOAD. In theory, this should
make the load not crash with other sanitizers as well. If that works, I
imagine that would be a slightly more acceptable change to install into
emacs-29.
Best,
Vibhav
--
Vibhav Pant
vibhavp@gmail.com
GPG: 7ED1 D48C 513C A024 BE3A 785F E3FB 28CB 6AB5 9598
signature.asc
Description: This is a digitally signed message part
Re: HAVE_FAST_UNALIGNED_ACCESS, Mattias Engdegård, 2023/03/30
Re: HAVE_FAST_UNALIGNED_ACCESS,
Vibhav Pant <=