Re: [PATCH] libcpp: Optimize AArch64 search_line_fast

Alexander Monakov <[email protected]>
Newsgroups gmane.comp.gcc.patches
Message-ID <[email protected]>
On Wed, 12 Aug 2026, Alexander Monakov wrote:

> > +  const uchar *limit = (const uchar*) ((uintptr_t)end & ~15);
> 
> This is not safe in absence of padding: when 's' itself is not aligned,
> and 'end' is close to it, this may move 'limit' to before 's', and then
> the load from *limit will pick up bytes prior to 's'.
> 
> Now, libcpp provides sufficient tail padding (at least 16 bytes, with '\n'
> at the beginning of padding area) so in context this is safe, but then
> the final aligned load should never be reached, and computing 'limit' is
> pointless.

Correction: search_line_fast is called with 'end' pointing to the beginning
of the padding area, not the end, so this is just unsafe (aligning 'end'
can move it to before 's').

Alexander
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.