Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 2 Oct 2002 06:22:02 +0000 (06:22 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 2 Oct 2002 06:22:02 +0000 (06:22 +0000)
2002-10-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

* sysdeps/sh/pt-machine.h: Make C code ifndef'ed with __ASSEMBLER__.
* sysdeps/sh/tls.h: Likewise.
* sysdeps/unix/sysv/linux/sh/smp.h: New file.

13 files changed:
README
elf/elf.h
elf/tls-macros.h
linuxthreads/ChangeLog
linuxthreads/sysdeps/sh/pt-machine.h
linuxthreads/sysdeps/sh/tls.h
linuxthreads/sysdeps/unix/sysv/linux/sh/smp.h [new file with mode: 0644]
sysdeps/alpha/elf/configure
sysdeps/sh/dl-machine.h
sysdeps/sh/elf/initfini.c
sysdeps/sh/elf/start.S
sysdeps/unix/sysv/aix/configure
version.h

diff --git a/README b/README
index 4229c1b2f02fffa8a87ac7979eda4744773c426b..43503cc942d44445004d75fce5632bfb1cb820e2 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-This directory contains the version 2.2.94 release of the GNU C Library.
+This directory contains the version 2.3 release of the GNU C Library.
 Many bugs have been fixed since the last release.
 Some bugs surely remain.
 
index 2d79be2f65c350d907ce57d3edbe3292a1309371..416a7959eada6f0c64b3ec1a9f3c2ddb89b288f2 100644 (file)
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -2201,21 +2201,19 @@ typedef Elf32_Addr Elf32_Conflict;
 #define        R_SH_SWITCH8            33
 #define        R_SH_GNU_VTINHERIT      34
 #define        R_SH_GNU_VTENTRY        35
-#define        R_SH_TLS_GD_32          128
-#define        R_SH_TLS_LD_32          129
-#define        R_SH_TLS_LDO_32         130
-#define        R_SH_TLS_IE_32          131
-#define        R_SH_TLS_LE_32          132
-#define        R_SH_TLS_DTPMOD32       133
-#define        R_SH_TLS_DTPOFF32       134
-#define        R_SH_TLS_TPOFF32        135
-#define        R_SH_TLS_GD_MOV         136
-#define        R_SH_TLS_GD_CALLMOV     137
-#define        R_SH_TLS_LDM_MOV        138
-#define        R_SH_TLS_LDO_MOV        139
-#define        R_SH_TLS_LD_CALLMOV     140
-#define        R_SH_TLS_IE_MOV         141
-#define        R_SH_TLS_LE_MOV         142
+#define        R_SH_TLS_GD_32          144
+#define        R_SH_TLS_LD_32          145
+#define        R_SH_TLS_LDO_32         146
+#define        R_SH_TLS_IE_32          147
+#define        R_SH_TLS_LE_32          148
+#define        R_SH_TLS_DTPMOD32       149
+#define        R_SH_TLS_DTPOFF32       150
+#define        R_SH_TLS_TPOFF32        151
+#define        R_SH_TLS_GD_MOV         152
+#define        R_SH_TLS_LDM_MOV        153
+#define        R_SH_TLS_LDO_MOV        154
+#define        R_SH_TLS_IE_MOV         155
+#define        R_SH_TLS_LE_MOV         156
 #define        R_SH_GOT32              160
 #define        R_SH_PLT32              161
 #define        R_SH_COPY               162
index 6497903a9bdb0be0c2c0c52fc11f7e37b08fc4eb..1f9cf4448a8c479cf57b7b698c5cf96422b20bd7 100644 (file)
          "mov.l 0f,r12\n\t"                                                  \
          "add r0,r12\n\t"                                                    \
          "mov.l 1f,r4\n\t"                                                   \
-         "add r12,r4\n\t"                                                    \
          "mova 2f,r0\n\t"                                                    \
          "mov.l 2f,r1\n\t"                                                   \
          "add r0,r1\n\t"                                                     \
          "jsr @r1\n\t"                                                       \
-         " nop\n\t"                                                          \
+         " add r12,r4\n\t"                                                   \
          "mov.l 3f,%0\n\t"                                                   \
          "bra 4f\n\t"                                                        \
          " add r0,%0\n\t"                                                    \
          "mov.l 0f,r12\n\t"                                                  \
          "add r0,r12\n\t"                                                    \
          "mov.l 1f,r4\n\t"                                                   \
-         "add r12,r4\n\t"                                                    \
          "mova 2f,r0\n\t"                                                    \
          "mov.l 2f,r1\n\t"                                                   \
          "add r0,r1\n\t"                                                     \
          "jsr @r1\n\t"                                                       \
-         " nop\n\t"                                                          \
+         " add r12,r4\n\t"                                                   \
          "bra 3f\n\t"                                                        \
          " mov r0,%0\n\t"                                                    \
          ".align 2\n\t"                                                      \
index 33ae7212c97313a518bb0b890908743e338d995a..d2072e51d017b6e97b39928e13392555e1e518f7 100644 (file)
@@ -1,3 +1,9 @@
+2002-10-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+       * sysdeps/sh/pt-machine.h: Make C code ifndef'ed with __ASSEMBLER__.
+       * sysdeps/sh/tls.h: Likewise.
+       * sysdeps/unix/sysv/linux/sh/smp.h: New file.
+
 2002-09-29  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/pthread/tst-timer.c (main): Clear
index 48391705977ee9058af45d4a08f03e94b91132a8..cc3a4f2ce9ae98d7fc4bf644fad82299b94ad4ab 100644 (file)
@@ -22,6 +22,7 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#ifndef __ASSEMBLER__
 #ifndef PT_EI
 # define PT_EI extern inline
 #endif
@@ -71,5 +72,6 @@ struct _pthread_descr_struct;
 #define THREAD_GETMEM_NC(descr, member) THREAD_SELF->member
 #define THREAD_SETMEM(descr, member, value) THREAD_SELF->member = (value)
 #define THREAD_SETMEM_NC(descr, member, value) THREAD_SELF->member = (value)
+#endif /* __ASSEMBLER__ */
 
 #endif /* pt-machine.h */
index 4784053f80758df37500c363770b6d4d699a6ea0..75d3b713df1ca3f345663ea5602b69eb6a877907 100644 (file)
@@ -20,6 +20,7 @@
 #ifndef _TLS_H
 #define _TLS_H
 
+#ifndef __ASSEMBLER__
 #include <stddef.h>
 
 #include <pt-machine.h>
@@ -109,5 +110,6 @@ typedef struct
      THREAD_GETMEM (__descr, p_header.data.dtvp); })
 
 #endif /* FLOATING_STACKS && HAVE_TLS_SUPPORT */
