More IA-64 removal
authorUlrich Drepper <drepper@gmail.com>
Sat, 7 Jan 2012 17:55:20 +0000 (12:55 -0500)
committerUlrich Drepper <drepper@gmail.com>
Sat, 7 Jan 2012 17:55:20 +0000 (12:55 -0500)
ChangeLog
elf/stackguard-macros.h
elf/tls-macros.h
elf/tst-auditmod1.c
sysdeps/generic/ldsodefs.h
sysdeps/unix/sysv/linux/kernel-features.h
sysdeps/unix/sysv/linux/x86_64/sigpending.c
sysdeps/unix/sysv/linux/x86_64/sigprocmask.c

index 49ccb14..40f29c0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2012-01-07  Ulrich Drepper  <drepper@gmail.com>
 
+       * elf/tls-macros.h: Remove support for Alpha and IA-64.  Should be in
+       files in ports.
+       * elf/stackguard-macros.h: Remove support for IA-64.
+       * elf/tst-auditmod1.c: Likewise.
+       * sysdeps/generic/ldsodefs.h: Likewise.
+
        * sysdeps/unix/sysv/linux/configure.in: Ports should define
        libc_cv_gcc_unwind_find_fde and arch_minimum_kernel in their
        configure files.
index 97db8bc..a9889cf 100644 (file)
 #elif defined __s390__
 # define STACK_CHK_GUARD \
   ({ uintptr_t x; asm ("ear %0,%%a0; l %0,0x14(%0)" : "=a" (x)); x; })
-#elif defined __ia64__
-# define STACK_CHK_GUARD \
-  ({ uintptr_t x; asm ("adds %0 = -8, r13;; ld8 %0 = [%0]" : "=r" (x)); x; })
-#else
+#elif !defined STACK_CHK_GUARD
 extern uintptr_t __stack_chk_guard;
 # define STACK_CHK_GUARD __stack_chk_guard
 #endif
index 781256d..ea6f14f 100644 (file)
      __l; })
 #endif
 
