From 566efee21908cc59bb0645c3208446f3dedebce8 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 1 Feb 1998 17:06:45 +0000 Subject: Update. 1998-02-02 01:12 Ulrich Drepper * libc.map: Add _h_errno. * inet/herrno.c: Make _h_errno weak alias. * login/Makefile (distribute): Add pty-internal.h. * nscd/Makefile (distribute): Add all the files missing. * signal/allocrtsig.c: Fix problem with recognizing whether RT sigs are available. * stdio-common/tstscanf.c: Rewrite a bit to continue after errors and report status at the end. * sysdeps/unix/sysv/linux/syscalls.list: Add lchown. * sysdeps/unix/sysv/linux/i386/sysdep.S: Make errno an initialized variable. * sysdeps/unix/sysv/linux/powerpc/sysdep.c: Add alias _errno for errno. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.S: Likewise. 1998-01-03 20:47 Mark Kettenis * configure.in: Fix --enable-add-ons code. 1998-02-01 Andreas Jaeger * elf/rtld.c (dl_main): Allow ":" as separator for LD_PRELOAD. Patch by Rudolf Leitgeb . [PR libc/441] * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Use first occurence in cache. Reported by Rudolf Leitgeb . [PR libc/440] 1998-02-01 21:18 Ulrich Drepper * libio/iovsscanf.c: Set errno to 0 before calling _IO_vfscanf so that it never is EINTR (which is tested for in _IO_vfscanf). * Makefile.in: Call sub-make with CVSOPTS. * elf/Makefile (distribute): Add dl-procinfo.h. * sysdeps/unix/sysv/linux/alpha/Dist: Add rt_sigaction.S. 1998-02-01 15:54 Ulrich Drepper * version.h (VERSION): Bump to 2.0.92. 1998-01-31 Phil Blundell * sysdeps/unix/sysv/linux/siglist.c (_sys_siglist): Additional weak alias for __new_sys_siglist. thread and not pthread_detach. --- sysdeps/generic/dl-cache.c | 17 ++++++++++------- sysdeps/unix/sysv/linux/alpha/Dist | 1 + sysdeps/unix/sysv/linux/i386/sysdep.S | 11 ++++++++--- sysdeps/unix/sysv/linux/powerpc/sysdep.c | 3 ++- sysdeps/unix/sysv/linux/siglist.c | 1 + sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.S | 3 +++ sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.S | 5 ++++- sysdeps/unix/sysv/linux/syscalls.list | 1 + 8 files changed, 30 insertions(+), 12 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/generic/dl-cache.c b/sysdeps/generic/dl-cache.c index 36d6c707d3..8eb18b79cc 100644 --- a/sysdeps/generic/dl-cache.c +++ b/sysdeps/generic/dl-cache.c @@ -1,5 +1,5 @@ /* Support for reading /etc/ld.so.cache files written by Linux ldconfig. - Copyright (C) 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -88,13 +88,16 @@ _dl_load_cache_lookup (const char *name) ! strcmp (name, ((const char *) &cache->libs[cache->nlibs] + cache->libs[i].key))) { - best = ((const char *) &cache->libs[cache->nlibs] - + cache->libs[i].value); + if ((best == NULL) || (cache->libs[i].flags == 3)) + { + best = ((const char *) &cache->libs[cache->nlibs] + + cache->libs[i].value); - if (cache->libs[i].flags == 3) - /* We've found an exact match for the shared object and no - general `ELF' release. Stop searching. */ - break; + if (cache->libs[i].flags == 3) + /* We've found an exact match for the shared object and no + general `ELF' release. Stop searching. */ + break; + } } return best; } diff --git a/sysdeps/unix/sysv/linux/alpha/Dist b/sysdeps/unix/sysv/linux/alpha/Dist index 5b5dca44da..c8149ca0de 100644 --- a/sysdeps/unix/sysv/linux/alpha/Dist +++ b/sysdeps/unix/sysv/linux/alpha/Dist @@ -10,6 +10,7 @@ kernel_sigaction.h kernel_stat.h kernel_termios.h net/route.h +rt_sigaction.S sys/acct.h sys/io.h sys/procfs.h diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.S b/sysdeps/unix/sysv/linux/i386/sysdep.S index 5a615efecb..f7eac4d225 100644 --- a/sysdeps/unix/sysv/linux/i386/sysdep.S +++ b/sysdeps/unix/sysv/linux/i386/sysdep.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,8 +25,12 @@ it somewhere else. ...and this place is here. */ - .comm errno,4,4 -_errno = errno /* This name is expected by hj's libc.so.5 startup code. */ + .data + .globl errno +errno: + .globl _errno +_errno: + .long 4 /* The following code is only used in the shared library when we compile the reentrant version. Otherwise each system call defines @@ -41,6 +45,7 @@ _errno = errno /* This name is expected by hj's libc.so.5 startup code. */ #undef CALL_MCOUNT #define CALL_MCOUNT /* Don't insert the profiling call, it clobbers %eax. */ + .text ENTRY (__syscall_error) negl %eax diff --git a/sysdeps/unix/sysv/linux/powerpc/sysdep.c b/sysdeps/unix/sysv/linux/powerpc/sysdep.c index 3896111005..0559cc7065 100644 --- a/sysdeps/unix/sysv/linux/powerpc/sysdep.c +++ b/sysdeps/unix/sysv/linux/powerpc/sysdep.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -31,3 +31,4 @@ __syscall_error (int err_no) /* We also have to have a 'real' definition of errno. */ #undef errno int errno = 0; +weak_alias (errno, _errno) diff --git a/sysdeps/unix/sysv/linux/siglist.c b/sysdeps/unix/sysv/linux/siglist.c index 520bd8f2a0..a10b273db0 100644 --- a/sysdeps/unix/sysv/linux/siglist.c +++ b/sysdeps/unix/sysv/linux/siglist.c @@ -39,6 +39,7 @@ default_symbol_version (__new_sys_siglist, _sys_siglist, GLIBC_2.1); default_symbol_version (_new_sys_siglist, sys_siglist, GLIBC_2.1); default_symbol_version (__new_sys_sigabbrev, sys_sigabbrev, GLIBC_2.1); #else +weak_alias(__new_sys_siglist, _sys_siglist) weak_alias(__new_sys_siglist, sys_siglist) weak_alias(__new_sys_sigabbrev, sys_sigabbrev) #endif diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.S b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.S index 7e9023901b..8b0a130106 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.S +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.S @@ -1,3 +1,6 @@ /* Define errno */ .common errno,4,4 + + .globl _errno +_errno = errno diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.S b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.S index 736578083c..97adfdf219 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.S +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1997 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson , 1997. @@ -29,3 +29,6 @@ errno: .space 4 .globl __errno __errno = errno + + .globl _errno +_errno = errno diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list index 16538cee73..3f1491f7bd 100644 --- a/sysdeps/unix/sysv/linux/syscalls.list +++ b/sysdeps/unix/sysv/linux/syscalls.list @@ -21,6 +21,7 @@ ioperm - ioperm 3 ioperm iopl - iopl 1 iopl ipc msgget ipc 5 __ipc klogctl EXTRA syslog 3 klogctl +lchown EXATR lchown 3 __lchown lchown mlock EXTRA mlock 2 __mlock mlock mlockall EXTRA mlockall 1 __mlockall mlockall mount EXTRA mount 5 __mount mount -- cgit v1.2.3