mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Update.
* sysdeps/generic/libc-tls.c: Undo last patch.
This commit is contained in:
@ -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.
|
||||||
|
@ -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
|
||||||
|
Reference in New Issue
Block a user