From: Ulrich Drepper Date: Fri, 7 Feb 2003 20:46:55 +0000 (+0000) Subject: Update. X-Git-Tag: upstream/2.30~20141 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1f503475a56b198a86cd7df1a3869aec81baf1eb;p=external%2Fglibc.git Update. 2003-02-07 Jakub Jelinek * resolv/res_libc.c (_res): Ensure _res is not common symbol, so that it can have aliases. * inet/herrno.c (h_errno): Put it into .bss not .data section. Patch by Lance Larsh . --- diff --git a/ChangeLog b/ChangeLog index 3846f74..53172fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,14 @@ +2003-02-07 Jakub Jelinek + + * resolv/res_libc.c (_res): Ensure _res is not common symbol, + so that it can have aliases. + * inet/herrno.c (h_errno): Put it into .bss not .data section. + 2003-02-07 Ulrich Drepper * elf/dl-runtime.c (fixup): Correct typo in version index computation. (profile_fixup): Likewise. + Patch by Lance Larsh . 2002-11-24 Robert Love diff --git a/inet/herrno.c b/inet/herrno.c index bd23eb7..9ff30a1 100644 --- a/inet/herrno.c +++ b/inet/herrno.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996,97,98,2002 Free Software Foundation, Inc. +/* Copyright (C) 1996,97,98,2002,2003 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,7 +31,10 @@ extern __thread int __libc_h_errno __attribute__ ((alias ("h_errno"))) attribute_hidden; # define h_errno __libc_h_errno #else -int h_errno = 0; +/* This differs from plain `int h_errno;' in that it doesn't create + a common definition, but a plain symbol that resides in .bss, + which can have an alias. */ +int h_errno __attribute__((section (".bss"))); weak_alias (h_errno, _h_errno) /* We declare these with compat_symbol so that they are not diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 297a01b..e23f56a 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,9 @@ +2003-02-07 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/vfork.S: Make sure + __ASSUME_VFORK_SYSCALL is not defined if the kernel headers have + no __NR_vfork definition. + 2003-02-07 Jakub Jelinek * tst-popen2.c: New test. @@ -7,7 +13,8 @@ * sysdeps/unix/sysv/linux/i386/vfork.S (__vfork): Likewise. * sysdeps/unix/sysv/linux/ia64/vfork.S (__vfork): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/vfork.S (__vfork): Likewise. - * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S (__vfork): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S (__vfork): + Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S (__vfork): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S (__vfork): Likewise. * sysdeps/unix/sysv/linux/x86_64/vfork.S (__vfork): Likewise. diff --git a/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S b/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S index f4a56a5..95df133 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S +++ b/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S @@ -86,6 +86,8 @@ ENTRY (__vfork) jae SYSCALL_ERROR_LABEL .Lpseudo_end: ret +#elif !defined __NR_vfork +# error "__NR_vfork not available and __ASSUME_VFORK_SYSCALL defined" #endif PSEUDO_END (__vfork) libc_hidden_def (__vfork) diff --git a/resolv/res_libc.c b/resolv/res_libc.c index 9bd4e5c..763a887 100644 --- a/resolv/res_libc.c +++ b/resolv/res_libc.c @@ -77,8 +77,11 @@ extern __thread struct __res_state __libc_res __attribute__ ((alias ("_res"))) attribute_hidden; # define _res __libc_res #else -/* The resolver state for use by single-threaded programs. */ -struct __res_state _res; +/* The resolver state for use by single-threaded programs. + This differs from plain `struct __res_state _res;' in that it doesn't + create a common definition, but a plain symbol that resides in .bss, + which can have an alias. */ +struct __res_state _res __attribute__((section (".bss"))); /* We declare this with compat_symbol so that it's not visible at link time. Programs must use the accessor functions. */