diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-12-19 23:05:13 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-12-19 23:05:13 +0000 |
commit | 5f5843e30dda46ffc443c492959e206530837c98 (patch) | |
tree | 7bc5ac8db51b676ae724d006fec887e2fdb11c75 /nptl | |
parent | 13880b3014cddd3700e4186a3e07aa6146863b02 (diff) | |
download | glibc-5f5843e30dda46ffc443c492959e206530837c98.tar.gz glibc-5f5843e30dda46ffc443c492959e206530837c98.tar.xz glibc-5f5843e30dda46ffc443c492959e206530837c98.zip |
Update.
2002-12-19 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/sysdep.h: Add support to use AT_SYSINFO information for system calls. * sysdeps/generic/dl-sysdep.h: Define RTLD_PRIVATE_ERRNO to 1 only for ld.so. * elf/rtld.c (_dl_start) [USE___THREAD]: Define initdtv.
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 7 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/createthread.c | 5 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h | 6 |
3 files changed, 17 insertions, 1 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 86fd4ed80f..c71c44b301 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,12 @@ 2002-12-19 Ulrich Drepper <drepper@redhat.com> + * allocatestack.c (allocate_stack) [NEED_DL_SYSINFO]: Set sysinfo + in new TCB. + * sysdeps/unix/sysv/linux/i386/createthread.c (create_thread): Check + that sysinfo is properly initialized. + * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Define RTLD_PRIVATE_ERRNO + to 1 only for ld.so. + * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Define RTLD_CORRECT_DYNAMIC_WEAK. diff --git a/nptl/sysdeps/unix/sysv/linux/i386/createthread.c b/nptl/sysdeps/unix/sysv/linux/i386/createthread.c index be2ca829ab..def163350f 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/createthread.c +++ b/nptl/sysdeps/unix/sysv/linux/i386/createthread.c @@ -108,6 +108,11 @@ create_thread (struct pthread *pd, STACK_VARIABLES_PARMS) } } +#ifdef NEED_DL_SYSINFO + assert (THREAD_GETMEM (THREAD_SELF, header.data.sysinfo) + == pd->header.data.sysinfo); +#endif + /* We rely heavily on various flags the CLONE function understands: CLONE_VM, CLONE_FS, CLONE_FILES diff --git a/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h b/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h index 8f541c5140..f0d4ac7a88 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h +++ b/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h @@ -28,7 +28,11 @@ all the libc functions that ld.so uses are called without PLT and always get the versions linked into ld.so rather than the libc ones. */ -#define RTLD_PRIVATE_ERRNO 1 +#ifdef IS_IN_rtld +# define RTLD_PRIVATE_ERRNO 1 +#else +# define RTLD_PRIVATE_ERRNO 0 +#endif /* This configuration has in libc.so cancellable functions and other functions which have to behave differently if the application uses |