+#endif /* __ASSEMBLER__ */
 
 #endif /* tls.h */
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/sh/smp.h b/linuxthreads/sysdeps/unix/sysv/linux/sh/smp.h
new file mode 100644 (file)
index 0000000..2c0cbe9
--- /dev/null
@@ -0,0 +1,24 @@
+/* Determine whether the host has multiple processors.  SH version.
+   Copyright (C) 2002 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
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+static inline int
+is_smp_system (void)
+{
+  return 0;
+}
index ab3c0932aab702b605cc06246a73cc5dc0151364..3ca6793758fd47c25600dbd1f210d42170f64ba4 100755 (executable)
@@ -60,7 +60,7 @@ fi
 fi
 
 echo $ac_n "checking for GP relative module local relocs""... $ac_c" 1>&6
-echo "configure:20: checking for GP relative module local relocs" >&5
+echo "configure:64: checking for GP relative module local relocs" >&5
 if eval "test \"`echo '$''{'libc_cv_alpha_hidden_gprel'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -75,7 +75,7 @@ int foo (void)
 EOF
 
 libc_cv_alpha_hidden_gprel=no
-if { ac_try='${CC-cc} -S $CFLAGS -O2 -fpic conftest.c 1>&5'; { (eval echo configure:35: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+if { ac_try='${CC-cc} -S $CFLAGS -O2 -fpic conftest.c 1>&5'; { (eval echo configure:79: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
   if grep -q 'bar.*!gprel' conftest.s \
      && grep -q 'baz.*!gprel' conftest.s \
      && ! grep -q 'bar.*!literal' conftest.s \
index 483b42f9f380ba5b98cb12ac05f5445e217be149..350ac5297a8c0bc78837a93b27e85c95947a5bd9 100644 (file)
@@ -573,14 +573,15 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
        case R_SH_TLS_TPOFF32:
          /* The offset is positive, afterward from the thread pointer.  */
 # ifdef RTLD_BOOTSTRAP
-         *reloc_addr = map->l_tls_offset + sym->st_value;
+         *reloc_addr = map->l_tls_offset + sym->st_value + reloc->r_addend;
 # else
          /* We know the offset of object the symbol is contained in.
             It is a positive value which will be added to the thread
             pointer.  To get the variable position in the TLS block
             we add the offset from that of the TLS block.  */
-         if (sym_map != NULL && sym != NULL)
-           *reloc_addr = sym_map->l_tls_offset + sym->st_value;
+         *reloc_addr
+           = ((sym == NULL ? 0 : sym_map->l_tls_offset + sym->st_value)
+              + reloc->r_addend);
 # endif
          break;
 #endif /* use TLS */
index d70730ec1cf9faf36296a96239da591e06ab2abb..b41c7ecdd2bed06768e8f33e165c2cb8e910383b 100644 (file)
@@ -71,12 +71,6 @@ _init:
 .L23:
        .long   __gmon_start__
 #endif
-       .data
-       .global __fpscr_values
-__fpscr_values:
-       .long   0
-       .long   0x80000
-       .previous
 1:
        ALIGN
        END_INIT
index aef4160c92660df3aba96feb9a52c92f74fc248f..5bcb08f236f23c16d2b537ffd1f5b5ed50d78100 100644 (file)
@@ -89,3 +89,7 @@ __data_start:
        .long 0
        .weak data_start
        data_start = __data_start
+       .global __fpscr_values
+__fpscr_values:
+       .long   0
+       .long   0x80000
index 7fc920ecaae4597ecd02ded2969973c9805f1b99..fa4a6c987cf5750a3bf08d8e8eefef58ffc239a7 100644 (file)
@@ -1,7 +1,4 @@
- # Local configure fragment for sysdeps/unix/sysv/linux.
-
-# On Linux, the default is to use libio instead of stdio.
-test $stdio = default && stdio=libio
+ # Local configure fragment for sysdeps/unix/sysv/aix.
 
 # Don't bother trying to generate any glue code to be compatible with the
 # existing system library, because we are the only system library.
index a00eac672f90d7ad83357b08c2d61d24a9d69c9f..d10413a5e7a53cf2006eb8e25f2b9ff865f9f67b 100644 (file)
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
 /* This file just defines the current version number of libc.  */
 
 #define RELEASE "development"
-#define VERSION "2.2.94"
+#define VERSION "2.3"