summaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorJessica Clarke <jrtc27@jrtc27.com>2023-07-22 23:01:21 +0100
committerJessica Clarke <jrtc27@jrtc27.com>2023-07-22 23:01:21 +0100
commit2b0f5df7b4e01d5b9b380fd72a19df021b9a3b98 (patch)
treed42f9f3cf57dbcaf157d916726e8ce483c026593 /clang/lib/CodeGen/CodeGenModule.cpp
parentb396817c61cd07cfa31b5f74998b8448bfdeb07f (diff)
[builtins][Mips] Un-break FreeBSD build of __clear_cache
Commit 674a17e9bbe8 ("MIPS/compiler_rt: use synci to flush icache on r6") completely removed the OS-specific guards under the guise of "For pre-r6, we can use cacheflush libc function, which is same on Linux and FreeBSD." However, the code in question had guards for Linux and OpenBSD, not Linux and FreeBSD, and FreeBSD does not have a cacheflush libc function as claimed, so this was neither the statement they intended to make nor was it sufficient justification for making the code completely unconditional. Whilst the upcoming FreeBSD 14 release has dropped support for MIPS, FreeBSD 13 has support for it. Fix this by only calling cacheflush on the OSes where it was previously called, and not on other OSes where it either definitely isn't available (FreeBSD) or is unknown (any other OS than the three mentioned in this commit).
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions