[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r15290 - in /fsf/trunk/ports: ./ sysdeps/arm/ sysdeps/arm/nptl/ sysdeps/m68k/ sysdeps/m68k/nptl/ sysdeps/mips/ sysdeps/mips/...



Author: eglibc
Date: Mon Sep 12 00:03:09 2011
New Revision: 15290

Log:
Import glibc-ports-mainline for 2011-09-12

Modified:
    fsf/trunk/ports/ChangeLog.arm
    fsf/trunk/ports/ChangeLog.m68k
    fsf/trunk/ports/ChangeLog.mips
    fsf/trunk/ports/sysdeps/arm/dl-machine.h
    fsf/trunk/ports/sysdeps/arm/dl-tlsdesc.S
    fsf/trunk/ports/sysdeps/arm/libc-tls.c
    fsf/trunk/ports/sysdeps/arm/nptl/tls.h
    fsf/trunk/ports/sysdeps/arm/tlsdesc.c
    fsf/trunk/ports/sysdeps/arm/tlsdesc.sym
    fsf/trunk/ports/sysdeps/m68k/dl-machine.h
    fsf/trunk/ports/sysdeps/m68k/libc-tls.c
    fsf/trunk/ports/sysdeps/m68k/nptl/tls.h
    fsf/trunk/ports/sysdeps/mips/dl-machine.h
    fsf/trunk/ports/sysdeps/mips/libc-tls.c
    fsf/trunk/ports/sysdeps/mips/nptl/tls.h
    fsf/trunk/ports/sysdeps/unix/arm/sysdep.S
    fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/sysdep.h

Modified: fsf/trunk/ports/ChangeLog.arm
==============================================================================
--- fsf/trunk/ports/ChangeLog.arm (original)
+++ fsf/trunk/ports/ChangeLog.arm Mon Sep 12 00:03:09 2011
@@ -1,3 +1,11 @@
+2011-09-11  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/arm/dl-machine.h, sysdeps/arm/dl-tlsdesc.S,
+	sysdeps/arm/libc-tls.c, sysdeps/arm/nptl/tls.h,
+	sysdeps/arm/tlsdesc.c, sysdeps/arm/tlsdesc.sym,
+	sysdeps/unix/arm/sysdep.S: Remove !USE_THREAD and !USE_TLS cases.
+	Don't define USE_TLS.
+
 2011-08-18  Ramana Radhakrishnan  <ramana.radhakrishnan@xxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/arm/eabi/Makefile: Add libc-do-syscall

Modified: fsf/trunk/ports/ChangeLog.m68k
==============================================================================
--- fsf/trunk/ports/ChangeLog.m68k (original)
+++ fsf/trunk/ports/ChangeLog.m68k Mon Sep 12 00:03:09 2011
@@ -1,3 +1,12 @@
+2011-09-11  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* sysdeps/m68k/nptl/tls.h: Don't define USE_TLS.
+	* sysdeps/m68k/dl-machine.h: Remove use of USE_TLS.
+	* sysdeps/m68k/libc-tls.c: Likewise.
+
+	* sysdeps/unix/sysv/linux/m68k/sysdep.h: Remove use of
+	USE___THREAD.
+
 2011-06-23  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
 
 	* sysdeps/m68k/dl-trampoline.S (_dl_runtime_profile)

Modified: fsf/trunk/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/ports/ChangeLog.mips (original)
+++ fsf/trunk/ports/ChangeLog.mips Mon Sep 12 00:03:09 2011
@@ -1,3 +1,8 @@
+2011-09-11  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/mips/dl-machine.h, sysdeps/mips/libc-tls.c,
+	sysdeps/mips/nptl/tls.h: Don't define or use USE_TLS.
+
 2011-09-06  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	[BZ #13109]

Modified: fsf/trunk/ports/sysdeps/arm/dl-machine.h
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/dl-machine.h (original)
+++ fsf/trunk/ports/sysdeps/arm/dl-machine.h Mon Sep 12 00:03:09 2011
@@ -1,6 +1,6 @@
 /* Machine-dependent ELF dynamic relocation inline functions.  ARM version.
    Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,
-	2006, 2009, 2010 Free Software Foundation, Inc.
+	2006, 2009, 2010, 2011 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
@@ -242,18 +242,12 @@
    define the value.
    ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one
    of the main executable's symbols, as for a COPY reloc.  */
-#if defined USE_TLS && (!defined RTLD_BOOTSTRAP || USE___THREAD)
-# define elf_machine_type_class(type) \
+#define elf_machine_type_class(type) \
   ((((type) == R_ARM_JUMP_SLOT || (type) == R_ARM_TLS_DTPMOD32		\
      || (type) == R_ARM_TLS_DTPOFF32 || (type) == R_ARM_TLS_TPOFF32	\
      || (type) == R_ARM_TLS_DESC)					\
     * ELF_RTYPE_CLASS_PLT)						\
    | (((type) == R_ARM_COPY) * ELF_RTYPE_CLASS_COPY))
-#else
-#define elf_machine_type_class(type) \
-  ((((type) == R_ARM_JUMP_SLOT) * ELF_RTYPE_CLASS_PLT)	\
-   | (((type) == R_ARM_COPY) * ELF_RTYPE_CLASS_COPY))
-#endif
 
 /* A reloc type used for ld.so cmdline arg lookups to reject PLT entries.  */
 #define ELF_MACHINE_JMP_SLOT	R_ARM_JUMP_SLOT
@@ -494,7 +488,6 @@
 	  }
 	  break;
 #if !defined RTLD_BOOTSTRAP
-#if defined USE_TLS
 	case R_ARM_TLS_DTPMOD32:
 	  /* Get the information from the link map returned by the
 	     resolv function.  */
@@ -514,7 +507,6 @@
 	      *reloc_addr += sym->st_value + sym_map->l_tls_offset;
 	    }
 	  break;
-#endif
 	case R_ARM_IRELATIVE:
 	  value = map->l_addr + *reloc_addr;
 	  value = ((Elf32_Addr (*) (void)) value) ();
@@ -608,7 +600,6 @@
 	  }
 	  break;
 #if !defined RTLD_BOOTSTRAP
-#if defined USE_TLS
 	case R_ARM_TLS_DTPMOD32:
 	  /* Get the information from the link map returned by the
 	     resolv function.  */
@@ -628,7 +619,6 @@
 			     + reloc->r_addend);
 	    }
 	  break;
-#endif
 	case R_ARM_IRELATIVE:
 	  value = map->l_addr + *reloc_addr;
 	  value = ((Elf32_Addr (*) (void)) value) ();
@@ -678,7 +668,6 @@
       else
 	*reloc_addr = map->l_mach.plt;
     }
-#ifdef USE_TLS
   else if (__builtin_expect (r_type == R_ARM_TLS_DESC, 1))
     {
       struct tlsdesc volatile *td =
@@ -691,7 +680,6 @@
       td->entry = (void*)(D_PTR (map, l_info[ADDRIDX (DT_TLSDESC_PLT)])
 			  + map->l_addr);
     }
-#endif
   else
     _dl_reloc_bad_type (map, r_type, 1);
 }

Modified: fsf/trunk/ports/sysdeps/arm/dl-tlsdesc.S
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/dl-tlsdesc.S (original)
+++ fsf/trunk/ports/sysdeps/arm/dl-tlsdesc.S Mon Sep 12 00:03:09 2011
@@ -1,5 +1,5 @@
 /* Thread-local storage handling in the ELF dynamic linker.  ARM version.
-   Copyright (C) 2006, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2010, 2011 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
@@ -31,7 +31,6 @@
 	@ emit debug information with cfi
 	@ use arm-specific pseudos for unwinding itself
 	.cfi_sections .debug_frame
-#ifdef USE_TLS
 	.hidden _dl_tlsdesc_return
 	.global	_dl_tlsdesc_return
 	.type	_dl_tlsdesc_return,#function
@@ -218,5 +217,3 @@
 	.fnend
 	cfi_endproc
 	.size	_dl_tlsdesc_resolve_hold, .-_dl_tlsdesc_resolve_hold
-
-#endif /* USE_TLS */

