From 5e6f34c2a01533c0b64e0b8c44c29a434613187d Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 21 May 2008 08:48:21 +0000 Subject: * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (CALL_ERRNO_LOCATION): Define. (__SYSCALL_STRING, __CLONE_SYSCALL_STRING): Use it. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (CALL_ERRNO_LOCATION): Define. (__SYSCALL_STRING, __CLONE_SYSCALL_STRING): Use it. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S (__brk): Use HIDDEN_JUMPTARGET for __errno_location call in libc.so. 2008-05-21 Jakub Jelinek * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (CALL_ERRNO_LOCATION): Define. (__SYSCALL_STRING, __CLONE_SYSCALL_STRING): Use it. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (CALL_ERRNO_LOCATION): Define. (__SYSCALL_STRING, __CLONE_SYSCALL_STRING): Use it. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S (__brk): Use HIDDEN_JUMPTARGET for __errno_location call in libc.so. --- sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h') diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h index c808a97fc5..1f674c1fbe 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1997, 2002, 2003, 2004, 2006 Free Software Foundation, Inc. +/* Copyright (C) 1997, 2002, 2003, 2004, 2006, 2008 + Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Miguel de Icaza , January 1997. @@ -89,6 +90,13 @@ ENTRY(name); \ #else /* __ASSEMBLER__ */ +#if defined SHARED && defined DO_VERSIONING && defined PIC \ + && !defined NO_HIDDEN && !defined NOT_IN_libc +# define CALL_ERRNO_LOCATION "call __GI___errno_location;" +#else +# define CALL_ERRNO_LOCATION "call __errno_location;" +#endif + #define __SYSCALL_STRING \ "ta 0x10;" \ "bcs 2f;" \ @@ -97,7 +105,7 @@ ENTRY(name); \ ".subsection 2;" \ "2:" \ "save %%sp, -192, %%sp;" \ - "call __errno_location;" \ + CALL_ERRNO_LOCATION \ " nop;" \ "st %%i0,[%%o0];" \ "ba 1b;" \ @@ -113,7 +121,7 @@ ENTRY(name); \ ".subsection 2;" \ "2:" \ "save %%sp, -192, %%sp;" \ - "call __errno_location;" \ + CALL_ERRNO_LOCATION \ " nop;" \ "st %%i0, [%%o0];" \ "ba 1b;" \ -- cgit 1.4.1