From 8d599f5ab190dfb8a394104c4dc0d39c90f19093 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 27 Aug 2007 20:40:42 +0000 Subject: Updated to fedora-glibc-20070827T2032 --- ChangeLog | 43 ++++++++++++++++++++++++++++++++++- Makerules | 4 +++- config.make.in | 1 + debug/Makefile | 5 ++++ fedora/branch.mk | 4 ++-- fedora/glibc.spec.in | 5 +++- iconvdata/iso-2022-cn.c | 3 +++ iconvdata/iso-2022-kr.c | 10 ++++---- locale/programs/ld-collate.c | 2 ++ nis/nis_xdr.c | 30 ++++++++++++------------ nis/yp_xdr.c | 10 ++++---- posix/regex_internal.h | 16 ++++++++----- posix/tst-rfc3484-2.c | 1 + posix/tst-rfc3484.c | 1 + stdio-common/Makefile | 2 ++ sunrpc/key_prot.c | 2 +- sysdeps/unix/sysv/linux/syscalls.list | 2 +- 17 files changed, 103 insertions(+), 38 deletions(-) diff --git a/ChangeLog b/ChangeLog index 723cb0234c..6fd71c1124 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,46 @@ +2007-08-27 Jakub Jelinek + + * sysdeps/unix/sysv/linux/syscalls.list + (personality): Change caller to EXTRA. + 2007-08-25 Ulrich Drepper + * iconvdata/iso-2022-kr.c (BODY): Fake initialization of array buf + to keep gcc quiet. + * iconvdata/iso-2022-cn.c (BODY): Likewise. + + * locale/programs/ld-collate.c (collate_output): Avoid warning if + NDEBUG is defined. + + * Makerules: Use -p option with mkdir. + + * sunrpc/key_prot.c (xdr_unixcred): Work around gcc alias warning. + * nis/nis_xdr.c (_xdr_nis_server): Likewise. + (_xdr_directory_obj): Likewise. + (xdr_entry_obj): Likewise. + (xdr_group_obj): Likewise. + (xdr_link_obj): Likewise. + (xdr_table_obj): Likewise. + (_xdr_nis_result): Likewise. + (_xdr_ns_request): Likewise. + (_xdr_ib_request): Likewise. + (_xdr_nis_taglist): Likewise. + (xdr_cback_data): Likewise. + * nis/yp_xdr.c (xdr_ypmaplist): Likewise. + (xdr_ypresp_maplist): Likewise. + + * stdio-common/Makefile: Avoid format string warning for tst-sprint. + + * posix/regex_internal.h: Prevent some declarations and definitions + to be seen when used in tests. + + * posix/tst-rfc3484.c (__idna_to_unicode_lzlz): Initialize *OUTPUT. + * posix/tst-rfc3484-2.c (__idna_to_unicode_lzlz): Likewise. + + * debug/Makefile: Disable format checking when compiling tst-chk?.c. + + * config.make.in (datarootdir): Add to shut up configure. + * sysdeps/x86_64/cacheinfo.c (handle_amd): Fix computation of associativity for fully-associative caches. @@ -16,7 +57,7 @@ * resolv/arpa/nameser.h (NS_OPT_DNSSEC_OK): Define. * sysdeps/unix/sysv/linux/i386/syscalls.list: No reason to mark - fallocate64 as EXTRA< it is not referenced if the symbol isn't + fallocate64 as EXTRA. It is not referenced if the symbol isn't defined. 2007-08-23 Ulrich Drepper diff --git a/Makerules b/Makerules index efd2fba58d..db83b24ffe 100644 --- a/Makerules +++ b/Makerules @@ -732,7 +732,9 @@ MAKEFLAGS := $(MAKEFLAGS)r # Generic rule for making directories. %/: # mkdir isn't smart enough to strip a trailing /. - mkdir $(@:%/=%) +# We always require a mkdir which supports the -p option to avoid error +# messages in case of races. + mkdir -p $(@:%/=%) # Make sure that object files are not removed # when they are intermediates between sources and library members. diff --git a/config.make.in b/config.make.in index 836f613135..3fd0abc65c 100644 --- a/config.make.in +++ b/config.make.in @@ -17,6 +17,7 @@ libexecdir = @libexecdir@ rootsbindir = @libc_cv_rootsbindir@ infodir = @infodir@ includedir = @includedir@ +datarootdir = @datarootdir@ # Should we use and build ldconfig? use-ldconfig = @use_ldconfig@ diff --git a/debug/Makefile b/debug/Makefile index b9902cb4bf..c6cc588b90 100644 --- a/debug/Makefile +++ b/debug/Makefile @@ -72,6 +72,11 @@ CFLAGS-pread64_chk.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-recv_chk.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-recvfrom_chk.c = -fexceptions -fasynchronous-unwind-tables +# We know these tests have problems with format strings, this is what +# we are testing. Disable that warning. +CFLAGS-tst-chk1.c = -Wno-format +CFLAGS-tst-chk2.c = -Wno-format +CFLAGS-tst-chk3.c = -Wno-format tst-chk1-ENV = LOCPATH=$(common-objpfx)localedata tst-chk2-ENV = LOCPATH=$(common-objpfx)localedata tst-chk3-ENV = LOCPATH=$(common-objpfx)localedata diff --git a/fedora/branch.mk b/fedora/branch.mk index 5ee4e1d033..de12583b5f 100644 --- a/fedora/branch.mk +++ b/fedora/branch.mk @@ -3,5 +3,5 @@ glibc-branch := fedora glibc-base := HEAD DIST_BRANCH := devel COLLECTION := dist-f8 -fedora-sync-date := 2007-08-25 18:39 UTC -fedora-sync-tag := fedora-glibc-20070825T1839 +fedora-sync-date := 2007-08-27 20:32 UTC +fedora-sync-tag := fedora-glibc-20070827T2032 diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in index 82f63be9ad..ddc93d43d6 100644 --- a/fedora/glibc.spec.in +++ b/fedora/glibc.spec.in @@ -1,4 +1,4 @@ -%define glibcrelease 12 +%define glibcrelease 13 %define run_glibc_tests 1 %define auxarches i586 i686 athlon sparcv9v sparc64v alphaev6 %define xenarches i686 athlon @@ -1010,6 +1010,9 @@ rm -f *.filelist* %endif %changelog +* Mon Aug 27 2007 Jakub Jelinek 2.6.90-13 +- fix personality on x86_64/ppc/ppc64 (#256281) + * Sat Aug 25 2007 Jakub Jelinek 2.6.90-12 - readd x86_64 gettimeofday stuff, initialize it earlier - nis_list fix (#254115) diff --git a/iconvdata/iso-2022-cn.c b/iconvdata/iso-2022-cn.c index 4825d72f0d..1613cf2329 100644 --- a/iconvdata/iso-2022-cn.c +++ b/iconvdata/iso-2022-cn.c @@ -264,6 +264,9 @@ enum else \ { \ unsigned char buf[2]; \ + /* Fake initialization to keep gcc quiet. */ \ + asm ("" : "=m" (buf)); \ + \ int used; \ size_t written = 0; \ \ diff --git a/iconvdata/iso-2022-kr.c b/iconvdata/iso-2022-kr.c index 1a16d213a7..6439b0a469 100644 --- a/iconvdata/iso-2022-kr.c +++ b/iconvdata/iso-2022-kr.c @@ -200,9 +200,7 @@ enum #define LOOPFCT TO_LOOP #define BODY \ { \ - uint32_t ch; \ - \ - ch = get32 (inptr); \ + uint32_t ch = get32 (inptr); \ \ /* First see whether we can write the character using the currently \ selected character set. */ \ @@ -224,10 +222,10 @@ enum else \ { \ unsigned char buf[2]; \ - size_t written; \ - \ - written = ucs4_to_ksc5601 (ch, buf, 2); \ + /* Fake initialization to keep gcc quiet. */ \ + asm ("" : "=m" (buf)); \ \ + size_t written = ucs4_to_ksc5601 (ch, buf, 2); \ if (__builtin_expect (written, 0) == __UNKNOWN_10646_CHAR) \ { \ UNICODE_TAG_HANDLER (ch, 4); \ diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c index 09237ea38c..feab034740 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -2518,7 +2518,9 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap, uint32_t namelen = strlen (runp->name); uint32_t hash = elem_hash (runp->name, namelen); size_t idx = hash % elem_size; +#ifndef NDEBUG size_t start_idx = idx; +#endif if (elem_table[idx * 2] != 0) { diff --git a/nis/nis_xdr.c b/nis/nis_xdr.c index 0c6452a6a7..f2d037aa60 100644 --- a/nis/nis_xdr.c +++ b/nis/nis_xdr.c @@ -1,4 +1,4 @@ -/* Copyright (c) 1997, 1998, 2005, 2006 Free Software Foundation, Inc. +/* Copyright (c) 1997, 1998, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk , 1997. @@ -87,7 +87,7 @@ _xdr_nis_server (XDR *xdrs, nis_server *objp) bool_t res = xdr_nis_name (xdrs, &objp->name); if (__builtin_expect (res, TRUE)) { - res = xdr_array (xdrs, (char **) &objp->ep.ep_val, &objp->ep.ep_len, + res = xdr_array (xdrs, (void *) &objp->ep.ep_val, &objp->ep.ep_len, ~0, sizeof (endpoint), (xdrproc_t) xdr_endpoint); if (__builtin_expect (res, TRUE)) { @@ -108,7 +108,7 @@ _xdr_directory_obj (XDR *xdrs, directory_obj *objp) res = xdr_nstype (xdrs, &objp->do_type); if (__builtin_expect (res, TRUE)) { - res = xdr_array (xdrs, (char **) &objp->do_servers.do_servers_val, + res = xdr_array (xdrs, (void *) &objp->do_servers.do_servers_val, &objp->do_servers.do_servers_len, ~0, sizeof (nis_server), (xdrproc_t) _xdr_nis_server); if (__builtin_expect (res, TRUE)) @@ -116,7 +116,7 @@ _xdr_directory_obj (XDR *xdrs, directory_obj *objp) res = xdr_uint32_t (xdrs, &objp->do_ttl); if (__builtin_expect (res, TRUE)) res = xdr_array (xdrs, - (char **) &objp->do_armask.do_armask_val, + (void *) &objp->do_armask.do_armask_val, &objp->do_armask.do_armask_len, ~0, sizeof (oar_mask), (xdrproc_t) xdr_oar_mask); } @@ -140,7 +140,7 @@ xdr_entry_obj (XDR *xdrs, entry_obj *objp) { bool_t res = xdr_string (xdrs, &objp->en_type, ~0); if (__builtin_expect (res, TRUE)) - res = xdr_array (xdrs, (char **) &objp->en_cols.en_cols_val, + res = xdr_array (xdrs, (void *) &objp->en_cols.en_cols_val, &objp->en_cols.en_cols_len, ~0, sizeof (entry_col), (xdrproc_t) xdr_entry_col); return res; @@ -151,7 +151,7 @@ xdr_group_obj (XDR *xdrs, group_obj *objp) { bool_t res = xdr_u_int (xdrs, &objp->gr_flags); if (__builtin_expect (res, TRUE)) - res = xdr_array (xdrs, (char **) &objp->gr_members.gr_members_val, + res = xdr_array (xdrs, (void *) &objp->gr_members.gr_members_val, &objp->gr_members.gr_members_len, ~0, sizeof (nis_name), (xdrproc_t) _xdr_nis_name); return res; @@ -163,7 +163,7 @@ xdr_link_obj (XDR *xdrs, link_obj *objp) bool_t res = xdr_zotypes (xdrs, &objp->li_rtype); if (__builtin_expect (res, TRUE)) { - res = xdr_array (xdrs, (char **) &objp->li_attrs.li_attrs_val, + res = xdr_array (xdrs, (void *) &objp->li_attrs.li_attrs_val, &objp->li_attrs.li_attrs_len, ~0, sizeof (nis_attr), (xdrproc_t) xdr_nis_attr); if (__builtin_expect (res, TRUE)) @@ -197,7 +197,7 @@ xdr_table_obj (XDR *xdrs, table_obj *objp) res = xdr_u_char (xdrs, &objp->ta_sep); if (__builtin_expect (res, TRUE)) { - res = xdr_array (xdrs, (char **) &objp->ta_cols.ta_cols_val, + res = xdr_array (xdrs, (void *) &objp->ta_cols.ta_cols_val, &objp->ta_cols.ta_cols_len, ~0, sizeof (table_col), (xdrproc_t) xdr_table_col); if (__builtin_expect (res, TRUE)) @@ -296,7 +296,7 @@ _xdr_nis_result (XDR *xdrs, nis_result *objp) bool_t res = xdr_nis_error (xdrs, &objp->status); if (__builtin_expect (res, TRUE)) { - res = xdr_array (xdrs, (char **) &objp->objects.objects_val, + res = xdr_array (xdrs, (void *) &objp->objects.objects_val, &objp->objects.objects_len, ~0, sizeof (nis_object), (xdrproc_t) _xdr_nis_object); if (__builtin_expect (res, TRUE)) @@ -327,7 +327,7 @@ _xdr_ns_request (XDR *xdrs, ns_request *objp) { bool_t res = xdr_nis_name (xdrs, &objp->ns_name); if (__builtin_expect (res, TRUE)) - res = xdr_array (xdrs, (char **) &objp->ns_object.ns_object_val, + res = xdr_array (xdrs, (void *) &objp->ns_object.ns_object_val, &objp->ns_object.ns_object_len, 1, sizeof (nis_object), (xdrproc_t) _xdr_nis_object); return res; @@ -339,7 +339,7 @@ _xdr_ib_request (XDR *xdrs, ib_request *objp) bool_t res = xdr_nis_name (xdrs, &objp->ibr_name); if (__builtin_expect (res, TRUE)) { - res = xdr_array (xdrs, (char **) &objp->ibr_srch.ibr_srch_val, + res = xdr_array (xdrs, (void *) &objp->ibr_srch.ibr_srch_val, &objp->ibr_srch.ibr_srch_len, ~0, sizeof (nis_attr), (xdrproc_t) xdr_nis_attr); if (__builtin_expect (res, TRUE)) @@ -347,14 +347,14 @@ _xdr_ib_request (XDR *xdrs, ib_request *objp) res = xdr_u_int (xdrs, &objp->ibr_flags); if (__builtin_expect (res, TRUE)) { - res = xdr_array (xdrs, (char **) &objp->ibr_obj.ibr_obj_val, + res = xdr_array (xdrs, (void *) &objp->ibr_obj.ibr_obj_val, &objp->ibr_obj.ibr_obj_len, 1, sizeof (nis_object), (xdrproc_t) _xdr_nis_object); if (__builtin_expect (res, TRUE)) { res = xdr_array (xdrs, - (char **) &objp->ibr_cbhost.ibr_cbhost_val, + (void *) &objp->ibr_cbhost.ibr_cbhost_val, &objp->ibr_cbhost.ibr_cbhost_len, 1, sizeof (nis_server), (xdrproc_t) _xdr_nis_server); @@ -406,7 +406,7 @@ _xdr_nis_tag (XDR *xdrs, nis_tag *objp) bool_t _xdr_nis_taglist (XDR *xdrs, nis_taglist *objp) { - return xdr_array (xdrs, (char **) &objp->tags.tags_val, + return xdr_array (xdrs, (void *) &objp->tags.tags_val, &objp->tags.tags_len, ~0, sizeof (nis_tag), (xdrproc_t) _xdr_nis_tag); } @@ -452,7 +452,7 @@ libnsl_hidden_def (xdr_obj_p) bool_t xdr_cback_data (XDR *xdrs, cback_data *objp) { - return xdr_array (xdrs, (char **)&objp->entries.entries_val, + return xdr_array (xdrs, (void *) &objp->entries.entries_val, &objp->entries.entries_len, ~0, sizeof (obj_p), (xdrproc_t) xdr_obj_p); } diff --git a/nis/yp_xdr.c b/nis/yp_xdr.c index b87ee06151..bdd5d8725f 100644 --- a/nis/yp_xdr.c +++ b/nis/yp_xdr.c @@ -195,8 +195,9 @@ xdr_ypmaplist (XDR *xdrs, ypmaplist *objp) { if (!xdr_mapname (xdrs, &objp->map)) return FALSE; - return xdr_pointer (xdrs, (char **) &objp->next, sizeof (ypmaplist), - (xdrproc_t) xdr_ypmaplist); + /* Prevent gcc warning about alias violation. */ + char **tp = (void *) &objp->next; + return xdr_pointer (xdrs, tp, sizeof (ypmaplist), (xdrproc_t) xdr_ypmaplist); } libnsl_hidden_def (xdr_ypmaplist) @@ -205,8 +206,9 @@ xdr_ypresp_maplist (XDR *xdrs, ypresp_maplist *objp) { if (!xdr_ypstat (xdrs, &objp->stat)) return FALSE; - return xdr_pointer (xdrs, (char **) &objp->maps, sizeof (ypmaplist), - (xdrproc_t) xdr_ypmaplist); + /* Prevent gcc warning about alias violation. */ + char **tp = (void *) &objp->maps; + return xdr_pointer (xdrs, tp, sizeof (ypmaplist), (xdrproc_t) xdr_ypmaplist); } libnsl_hidden_def (xdr_ypresp_maplist) diff --git a/posix/regex_internal.h b/posix/regex_internal.h index 3b575c3c48..24d0fbba7d 100644 --- a/posix/regex_internal.h +++ b/posix/regex_internal.h @@ -1,5 +1,5 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . @@ -385,18 +385,20 @@ typedef struct re_dfa_t re_dfa_t; # endif #endif +#ifndef NOT_IN_libc static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr, int new_buf_len) internal_function; -#ifdef RE_ENABLE_I18N +# ifdef RE_ENABLE_I18N static void build_wcs_buffer (re_string_t *pstr) internal_function; static int build_wcs_upper_buffer (re_string_t *pstr) internal_function; -#endif /* RE_ENABLE_I18N */ +# endif /* RE_ENABLE_I18N */ static void build_upper_buffer (re_string_t *pstr) internal_function; static void re_string_translate_buffer (re_string_t *pstr) internal_function; static unsigned int re_string_context_at (const re_string_t *input, int idx, int eflags) internal_function __attribute ((pure)); +#endif #define re_string_peek_byte(pstr, offset) \ ((pstr)->mbs[(pstr)->cur_idx + offset]) #define re_string_fetch_byte(pstr) \ @@ -732,15 +734,16 @@ re_string_wchar_at (const re_string_t *pstr, int idx) return (wint_t) pstr->wcs[idx]; } +# ifndef NOT_IN_libc static int internal_function __attribute ((pure)) re_string_elem_size_at (const re_string_t *pstr, int idx) { -# ifdef _LIBC +# ifdef _LIBC const unsigned char *p, *extra; const int32_t *table, *indirect; int32_t tmp; -# include +# include uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules != 0) @@ -755,9 +758,10 @@ re_string_elem_size_at (const re_string_t *pstr, int idx) return p - pstr->mbs - idx; } else -# endif /* _LIBC */ +# endif /* _LIBC */ return 1; } +# endif #endif /* RE_ENABLE_I18N */ #endif /* _REGEX_INTERNAL_H */ diff --git a/posix/tst-rfc3484-2.c b/posix/tst-rfc3484-2.c index 2536da8f87..ae802c0652 100644 --- a/posix/tst-rfc3484-2.c +++ b/posix/tst-rfc3484-2.c @@ -26,6 +26,7 @@ __idna_to_ascii_lz (const char *input, char **output, int flags) int __idna_to_unicode_lzlz (const char *input, char **output, int flags) { + *output = NULL; return 0; } diff --git a/posix/tst-rfc3484.c b/posix/tst-rfc3484.c index 2e74e9737f..352a7579ac 100644 --- a/posix/tst-rfc3484.c +++ b/posix/tst-rfc3484.c @@ -26,6 +26,7 @@ __idna_to_ascii_lz (const char *input, char **output, int flags) int __idna_to_unicode_lzlz (const char *input, char **output, int flags) { + *output = NULL; return 0; } diff --git a/stdio-common/Makefile b/stdio-common/Makefile index 104c0e0d91..84aebf4945 100644 --- a/stdio-common/Makefile +++ b/stdio-common/Makefile @@ -94,6 +94,8 @@ CFLAGS-cuserid.c = -fexceptions CFLAGS-errlist.c = $(fno-unit-at-a-time) CFLAGS-siglist.c = $(fno-unit-at-a-time) +# We know the test has a format string problem. +CFLAGS-tst-sprintf.c = -Wno-format tst-sscanf-ENV = LOCPATH=$(common-objpfx)localedata tst-swprintf-ENV = LOCPATH=$(common-objpfx)localedata test-vfprintf-ENV = LOCPATH=$(common-objpfx)localedata diff --git a/sunrpc/key_prot.c b/sunrpc/key_prot.c index 56a5414697..63d2538957 100644 --- a/sunrpc/key_prot.c +++ b/sunrpc/key_prot.c @@ -115,7 +115,7 @@ xdr_unixcred (XDR * xdrs, unixcred * objp) return FALSE; if (!INTUSE(xdr_u_int) (xdrs, &objp->gid)) return FALSE; - if (!INTUSE(xdr_array) (xdrs, (char **) &objp->gids.gids_val, + if (!INTUSE(xdr_array) (xdrs, (void *) &objp->gids.gids_val, (u_int *) & objp->gids.gids_len, MAXGIDS, sizeof (u_int), (xdrproc_t) INTUSE(xdr_u_int))) return FALSE; diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list index e16110480f..7e5cc70507 100644 --- a/sysdeps/unix/sysv/linux/syscalls.list +++ b/sysdeps/unix/sysv/linux/syscalls.list @@ -43,7 +43,7 @@ munlockall - munlockall i: munlockall nanosleep - nanosleep Ci:pp __libc_nanosleep __nanosleep nanosleep nfsservctl EXTRA nfsservctl i:ipp nfsservctl pause - pause Ci: __libc_pause pause -personality init-first personality i:i __personality personality +personality EXTRA personality i:i __personality personality pipe - pipe i:f __pipe pipe pivot_root EXTRA pivot_root i:ss pivot_root prctl EXTRA prctl i:iiiii __prctl prctl -- cgit v1.2.3