Modified: fsf/trunk/ports/sysdeps/arm/libc-tls.c
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/libc-tls.c (original)
+++ fsf/trunk/ports/sysdeps/arm/libc-tls.c Mon Sep 12 00:03:09 2011
@@ -1,5 +1,5 @@
 /* Thread-local storage handling in the ELF dynamic linker.  ARM version.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2011 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
@@ -20,8 +20,6 @@
 #include <csu/libc-tls.c>
 #include <dl-tls.h>
 
-#if USE_TLS
-
 /* On ARM, linker optimizations are not required, so __tls_get_addr
    can be called even in statically linked binaries.  In this case module
    must be always 1 and PT_TLS segment exist in the binary, otherwise it
@@ -33,5 +31,3 @@
   dtv_t *dtv = THREAD_DTV ();
   return (char *) dtv[1].pointer.val + ti->ti_offset;
 }
-
-#endif

Modified: fsf/trunk/ports/sysdeps/arm/nptl/tls.h
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/nptl/tls.h (original)
+++ fsf/trunk/ports/sysdeps/arm/nptl/tls.h Mon Sep 12 00:03:09 2011
@@ -1,5 +1,5 @@
 /* Definition for thread-local data handling.  NPTL/ARM version.
-   Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2011 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
@@ -47,9 +47,6 @@
 #ifndef HAVE_TLS_SUPPORT
 # error "TLS support is required."
 #endif
-
-/* Signal that TLS support is available.  */
-# define USE_TLS	1
 
 #ifndef __ASSEMBLER__
 

Modified: fsf/trunk/ports/sysdeps/arm/tlsdesc.c
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/tlsdesc.c (original)
+++ fsf/trunk/ports/sysdeps/arm/tlsdesc.c Mon Sep 12 00:03:09 2011
@@ -1,5 +1,5 @@
 /* Manage TLS descriptors.  ARM version.
-   Copyright (C) 2005, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2010, 2011 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
@@ -23,8 +23,6 @@
 #include <tls.h>
 #include <dl-tlsdesc.h>
 #include <tlsdeschtab.h>
-
-#ifdef USE_TLS
 
 /* This function is used to lazily resolve TLS_DESC REL relocations
    Besides the TLS descriptor itself, we get the module's got address
@@ -161,4 +159,3 @@
     htab_delete (map->l_mach.tlsdesc_table);
 #endif
 }
-#endif

Modified: fsf/trunk/ports/sysdeps/arm/tlsdesc.sym
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/tlsdesc.sym (original)
+++ fsf/trunk/ports/sysdeps/arm/tlsdesc.sym Mon Sep 12 00:03:09 2011
@@ -7,13 +7,9 @@
 --
 
 -- Abuse tls.h macros to derive offsets relative to the thread register.
-#if defined USE_TLS
-
 
 TLSDESC_ARG			offsetof(struct tlsdesc, argument.pointer)
 
 TLSDESC_GEN_COUNT		offsetof(struct tlsdesc_dynamic_arg, gen_count)
 TLSDESC_MODID			offsetof(struct tlsdesc_dynamic_arg, tlsinfo.ti_module)
 TLSDESC_MODOFF			offsetof(struct tlsdesc_dynamic_arg, tlsinfo.ti_offset)
-
-#endif

Modified: fsf/trunk/ports/sysdeps/m68k/dl-machine.h
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/dl-machine.h (original)
+++ fsf/trunk/ports/sysdeps/m68k/dl-machine.h Mon Sep 12 00:03:09 2011
@@ -1,5 +1,5 @@
 /* Machine-dependent ELF dynamic relocation inline functions.  m68k version.
-   Copyright (C) 1996-2001, 2002, 2003, 2004, 2005, 2010
+   Copyright (C) 1996-2001, 2002, 2003, 2004, 2005, 2010, 2011
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -269,7 +269,7 @@
 	case R_68K_PC32:
 	  *reloc_addr = value + reloc->r_addend - (Elf32_Addr) reloc_addr;
 	  break;
-#if defined USE_TLS && !defined RTLD_BOOTSTRAP
+#ifndef RTLD_BOOTSTRAP
 	case R_68K_TLS_DTPMOD32:
 	  /* Get the information from the link map returned by the
 	     resolv function.  */
