From 0b508dd647e667c92820ddfc82eb5f95b19d2db1 Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Mon, 23 Oct 2006 04:20:20 +0000 Subject: Merge SH-2 trapa fixups from Mark. 2006-10-16 Mark Shinwell * libc/sysdeps/linux/sh/vfork.S: Use __SH_SYSCALL_TRAP_BASE. Also use __CONFIG_SH2__ rather than __sh2__, for consistency. * libc/sysdeps/linux/sh/syscall.c: Use __SH_SYSCALL_TRAP_BASE. * libc/sysdeps/linux/sh/bits/uClibc_arch_features.h: Use __CONFIG_SH2__ rather than __sh2__, for consistency. * libc/sysdeps/linux/sh/bits/syscalls.h (__SH_SYSCALL_TRAP_BASE): New. Use instead of hard-coded trap numbers in the various __NR_ macros. * libc/sysdeps/linux/sh/clone.S: Use __SH_SYSCALL_TRAP_BASE. Also use __CONFIG_SH2__ rather than __sh2__, for consistency. * libc/sysdeps/linux/sh/crti.S: Disable GOT-related code if __HAVE_SHARED__ is not set. * libc/sysdeps/linux/sh/pipe.c (pipe): Use __SH_SYSCALL_TRAP_BASE. --- libc/sysdeps/linux/sh/crti.S | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'libc/sysdeps/linux/sh/crti.S') diff --git a/libc/sysdeps/linux/sh/crti.S b/libc/sysdeps/linux/sh/crti.S index 349613ab1..43ba28583 100644 --- a/libc/sysdeps/linux/sh/crti.S +++ b/libc/sysdeps/linux/sh/crti.S @@ -8,20 +8,21 @@ .type _init, @function _init: mov.l r12,@-r15 - mova .L6,r0 mov.l r14,@-r15 sts.l pr,@-r15 +#ifndef __HAVE_SHARED__ + mova .L6,r0 mov.l .L6,r12 - mov r15,r14 add r0,r12 - - - +#endif + mov r15,r14 bra 1f nop .align 2 +#ifndef __HAVE_SHARED__ .L6: .long _GLOBAL_OFFSET_TABLE_ +#endif 1: .section .fini @@ -31,19 +32,22 @@ _init: .type _fini, @function _fini: mov.l r12,@-r15 - mova .L11,r0 mov.l r14,@-r15 sts.l pr,@-r15 - mov.l .L11,r12 mov r15,r14 +#ifndef __HAVE_SHARED__ + mov.l .L11,r12 + mova .L11,r0 add r0,r12 - - +#endif + bra 1f nop .align 2 +#ifndef __HAVE_SHARED__ .L11: .long _GLOBAL_OFFSET_TABLE_ +#endif 1: .ident "GCC: (GNU) 3.3.2" -- cgit v1.2.3