OSDN Git Service

* arm/linux-syscalls0.S (SYSCALL0, SYSCALL3, SYSCALL6, SYSCALL4):
authornickc <nickc>
Mon, 26 Oct 2009 19:00:41 +0000 (19:00 +0000)
committernickc <nickc>
Mon, 26 Oct 2009 19:00:41 +0000 (19:00 +0000)
        Delete Thumb definitions - the ARM versions work correctly in
        Thumb mode.

libgloss/ChangeLog
libgloss/arm/linux-syscalls0.S

index 2f9f362..fc07337 100644 (file)
@@ -1,3 +1,9 @@
+2009-10-26  Nick Clifton  <nickc@redhat.com>
+
+       * arm/linux-syscalls0.S (SYSCALL0, SYSCALL3, SYSCALL6, SYSCALL4):
+       Delete Thumb definitions - the ARM versions work correctly in
+       Thumb mode.
+
 2009-10-08  Jie Zhang  <jie.zhang@analog.com>
 
        * bfin/Makefile.in (basiccrt.o, basiccrts.o): Use
index 81e21fd..b16648f 100644 (file)
 #define GLOBAL(name) .global name; FUNC(name)
 #define SIZE(name) .size name, .-name
 
-#if __thumb__
-
-# define SYSCALL0(name) \
-       GLOBAL(_ ## name); \
-       mov r12, r7; \
-       mov r7, #SYS_ ## name; \
-       swi; \
-       mov r7, r12; \
-       b _set_errno; \
-       SIZE(_ ## name)
-
-/* static int _syscall3(int a, int b, int c, int number); */
-FUNC(_syscall3)
-       push { r7 }
-       mov r7, r3
-       swi
-       pop { r7 }
-       b _set_errno
-       SIZE(_syscall3)
-
-# define SYSCALL3(name) \
-       GLOBAL(_ ## name); \
-       mov r3, #SYS_ ## name; \
-       b _syscall3; \
-       SIZE(_ ## name)
-
-# define SYSCALL6(name) \
-       GLOBAL(_ ## name); \
-       push { r4 - r5, r7 }; \
-       ldr r4, [sp, #12]; \
-       ldr r5, [sp, #16]; \
-       mov r7, #SYS_ ## name; \
-       swi; \
-       pop { r4 - r5, r7 }; \
-       b _set_errno; \
-       SIZE(_ ## name)
-
-# define SYSCALL4(name) SYSCALL6(name)
-
-#else /* __thumb__ */
-
 # define SYSCALL4(name) \
        GLOBAL(_ ## name); \
        swi #SYS_ ## name; \
@@ -78,9 +37,6 @@ FUNC(_syscall3)
 
 #define SYSCALL0(name) SYSCALL3(name)
 #define SYSCALL3(name) SYSCALL4(name)
-
-#endif /* __thumb__ */
-
 #define SYSCALL1(name) SYSCALL3(name)
 #define SYSCALL2(name) SYSCALL3(name)
 #define SYSCALL5(name) SYSCALL6(name)