@@ -287,7 +287,7 @@
 	      *reloc_addr = TLS_TPREL_VALUE (sym_map, sym, reloc);
 	    }
 	  break;
-#endif /* defined USE_TLS && !defined RTLD_BOOTSTRAP */
+#endif /* !RTLD_BOOTSTRAP */
 	case R_68K_NONE:		/* Alright, Wilbur.  */
 	  break;
 	default:

Modified: fsf/trunk/ports/sysdeps/m68k/libc-tls.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/libc-tls.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/libc-tls.c Mon Sep 12 00:03:09 2011
@@ -1,5 +1,5 @@
 /* Thread-local storage handling in the ELF dynamic linker.  m68k version.
-   Copyright (C) 2010 Free Software Foundation, Inc.
+   Copyright (C) 2010, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Maxim Kuvyrkov <maxim@xxxxxxxxxxxxxxxx>, 2010.
 
@@ -21,8 +21,6 @@
 #include <csu/libc-tls.c>
 #include <dl-tls.h>
 
-#if USE_TLS
-
 /* On M68K, linker optimizations are not required, so __tls_get_addr
    can be called even in statically linked binaries.  In this case module
    must be always 1 and PT_TLS segment exist in the binary, otherwise it
@@ -34,5 +32,3 @@
   dtv_t *dtv = THREAD_DTV ();
   return (char *) dtv[1].pointer.val + GET_ADDR_OFFSET;
 }
-
-#endif

Modified: fsf/trunk/ports/sysdeps/m68k/nptl/tls.h
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/nptl/tls.h (original)
+++ fsf/trunk/ports/sysdeps/m68k/nptl/tls.h Mon Sep 12 00:03:09 2011
@@ -42,9 +42,6 @@
 #else /* __ASSEMBLER__ */
 # include <tcb-offsets.h>
 #endif /* __ASSEMBLER__ */
-
-/* Signal that TLS support is available.  */
-#define USE_TLS	1
 
 #ifndef __ASSEMBLER__
 

Modified: fsf/trunk/ports/sysdeps/mips/dl-machine.h
==============================================================================
--- fsf/trunk/ports/sysdeps/mips/dl-machine.h (original)
+++ fsf/trunk/ports/sysdeps/mips/dl-machine.h Mon Sep 12 00:03:09 2011
@@ -1,5 +1,5 @@
 /* Machine-dependent ELF dynamic relocation inline functions.  MIPS version.
-   Copyright (C) 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007
+   Copyright (C) 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2011
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Kazumoto Kojima <kkojima@xxxxxxxxxxxxxxxxxxxxx>.
@@ -343,7 +343,7 @@
 
   switch (r_type)
     {
-#if defined (USE_TLS) && !defined (RTLD_BOOTSTRAP)
+#if !defined (RTLD_BOOTSTRAP)
 # if _MIPS_SIM == _ABI64
     case R_MIPS_TLS_DTPMOD64:
     case R_MIPS_TLS_DTPREL64:

Modified: fsf/trunk/ports/sysdeps/mips/libc-tls.c
==============================================================================
--- fsf/trunk/ports/sysdeps/mips/libc-tls.c (original)
+++ fsf/trunk/ports/sysdeps/mips/libc-tls.c Mon Sep 12 00:03:09 2011
@@ -1,5 +1,5 @@
 /* Thread-local storage handling in the ELF dynamic linker.  MIPS version.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2011 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
@@ -20,8 +20,6 @@
 #include <csu/libc-tls.c>
 #include <dl-tls.h>
 
-#if USE_TLS
-
 /* On MIPS, linker optimizations are not required, so __tls_get_addr
    can be called even in statically linked binaries.  In this case module
    must be always 1 and PT_TLS segment exist in the binary, otherwise it
@@ -33,5 +31,3 @@
   dtv_t *dtv = THREAD_DTV ();
   return (char *) dtv[1].pointer.val + GET_ADDR_OFFSET;
 }
-
-#endif

Modified: fsf/trunk/ports/sysdeps/mips/nptl/tls.h
==============================================================================
--- fsf/trunk/ports/sysdeps/mips/nptl/tls.h (original)
+++ fsf/trunk/ports/sysdeps/mips/nptl/tls.h Mon Sep 12 00:03:09 2011
@@ -60,9 +60,6 @@
 #ifndef HAVE_TLS_SUPPORT
 # error "TLS support is required."
 #endif
-
-/* Signal that TLS support is available.  */
-#define USE_TLS	1
 
 #ifndef __ASSEMBLER__
 

