summaryrefslogtreecommitdiffstats
path: root/arch/xtensa
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2012-09-17 05:44:57 +0400
committerChris Zankel <chris@zankel.net>2012-10-03 15:12:56 -0700
commit6907b4564b77cd8a468716ea39dc152e48f03538 (patch)
tree87841532c30f8888a3f3399c11dba7a00a90f099 /arch/xtensa
parentd3738f407c8ced4fd17dccf6cce729023c735c73 (diff)
xtensa: provide dummy gcc intrinsics
__xtensa_libgcc_window_spill is needed for __builtin_return_address(1), but its libgcc implementation cannot be used as it makes a syscall. Atomic intrinsics are used by single staging driver. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Chris Zankel <chris@zankel.net>
Diffstat (limited to 'arch/xtensa')
-rw-r--r--arch/xtensa/kernel/xtensa_ksyms.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/xtensa/kernel/xtensa_ksyms.c b/arch/xtensa/kernel/xtensa_ksyms.c
index 88fe2f2f376..a8b9f1fd1e1 100644
--- a/arch/xtensa/kernel/xtensa_ksyms.c
+++ b/arch/xtensa/kernel/xtensa_ksyms.c
@@ -74,8 +74,25 @@ EXPORT_SYMBOL(__umodsi3);
EXPORT_SYMBOL(__udivdi3);
EXPORT_SYMBOL(__umoddi3);
EXPORT_SYMBOL(__ucmpdi2);
+
+void __xtensa_libgcc_window_spill(void)
+{
+ BUG();
+}
EXPORT_SYMBOL(__xtensa_libgcc_window_spill);
+unsigned long __sync_fetch_and_and_4(unsigned long *p, unsigned long v)
+{
+ BUG();
+}
+EXPORT_SYMBOL(__sync_fetch_and_and_4);
+
+unsigned long __sync_fetch_and_or_4(unsigned long *p, unsigned long v)
+{
+ BUG();
+}
+EXPORT_SYMBOL(__sync_fetch_and_or_4);
+
#ifdef CONFIG_NET
/*
* Networking support