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.
This commit is contained in:
Ulrich Drepper 2002-10-02 06:22:02 +00:00
parent 0674eb08ee
commit aa298c0874
13 changed files with 62 additions and 36 deletions

2
README
View File

@ -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.

View File

@ -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

View File

@ -166,12 +166,11 @@
"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" \
@ -191,12 +190,11 @@
"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" \

View 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

View 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 */

View 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 */

View File

@ -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;
}

View File

@ -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 \

View 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 */

View 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

View 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

View 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.

View File

@ -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"