about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-10-02 06:22:02 +0000
committerUlrich Drepper <drepper@redhat.com>2002-10-02 06:22:02 +0000
commitaa298c0874c545acf0fc40f8d544cb96f0270990 (patch)
tree6c96da4360d92f1976c4d952d4db77f0235b02e8 /sysdeps
parent0674eb08eee7e4f8c9c31877b9579e7ab7a23f72 (diff)
downloadglibc-aa298c0874c545acf0fc40f8d544cb96f0270990.tar.gz
glibc-aa298c0874c545acf0fc40f8d544cb96f0270990.tar.xz
glibc-aa298c0874c545acf0fc40f8d544cb96f0270990.zip
Update.
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.
Diffstat (limited to 'sysdeps')
-rwxr-xr-xsysdeps/alpha/elf/configure4
-rw-r--r--sysdeps/sh/dl-machine.h7
-rw-r--r--sysdeps/sh/elf/initfini.c6
-rw-r--r--sysdeps/sh/elf/start.S4
-rw-r--r--sysdeps/unix/sysv/aix/configure5
5 files changed, 11 insertions, 15 deletions
diff --git a/sysdeps/alpha/elf/configure b/sysdeps/alpha/elf/configure
index ab3c0932aa..3ca6793758 100755
--- a/sysdeps/alpha/elf/configure
+++ b/sysdeps/alpha/elf/configure
@@ -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 \
diff --git a/sysdeps/sh/dl-machine.h b/sysdeps/sh/dl-machine.h
index 483b42f9f3..350ac5297a 100644
--- a/sysdeps/sh/dl-machine.h
+++ b/sysdeps/sh/dl-machine.h
@@ -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 */
diff --git a/sysdeps/sh/elf/initfini.c b/sysdeps/sh/elf/initfini.c
index d70730ec1c..b41c7ecdd2 100644
--- a/sysdeps/sh/elf/initfini.c
+++ b/sysdeps/sh/elf/initfini.c
@@ -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
diff --git a/sysdeps/sh/elf/start.S b/sysdeps/sh/elf/start.S
index aef4160c92..5bcb08f236 100644
--- a/sysdeps/sh/elf/start.S
+++ b/sysdeps/sh/elf/start.S
@@ -89,3 +89,7 @@ __data_start:
 	.long 0
 	.weak data_start
 	data_start = __data_start
+	.global __fpscr_values
+__fpscr_values:
+	.long   0
+	.long   0x80000
diff --git a/sysdeps/unix/sysv/aix/configure b/sysdeps/unix/sysv/aix/configure
index 7fc920ecaa..fa4a6c987c 100644
--- a/sysdeps/unix/sysv/aix/configure
+++ b/sysdeps/unix/sysv/aix/configure
@@ -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.