-#elif defined __alpha__
-
-register void *__gp __asm__("$29");
-
-# define TLS_LE(x) \
-  ({ int *__l;                                                               \
-     asm ("call_pal 158\n\tlda $0," #x "($0)\t\t!tprel" : "=v"(__l));        \
-     __l; })
-
-# define TLS_IE(x) \
-  ({ char *__tp; unsigned long __o;                                          \
-     asm ("call_pal 158\n\tldq %1," #x "($gp)\t\t!gottprel"                  \
-         : "=v"(__tp), "=r"(__o) : "r"(__gp));                               \
-     (int *)(__tp + __o); })
-
-# define TLS_LD(x) \
-  ({ extern void *__tls_get_addr(void *); int *__l; void *__i;               \
-     asm ("lda %0," #x "($gp)\t\t!tlsldm" : "=r" (__i) : "r"(__gp));         \
-     __i = __tls_get_addr(__i);                                                      \
-     asm ("lda %0, " #x "(%1)\t\t!dtprel" : "=r"(__l) : "r"(__i));           \
-     __l; })
-
-# define TLS_GD(x) \
-  ({ extern void *__tls_get_addr(void *); void *__i;                         \
-     asm ("lda %0," #x "($gp)\t\t!tlsgd" : "=r" (__i) : "r"(__gp));          \
-     (int *) __tls_get_addr(__i); })
-
-
-#elif defined __ia64__
-
-# define TLS_LE(x) \
-  ({ void *__l;                                                                      \
-     asm ("mov r2=r13\n\t"                                                   \
-         ";;\n\t"                                                            \
-         "addl %0=@tprel(" #x "),r2\n\t"                                     \
-         : "=r" (__l) : : "r2"  ); __l; })
-
-# define TLS_IE(x) \
-  ({ void *__l;                                                                      \
-     register long __gp asm ("gp");                                          \
-     asm (";;\n\t"                                                           \
-        "addl r16=@ltoff(@tprel(" #x ")),gp\n\t"                             \
-         ";;\n\t"                                                            \
-         "ld8 r17=[r16]\n\t"                                                 \
-         ";;\n\t"                                                            \
-         "add %0=r13,r17\n\t"                                                \
-         ";;\n\t"                                                            \
-         : "=r" (__l) : "r" (__gp) : "r16", "r17" ); __l; })
-
-# define __TLS_CALL_CLOBBERS \
-  "r2", "r3", "r8", "r9", "r10", "r11", "r14", "r15", "r16", "r17",          \
-  "r18", "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26",             \
-  "r27", "r28", "r29", "r30", "r31",                                         \
-  "p6", "p7", "p8", "p9", "p10", "p11", "p12", "p13", "p14", "p15",          \
-  "f6", "f7", "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",          \
-  "b6", "b7",                                                                \
-  "out0", "out1", "out2", "out3", "out4", "out5", "out6", "out7"
-
-# define TLS_LD(x) \
-  ({ void *__l;                                                                      \
-     register long __gp asm ("gp");                                          \
-     asm (";;\n\t"                                                           \
-        "mov loc0=gp\n\t"                                                    \
-         "addl r16=@ltoff(@dtpmod(" #x ")),gp\n\t"                           \
-         "addl out1=@dtprel(" #x "),r0\n\t"                                  \
-         ";;\n\t"                                                            \
-         "ld8 out0=[r16]\n\t"                                                \
-         "br.call.sptk.many b0=__tls_get_addr"                               \
-         ";;\n\t"                                                            \
-         "mov gp=loc0\n\t"                                                   \
-         "mov %0=r8\n\t"                                                     \
-         ";;\n\t"                                                            \
-         : "=r" (__l) : "r" (__gp) : "loc0", __TLS_CALL_CLOBBERS);           \
-     __l; })
-
-# define TLS_GD(x) \
-  ({ void *__l;                                                                      \
-     register long __gp asm ("gp");                                          \
-     asm (";;\n\t"                                                           \
-        "mov loc0=gp\n\t"                                                    \
-         "addl r16=@ltoff(@dtpmod(" #x ")),gp\n\t"                           \
-         "addl r17=@ltoff(@dtprel(" #x ")),gp\n\t"                           \
-         ";;\n\t"                                                            \
-         "ld8 out0=[r16]\n\t"                                                \
-         "ld8 out1=[r17]\n\t"                                                \
-         "br.call.sptk.many b0=__tls_get_addr"                               \
-         ";;\n\t"                                                            \
-         "mov gp=loc0\n\t"                                                   \
-         "mov %0=r8\n\t"                                                     \
-         ";;\n\t"                                                            \
-          : "=r" (__l) : "r" (__gp) : "loc0", __TLS_CALL_CLOBBERS);          \
-     __l; })
-
 #elif defined __sparc__ && !defined __arch64__
 
 # define TLS_LE(x) \
@@ -546,14 +453,14 @@ register void *__gp __asm__("$29");
          "0:\t.quad " #x "@tlsldm\n\t"                                       \
          ".quad " #x "@dtpoff\n"                                             \
          "1:\tlgr %1,%%r12\n\t"                                              \
-          "larl %%r12,_GLOBAL_OFFSET_TABLE_\n\t"                             \
-          "lg %%r2,0(%0)\n\t"                                                \
+         "larl %%r12,_GLOBAL_OFFSET_TABLE_\n\t"                              \
+         "lg %%r2,0(%0)\n\t"                                                 \
          "brasl %%r14,__tls_get_offset@plt:tls_ldcall:" #x "\n\t"            \
          "lg %0,8(%0)\n\t"                                                   \
          "algr %0,%%r2\n\t"                                                  \
-          "lgr %%r12,%1"                                                     \
+         "lgr %%r12,%1"                                                      \
          : "=&a" (__offset), "=&a" (__save12)                                \
-          : : "cc", "0", "1", "2", "3", "4", "5", "14" );                    \
+         : : "cc", "0", "1", "2", "3", "4", "5", "14" );                     \
      (int *) (__builtin_thread_pointer() + __offset); })
 # else
 #  define TLS_LD(x) \
@@ -562,7 +469,7 @@ register void *__gp __asm__("$29");
          "0:\t.quad " #x "@tlsldm\n\t"                                       \
          ".quad " #x "@dtpoff\n"                                             \
          "1:\tlarl %%r12,_GLOBAL_OFFSET_TABLE_\n\t"                          \
-          "lg %%r2,0(%0)\n\t"                                                \
+         "lg %%r2,0(%0)\n\t"                                                 \
          "brasl %%r14,__tls_get_offset@plt:tls_ldcall:" #x "\n\t"            \
          "lg %0,8(%0)\n\t"                                                   \
          "algr %0,%%r2"                                                      \
