1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00
* sysdeps/generic/libc-tls.c: Undo last patch.
This commit is contained in:
Ulrich Drepper
2002-12-07 01:24:46 +00:00
parent 13ece8977b
commit 01054d37f2
2 changed files with 6 additions and 9 deletions

View File

@ -1,5 +1,7 @@
2002-12-06 Ulrich Drepper <drepper@redhat.com> 2002-12-06 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/libc-tls.c: Undo last patch.
* include/wctype.h: Define iswalnum with libc_hidden_proto. * include/wctype.h: Define iswalnum with libc_hidden_proto.
* include/signal.h: Define raise with libc_hidden_proto. * include/signal.h: Define raise with libc_hidden_proto.

View File

@ -21,7 +21,6 @@
#include <ldsodefs.h> #include <ldsodefs.h>
#include <tls.h> #include <tls.h>
#include <unistd.h> #include <unistd.h>
#include <stdio.h>
#ifdef SHARED #ifdef SHARED
#error makefile bug, this file is for static only #error makefile bug, this file is for static only
@ -169,8 +168,8 @@ __libc_setup_tls (size_t tcbsize, size_t tcbalign)
/* Initialize the TLS block. */ /* Initialize the TLS block. */
# if TLS_TCB_AT_TP # if TLS_TCB_AT_TP
static_dtv[2].pointer = ((char *) tlsblock + tcb_offset static_dtv[2].pointer = ((char *) tlsblock + tcb_offset
- roundup (memsz, align ?: 1)); - roundup (memsz, align));
static_map.l_tls_offset = roundup (memsz, align ?: 1); static_map.l_tls_offset = roundup (memsz, align);
# elif TLS_DTV_AT_TP # elif TLS_DTV_AT_TP
tcb_offset = roundup (tcbsize, align); tcb_offset = roundup (tcbsize, align);
static_dtv[2].pointer = (char *) tlsblock + tcb_offset; static_dtv[2].pointer = (char *) tlsblock + tcb_offset;
@ -178,10 +177,8 @@ __libc_setup_tls (size_t tcbsize, size_t tcbalign)
# else # else
# error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined" # error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined"
# endif # endif
/* sbrk gives us zero'd memory, so we don't need this.
memset (__mempcpy (static_dtv[2].pointer, initimage, filesz), memset (__mempcpy (static_dtv[2].pointer, initimage, filesz),
'\0', memsz - filesz); '\0', memsz - filesz);
*/
/* Install the pointer to the dtv. */ /* Install the pointer to the dtv. */
@ -189,15 +186,13 @@ __libc_setup_tls (size_t tcbsize, size_t tcbalign)
# if TLS_TCB_AT_TP # if TLS_TCB_AT_TP
INSTALL_DTV ((char *) tlsblock + tcb_offset, static_dtv); INSTALL_DTV ((char *) tlsblock + tcb_offset, static_dtv);
const char *lossage = TLS_INIT_TP ((char *) tlsblock + tcb_offset, 0); TLS_INIT_TP ((char *) tlsblock + tcb_offset, 0);
# elif TLS_DTV_AT_TP # elif TLS_DTV_AT_TP
INSTALL_DTV (tlsblock, static_dtv); INSTALL_DTV (tlsblock, static_dtv);
const char *lossage = TLS_INIT_TP (tlsblock, 0); TLS_INIT_TP (tlsblock, 0);
# else # else
# error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined" # error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined"
# endif # endif
if (__builtin_expect (lossage != NULL, 0))
__libc_fatal (lossage);
/* We have to create a fake link map which normally would be created /* We have to create a fake link map which normally would be created
by the dynamic linker. It just has to have enough information to by the dynamic linker. It just has to have enough information to