* arm/linux-syscalls0.S (SYSCALL0, SYSCALL3, SYSCALL6, SYSCALL4):
Delete Thumb definitions - the ARM versions work correctly in Thumb mode.
This commit is contained in:
parent
15c59df67f
commit
f7e0cae24b
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue