Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 14 Feb 2003 06:11:21 +0000 (06:11 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 14 Feb 2003 06:11:21 +0000 (06:11 +0000)
2003-02-13  Jakub Jelinek  <jakub@redhat.com>

* sysdeps/alpha/dl-machine.h (elf_machine_rela): Add instead of
subtracting map->l_tls_offset.

ChangeLog
nptl/ChangeLog
nptl/sysdeps/s390/tls.h
nptl/sysdeps/unix/sysv/linux/s390/jmp-unwind.c
nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.c
nptl/sysdeps/unix/sysv/linux/s390/sem_post.c
sysdeps/alpha/dl-machine.h

index 14ef6e50174cfa5d59a0d259bbd1ec98732fe06b..e2aab898155f7dfed7839af3e11a8c64d45340f1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/alpha/dl-machine.h (elf_machine_rela): Add instead of
+       subtracting map->l_tls_offset.
+
 2003-02-12  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/generic/bits/confname.h: Define _CS_GNU_LIBC_VERSION and
index c7d442148cf4a497309dd72ed5514e1fc660bf08..35c5552172808d805c2f1bbc43a1769267e7db6a 100644 (file)
@@ -1,3 +1,14 @@
+2003-02-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+       * sysdeps/s390/tls.h (THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM,
+       THREAD_SETMEM_NC): Use passed descr instead of THREAD_SELF.
+       * sysdeps/unix/sysv/linux/s390/jmp-unwind.c (_longjmp_unwind): Avoid
+       warning.
+       * sysdeps/unix/sysv/linux/s390/lowlevellock.c: Include <sys/time.h>
+       to avoid warning.
+       * sysdeps/unix/sysv/linux/s390/sem_post.c (__new_sem_post): Return
+       error if lll_futex_wake failed.
+
 2003-02-13  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Fix
index fd435647620477d9bc0621ae88db0c523a7b6a47..9b186f657fa8a8ba98d591c2ed777d67ad1182ee 100644 (file)
@@ -136,13 +136,13 @@ typedef struct
 
 /* Access to data in the thread descriptor is easy.  */
 #define THREAD_GETMEM(descr, member) \
-  THREAD_SELF->member
+  descr->member
 #define THREAD_GETMEM_NC(descr, member, idx) \
-  THREAD_SELF->member[idx]
+  descr->member[idx]
 #define THREAD_SETMEM(descr, member, value) \
-  THREAD_SELF->member = (value)
+  descr->member = (value)
 #define THREAD_SETMEM_NC(descr, member, idx, value) \
-  THREAD_SELF->member[idx] = (value)
+  descr->member[idx] = (value)
 
 #endif /* __ASSEMBLER__ */
 
index e41c12f8d26e0c5a2097d271a1925a5d8b5de1c1..3e81475888b554e2b8c38f60afda900cc92ab629 100644 (file)
@@ -34,7 +34,7 @@ _longjmp_unwind (jmp_buf env, int val)
 # define fptr __pthread_cleanup_upto
 #endif
 
-  unsigned int local_var;
+  unsigned char local_var;
 
   if (fptr != NULL)
     fptr (env, &local_var);
index 42ed830786c3d34c9f7ee6ddd189816741102e6a..bc501c7ee4f6230ff2d6f886c92c5f212bc5f74a 100644 (file)
@@ -20,6 +20,7 @@
 #include <errno.h>
 #include <sysdep.h>
 #include <lowlevellock.h>
+#include <sys/time.h>
 
 
 void
index 4c26857f50070a1cef1d099d06f1c1a6b65e8392..df64c03ba6ea333b7be41068ca0978e89178d9a6 100644 (file)
@@ -30,9 +30,16 @@ __new_sem_post (sem_t *sem)
 {
   int oldval;
   int newval;
+  int err;
 
   lll_compare_and_swap ((int *) sem, oldval, newval, "lr %2,%1; ahi %2,1");
-  lll_futex_wake ((int *) sem, newval);
+  err = lll_futex_wake(((int *) sem), newval);
+  if (err != 0)
+    {
+      __set_errno(-err);
+      return -1;
+    }
+  return 0;
 }
 versioned_symbol (libpthread, __new_sem_post, sem_post, GLIBC_2_1);
 #if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
index 25359d883ef5a81d6c18e458119ff7f90c9a0876..4704428d937d611cda1c8db0f1c8bb0f575cea41 100644 (file)
@@ -627,12 +627,12 @@ elf_machine_rela (struct link_map *map,
       else if (r_type == R_ALPHA_TPREL64)
        {
 #ifdef RTLD_BOOTSTRAP
-         *reloc_addr = sym_raw_value - map->l_tls_offset;
+         *reloc_addr = sym_raw_value + map->l_tls_offset;
 #else
          if (sym_map)
            {
              CHECK_STATIC_TLS (map, sym_map);
-             *reloc_addr = sym_raw_value - sym_map->l_tls_offset;
+             *reloc_addr = sym_raw_value + sym_map->l_tls_offset;
            }
 #endif
        }