Modified: fsf/trunk/ports/sysdeps/unix/arm/sysdep.S
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/arm/sysdep.S (original)
+++ fsf/trunk/ports/sysdeps/unix/arm/sysdep.S Mon Sep 12 00:03:09 2011
@@ -1,5 +1,5 @@
 /* Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2002, 2003,
-   2004, 2005, 2009
+   2004, 2005, 2009, 2011
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -42,7 +42,6 @@
 	moveq r0, $EAGAIN	/* Yes; translate it to EAGAIN.  */
 #endif
 
-#if USE___THREAD
 	mov ip, lr
 	cfi_register (lr, ip)
 	mov r1, r0
@@ -58,46 +57,6 @@
 	RETINSTR (, ip)
 
 1:	.word errno(gottpoff) + (. - 2b - 8)
-#elif RTLD_PRIVATE_ERRNO
-	ldr r1, 1f
-0:	str r0, [pc, r1]
-	mvn r0, $0
-	DO_RET(r14)
-
-1:	.word C_SYMBOL_NAME(rtld_errno) - 0b - 8
-#elif defined(_LIBC_REENTRANT)
-	str lr, [sp, #-4]!
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (lr, 0)
-	str r0, [sp, #-4]!
-	cfi_adjust_cfa_offset (4)
-	bl PLTJMP(C_SYMBOL_NAME(__errno_location))
-	ldr r1, [sp], #4
-	cfi_adjust_cfa_offset (-4)
-	str r1, [r0]
-	mvn r0, $0
-	ldr pc, [sp], #4	
-#else
-#ifndef	PIC
-	ldr r1, 1f
-	str r0, [r1]
-	mvn r0, $0
-	DO_RET (r14)
-
-1:	.long C_SYMBOL_NAME(errno)
-#else
-	@ we have to establish our PIC register
-	ldr r2, 1f
-	ldr r1, 2f
-0:	add r2, pc, r2
-	str r0, [r1, r2]
-	mvn r0, $0
-	DO_RET (r14)
-
-1:	.word _GLOBAL_OFFSET_TABLE_ - 0b - 8
-2:	.word C_SYMBOL_NAME(errno)(GOTOFF)
-#endif
-#endif
 
 #undef	__syscall_error
 END (__syscall_error)

Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/sysdep.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/sysdep.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/sysdep.h Mon Sep 12 00:03:09 2011
@@ -106,7 +106,7 @@
        a pointer (e.g., mmap).  */					      \
     move.l %d0, %a0;							      \
     rts;
-# elif USE___THREAD
+# elif defined _LIBC_REENTRANT
 #  ifndef NOT_IN_libc
 #   define SYSCALL_ERROR_ERRNO __libc_errno
 #  else
@@ -119,18 +119,6 @@
     jbsr __m68k_read_tp@PLTPC;						      \
     SYSCALL_ERROR_LOAD_GOT (%a1);					      \
     add.l (SYSCALL_ERROR_ERRNO@TLSIE, %a1), %a0;			      \
-    move.l (%sp)+, (%a0);						      \
-    move.l &-1, %d0;							      \
-    /* Copy return value to %a0 for syscalls that are declared to return      \
-       a pointer (e.g., mmap).  */					      \
-    move.l %d0, %a0;							      \
-    rts;
-# elif defined _LIBC_REENTRANT
-#  define SYSCALL_ERROR_HANDLER						      \
-SYSCALL_ERROR_LABEL:							      \
-    neg.l %d0;								      \
-    move.l %d0, -(%sp);							      \
-    jbsr __errno_location@PLTPC;					      \
     move.l (%sp)+, (%a0);						      \
     move.l &-1, %d0;							      \
     /* Copy return value to %a0 for syscalls that are declared to return      \