Skip to content

Commit

Permalink
Updated to fedora-glibc-20081112T2008
Browse files Browse the repository at this point in the history
  • Loading branch information
Jakub Jelinek committed Nov 12, 2008
1 parent c02fa54 commit 03c8e28
Show file tree
Hide file tree
Showing 37 changed files with 468 additions and 140 deletions.
72 changes: 72 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,75 @@
2008-11-11 Ulrich Drepper <drepper@redhat.com>

[BZ #7009]
* resolv/nss_dns/dns-host.c (gaih_getanswer_slice): Don't abort for
unknown request types for now.

2008-11-11 Roland McGrath <roland@redhat.com>

* sysdeps/x86_64/configure: New file.

* configure.in: Add AC_SUBST(libc_cv_cpp_asm_debuginfo).
* configure: Regenerated.

2008-11-03 Martin Schwidefsky <schwidefsky@de.ibm.com>

* sysdeps/s390/s390-64/dl-trampoline.S (_dl_runtime_profile): Use the
correct instruction to remove the stack frame.

2008-11-03 Michael Matz <matz@suse.de>

* sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_32_acq,
__arch_compare_and_exchange_val_64_acq): Add "memory" clobber.

2008-11-07 Jakub Jelinek <jakub@redhat.com>

* include/stdio.h (__builtin_fwrite, __builtin_fwrite_unlocked):
Remove.

* bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address,
__libc_tsd_get, __libc_tsd_set): Add TYPE argument, use it as the type
of the thread variable instead of void *.
* sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_define,
__libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Likewise.
* include/ctype.h (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust
__libc_tsd_define arguments.
(__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Adjust
__libc_tsd_address arguments. Remove union hack.
* include/rpc/rpc.h (RPC_VARS): Adjust __libc_tsd_define arguments.
* sunrpc/rpc_thread.c (RPC_VARS): Likewise.
(__rpc_thread_destroy, rpc_thread_multi, __rpc_thread_variables):
Adjust __libc_tsd_{set,get} arguments.
* ctype/ctype-info.c (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust
__libc_tsd_define arguments.
* locale/uselocale.c (__uselocale): Adjust __libc_tsd_{set,get}
arguments.
* locale/lc-ctype.c (_nl_postload_ctype): Likewise.
* locale/global-locale.c (__libc_tsd_LOCALE): Adjust type.
(LOCALE): Adjust __libc_tsd_define arguments.
* locale/localeinfo.h (_NL_CURRENT_LOCALE): Adjust __libc_tsd_get
arguments.
(LOCALE): Adjust __libc_tsd_define arguments.
* sysdeps/mach/hurd/malloc-machine.h (MALLOC): Adjust __libc_tsd_define
arguments.
(tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get}
arguments.

2008-11-02 Ulrich Drepper <drepper@redhat.com>

* malloc/malloc.c (public_rEALLOc): When new arena is used, copy
really all bytes. Patch by Denys Vlasenko <dvlasenk@redhat.com>.

2008-11-01 Ulrich Drepper <drepper@redhat.com>

[BZ #6966]
* misc/hsearch_r.c (hsearch_r): Fix secondary hash function.

2008-10-24 Joseph Myers <joseph@codesourcery.com>
Ulrich Drepper <drepper@redhat.com>

* math/tgmath.h (__floating_type): Use __builtin_classify_type in
definition for GCC 3.1 and later.

2008-10-31 Jakub Jelinek <jakub@redhat.com>

* elf/dl-tls.c (__tls_get_addr): After calling _dl_update_slotinfo
Expand Down
5 changes: 3 additions & 2 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
GNU C Library NEWS -- history of user-visible changes. 2008-9-29
GNU C Library NEWS -- history of user-visible changes. 2008-10-31
Copyright (C) 1992-2007, 2008 Free Software Foundation, Inc.
See the end for copying conditions.

Expand Down Expand Up @@ -36,7 +36,8 @@ Version 2.9
* Many functions, exported and internal, now atomically set the close-on-exec
flag when run on a sufficiently new kernel. Implemented by Ulrich Drepper.

* Sorting rules for some Indian languages (Kannada, Gurumukhi, Telugu)
* Sorting rules for some Indian languages (Kannada, Gurumukhi, Telugu,
Sinhala)
Implemented by Pravin Satpute.

* New locales: sd_IN, sd_IN@devanagari, ks_IN@devanagari, ht_HT, en_AG, nl_AW.
Expand Down
29 changes: 15 additions & 14 deletions bits/libc-tsd.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* libc-internal interface for thread-specific data. Stub or TLS version.
Copyright (C) 1998,2001,02 Free Software Foundation, Inc.
Copyright (C) 1998,2001,2002,2008 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
Expand All @@ -23,15 +23,15 @@
/* This file defines the following macros for accessing a small fixed
set of thread-specific `void *' data used only internally by libc.
__libc_tsd_define(CLASS, KEY) -- Define or declare a `void *' datum
__libc_tsd_define(CLASS, TYPE, KEY) -- Define or declare a datum with TYPE
for KEY. CLASS can be `static' for
keys used in only one source file,
empty for global definitions, or
`extern' for global declarations.
__libc_tsd_address(KEY) -- Return the `void **' pointing to
__libc_tsd_address(TYPE, KEY) -- Return the `TYPE *' pointing to
the current thread's datum for KEY.
__libc_tsd_get(KEY) -- Return the `void *' datum for KEY.
__libc_tsd_set(KEY, VALUE) -- Set the datum for KEY to VALUE.
__libc_tsd_get(TYPE, KEY) -- Return the `TYPE' datum for KEY.
__libc_tsd_set(TYPE, KEY, VALUE) -- Set the datum for KEY to VALUE.
The set of available KEY's will usually be provided as an enum,
and contains (at least):
Expand All @@ -52,18 +52,19 @@
translate directly into variables by macro magic. */

#if USE___THREAD
# define __libc_tsd_define(CLASS, KEY) \
CLASS __thread void *__libc_tsd_##KEY attribute_tls_model_ie;
# define __libc_tsd_define(CLASS, TYPE, KEY) \
CLASS __thread TYPE __libc_tsd_##KEY attribute_tls_model_ie;

# define __libc_tsd_address(KEY) (&__libc_tsd_##KEY)
# define __libc_tsd_get(KEY) (__libc_tsd_##KEY)
# define __libc_tsd_set(KEY, VALUE) (__libc_tsd_##KEY = (VALUE))
# define __libc_tsd_address(TYPE, KEY) (&__libc_tsd_##KEY)
# define __libc_tsd_get(TYPE, KEY) (__libc_tsd_##KEY)
# define __libc_tsd_set(TYPE, KEY, VALUE) (__libc_tsd_##KEY = (VALUE))
#else
# define __libc_tsd_define(CLASS, KEY) CLASS void *__libc_tsd_##KEY##_data;
# define __libc_tsd_define(CLASS, TYPE, KEY) \
CLASS TYPE __libc_tsd_##KEY##_data;

# define __libc_tsd_address(KEY) (&__libc_tsd_##KEY##_data)
# define __libc_tsd_get(KEY) (__libc_tsd_##KEY##_data)
# define __libc_tsd_set(KEY, VALUE) (__libc_tsd_##KEY##_data = (VALUE))
# define __libc_tsd_address(TYPE, KEY) (&__libc_tsd_##KEY##_data)
# define __libc_tsd_get(TYPE, KEY) (__libc_tsd_##KEY##_data)
# define __libc_tsd_set(TYPE, KEY, VALUE) (__libc_tsd_##KEY##_data = (VALUE))
#endif

#endif /* bits/libc-tsd.h */
6 changes: 5 additions & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -748,6 +748,7 @@ libc_cv_localedir
libc_cv_sysconfdir
libc_cv_rootsbindir
libc_cv_forced_unwind
libc_cv_cpp_asm_debuginfo
use_ldconfig
ldd_rewrite_script
elf
Expand Down Expand Up @@ -8445,6 +8446,8 @@ fi
if test $elf = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_ELF 1
Expand Down Expand Up @@ -9311,6 +9314,7 @@ libc_cv_localedir!$libc_cv_localedir$ac_delim
libc_cv_sysconfdir!$libc_cv_sysconfdir$ac_delim
libc_cv_rootsbindir!$libc_cv_rootsbindir$ac_delim
libc_cv_forced_unwind!$libc_cv_forced_unwind$ac_delim
libc_cv_cpp_asm_debuginfo!$libc_cv_cpp_asm_debuginfo$ac_delim
use_ldconfig!$use_ldconfig$ac_delim
ldd_rewrite_script!$ldd_rewrite_script$ac_delim
elf!$elf$ac_delim
Expand All @@ -9331,7 +9335,7 @@ LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 53; then
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 54; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
Expand Down
3 changes: 3 additions & 0 deletions configure.in
Original file line number Diff line number Diff line change
Expand Up @@ -2181,6 +2181,9 @@ AC_SUBST(libc_cv_sysconfdir)
AC_SUBST(libc_cv_rootsbindir)
AC_SUBST(libc_cv_forced_unwind)

dnl sysdeps/CPU/configure.in checks set this via arch-specific asm tests
AC_SUBST(libc_cv_cpp_asm_debuginfo)

AC_SUBST(use_ldconfig)
AC_SUBST(ldd_rewrite_script)

Expand Down
9 changes: 5 additions & 4 deletions ctype/ctype-info.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/* Copyright (C) 1991,92,95,96,97,99,2000,02 Free Software Foundation, Inc.
/* Copyright (C) 1991,92,95,96,97,99,2000, 2002, 2008
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
Expand All @@ -20,9 +21,9 @@
#include <ctype.h>
#include <locale/localeinfo.h>

__libc_tsd_define (, CTYPE_B)
__libc_tsd_define (, CTYPE_TOLOWER)
__libc_tsd_define (, CTYPE_TOUPPER)
__libc_tsd_define (, const uint16_t *, CTYPE_B)
__libc_tsd_define (, const int32_t *, CTYPE_TOLOWER)
__libc_tsd_define (, const int32_t *, CTYPE_TOUPPER)


#include <shlib-compat.h>
Expand Down
4 changes: 2 additions & 2 deletions fedora/branch.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ glibc-branch := fedora
glibc-base := HEAD
DIST_BRANCH := devel
COLLECTION := dist-f8
fedora-sync-date := 2008-10-31 21:02 UTC
fedora-sync-tag := fedora-glibc-20081031T2102
fedora-sync-date := 2008-11-12 20:08 UTC
fedora-sync-tag := fedora-glibc-20081112T2008
7 changes: 6 additions & 1 deletion fedora/glibc.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
Summary: The GNU libc libraries
Name: glibc
Version: @glibcversion@
Release: 16
Release: 17
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
# Things that are linked directly into dynamically linked programs
# and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
Expand Down Expand Up @@ -984,6 +984,11 @@ rm -f *.filelist*
%endif

%changelog
* Wed Nov 12 2008 Jakub Jelinek <jakub@redhat.com> 2.8.90-17
- update from trunk
- don't abort on broken DNS replies (#469299, BZ#7009)
- misc fixes (BZ#6966, BZ#7008, BZ#6955, BZ#6843)

* Fri Oct 31 2008 Jakub Jelinek <jakub@redhat.com> 2.8.90-16
- update from trunk
- further resolver fixes
Expand Down
45 changes: 15 additions & 30 deletions include/ctype.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,50 +18,35 @@ extern int __isctype (int __c, int __mask);
# define CTYPE_EXTERN_INLINE extern inline
# endif

__libc_tsd_define (extern, CTYPE_B)
__libc_tsd_define (extern, CTYPE_TOUPPER)
__libc_tsd_define (extern, CTYPE_TOLOWER)
__libc_tsd_define (extern, const uint16_t *, CTYPE_B)
__libc_tsd_define (extern, const int32_t *, CTYPE_TOUPPER)
__libc_tsd_define (extern, const int32_t *, CTYPE_TOLOWER)

CTYPE_EXTERN_INLINE const uint16_t ** __attribute__ ((const))
__ctype_b_loc (void)
{
union
{
void **ptr;
const uint16_t **tablep;
} u;
u.ptr = __libc_tsd_address (CTYPE_B);
if (__builtin_expect (*u.tablep == NULL, 0))
*u.tablep = (const uint16_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_CLASS) + 128;
return u.tablep;
const uint16_t **tablep = __libc_tsd_address (const uint16_t *, CTYPE_B);
if (__builtin_expect (*tablep == NULL, 0))
*tablep = (const uint16_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_CLASS) + 128;
return tablep;
}

CTYPE_EXTERN_INLINE const int32_t ** __attribute__ ((const))
__ctype_toupper_loc (void)
{
union
{
void **ptr;
const int32_t **tablep;
} u;
u.ptr = __libc_tsd_address (CTYPE_TOUPPER);
if (__builtin_expect (*u.tablep == NULL, 0))
*u.tablep = ((int32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOUPPER) + 128);
return u.tablep;
const int32_t **tablep = __libc_tsd_address (const int32_t *, CTYPE_TOUPPER);
if (__builtin_expect (*tablep == NULL, 0))
*tablep = ((int32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOUPPER) + 128);
return tablep;
}

CTYPE_EXTERN_INLINE const int32_t ** __attribute__ ((const))
__ctype_tolower_loc (void)
{
union
{
void **ptr;
const int32_t **tablep;
} u;
u.ptr = __libc_tsd_address (CTYPE_TOLOWER);
if (__builtin_expect (*u.tablep == NULL, 0))
*u.tablep = ((int32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOLOWER) + 128);
return u.tablep;
const int32_t **tablep = __libc_tsd_address (const int32_t *, CTYPE_TOLOWER);
if (__builtin_expect (*tablep == NULL, 0))
*tablep = ((int32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOLOWER) + 128);
return tablep;
}

# endif /* Not NOT_IN_libc. */
Expand Down
2 changes: 1 addition & 1 deletion include/rpc/rpc.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ extern void __rpc_thread_key_cleanup (void);

extern void __rpc_thread_destroy (void);

__libc_tsd_define (extern, RPC_VARS)
__libc_tsd_define (extern, struct rpc_thread_variables *, RPC_VARS)

#define RPC_THREAD_VARIABLE(x) (__rpc_thread_variables()->x)

Expand Down
11 changes: 0 additions & 11 deletions include/stdio.h
Original file line number Diff line number Diff line change
Expand Up @@ -160,17 +160,6 @@ libc_hidden_proto (__vfprintf_chk)
libc_hidden_proto (__vasprintf_chk)
libc_hidden_proto (__vdprintf_chk)
libc_hidden_proto (__obstack_vprintf_chk)

# if !defined NOT_IN_libc && defined SHARED && defined DO_VERSIONING \
&& !defined NO_HIDDEN
/* Special gcc builtins. */
extern size_t __builtin_fwrite (const void *, size_t, size_t, void *)
__asm ("__GI_fwrite");
extern size_t __builtin_fwrite_unlocked (const void *, size_t, size_t, void *)
__asm ("__GI_fwrite_unlocked");

# endif

# endif

#endif
6 changes: 3 additions & 3 deletions locale/global-locale.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Locale object representing the global locale controlled by setlocale.
Copyright (C) 2002, 2006 Free Software Foundation, Inc.
Copyright (C) 2002, 2006, 2008 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
Expand Down Expand Up @@ -62,9 +62,9 @@ struct __locale_struct _nl_global_locale attribute_hidden =
#include <tls.h>
#if HAVE___THREAD
/* The tsd macros don't permit an initializer. */
__thread void *__libc_tsd_LOCALE = &_nl_global_locale;
__thread __locale_t __libc_tsd_LOCALE = &_nl_global_locale;
#else
__libc_tsd_define (, LOCALE)
__libc_tsd_define (, __locale_t, LOCALE)
/* This is a bad kludge presuming the variable name used by the macros.
Using typeof makes sure to barf if we do not match the macro definition.
This ifndef is a further bad kludge for Hurd, where there is an explicit
Expand Down
9 changes: 5 additions & 4 deletions locale/lc-ctype.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Define current locale data for LC_CTYPE category.
Copyright (C) 1995,1996,1997,1998,1999,2000,2002,2003,2005
Copyright (C) 1995,1996,1997,1998,1999,2000,2002,2003,2005,2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Expand Down Expand Up @@ -66,10 +66,11 @@ _nl_postload_ctype (void)
in fact using the global locale. */
if (_NL_CURRENT_LOCALE == &_nl_global_locale)
{
__libc_tsd_set (CTYPE_B, (void *) _nl_global_locale.__ctype_b);
__libc_tsd_set (CTYPE_TOUPPER,
__libc_tsd_set (const uint16_t *, CTYPE_B,
(void *) _nl_global_locale.__ctype_b);
__libc_tsd_set (const int32_t *, CTYPE_TOUPPER,
(void *) _nl_global_locale.__ctype_toupper);
__libc_tsd_set (CTYPE_TOLOWER,
__libc_tsd_set (const int32_t *, CTYPE_TOLOWER,
(void *) _nl_global_locale.__ctype_tolower);
}

Expand Down
7 changes: 4 additions & 3 deletions locale/localeinfo.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/* Declarations for internal libc locale interfaces
Copyright (C) 1995-2003, 2005, 2006, 2007 Free Software Foundation, Inc.
Copyright (C) 1995-2003, 2005, 2006, 2007, 2008
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
Expand Down Expand Up @@ -203,9 +204,9 @@ extern struct __locale_struct _nl_global_locale attribute_hidden;

/* This fetches the thread-local locale_t pointer, either one set with
uselocale or &_nl_global_locale. */
#define _NL_CURRENT_LOCALE ((__locale_t) __libc_tsd_get (LOCALE))
#define _NL_CURRENT_LOCALE (__libc_tsd_get (__locale_t, LOCALE))
#include <bits/libc-tsd.h>
__libc_tsd_define (extern, LOCALE)
__libc_tsd_define (extern, __locale_t, LOCALE)


/* For static linking it is desireable to avoid always linking in the code
Expand Down
Loading

0 comments on commit 03c8e28

Please sign in to comment.