@@ -578,12 +485,12 @@ register void *__gp __asm__("$29");
          "0:\t.quad " #x "@tlsgd\n"                                          \
          "1:\tlgr %1,%%r12\n\t"                                              \
          "larl %%r12,_GLOBAL_OFFSET_TABLE_\n\t"                              \
-          "lg %%r2,0(%0)\n\t"                                                \
+         "lg %%r2,0(%0)\n\t"                                                 \
          "brasl %%r14,__tls_get_offset@plt:tls_gdcall:" #x "\n\t"            \
-          "lgr %0,%%r2\n\t"                                                  \
-          "lgr %%r12,%1"                                                     \
+         "lgr %0,%%r2\n\t"                                                   \
+         "lgr %%r12,%1"                                                      \
          : "=&a" (__offset), "=&a" (__save12)                                \
-          : : "cc", "0", "1", "2", "3", "4", "5", "14" );                    \
+         : : "cc", "0", "1", "2", "3", "4", "5", "14" );                     \
      (int *) (__builtin_thread_pointer() + __offset); })
 # else
 #  define TLS_GD(x) \
@@ -593,7 +500,7 @@ register void *__gp __asm__("$29");
          "1:\tlarl %%r12,_GLOBAL_OFFSET_TABLE_\n\t"                          \
          "lg %%r2,0(%0)\n\t"                                                 \
          "brasl %%r14,__tls_get_offset@plt:tls_gdcall:" #x "\n\t"            \
-          "lgr %0,%%r2"                                                              \
+         "lgr %0,%%r2"                                                       \
          : "=&a" (__offset)                                                  \
          : : "cc", "0", "1", "2", "3", "4", "5", "12", "14" );               \
      (int *) (__builtin_thread_pointer() + __offset); })
@@ -638,16 +545,16 @@ register void *__gp __asm__("$29");
          ".long " #x "@tlsldm\n\t"                                           \
          ".long " #x "@dtpoff\n"                                             \
          "1:\tlr %1,%%r12\n\t"                                               \
-          "l %%r12,0(%0)\n\t"                                                \
-          "la %%r12,0(%%r12,%0)\n\t"                                         \
+         "l %%r12,0(%0)\n\t"                                                 \
+         "la %%r12,0(%%r12,%0)\n\t"                                          \
          "l %%r1,4(%0)\n\t"                                                  \
          "l %%r2,8(%0)\n\t"                                                  \
          "bas %%r14,0(%%r1,%0):tls_ldcall:" #x "\n\t"                        \
          "l %0,12(%0)\n\t"                                                   \
          "alr %0,%%r2\n\t"                                                   \
-          "lr %%r12,%1"                                                              \
+         "lr %%r12,%1"                                                       \
          : "=&a" (__offset), "=&a" (__save12)                                \
-          : : "cc", "0", "1", "2", "3", "4", "5" );                          \
+         : : "cc", "0", "1", "2", "3", "4", "5" );                           \
      (int *) (__builtin_thread_pointer() + __offset); })
 # else
 #  define TLS_LD(x) \
@@ -675,15 +582,15 @@ register void *__gp __asm__("$29");
          ".long __tls_get_offset@plt-0b\n\t"                                 \
          ".long " #x "@tlsgd\n"                                              \
          "1:\tlr %1,%%r12\n\t"                                               \
-          "l %%r12,0(%0)\n\t"                                                \
-          "la %%r12,0(%%r12,%0)\n\t"                                         \
+         "l %%r12,0(%0)\n\t"                                                 \
+         "la %%r12,0(%%r12,%0)\n\t"                                          \
          "l %%r1,4(%0)\n\t"                                                  \
          "l %%r2,8(%0)\n\t"                                                  \
          "bas %%r14,0(%%r1,%0):tls_gdcall:" #x "\n\t"                        \
-          "lr %0,%%r2\n\t"                                                   \
-          "lr %%r12,%1"                                                              \
+         "lr %0,%%r2\n\t"                                                    \
+         "lr %%r12,%1"                                                       \
          : "=&a" (__offset), "=&a" (__save12)                                \
-          : : "cc", "0", "1", "2", "3", "4", "5" );                          \
+         : : "cc", "0", "1", "2", "3", "4", "5" );                           \
      (int *) (__builtin_thread_pointer() + __offset); })
 # else
 #  define TLS_GD(x) \
