Skip to content
This repository has been archived by the owner on Dec 21, 2022. It is now read-only.

pcre and pcre2: fix instruction cache flush bug on ppc/ppc64/ppc64le. #60

Closed
wants to merge 1 commit into from

Conversation

jhamby
Copy link

@jhamby jhamby commented Feb 14, 2022

GCC's version of __builtin___clear_cache() is a no-op on PowerPC,
which causes the unit tests to fail on at least PowerPC 970 and 7447A,
and is technically incorrect. Change the code to use an improved version
of the existing ppc_cache_flush() function that wasn't being called.

Testing the changes

  • I tested the changes in this PR: YES
  • I tested on a Quad G5 2.5 GHz and a Mac mini G4. Both failed "make check" without the patch, and both succeeded with the patch.

Local build testing

  • I built this PR locally for my native architectures, ppc64-glibc and ppc-glibc.
  • This patch needs to be tested on some POWER5 or newer systems, just to make sure the "instruction cache snoop" fast path also works.

GCC's version of __builtin___clear_cache() is a no-op on PowerPC.
Change to use an improved version of the existing ppc_cache_flush().
@q66
Copy link

q66 commented Feb 22, 2022

i will take a look at this later, thanks

josegpt pushed a commit to josegpt/void-packages that referenced this pull request Mar 2, 2022
gmbeard pushed a commit to gmbeard/void-packages that referenced this pull request Mar 12, 2022
algor512 pushed a commit to algor512/void-packages that referenced this pull request Mar 13, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants