From: Ulrich Drepper Date: Mon, 19 Feb 2001 18:55:39 +0000 (+0000) Subject: Update. X-Git-Tag: cvs/glibc-2_2_3~371 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4c48dc9386ff50f960ae9d7d71493bfd85ccb979;p=platform%2Fupstream%2Fglibc.git Update. 2001-02-18 Mark Kettenis * malloc/mtrace.c [USE_IN_LIBIO]: Define fopen as _IO_fopen64. (mtrace): Revert 2001-02-13 patch: use fopen instead of fopen64. 2001-02-17 H.J. Lu * sysdeps/unix/sysv/linux/ia64/clone2.S: Use clone2 and don't use scratch registers across the system call. --- diff --git a/ChangeLog b/ChangeLog index 07d36e0..fcf5d23 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2001-02-18 Mark Kettenis + + * malloc/mtrace.c [USE_IN_LIBIO]: Define fopen as _IO_fopen64. + (mtrace): Revert 2001-02-13 patch: use fopen instead of fopen64. + +2001-02-17 H.J. Lu + + * sysdeps/unix/sysv/linux/ia64/clone2.S: Use clone2 and don't use + scratch registers across the system call. + 2001-02-19 Andreas Jaeger * malloc/Makefile (tests): Run mtrace only when perl is available. diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 0f6ce47..00441fa 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,8 @@ +2001-02-17 Jakub Jelinek + + * spinlock.c (__pthread_lock): Force lock->__status to be read from + memory on every spin. + 2001-02-10 Andreas Jaeger * Makefile (extra-objs): New. diff --git a/localedata/ChangeLog b/localedata/ChangeLog index fcb3779..e9177c6 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,8 @@ +2001-02-19 Ulrich Drepper + + * locales/th_TH: Remove name_ms entry. + Patch by Theppitak Karoonboonyanan . + 2001-02-16 Ulrich Drepper * locales/th_TH: Update era information and some of the new diff --git a/localedata/locales/th_TH b/localedata/locales/th_TH index 8b82e46..dae8d15 100644 --- a/localedata/locales/th_TH +++ b/localedata/locales/th_TH @@ -950,7 +950,6 @@ name_gen "" name_miss "" name_mr "" name_mrs "" -name_ms "" END LC_NAME LC_ADDRESS diff --git a/malloc/mtrace.c b/malloc/mtrace.c index d41c162..9ebbaeb 100644 --- a/malloc/mtrace.c +++ b/malloc/mtrace.c @@ -42,6 +42,7 @@ #ifdef USE_IN_LIBIO # include +# define fopen(f, n) _IO_fopen64 (f, n) # define setvbuf(s, b, f, l) _IO_setvbuf (s, b, f, l) #endif @@ -268,7 +269,7 @@ mtrace () #endif if (mallfile != NULL || mallwatch != NULL) { - mallstream = fopen64 (mallfile != NULL ? mallfile : "/dev/null", "w"); + mallstream = fopen (mallfile != NULL ? mallfile : "/dev/null", "w"); if (mallstream != NULL) { /* Make sure we close the file descriptor on exec. */ diff --git a/sysdeps/unix/sysv/linux/ia64/clone2.S b/sysdeps/unix/sysv/linux/ia64/clone2.S index 5c3e88a..491f2cc 100644 --- a/sysdeps/unix/sysv/linux/ia64/clone2.S +++ b/sysdeps/unix/sysv/linux/ia64/clone2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -24,7 +24,8 @@ /* size_t child_stack_size, int flags, void *arg) */ ENTRY(__clone2) - cmp.eq p6,p0=0,r32 + alloc r2=ar.pfs,5,2,3,0 + cmp.eq p6,p0=0,in0 mov r8=EINVAL (p6) br.cond.spnt.few __syscall_error ;; @@ -34,28 +35,12 @@ ENTRY(__clone2) /* instructions. We need to ensure */ /* that it will not read or write the */ /* backing store. */ - mov r17=ar.rsc /* save ar.rsc */ - mov r14=r32 /* save fn */ - mov r18=r33 /* save child_stack_base */ - /* Note that r15 is used to pass */ - /* syscall # to kernel & not preserved. */ - mov r16=r36 /* save arg */ - ;; - dep r36=0,r17,0,2 /* set to enforced lazy mode. */ - ;; - mov ar.rsc=r36 - cmp.ne p7,p0=0,r33 /* stack_base 0? */ - ;; -(p7) add r33=r33,r34 /* Stack base arg to syscall is */ - /* 0 if child_stack_base is 0, */ - /* child_stack_base + child_stack_size */ - /* otherwise. */ - /* The system call interface seems */ - /* quite contrived at this point. If */ - /* we don't pass the backing store */ - /* pointer, why do we pass the sp? */ - mov r32=r35 /* Flags are first syscall argument. */ - DO_CALL (SYS_ify (clone)) + mov loc0=in0 /* save fn */ + mov loc1=in4 /* save arg */ + mov out0=in3 /* Flags are first syscall argument. */ + mov out1=in1 /* Stack address. */ + mov out2=in2 /* Stack size. */ + DO_CALL (SYS_ify (clone2)) cmp.eq p6,p0=-1,r10 ;; (p6) br.cond.spnt.few __syscall_error @@ -64,18 +49,16 @@ ENTRY(__clone2) # define PARENT p7 cmp.eq CHILD,PARENT=0,r8 /* Are we the child? */ ;; -(CHILD) ld8 r34=[r14],8 /* Retrieve code pointer. */ -(CHILD) mov ar.bspstore=r18 /* Set register backing store in the child */ -(CHILD) mov r32=r16 /* Pass proper argument to fn */ - mov ar.rsc=r17 /* Restore RSE mode (both threads). */ +(CHILD) ld8 out1=[loc0],8 /* Retrieve code pointer. */ +(CHILD) mov out0=loc1 /* Pass proper argument to fn */ (PARENT) ret ;; - ld8 gp=[r14] /* Load function gp. */ - mov b6=r34 + ld8 gp=[loc0] /* Load function gp. */ + mov b6=out1 ;; br.call.dptk.few rp=b6 /* Call fn(arg) in the child */ ;; - mov r32=r8 /* Argument to _exit */ + mov out0=r8 /* Argument to _exit */ .globl _exit br.call.dpnt.few rp=_exit /* call _exit with result from fn. */ ret /* Not reached. */