summaryrefslogtreecommitdiffstats
path: root/contrib/compiler-rt
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2015-01-12 21:28:10 +0000
committerdim <dim@FreeBSD.org>2015-01-12 21:28:10 +0000
commit22ddb90cff7c098a4c80ba4a983368e3be56ddd9 (patch)
treea91a0e2824df9bb3e38e5593f56b2e5ef44f2835 /contrib/compiler-rt
parent030bdce2ee96a194a4ec6a20f515d423c1794714 (diff)
downloadFreeBSD-src-22ddb90cff7c098a4c80ba4a983368e3be56ddd9.zip
FreeBSD-src-22ddb90cff7c098a4c80ba4a983368e3be56ddd9.tar.gz
Pull in r225610 from upstream compiler-rt trunk (by Roman Divacky):
Add FreeBSD support for __clear_cache.
Diffstat (limited to 'contrib/compiler-rt')
-rw-r--r--contrib/compiler-rt/lib/builtins/clear_cache.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/contrib/compiler-rt/lib/builtins/clear_cache.c b/contrib/compiler-rt/lib/builtins/clear_cache.c
index 86e68af..4b46e8b 100644
--- a/contrib/compiler-rt/lib/builtins/clear_cache.c
+++ b/contrib/compiler-rt/lib/builtins/clear_cache.c
@@ -13,6 +13,11 @@
#if __APPLE__
#include <libkern/OSCacheControl.h>
#endif
+#if defined(__FreeBSD__) && defined(__arm__)
+ #include <sys/types.h>
+ #include <machine/sysarch.h>
+#endif
+
#if defined(__NetBSD__) && defined(__arm__)
#include <machine/sysarch.h>
#endif
@@ -39,7 +44,7 @@ void __clear_cache(void *start, void *end) {
* so there is nothing to do
*/
#elif defined(__arm__) && !defined(__APPLE__)
- #if defined(__NetBSD__)
+ #if defined(__FreeBSD__) || defined(__NetBSD__)
struct arm_sync_icache_args arg;
arg.addr = (uintptr_t)start;
OpenPOWER on IntegriCloud