From: nickc Date: Mon, 26 Oct 2009 10:00:41 +0000 (+0000) Subject: * arm/linux-syscalls0.S (SYSCALL0, SYSCALL3, SYSCALL6, SYSCALL4): X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=4e4ac1a990b42604f216a861499036df89858686;p=pf3gnuchains%2Fpf3gnuchains4x.git * arm/linux-syscalls0.S (SYSCALL0, SYSCALL3, SYSCALL6, SYSCALL4): Delete Thumb definitions - the ARM versions work correctly in Thumb mode. --- diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog index 2f9f362969..fc07337285 100644 --- a/libgloss/ChangeLog +++ b/libgloss/ChangeLog @@ -1,3 +1,9 @@ +2009-10-26 Nick Clifton + + * arm/linux-syscalls0.S (SYSCALL0, SYSCALL3, SYSCALL6, SYSCALL4): + Delete Thumb definitions - the ARM versions work correctly in + Thumb mode. + 2009-10-08 Jie Zhang * bfin/Makefile.in (basiccrt.o, basiccrts.o): Use diff --git a/libgloss/arm/linux-syscalls0.S b/libgloss/arm/linux-syscalls0.S index 81e21fd87c..b16648fc3c 100644 --- a/libgloss/arm/linux-syscalls0.S +++ b/libgloss/arm/linux-syscalls0.S @@ -19,47 +19,6 @@ #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)