Re: Help on memchr() EGLIBC assembly code
On Mon, Jul 13, 2009 at 1:31 PM, Aurelien Jarno<firstname.lastname@example.org> wrote:
> With a lot of patches (E)GLIBC 2.10 builds on alpha, but it fails on the
> testsuite for the memchr() function, which is an optimized assembly code
> on alpha. Unfortunately I don't speak alpha assembly very well, so help
> is needed.
> The problem is that the memchr() function on alpha uses prefetch, which
> can cause a page boundary to be crossed, while the standards (POSIX and
> C99) says it should stop when a match is found.
> I have built a small testcase (see file attached), which contains the
> code to trigger the bug and the assembly code of the memchr() function,
> copied from EGLIBC.
> It would be nice if someone can fix the assembly code so that the
> prefetching does not create memory faults. Thanks in advance.
If you remove:
and allow the build to fallback on string/memchr.c do the tests pass?
You can always add memchr.S routines back in a later release if you
need an immediate workaround.