@@ -696,7 +603,7 @@ register void *__gp __asm__("$29");
          "l %%r1,4(%0)\n\t"                                                  \
          "l %%r2,8(%0)\n\t"                                                  \
          "bas %%r14,0(%%r1):tls_gdcall:" #x "\n\t"                           \
-          "lr %0,%%r2"                                                       \
+         "lr %0,%%r2"                                                        \
          : "=&a" (__offset) : : "cc", "0", "1", "2", "3", "4", "5", "12" );  \
      (int *) (__builtin_thread_pointer() + __offset); })
 # endif
index 2d39df2..69da278 100644 (file)
@@ -150,12 +150,6 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
 # define La_regs La_s390_64_regs
 # define La_retval La_s390_64_retval
 # define int_retval lrv_r2
-#elif defined __ia64__
-# define pltenter la_ia64_gnu_pltenter
-# define pltexit la_ia64_gnu_pltexit
-# define La_regs La_ia64_regs
-# define La_retval La_ia64_retval
-# define int_retval lrv_r8
 #elif defined __sparc__ && __WORDSIZE == 32
 # define pltenter la_sparc32_gnu_pltenter
 # define pltexit la_sparc32_gnu_pltexit
index b24bff3..4128058 100644 (file)
@@ -1,5 +1,5 @@
 /* Run-time dynamic linker data structures for loaded ELF shared objects.
-   Copyright (C) 1995-2009, 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1995-2009, 2010, 2011, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -200,8 +200,6 @@ struct La_s390_32_regs;
 struct La_s390_32_retval;
 struct La_s390_64_regs;
 struct La_s390_64_retval;
-struct La_ia64_regs;
-struct La_ia64_retval;
 struct La_sparc32_regs;
 struct La_sparc32_retval;
 struct La_sparc64_regs;
@@ -254,10 +252,6 @@ struct audit_ifaces
                                        uintptr_t *, struct La_s390_64_regs *,
                                        unsigned int *, const char *name,
                                        long int *framesizep);
-    Elf64_Addr (*ia64_gnu_pltenter) (Elf64_Sym *, unsigned int, uintptr_t *,
-                                    uintptr_t *, struct La_ia64_regs *,
-                                    unsigned int *, const char *name,
-                                    long int *framesizep);
     Elf32_Addr (*sparc32_gnu_pltenter) (Elf32_Sym *, unsigned int,
                                        uintptr_t *, uintptr_t *,
                                        const struct La_sparc32_regs *,
@@ -307,10 +301,6 @@ struct audit_ifaces
                                         const struct La_s390_64_regs *,
                                         struct La_s390_64_retval *,
                                         const char *);
-    unsigned int (*ia64_gnu_pltexit) (Elf64_Sym *, unsigned int, uintptr_t *,
-                                     uintptr_t *,
-                                     const struct La_ia64_regs *,
-                                     struct La_ia64_retval *, const char *);
     unsigned int (*sparc32_gnu_pltexit) (Elf32_Sym *, unsigned int,
                                         uintptr_t *, uintptr_t *,
                                         const struct La_sparc32_regs *,
index ecc1d2c..2c1b0a8 100644 (file)
    their availability with one define.  The changes were made first
    for i386 and the have to be done separately for the other archs.
    For i386 we pick 2.5.50 as the first version with support.
-   For ia64, s390*, PPC, x86-64, and SH we pick 2.5.64 as the first
+   For s390*, PPC, x86-64, and SH we pick 2.5.64 as the first
    version with support.  */
 #if ((__LINUX_KERNEL_VERSION >= 132402 && defined __i386__)            \
      || (__LINUX_KERNEL_VERSION >= 132416                              \
index f150806..021ce4c 100644 (file)
@@ -16,7 +16,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-/* Linux/ia64 only has rt signals, thus we do not even want to try falling
+/* Linux/x86_64 only has rt signals, thus we do not even want to try falling
    back to the old style signals as the default Linux handler does. */
 
 #include <errno.h>
index 22ddc75..b6624bb 100644 (file)
@@ -17,7 +17,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-/* Linux/ia64 only has rt signals, thus we do not even want to try falling
+/* Linux/x86_64 only has rt signals, thus we do not even want to try falling
    back to the old style signals as the default Linux handler does. */
 
 #include <errno.h>