Ulrich Drepper
0eb1828169
Update.
...
2003-03-14 Ulrich Drepper <drepper@redhat.com>
* localedata/mn_MN: New file.
Contributed by Sanlig Badral <badral@chinggis.com>.
2003-03-14 22:04:21 +00:00
Ulrich Drepper
c44bf9aa9e
Update.
...
2003-03-14 Ulrich Drepper <drepper@redhat.com>
* sysdeps/x86_64/tls.h (THREAD_GETMEM): Mark asms volatile.
(THREAD_GETMEM_NC): Likewise.
2003-03-14 09:46:25 +00:00
Ulrich Drepper
564cd8b67e
Update.
...
2003-03-13 Ulrich Drepper <drepper@redhat.com>
* posix/getconf.c: Recognize POSIX2_SYMLINKS.
* sysdeps/generic/bits/confname.h: Define _PC_2_SYMLINKS.
* sysdeps/posix/fpathconf.c: Handle _PC_2_SYMLINKS.
* sysdeps/posix/pathconf.c: Likewise.
* sysdeps/unix/sysv/linux/fpathconf.c: Likewise.
* sysdeps/unix/sysv/linux/pathconf.c: Likewise.
* sysdeps/unix/sysv/linux/pathconf.h: Define statfs_symlinks.
* sysdeps/unix/sysv/linux/linux_fsinfo.h: Define some more magic
words.
2003-03-14 06:28:45 +00:00
Roland McGrath
6461e57784
* elf/Makefile ($(objpfx)librtld.mk): Tweak regexp so that one-line
...
entries in the map file match too.
2003-03-13 21:51:07 +00:00
Ulrich Drepper
b5ec56172d
Update.
...
2003-03-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/ia64/sysdep.h (BREAK_INSN_1, BREAK_INSN,
ASM_OUTARGS_0, ASM_OUTARGS_1, ASM_OUTARGS_2, ASM_OUTARGS_3,
ASM_OUTARGS_4, ASM_OUTARGS_5, ASM_OUTARGS_6): Define.
(INTERNAL_SYSCALL, INLINE_SYSCALL): Use it. Make syscall arguments
clobbered by the syscall.
(ASM_ARGS_1, ASM_ARGS_2, ASM_ARGS_3, ASM_ARGS_4, ASM_ARGS_5,
ASM_ARGS_6): Change constraints from r to index of corresponding
output register.
* sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Swap
ptid and ctid to match kernel.
* sysdeps/unix/sysv/linux/ia64/system.c (FORK): Likewise.
* sysdeps/powerpc/powerpc64/elf/configure.in: Remove
* sysdeps/powerpc/powerpc64/elf/configure: Regenerated.
2003-03-13 04:41:39 +00:00
Ulrich Drepper
7588880f50
Update.
...
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
libc_multiple_threads.
* sysdeps/unix/sysv/linux/libc_pthread_init.c: Move definition of
__libc_multiple_threads to...
* sysdeps/unix/sysv/linux/libc_multiple_threads.c: ...here. New file.
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Remove unnecessary
versioning.
* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_once.S
(__pthread_once_internal): Define.
* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Use shlib-compat.h
macros instead of .symver directly.
* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
2003-03-13 01:51:12 +00:00
Ulrich Drepper
d0369fb8a9
Update.
...
2003-03-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/x86_64/tls.h [__ASSEMBLER__]: Include tcb-offsets.h.
* sysdeps/x86_64/tcb-offsets.sym: New file.
* sysdeps/x86_64/Makefile: New file.
* sysdeps/i386/tcb-offsets.sym: Add SELF.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Use SELF
to access own pthread_t in TCB.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: New
file.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S: New
file.
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
(pthread_cond_t): Add padding.
2003-03-12 20:03:07 +00:00
Roland McGrath
0bb2ac85a6
* pthread-errnos.sym: New file.
...
* Makefile (gen-as-const-headers): New variable, list that file.
* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Include generated
header <pthread-errnos.h> instead of defining errno values here.
* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sem_trywait.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sem_post.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sem_wait.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/lowlevelmutex.S: Likewise.
* sysdeps/i386/i486/pthread_spin_trylock.S: Likewise.
* sysdeps/x86_64/pthread_spin_trylock.S: Likewise.
* sysdeps/sh/pthread_spin_trylock.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.
* sysdeps/unix/sysv/linux/fork.c: Add an assert to check that
CLONE_CHILD_SETTID worked.
2003-03-12 10:30:26 +00:00
Ulrich Drepper
da49194d2d
Update.
...
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: New file.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: New file.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S: New file.
2003-03-12 09:53:44 +00:00
Ulrich Drepper
35e148cb96
Update.
...
2003-03-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S
(__pthread_rwlock_timedwrlock): Add missing opcode suffix.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S
(__pthread_rwlock_timedrdlock): Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
(__pthread_rwlock_wrlock): Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S
(__pthread_rwlock_rdlock): Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: New file.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Return
result of lock re-get if it fails.
2003-03-12 08:57:35 +00:00
Ulrich Drepper
5a03acfe37
Update.
...
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Fix asm syntax.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
* sysdeps/x86_64/tls.h (THREAD_SELF, THREAD_GETMEM, THREAD_GETMEM_NC,
THREAD_SETMEM, THREAD_SETMEM_NC): Correct asm syntax.
* allocatestack.c [! TLS_MULTIPLE_THREADS_IN_TCB] (allocate_stack):
Initialize *__libc_multiple_threads_ptr not __libc_multiple_threads.
* sysdeps/pthread/createthread.c [! TLS_MULTIPLE_THREADS_IN_TCB]
(create_thread): Likewise.
Define __pthread_multiple_threads and __libc_multiple_threads_ptr.
* init.c (__pthread_initialize_minimal_internal): Initialize
__libc_multiple_threads_ptr if necessary.
* pthreadP.h: Adjust prototype for __libc_pthread_init. Declare
__pthread_multiple_threads and __libc_multiple_threads_ptr.
* sysdeps/unix/sysv/linux/libc_pthread_init.c: Define
__libc_multiple_threads.
(__libc_pthread_init): Return pointer to __libc_pthread_init if
necessary.
* sysdeps/i386/tls.h (THREAD_SETMEM): Fix one-byte variant.
(THREAD_SETMEM_NC): Likewise.
* sysdeps/x86_64/pthread_spin_trylock.c: Removed.
* sysdeps/x86_64/pthread_spin_trylock.S: New file.
* sysdeps/x86_64/pthread_spin_unlock.c: Removed.
* sysdeps/x86_64/pthread_spin_unlock.S: New file.
* sysdeps/i386/i486/pthread_spin_trylock.S (pthread_spin_trylock):
Eliminate one entire instruction.
2003-03-12 05:45:00 +00:00
Ulrich Drepper
32a589b1ea
Update.
...
* cancellation.c (__pthread_enable_asynccancel_2): New function.
* pthreadP.h: Declare __pthread_enable_asynccancel_2.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
(__pthread_cond_timedwait): Use __pthread_enable_asynccancel_2
instead of __pthread_enable_asynccancel.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
(__pthread_cond_wait): Likewise.
* sysdeps/pthread/pthread_cond_timedwait.c
(__pthread_cond_timedwait): Likewise.
* sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Likewise.
2003-03-11 23:26:35 +00:00
Ulrich Drepper
3e976b962a
Update.
...
2003-03-11 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
(__condvar_cleanup): Wake up all waiters in case we got signaled
after being woken up but before disabling asynchronous
cancellation.
* sysdeps/pthread/pthread_cond_wait.c (__condvar_cleanup): Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
(__condvar_cleanup): Likewise.
* init.c (__NR_set_tid_address): If already defined, don't redefine.
Make it an error if architecture has no #if case. Add x86-64.
* sysdeps/unix/sysv/linux/x86_64/Makefile: Add flags for
pt-initfini.s generation.
* sysdeps/x86_64/tls.h: Include <asm/prctl.h>.
(TLS_INIT_TP): Fix typo.
2003-03-11 22:02:29 +00:00
Ulrich Drepper
6c477888ca
Update.
...
2003-03-11 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (__NR_pread64): Define
to __NR_pread if not defined.
(__NR_pwrite64): Define to __NR_pwrite if not defined.
2003-03-11 19:40:00 +00:00
Ulrich Drepper
ea69482383
Update.
...
2003-03-11 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: New file.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: New file.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: New file.
2003-03-11 10:38:41 +00:00
Roland McGrath
b33e61633a
* sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): If CNT == 1,
...
allocate space even for the trailing '/'.
Reported by John Reiser <jreiser@BitWagon.com>.
* sysdeps/unix/sysv/linux/ia64/sysdep.h (LOAD_ARGS_6, ASM_ARGS_6,
ASM_CLOBBERS_6): Define.
(ASM_CLOBBERS_5): Use ASM_CLOBBERS_6.
* sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Reorder arguments
to match IA-32 order.
* sysdeps/unix/sysv/linux/i386/clone.S: Fix comment.
2003-03-11 09:30:37 +00:00
Ulrich Drepper
db5f2fc93d
Update.
...
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: New file.
* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: New file.
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: New file.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: New file.
* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Fix error value in
unused code.
2003-03-11 06:52:08 +00:00
Ulrich Drepper
6a4263e3d5
Update.
...
* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: New file
* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Likewise.
2003-03-11 05:52:12 +00:00
Ulrich Drepper
3de7c2a965
Update.
...
* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add
lowlevelbarrier.sym.
* sysdeps/unix/sysv/linux/lowlevelbarrier.sym: New file.
* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S:
Include lowlevelbarrier.h and don't define offsets locally.
2003-03-11 05:26:32 +00:00
Ulrich Drepper
2a544d82ce
Update.
...
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
(__lll_mutex_lock_wait): Reverse order of first two parameters.
(__lll_mutex_timedlock_wait): Likewise.
(lll_mutex_lock): Adjust asm for that.
(lll_mutex_timedlock): Likewise. Mark cx, cc, r10 as clobbered.
(lll_lock): Adjust asm for operand order change.
* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: New file.
* sysdeps/unix/sysv/linux/x86_64/libc-lowlevelmutex.S: New file.
2003-03-11 04:07:00 +00:00
Ulrich Drepper
ec06436c5b
Update.
...
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_lock_wait):
Reverse order of parameters.
(__lll_timedwait_tid): Remove regparms attribute.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: New file.
* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: New file.
2003-03-11 01:01:24 +00:00
Ulrich Drepper
3273832c67
Update.
...
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
(__lll_timedwait_tid): Remove one unnecessary instruction.
2003-03-11 00:49:38 +00:00
Ulrich Drepper
51f32ab883
Update.
...
* sysdeps/unix/sysv/linux/sh/lowlevelmutex.S: Define
__lll_mutex_timedlock_wait only for NOT_IN_libc.
* sysdeps/unix/sysv/linux/sh/libc-lowlevelmutex.S: Include
lowlevelmutex.S.
* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define
lll_unlock_wake_cb, __lll_wait_tid, and __lll_timedwait_tid only
for NOT_IN_libc.
* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Include
lowlevellock.S.
2003-03-10 23:42:41 +00:00
Ulrich Drepper
ebf0cbc5af
Fix typo.
...
* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Not needed anymore.
2003-03-10 23:02:10 +00:00
Ulrich Drepper
fad48d9e2d
Update.
...
* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Don't define
LOCK is already defined. Don't define __lll_mutex_timedlock_wait
for libc.so.
* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Only
define LOCK here (if UP is not defined). The actual code is in
lowlevelmutex.S.
2003-03-10 22:27:01 +00:00
Ulrich Drepper
9356d063df
Update.
...
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Don't define
LOCK is already defined. Don't define lll_unlock_wake_cb and
__lll_timedwait_tid for libc.so.
* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Only
define LOCK here (if UP is not defined). The actual code is in
lowlevellock.S.
2003-03-10 22:11:26 +00:00
Ulrich Drepper
146fa1ee68
Update.
...
* sysdeps/unix/sysv/linux/sh/lowlevelrwlock.h: Removed.
2003-03-10 21:44:36 +00:00
Ulrich Drepper
106f6f9d9d
Update.
...
* sysdeps/unix/sysv/linux/s390/lowlevelsem.h: Likewise.
* sysdeps/unix/sysv/linux/s390/sem_post.c: Include lowlevellock.h
instead of lowlevelsem.h.
* sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Likewise.
* sysdeps/unix/sysv/linux/s390/sem_trywait.c: Likewise.
* sysdeps/unix/sysv/linux/s390/sem_wait.c: Likewise.
2003-03-10 21:42:52 +00:00
Ulrich Drepper
0be8ee21f0
Update.
...
* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: New needed anymore.
2003-03-10 21:32:44 +00:00
Ulrich Drepper
c915e5ad56
Update.
...
* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add
lowlevelrwlock.sym.
* sysdeps/unix/sysv/linux/lowlevelrwlock.sym: New file.
* sysdeps/unix/sysv/linux/i386/lowlevelrwlock.h: Removed.
2003-03-10 21:03:03 +00:00
Ulrich Drepper
4c3c2e8a6e
Update.
...
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_trylock): Fix
register loading.
* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_trylock): Undo
last changed. D'oh.
2003-03-10 19:37:46 +00:00
Roland McGrath
d38c777e8d
* dlfcn/Makefile (libdl-routines): Add dladdr1.
...
* dlfcn/dladdr1.c: New file.
* dlfcn/dlfcn.h [__USE_GNU]: Declare dladdr1.
[__USE_GNU] (RTLD_DL_SYMENT, RTLD_DL_LINKMAP): New enum constants.
* elf/dl-addr.c (_dl_addr): Take new args, a struct link_map ** and
a const ElfNN_Sym ** to fill in.
* include/dlfcn.h: Update decl. Include <link.h>.
* dlfcn/dladdr.c (dladdr): Update caller.
* malloc/mtrace.c (tr_where): Likewise.
* sysdeps/generic/elf/backtracesyms.c: Likewise.
* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
* dlfcn/Versions (libdl: GLIBC_2.3.3): New set, add dladdr1.
* Versions.def (libdl): Define GLIBC_2.3.3 set.
2003-03-10 10:01:35 +00:00
Ulrich Drepper
2b30b2e51f
Update.
...
2003-03-10 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: New file.
* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Remove declaration
of __libc_locking_needed.
(lll_trylock): Initialize %eax to zero.
* sysdeps/unix/sysv/linux/x86_64/lowlevelcond.h: New file.
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Update
pthread_cond_t definition.
* sysdeps/unix/sysv/linux/x86_64/fork.c: New file.
2003-03-10 09:27:49 +00:00
Roland McGrath
e48f96382f
* sysdeps/unix/make-syscalls.sh: Generate $(compile-syscall) for
...
assembler command.
* sysdeps/unix/Makefile (compile-syscall): New variable.
Pass -g0 to compiler for assembling syscall stubs from stdin.
* sysdeps/i386/sysdep.h [HAVE_CPP_ASM_DEBUGINFO]
(STABS_CURRENT_FILE, STABS_CURRENT_FILE1, STABS_FUN, STABS_FUN_END):
Define these to do nothing.
* configure.in: New check for -g on .S files.
* configure: Regenerated.
* config.make.in (have-cpp-asm-debuginfo): New variable.
* config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef.
* Makeconfig (ASFLAGS): New variable, if undefined and
$(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS).
* Makerules (compile.S, COMPILE.S): Use $(ASFLAGS).
2003-03-10 09:11:13 +00:00
Ulrich Drepper
7b44a5e0a7
Update.
...
* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: New file.
2003-03-10 08:00:02 +00:00
Ulrich Drepper
c2e5e08573
Update.
...
* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Fix many
leftovers from the ia32 code.
* sysdeps/unix/sysv/linux/i386/pthread_once.S: Remove unneccessary
memory load.
(clear_once_control): Don't load %esi.
* sysdeps/x86_64/tls.h: Remove all traces of segment descriptor
handling.
* sysdeps/unix/sysv/linux/x86_64/fork.c: New file.
2003-03-10 07:39:55 +00:00
Ulrich Drepper
cd4b2a553a
Update.
...
* sysdeps/unix/sysv/linux/s390/createthread.c: Moved to...
* sysdeps/unix/sysv/linux/createthread.c: ...here.
2003-03-10 06:32:42 +00:00
Ulrich Drepper
c37cae9e8a
Update.
...
* po/da.po: Likewise.
2003-03-09 23:59:21 +00:00
Ulrich Drepper
ccf1d5737a
Update.
...
* tst-tls2.c (do_test): Add TEMP_FAILURE_RETRY around sem_wait call.
* tst-signal3.c (do_test): Likewise.
* tst-sem5.c (do_test): Likewise.
* tst-kill6.c (do_test): Likewise.
* tst-tls3.c (do_test): Likewise. Include <errno.h>.
* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Use add/sub instead
of inc/dec.
* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Likewise.
* sysdeps/unix/sysv/linux/i386/pthread_once.S: Likewise
* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
2003-03-08 10:30:42 +00:00
Ulrich Drepper
d130a34156
Update.
...
2003-03-08 Ulrich Drepper <drepper@redhat.com>
* allocatestack.c (allocate_stack): If mprotect() fails free the
TLS memory.
2003-03-08 09:41:16 +00:00
Ulrich Drepper
41d4d22399
Update.
...
* sysdeps/i386/i486/bits/atomic.h: Fix a few unused definitions.
* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Remove all trace of
lll_wake_tid. This was used only to work around kernel limits in
the early days.
* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.
2003-03-07 18:37:10 +00:00
Ulrich Drepper
bc6389ad56
Update.
...
2003-03-07 Ulrich Drepper <drepper@redhat.com>
* init.c (__static_tls_align_m1): Renamed from __static_tls_align.
(__pthread_initialize_minimal_internal): Change initialization of
__static_tls_align_m1 appropriately.
* pthreadP.h (__static_tls_align_m1): Renamed from
__static_tls_align.
* allocatestack.c (allocate_stack): Use __static_tls_align_m1
instead of __static_tls_align-1.
2003-03-07 09:55:05 +00:00
Ulrich Drepper
181c92c2e6
Update.
2003-03-07 05:32:16 +00:00
Ulrich Drepper
0de28d5c71
Update.
...
2003-03-04 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ia64/fpu/libm-test-ulps: Regenerated.
2003-03-04 23:01:30 +00:00
Ulrich Drepper
6245b6ae6a
Update.
...
* pthread_attr_setstack.c: Moved to...
* sysdeps/pthread/pthread_attr_setstack.c: ...here. New file.
* pthread_attr_setstackaddr.c: Moved to...
* sysdeps/pthread/pthread_attr_setstackaddr.c: ...here. New file.
2003-03-04 21:28:14 +00:00
Ulrich Drepper
518b53086c
Update.
...
* pthread_create.c: Define __pthread_keys using nocommon
attribute, not by placing it explicitly in bss.
Remove DEFINE_DEALLOC definition. Not needed anymore.
* allocatestack.c: Define ARCH_MAP_FLAGS if not already defined.
Use it in mmap call to allocate stacks.
* sysdeps/pthread/createthread.c (create_thread): Fix comment.
2003-03-04 20:55:08 +00:00
Ulrich Drepper
cc775edf2d
Update.
...
* sysdeps/generic/dl-sysdep.h: Add double include protection.
2003-03-04 08:56:12 +00:00
Ulrich Drepper
f04a27210a
Update.
...
* sysdeps/unix/sysv/linux/s390/dl-sysdep.h: Removed. The generic
version is just fine.
2003-03-04 07:58:19 +00:00
Ulrich Drepper
7508154210
Update.
...
* po/tr.po: Update from translation team.
2003-03-04 04:22:47 +00:00
Ulrich Drepper
87a36c0975
Update.
...
* po/tr.po: Update from translation team.
2003-03-04 04:20:46 +00:00
Ulrich Drepper
4f6f0a8fcf
Update.
...
2003-03-03 Ulrich Drepper <drepper@redhat.com>
* include/sched.h (__clone2): Use ... instead of adding all the
new parameters.
2003-03-03 22:02:13 +00:00
Ulrich Drepper
7ce5c1640c
Update.
...
2003-03-03 Martin Schwidefsky <schwidefsky@de.ibm.com>
* atomic.h (atomic_exchange_and_add): Return newval, not oldval.
* sysdeps/pthread/pthread_cond_timedwait.c (__pthread_cond_timedwait):
Fix handling of cancellation and failing pthread_mutex_unlock call.
* sysdeps/pthread/pthread_cond_wait.c (__condvar_cleanup): Likewise.
(__pthread_cond_wait): Likewise.
* sysdeps/pthread/pthread_rwlock_timedrdlock.c
(pthread_rwlock_timedrdlock): Fix clobber of result variable by
lll_futex_timed_wait call.
* sysdeps/pthread/pthread_rwlock_timedwrlock.c
(pthread_rwlock_timedwrlock): Likewise.
* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c (___lll_lock):
Don't define lll_unlock_wake_cb and ___lll_timedwait_tid in libc.so.
* sysdeps/unix/sysv/linux/s390/lowlevellock.c: Remove XXX comments.
* sysdeps/unix/sysv/linux/s390/sem_post.c (__new_sem_post): Fix
check of lll_futex_wake return value.
2003-03-03 21:11:12 +00:00
Roland McGrath
ea6a015bd7
* sysdeps/ia64/dl-fptr.c (__ia64_make_fptr): Add const to MAP arg.
...
* sysdeps/ia64/dl-machine.h: Update decl.
2003-03-03 08:44:46 +00:00
Ulrich Drepper
1be3d6642e
Update.
...
* elf/dl-load.c (struct filebuf): Reduce buf array to 512 bytes.
2003-03-03 07:31:25 +00:00
Ulrich Drepper
885bafa14a
Update.
...
2003-03-02 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/bits/time.h: Define CLOCK_MONOTONIC.
* sysdeps/posix/clock_getres.c: Define code for CLOCK_REALTIME only
if not already defined. Use SYSDEP_GETRES to allow other files to
provide alternative implementations.
* sysdeps/unix/sysv/linux/clock_getres.c: New file
* sysdeps/unix/clock_gettime.c: Define code for CLOCK_REALTIME only
if not already defined. Use SYSDEP_GETTIME to allow other files to
provide alternative implementations.
* sysdeps/unix/sysv/linux/clock_gettime.c: New file.
* sysdeps/unix/clock_settime.c: Define code for CLOCK_REALTIME only
if not already defined. Use SYSDEP_GETTIME to allow other files to
provide alternative implementations.
* sysdeps/unix/sysv/linux/clock_settime.c: New file.
* sysdeps/unix/clock_nanosleep.c: Use SYSDEP_NANOSLEEP to allow
other files to provide alternative implementations. Rearrange
tests for invalid parameters.
* sysdeps/unix/sysv/linux/clock_nanosleep.c: New file.
* sysdeps/unix/sysv/linux/sysconf.c: New file.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_POSIX_TIMERS for Linux 2.4.63 and up.
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
_POSIX_MONOTONIC_CLOCK.
2003-03-03 05:29:09 +00:00
Ulrich Drepper
4adacf579f
Update.
...
2003-03-02 Ulrich Drepper <drepper@redhat.com>
* tst-cancel4.c (tf_sleep): Lower sleep time a bit to not upset
recent kernels.
2003-03-03 01:20:35 +00:00
Ulrich Drepper
86bfff4d52
Update.
...
2003-03-01 Ulrich Drepper <drepper@redhat.com>
* descr.h (struct pthread): Move cleanup field to the front.
2003-03-02 07:54:30 +00:00
Ulrich Drepper
748bec0865
Update.
...
* sysdeps/i386/tcb-offsets.sym: Add CLEANUP and CLEANUP_PREV.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Inline
__pthread_cleanup_pop functionality.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
2003-03-02 07:52:31 +00:00
Roland McGrath
d114938564
* configure.in: In "running configure fragment for" message,
...
omit $srcdir from the name if we prepended it.
* configure: Regenerated.
2003-03-01 22:40:30 +00:00
Ulrich Drepper
bd8bb78ba2
Update.
...
2003-03-01 Ulrich Drepper <drepper@redhat.com>
* descr.h (struct pthread): Move tid field to the front now that
it is often used.
* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S
(__lll_mutex_timedlock_wait): Remove.
(__lll_mutex_unlock_wake): Don't save, load, and restore %esi.
* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S
(__lll_mutex_unlock_wake): Don't save, load, and restore %esi.
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
(lll_unlock_wake_cb): Don't save and restore %esi.
(__lll_unlock_wake): Add alignment. Don't save, load, and restore
%esi.
(__lll_timedwait_tid): Add alignment.
* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S
(__lll_unlock_wake): Add alignment. Don't save, load, and restore
%esi.
(__lll_timedwait_tid): Removed.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
(__pthread_cond_broadcast): Don't save, load, and restore %esi.
* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S
(pthread_barrier_wait): Don't save, load, and restore %esi for
last thread.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
(__pthread_cond_signal): Don't save, load, and restore %esi.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S
(__pthread_rwlock_unlock): Don't save, load, and restore %esi.
* sysdeps/unix/sysv/linux/i386/i486/sem_post.S (__new_sem_post):
Don't save, load, and restore %esi.
2003-03-01 09:45:23 +00:00
Ulrich Drepper
567fb22ae3
Update.
...
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S:
Release lock before waking up the waiters.
2003-02-27 23:45:12 +00:00
Ulrich Drepper
427f5fa1a4
Update.
...
2003-02-27 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/fpu/libm-test-ulps: Increase ULPs for yn due to
code generation changes in recent gcc.
2003-02-27 22:29:25 +00:00
Ulrich Drepper
a2d83cfb21
Update.
...
* tst-rwlock9.c (writer_thread): Correct adding TIMEOUT.
(reader_thread): Likewise.
2003-02-27 19:49:35 +00:00
Ulrich Drepper
d2637c7053
Update.
...
2003-02-24 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/sysdep.S (__syscall_error): Fix
unwind info.
2003-02-27 10:32:38 +00:00
Ulrich Drepper
dbf6131c49
Update.
...
Patch by Neil Brown <neilb@cse.unsw.edu.au> [PR libc/4973].
2003-02-27 08:03:17 +00:00
Ulrich Drepper
695799feb3
Update.
...
* Makefile (tests): Add tst-dlsym1.
* tst-dlsym1.c: New file.
2003-02-27 04:42:04 +00:00
Ulrich Drepper
b1531183c5
Update.
...
2003-02-26 Ulrich Drepper <drepper@redhat.com>
* init.c (__pthread_initialize_minimal_internal): Set
GL(dl_error_catch_tsd) to __libc_dl_error_tsd.
* Versions (libc:GLIBC_PRIVATE): Export __libc_dl_error_tsd.
2003-02-27 04:12:53 +00:00
Ulrich Drepper
3857ca787c
Update.
...
* sem_open.c (sem_open): Fix handling of O_CREAT without O_EXCL.
2003-02-25 06:19:22 +00:00
Ulrich Drepper
80d807799f
Update.
...
2003-02-24 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Remove EACCES
test.
2003-02-25 02:46:33 +00:00
Ulrich Drepper
8637130890
Update.
...
* tst-rwlock8.c (reader_thread): Remove unused variable.
2003-02-25 00:10:26 +00:00
Ulrich Drepper
ffeb4481f4
Update.
...
* Makefile: Add rules to build and run tst-tls3.
* tst-tls3.c: New file.
* tst-tls3mod.c: New file.
2003-02-24 10:03:02 +00:00
Ulrich Drepper
18a535792b
Update.
...
* sysdeps/pthread/pthread_rwlock_rdlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_timedrdlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_timedwrlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_unlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_wrlock.c: Likewise.
2003-02-24 09:23:15 +00:00
Ulrich Drepper
3724f268b1
Update.
...
2003-02-24 Ulrich Drepper <drepper@redhat.com>
* Makefile (tests): Add tst-rwlock8 and tst-rwlock9.
* tst-rwlock8.c: New file.
* tst-rwlock9.c: New file.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Fix
complete broken rwlock implementation.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
2003-02-24 08:50:25 +00:00
Roland McGrath
8915cc4099
* Makefile (nptl-version): Change regexp so case sensitivity is ok.
2003-02-24 07:19:55 +00:00
Ulrich Drepper
ecf289594a
Update.
...
* Makefile (tests): Add tst-context1.
* tst-context1.c: New file.
2003-02-24 04:59:26 +00:00
Ulrich Drepper
5e47b76b50
Update.
...
* Makefile (tests): Add tst-tls1 and tst-tls2.
* tst-tls1.c: New file.
* tst-tls2.c: New file.
2003-02-24 03:50:46 +00:00
Ulrich Drepper
5a6bbb4160
Update.
...
* posix/Makefile (CFLAGS-regex.c): Remove RE_ENABLE_I18N definition.
* posix/regex_internal.h (RE_ENABLE_I18N): Pretty printing.
2003-02-23 09:58:08 +00:00
Ulrich Drepper
fd1a0d0c7c
Update.
...
2003-02-23 Ulrich Drepper <drepper@redhat.com>
* resolv/res_libc.c [USE___THREAD] (_res): Initialize _vcsock
element to -1.
2003-02-23 09:16:11 +00:00
Ulrich Drepper
b1b8e747d4
Update.
...
* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Shave
off 3 more bytes by using offset-less instructions when possible.
2003-02-23 07:20:34 +00:00
Ulrich Drepper
c780aa2137
Update.
...
* catgets/Makefile: Add rules to run test2.msg test.
* catgets/test2.msg: New file.
2003-02-22 23:19:31 +00:00
Ulrich Drepper
757f9fcb6f
Update.
...
* iconv/iconv_prog.c (main): Unify messages.
2003-02-22 20:02:35 +00:00
Roland McGrath
5148559c88
* pthread_create.c (start_thread): Call __libc_thread_freeres.
2003-02-22 08:33:33 +00:00
Ulrich Drepper
71028edd8f
Update.
...
* Makefile (tests): Add tst-eintr1.
(distribute): Add eintr.c.
* tst-eintr1.c: New file.
* eintr.c: New file.
2003-02-22 05:24:39 +00:00
Ulrich Drepper
9c03686dcc
Update.
...
* sysdeps/unix/sysv/linux/bits/signum.h (__SIGRTMAX): Define as _NSIG.
2003-02-22 00:02:57 +00:00
Ulrich Drepper
e814f74891
Update.
...
* pthread_cancel.c (pthread_cancel): Use tkill directly.
* sysdeps/unix/sysv/linux/pthread_kill.c (__pthread_kill):
Disallow sending SIGCANCEL.
tst-kill3, tst-kill4, tst-kill5.
* tst-kill1.c: New file.
* tst-kill2.c: New file.
* tst-kill3.c: New file.
* tst-kill5.c: New file.
* tst-basic7.c: Renamed to...
* tst-kill4.c: ...this.
2003-02-21 21:07:28 +00:00
Ulrich Drepper
ab2d98e38e
Update.
...
2003-02-21 Ulrich Drepper <drepper@redhat.com>
* Makefile (tests): Remove tst-basic7. Add tst-kill1, tst-kill2,
tst-kill3, tst-kill4.
2003-02-21 20:29:49 +00:00
Roland McGrath
59fed0e26d
* Makerules: Filter $(install-lib-ldscripts) out of list of targets
...
for libfoo.so that need $(make-link) rules.
2003-02-21 10:05:25 +00:00
Ulrich Drepper
8c2e9a29b1
Update.
...
* pthreadP.h: Define INVALID_TD_P and INVALID_NOT_TERMINATED_TD_P.
* pthread_cancel.c: Use INVALID_TD_P.
* pthread_detach.c: Likewise.
* pthread_getschedparam.c: Likewise.
* pthread_setschedparam.c: Likewise.
* sysdeps/pthread/pthread_getcpuclockid.c: Likewise.
* sysdeps/unix/sysv/linux/pthread_kill.c: Likewise.
* pthread_join.c: Use INVALID_NOT_TERMINATED_TD_P.
* pthread_timedjoin.c: Likewise.
* tst-basic7.c: Include <signal.h>.
2003-02-21 10:00:33 +00:00
Ulrich Drepper
49dc759f94
Update.
...
2003-02-21 Ulrich Drepper <drepper@redhat.com>
* pthread_join.c (pthread_join): Limited checking for invalid
descriptors.
* pthread_timedjoin.c (pthread_timedjoin_np): Likewise.
2003-02-21 08:35:19 +00:00
Ulrich Drepper
c5acd3d77e
Update.
...
* pthread_create.c (deallocate_tsd): Reset found_nonzero at the
beginning of the loop. Clear the entire first block of TSD.
2003-02-20 10:18:12 +00:00
Ulrich Drepper
12fd3c5f66
Update.
...
* pthreadP.h: Define dummy version of DEBUGGING_P.
2003-02-20 10:10:59 +00:00
Ulrich Drepper
df5803bf46
Update.
...
2003-02-20 Ulrich Drepper <drepper@redhat.com>
* pthread_create.c (deallocate_tsd): Clear the entire first block
of TSD.
* Makefile (tests): Add tst-key4.
* tst-key4.c: New file.
2003-02-20 10:10:29 +00:00
Ulrich Drepper
2f7dc59492
Update.
...
2003-02-18 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Recognize
invalid file descriptors and missing access permissions.
2003-02-18 21:04:15 +00:00
Ulrich Drepper
ba25bb0f1d
Update.
...
* pthread_create.c (deallocate_tsd): Mark as internal_function.
Add some more __builtin_expect.
2003-02-18 11:12:34 +00:00
Ulrich Drepper
729924a042
Update.
...
2003-02-18 Ulrich Drepper <drepper@redhat.com>
* pthreadP.h: Define dummy versio of DEBUGGING_P.
2003-02-18 10:59:20 +00:00
Ulrich Drepper
b0db7fbeef
Update.
...
* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Remnove
_POSIX_THREAD_PRIORITY_SCHEDULING.
* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Remove
_XOPEN_REALTIME_THREADS.
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
* sysdeps/unix/sysv/linux/pthread_kill.c (__pthread_kill): The
kernel returns EINVAL for PID <= 0, work around it.
2003-02-18 06:33:08 +00:00
Ulrich Drepper
ecfda9bd44
Update.
...
* Makefile (tests): Add tst-signal5.
* tst-signal5.c: New file.
2003-02-17 23:49:52 +00:00
Ulrich Drepper
7d78ab990f
Update.
...
* sysdeps/unix/sysv/linux/bits/local_lim.h: Define TTY_NAME_MAX
and LOGIN_NAME_MAX.
2003-02-17 22:57:19 +00:00
Ulrich Drepper
371a297279
Update.
...
* tst-cancel1.c (tf): Block all signals.
2003-02-17 10:47:41 +00:00
Ulrich Drepper
5430d926c5
Update.
...
2003-02-17 Ulrich Drepper <drepper@redhat.com>
* Makefile (tests): Add tst-basic6.
* tst-basic6.c: New file.
* tst-basic1.c: Add test for process ID.
* Makefile (tests): Add tst-cancel10.
* tst-cancel10.c: New file.
* Makefile (tests): Add tst-signal4.
* tst-signal4.c: New file.
* sysdeps/pthread/pthread_sigmask.c (pthread_sigmask): Use
__sigismember instead of sigismember. Add __builtin_expect.
2003-02-17 10:22:52 +00:00