mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Update.
2002-08-15 Ulrich Drepper <drepper@redhat.com> * csu/Makefile: Define elide-routines.os not static-only-routines. * include/sched.h (__clone): Add varargs at the end. * elf/rtld.c (_dl_start): All TLS_INIT_TP to fail and stop in that case. (TLS_INIT_HELPER): If defined use it. * sysdeps/generic/libc-tls.c (TLS_INIT_HELPER): Likewise. * locale/loadarchive.c (archfname): Add missing slash. * sysdeps/generic/strtold.c (__strtold_internal): Add libc_hidden_def. * wcsmbs/wcstold.c (__wcstold_internal): Add libc_hidden_def.
This commit is contained in:
17
ChangeLog
17
ChangeLog
@ -1,3 +1,14 @@
|
|||||||
|
2002-08-15 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* csu/Makefile: Define elide-routines.os not static-only-routines.
|
||||||
|
|
||||||
|
* include/sched.h (__clone): Add varargs at the end.
|
||||||
|
|
||||||
|
* elf/rtld.c (_dl_start): All TLS_INIT_TP to fail and stop in that
|
||||||
|
case.
|
||||||
|
(TLS_INIT_HELPER): If defined use it.
|
||||||
|
* sysdeps/generic/libc-tls.c (TLS_INIT_HELPER): Likewise.
|
||||||
|
|
||||||
2002-08-15 Roland McGrath <roland@redhat.com>
|
2002-08-15 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
* elf/dl-load.c (lose): Remove [!SHARED] conditional from null check
|
* elf/dl-load.c (lose): Remove [!SHARED] conditional from null check
|
||||||
@ -55,10 +66,10 @@
|
|||||||
|
|
||||||
2002-08-13 Jakub Jelinek <jakub@redhat.com>
|
2002-08-13 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* locale/loadarchive.c (archfname): Add missing slash.
|
* locale/loadarchive.c (archfname): Add missing slash.
|
||||||
|
|
||||||
* sysdeps/generic/strtold.c (__strtold_internal): Add libc_hidden_def.
|
* sysdeps/generic/strtold.c (__strtold_internal): Add libc_hidden_def.
|
||||||
* wcsmbs/wcstold.c (__wcstold_internal): Add libc_hidden_def.
|
* wcsmbs/wcstold.c (__wcstold_internal): Add libc_hidden_def.
|
||||||
|
|
||||||
2002-08-12 Roland McGrath <roland@redhat.com>
|
2002-08-12 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ subdir := csu
|
|||||||
|
|
||||||
routines = init-first libc-start $(libc-init) sysdep version check_fds \
|
routines = init-first libc-start $(libc-init) sysdep version check_fds \
|
||||||
libc-tls
|
libc-tls
|
||||||
static-only-routines = libc-tls
|
elide-routines.os = libc-tls
|
||||||
csu-dummies = $(filter-out $(start-installed-name),crt1.o Mcrt1.o)
|
csu-dummies = $(filter-out $(start-installed-name),crt1.o Mcrt1.o)
|
||||||
extra-objs = start.o gmon-start.o \
|
extra-objs = start.o gmon-start.o \
|
||||||
$(start-installed-name) g$(start-installed-name) $(csu-dummies)
|
$(start-installed-name) g$(start-installed-name) $(csu-dummies)
|
||||||
|
11
elf/rtld.c
11
elf/rtld.c
@ -117,6 +117,11 @@ static hp_timing_t relocate_time;
|
|||||||
static hp_timing_t load_time;
|
static hp_timing_t load_time;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Additional definitions needed by TLS initialization. */
|
||||||
|
#ifdef TLS_INIT_HELPER
|
||||||
|
TLS_INIT_HELPER
|
||||||
|
#endif
|
||||||
|
|
||||||
static ElfW(Addr) _dl_start_final (void *arg, struct link_map *bootstrap_map_p,
|
static ElfW(Addr) _dl_start_final (void *arg, struct link_map *bootstrap_map_p,
|
||||||
hp_timing_t start_time);
|
hp_timing_t start_time);
|
||||||
|
|
||||||
@ -257,10 +262,12 @@ _dl_start (void *arg)
|
|||||||
INSTALL_DTV ((char *) tlsblock + bootstrap_map.l_tls_offset,
|
INSTALL_DTV ((char *) tlsblock + bootstrap_map.l_tls_offset,
|
||||||
initdtv);
|
initdtv);
|
||||||
|
|
||||||
TLS_INIT_TP ((char *) tlsblock + bootstrap_map.l_tls_offset);
|
if (TLS_INIT_TP ((char *) tlsblock + bootstrap_map.l_tls_offset) != 0)
|
||||||
|
_dl_fatal_printf ("cannot setup thread-local storage\n");
|
||||||
# elif TLS_DTV_AT_TP
|
# elif TLS_DTV_AT_TP
|
||||||
INSTALL_DTV (tlsblock, initdtv);
|
INSTALL_DTV (tlsblock, initdtv);
|
||||||
TLS_INIT_TP (tlsblock);
|
if (TLS_INIT_TP (tlsblock) != 0)
|
||||||
|
_dl_fatal_printf ("cannot setup thread-local storage\n");
|
||||||
# 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
|
||||||
|
@ -16,7 +16,7 @@ extern int __sched_rr_get_interval (__pid_t __pid, struct timespec *__t);
|
|||||||
|
|
||||||
/* These are Linux specific. */
|
/* These are Linux specific. */
|
||||||
extern int __clone (int (*__fn) (void *__arg), void *__child_stack,
|
extern int __clone (int (*__fn) (void *__arg), void *__child_stack,
|
||||||
int __flags, void *__arg);
|
int __flags, void *__arg, ...);
|
||||||
extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
|
extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
|
||||||
size_t __child_stack_size, int __flags, void *__arg);
|
size_t __child_stack_size, int __flags, void *__arg);
|
||||||
#endif
|
#endif
|
||||||
|
@ -47,6 +47,12 @@ static struct
|
|||||||
static struct link_map static_map;
|
static struct link_map static_map;
|
||||||
|
|
||||||
|
|
||||||
|
/* Additional definitions needed by TLS initialization. */
|
||||||
|
#ifdef TLS_INIT_HELPER
|
||||||
|
TLS_INIT_HELPER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
__libc_setup_tls (size_t tcbsize, size_t tcbalign)
|
__libc_setup_tls (size_t tcbsize, size_t tcbalign)
|
||||||
{
|
{
|
||||||
|
@ -185,8 +185,8 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* On x86, the set_thread_area syscall was introduced in 2.5.29, but its
|
/* On x86, the set_thread_area syscall was introduced in 2.5.29, but its
|
||||||
semantics was changed in 2.5.30. */
|
semantics was changed in 2.5.30, and again after 2.3.31. */
|
||||||
#if __LINUX_KERNEL_VERSION >= 132382 && defined __i386__
|
#if __LINUX_KERNEL_VERSION >= 132384 && defined __i386__
|
||||||
# define __ASSUME_SET_THREAD_AREA_SYSCALL 1
|
# define __ASSUME_SET_THREAD_AREA_SYSCALL 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user