-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.
#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
"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" \
+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
#ifndef _PT_MACHINE_H
#define _PT_MACHINE_H 1
+#ifndef __ASSEMBLER__
#ifndef PT_EI
# define PT_EI extern inline
#endif
#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 */
#ifndef _TLS_H
#define _TLS_H
+#ifndef __ASSEMBLER__
#include <stddef.h>
#include <pt-machine.h>
THREAD_GETMEM (__descr, p_header.data.dtvp); })
#endif /* FLOATING_STACKS && HAVE_TLS_SUPPORT */
+#endif /* __ASSEMBLER__ */
#endif /* tls.h */
--- /dev/null
+/* 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;
+}
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
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 \
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 */
.L23:
.long __gmon_start__
#endif
- .data
- .global __fpscr_values
-__fpscr_values:
- .long 0
- .long 0x80000
- .previous
1:
ALIGN
END_INIT
.long 0
.weak data_start
data_start = __data_start
+ .global __fpscr_values
+__fpscr_values:
+ .long 0
+ .long 0x80000
- # 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.
/* This file just defines the current version number of libc. */
#define RELEASE "development"
-#define VERSION "2.2.94"
+#define VERSION "2.3"