* sysdeps/generic/libc-start.c (__libc_start_main): Don't assign const
authorRoland McGrath <roland@gnu.org>
Mon, 3 Mar 2003 00:20:51 +0000 (00:20 +0000)
committerRoland McGrath <roland@gnu.org>
Mon, 3 Mar 2003 00:20:51 +0000 (00:20 +0000)
variable.

ChangeLog
NEWS
sysdeps/generic/libc-start.c
sysdeps/powerpc/powerpc64/dl-machine.h

index f36934f..51010a5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2003-03-02  Roland McGrath  <roland@redhat.com>
 
+       * sysdeps/generic/libc-start.c (__libc_start_main): Don't assign const
+       variable.
+
        * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_fixup_plt):
        Don't use weak_extern for dl_rtld_map.  Instead check only if [SHARED].
        (elf_machine_rela): Clean up.
diff --git a/NEWS b/NEWS
index 890bcdc..4189492 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,15 @@
-GNU C Library NEWS -- history of user-visible changes.  2003-1-12
+GNU C Library NEWS -- history of user-visible changes.  2003-3-2
 Copyright (C) 1992-2002, 2003 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send GNU C library bug reports using the `glibcbug' script to
 <bugs@gnu.org>.  Please send questions and suggestions to <bug-glibc@gnu.org>.
 \f
+Version 2.3.3
+
+* ELF thread-local storage support (TLS) now works on PowerPC and PowerPC64;
+  implemented by Paul Mackerras, Steven Munroe, and Roland McGrath.
+\f
 Version 2.3.2
 
 * Thread-safe interfaces for many functions that access locale data
index a6dbebe..b79c803 100644 (file)
@@ -158,12 +158,11 @@ BP_SYM (__libc_start_main) (int (*main) (int, char **, char **),
       /* One less thread.  Decrement the counter.  If it is zero we
         terminate the entire process.  */
       result = 0;
-      int *const ptr;
 #  ifdef SHARED
-      ptr = __libc_pthread_functions.ptr_nthreads;
+      int *const ptr = __libc_pthread_functions.ptr_nthreads;
 #  else
       extern int __nptl_nthreads __attribute ((weak));
-      ptr = &__nptl_nthreads;
+      int *const ptr = &__nptl_nthreads;
 #  endif
 
       if (! atomic_decrement_and_test (ptr))
index 8798263..93cbc8b 100644 (file)
@@ -610,14 +610,14 @@ elf_machine_rela (struct link_map *map,
 # endif
       return;
 
-    case R_PPC_DTPREL64:
+    case R_PPC64_DTPREL64:
       /* During relocation all TLS symbols are defined and used.
         Therefore the offset is already correct.  */
 # ifndef RTLD_BOOTSTRAP
       *reloc_addr = TLS_DTPREL_VALUE (sym, reloc);
 # endif
       break;
-    case R_PPC_TPREL64:
+    case R_PPC64_TPREL64:
 # ifndef RTLD_BOOTSTRAP
       if (sym_map)
        {