[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJA7tRZbmnZq7RfvQeYEy_a1ZObWqpFpVdvgsXgsioQ3RyPMuA@mail.gmail.com>
Date: Fri, 3 Aug 2018 10:15:52 +0100
From: Ramana Radhakrishnan <ramana.gcc@...glemail.com>
To: Florian Weimer <fweimer@...hat.com>
Cc: Andrew Pinski <pinskia@...il.com>, mpatocka@...hat.com,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will.deacon@....com>, linux@...linux.org.uk,
thomas.petazzoni@...e-electrons.com,
linux-arm-kernel@...ts.infradead.org,
LKML <linux-kernel@...r.kernel.org>,
GNU C Library <libc-alpha@...rceware.org>
Subject: Re: framebuffer corruption due to overlapping stp instructions on arm64
On Fri, Aug 3, 2018 at 8:53 AM, Florian Weimer <fweimer@...hat.com> wrote:
> On 08/03/2018 09:11 AM, Andrew Pinski wrote:
>>
>> Yes fix Links not to use memcpy on the framebuffer.
>> It is undefined behavior to use device memory with memcpy.
>
>
> Some (de facto) ABIs require that it is supported, though. For example, the
> POWER string functions avoid unaligned loads and stores for this reason
> because the platform has the same issue with device memory. And yes, GCC
> will expand memcpy on POWER to something that is incompatible with device
> memory. 8-(
GCC for AArch64 - use -mstrict-align
GCC for AArch32 - use -mno-unaligned-access.
If you see unaligned accesses coming out of the compiler for well
defined programs then that's a bug. Frequently we see undefined
programs that get the compiler to produce traps - atleast one or 2
bugs a year in GCC .
>
> If we don't want people to use memcpy, we probably need to provide a
> credible alternative.
I believe a number of packages have rolled their own to take these
constraints into account
for AArch32, perhaps it needs to be expanded for AArch64 as well.
regards
Ramana
>
> Thanks,
> Florian
Powered by blists - more mailing lists