xtensa: provide dummy gcc intrinsics
authorMax Filippov <jcmvbkbc@gmail.com>
Mon, 17 Sep 2012 01:44:57 +0000 (05:44 +0400)
committerChris Zankel <chris@zankel.net>
Wed, 3 Oct 2012 22:12:56 +0000 (15:12 -0700)
__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>
arch/xtensa/kernel/xtensa_ksyms.c

index 88fe2f2f376d4d680fda64d22dd8969fab3416cc..a8b9f1fd1e17f63573c74bdf8c06616c1abd7481 100644 (file)
@@ -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