* arm/linux-syscalls0.S (SYSCALL0, SYSCALL3, SYSCALL6, SYSCALL4):

Delete Thumb definitions - the ARM versions work correctly in
        Thumb mode.
This commit is contained in:
Nick Clifton 2009-10-26 10:00:41 +00:00
parent 15c59df67f
commit f7e0cae24b
2 changed files with 6 additions and 44 deletions

View 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> 2009-10-08 Jie Zhang <jie.zhang@analog.com>
* bfin/Makefile.in (basiccrt.o, basiccrts.o): Use * bfin/Makefile.in (basiccrt.o, basiccrts.o): Use

View File

@ -19,47 +19,6 @@
#define GLOBAL(name) .global name; FUNC(name) #define GLOBAL(name) .global name; FUNC(name)
#define SIZE(name) .size name, .-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) \ # define SYSCALL4(name) \
GLOBAL(_ ## name); \ GLOBAL(_ ## name); \
swi #SYS_ ## name; \ swi #SYS_ ## name; \
@ -78,9 +37,6 @@ FUNC(_syscall3)
#define SYSCALL0(name) SYSCALL3(name) #define SYSCALL0(name) SYSCALL3(name)
#define SYSCALL3(name) SYSCALL4(name) #define SYSCALL3(name) SYSCALL4(name)
#endif /* __thumb__ */
#define SYSCALL1(name) SYSCALL3(name) #define SYSCALL1(name) SYSCALL3(name)
#define SYSCALL2(name) SYSCALL3(name) #define SYSCALL2(name) SYSCALL3(name)
#define SYSCALL5(name) SYSCALL6(name) #define SYSCALL5(name) SYSCALL6(name)