aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog145
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/sysdeps/powerpc/pspinlock.c4
-rw-r--r--nss/nss_files/files-parse.c3
-rw-r--r--stdio-common/Makefile2
-rw-r--r--stdio-common/_itoa.c20
-rw-r--r--stdio-common/_itoa.h29
-rw-r--r--stdio-common/_itowa.h4
-rw-r--r--stdio-common/printf-parse.h382
-rw-r--r--stdio-common/printf-parsemb.c407
-rw-r--r--stdio-common/printf-parsewc.c2
-rw-r--r--stdio-common/printf-prs.c7
-rw-r--r--stdio-common/vfprintf.c14
-rw-r--r--stdlib/Makefile5
-rw-r--r--stdlib/grouping.c202
-rw-r--r--stdlib/grouping.h176
-rw-r--r--stdlib/groupingwc.c2
-rw-r--r--stdlib/rpmatch.c10
-rw-r--r--stdlib/strtod.c23
-rw-r--r--string/strxfrm.c2
-rw-r--r--sysdeps/generic/dl-cache.c41
-rw-r--r--sysdeps/generic/dl-cache.h42
-rw-r--r--sysdeps/generic/ifreq.c80
-rw-r--r--sysdeps/generic/ifreq.h61
-rw-r--r--sysdeps/generic/ldsodefs.h2
-rw-r--r--sysdeps/generic/strtol.c8
-rw-r--r--sysdeps/generic/unwind-dw2-fde.c19
-rw-r--r--sysdeps/generic/wordexp.c9
-rw-r--r--sysdeps/i386/dl-machine.h2
-rw-r--r--sysdeps/posix/sprofil.c4
-rw-r--r--sysdeps/unix/sysv/linux/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/Makefile4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/xstatconv.c10
-rw-r--r--sysdeps/unix/sysv/linux/fpathconf.c6
-rw-r--r--sysdeps/unix/sysv/linux/fxstat.c6
-rw-r--r--sysdeps/unix/sysv/linux/fxstat64.c6
-rw-r--r--sysdeps/unix/sysv/linux/i386/fxstat.c10
-rw-r--r--sysdeps/unix/sysv/linux/i386/lxstat.c10
-rw-r--r--sysdeps/unix/sysv/linux/i386/xstat.c10
-rw-r--r--sysdeps/unix/sysv/linux/ifreq.c93
-rw-r--r--sysdeps/unix/sysv/linux/ifreq.h74
-rw-r--r--sysdeps/unix/sysv/linux/lxstat.c6
-rw-r--r--sysdeps/unix/sysv/linux/lxstat64.c6
-rw-r--r--sysdeps/unix/sysv/linux/pathconf.c137
-rw-r--r--sysdeps/unix/sysv/linux/pathconf.h125
-rw-r--r--sysdeps/unix/sysv/linux/xstat.c7
-rw-r--r--sysdeps/unix/sysv/linux/xstat64.c6
-rw-r--r--sysdeps/unix/sysv/linux/xstatconv.c20
-rw-r--r--sysdeps/unix/sysv/linux/xstatconv.h25
-rw-r--r--time/tzfile.c39
-rw-r--r--wcsmbs/wcsnrtombs.c6
-rw-r--r--wcsmbs/wcsrtombs.c6
-rw-r--r--wcsmbs/wctob.c9
53 files changed, 1369 insertions, 965 deletions
diff --git a/ChangeLog b/ChangeLog
index dac7a28d36..521ffeeab7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,148 @@
+2003-06-11 Ulrich Drepper <drepper@redhat.com>
+
+ * time/tzfile.c: Add a couple of __builtin_expect.
+
+ Remove warnings gcc 3.3 shows.
+ * argp/argp-help.c (hol_entry_short_iterate): Don't inline.
+ * elf/dl-load.c (fillin_rpath): Likewise.
+ (add_path): Likewise.
+ * elf/dl-version.c (find_needed): Always inline.
+ * elf/do-lookup.c (FCT): Don't inline.
+ * iconv/Makefile: Extend vpath to intl subdir.
+ (iconvconfig-modules): Add hash-string.
+ * iconv/gconv_charset.h (strip): Don't inline.
+ (upstr): Always inline.
+ Move __gconv_compare_alias prototype to...
+ * iconv/gconv_int.h: ...here.
+ * iconv/gconv_db.c: Don't include gconv_charset.h.
+ * iconv/gconv_conf.c (add_alias): Don't inline.
+ (insert_module): Likewise.
+ * iconv/gconv_simple.c (internal_ucs4_loop): Always inline.
+ (internal_ucs4_loop_unaligned): Likewise.
+ (internal_ucs4_loop_single): Likewise.
+ (ucs4_internal_loop): Likewise.
+ (ucs4_internal_loop_unaligned): Likewise.
+ (ucs4_internal_loop_single): Likewise.
+ (internal_ucs4le_loop): Always inline.
+ (internal_ucs4le_loop_unaligned): Likewise.
+ (internal_ucs4le_loop_single): Likewise.
+ (ucs4le_internal_loop): Likewise.
+ (ucs4le_internal_loop_unaligned): Likewise.
+ (ucs4le_internal_loop_single): Likewise.
+ * iconv/loop.c: Always inline the defined functions.
+ * iconvdata/cns11642.h: Likewise.
+ * iconvdata/cns11642l1.h: Likewise.
+ * iconvdata/euc-kr.c: Likewise.
+ * iconvdata/gb2312.h: Likewise.
+ * iconvdata/jis0201.h: Likewise.
+ * iconvdata/jis0208.h: Likewise.
+ * iconvdata/jis0212.h: Likewise.
+ * iconvdata/jisx0213.h: Likewise.
+ * iconvdata/ksc5601.h: Likewise.
+ * iconvdata/utf-7.c (base64): Don't inline.
+ * include/libc-symbols.h (symbol_set_first_element): Add cast
+ (symbol_set_end_p): Likewise.
+ * include/set-hooks (RUN_HOOK): Likewise.
+ * inet/Makefile (aux): Add ifreq.
+ * intl/Makefile (aux): Add some entries from routines. Add
+ hash-string.
+ * intl/hash-string.c: New file.
+ * intl/hash-string.h: Remove hash_string definition. Declare
+ __hash_string.
+ * iconv/gconv_cache.c (find_module_idx): Adjust hash_string caller.
+ * iconv/iconvconfig.c (new_name): Likewise.
+ * intl/dcigettext.c (_nl_find_msg): Likewise.
+ * intl/loadmsgcat.c (_nl_load_domain): Likewise.
+ * io/ftw.c (open_dir_stream): Always inline.
+ (process_entry): Don't inline.
+ * locale/findlocale.c: Include gconv_int.h.
+ * locale/setlocale.c (new_composite_name): Don't inline.
+ * locale/weight.h (findidx): Always inline.
+ * locale/weightwc.h (findidx): Likewise.
+ * locale/programs/linereader.c (lr_ignore_rest): Define here.
+ * locale/programs/linereader.h (lr_ignore_rest): Don't define here,
+ just declare it.
+ (lr_getc): Always inline.
+ (lr_ungetc): Likewise.
+ * nss/nss_files/files-parse.c (parse_list): Likewise.
+ * stdio-common/Makefile (aux): Add printf-parsemb and
+ printf-parsewc.
+ * stdio-common/_itoa.h (_itoa_word): Always inline.
+ (_fitoa_word, _fitoa): Don't define here, only declare.
+ * stdio-common/_itoa.c (_iftoa_word): Add here.
+ (_fitoa): Likewise.
+ * stdio-common/_itowa.h (_itowa_word): Always inline.
+ * stdio-common/printf-parse.h (read_int): Don't inline.
+ (find_spec): Don't define.
+ Declare __find_specmb and __find_specwc.
+ (parse_one_spec): Don't define.
+ Declare __parse_one_specmb and __parse_one_specwc.
+ * stdio-common/printf-parsemb.c: New file.
+ * stdio-common/printf-parsewc.c: New file.
+ * stdio-common/vfprintf.c: Update calls to find_spec and
+ parse_one_spec for new names.
+ * stdio-common/printf-prs.c: Likewise. Define DONT_NEED_READ_INT.
+ * stdlib/Makefile (aux): Add grouping and groupingwc.
+ * stdlib/grouping.c: New file.
+ * stdlib/groupingwc.c: New file.
+ * stdlib/grouping.h (correctly_grouped_prefix): Don't define here.
+ Just prototype.
+ * stdlib/rpmatch.c (try): Don't inline.
+ * stdlib/strtod.c (round_and_return): Don't line.
+ (str_to_mpn): Likewise.
+ (__mpn_lshift_1): Always inline. Optimize only for constant count.
+ Adjust for name change of correctly_grouped_prefix.
+ * sysdeps/generic/strtol.c: Adjust for name change of
+ correctly_grouped_prefix.
+ * string/strxfrm.c (utf8_encode): Don't inline.
+ * sysdeps/generic/dl-cache.c: Define _dl_cache_libcmp.
+ * sysdeps/generic/dl-cache.h: Just declare _dl_cache_libcmp.
+ * sysdeps/generic/ifreq.c: New file.
+ * sysdeps/unix/sysv/linux/ifreq.c: New file.
+ * sysdeps/generic/ifreq.h (__ifreq): Only declare here.
+ * sysdeps/unix/sysv/linux/ifreq.h: Likewise.
+ * sysdeps/generic/ldsodefs.h (_dl_name_match_p): Always inline.
+ * sysdeps/generic/unwind-dw2-fde.c (start_fde_sort): Don't inline.
+ (fde_split): Likewise.
+ (fde_merge): Likewise.
+ (end_fde_sort): Likewise.
+ (init_object): Likewise.
+ (binary_search_unencoded_fdes): Likewise.
+ (binary_search_single_encoding_fdes): Likewise.
+ (binary_search_mixed_encoding_fdes): Likewise.
+ * sysdeps/generic/wordexp.c (w_addchar): Don't inline.
+ * sysdeps/i386/dl-machine.c (elf_machine_runtime_setup): Always inline.
+ * sysdeps/posix/sprofil.c (profil_count): Don't inline.
+ * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
+ Add xstatconv.
+ * sysdeps/unix/sysv/linux/xstatconv.h: New file.
+ * sysdeps/unix/sysv/linux/xstatconv.c: Don't inline the function.
+ Export them. Prepend __ to name.
+ * sysdeps/unix/sysv/linux/Dist: Add xstatconv.h.
+ * sysdeps/unix/sysv/linux/fxstat.c: Adjust for name change of
+ conversion functions.
+ * sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
+ * sysdeps/unix/sysv/linux/lxstat.c: Likewise.
+ * sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
+ * sysdeps/unix/sysv/linux/xstat.c: Likewise.
+ * sysdeps/unix/sysv/linux/xstat64.c: Likewise.
+ * sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise.
+ * sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise.
+ * sysdeps/unix/sysv/linux/i386/xstat.c: Likewise.
+ * sysdeps/unix/sysv/linux/pathconf.c (__statfs_link_max,
+ __statfs_filesize_max, __statfs_symlinks): Define here. __ prepended
+ to name. Change callers.
+ * sysdeps/unix/sysv/linux/pathconf.h (__statfs_link_max,
+ __statfs_filesize_max, __statfs_symlinks): Don't define here, just
+ declare.
+ * sysdeps/unix/sysv/linux/fpathconf.c: Change all callers.
+ * time/tzfile.c (decode): Always inline.
+ * wcsmbs/wcsnrtombs.c: Change type of inbuf to unsigned char*.
+ Remove cast in tomb function call.
+ * wcsmbs/wcsrtombs.c Likewise.
+ * wcsmbs/wcstob.c: Introduce new temp variable to take pointer in
+ tomb function call.
+
2003-06-10 Ulrich Drepper <drepper@redhat.com>
* po/zh_CN.po: Update from translation team.
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index be8bf8ca45..20f387b3e8 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+2003-06-11 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/powerpc/pspinlock.c (__pthread_spin_init): Fix
+ initializer [PR libc/5052].
+
2003-06-09 Andreas Schwab <schwab@suse.de>
* Makefile: Move inclusion of ../Rules down after extra-objs is
diff --git a/linuxthreads/sysdeps/powerpc/pspinlock.c b/linuxthreads/sysdeps/powerpc/pspinlock.c
index 15db1413ef..15fd545c14 100644
--- a/linuxthreads/sysdeps/powerpc/pspinlock.c
+++ b/linuxthreads/sysdeps/powerpc/pspinlock.c
@@ -1,5 +1,5 @@
/* POSIX spinlock implementation. PowerPC version.
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 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
@@ -55,7 +55,7 @@ __pthread_spin_init (pthread_spinlock_t *lock, int pshared)
/* We can ignore the `pshared' parameter. Since we are busy-waiting
all processes which can access the memory location `lock' points
to can use the spinlock. */
- *lock = 1;
+ *lock = 0;
return 0;
}
weak_alias (__pthread_spin_init, pthread_spin_init)
diff --git a/nss/nss_files/files-parse.c b/nss/nss_files/files-parse.c
index 739ee541aa..1800d364ce 100644
--- a/nss/nss_files/files-parse.c
+++ b/nss/nss_files/files-parse.c
@@ -1,5 +1,5 @@
/* Common code for file-based database parsers in nss_files module.
- Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1996-2000, 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
@@ -171,6 +171,7 @@ nss_files_parse_hidden_def (parse_line)
}
static inline char **
+__attribute ((always_inline))
parse_list (char *line, struct parser_data *data, size_t datalen, int *errnop)
{
char *eol, **list, **p;
diff --git a/stdio-common/Makefile b/stdio-common/Makefile
index 1c34605f65..f5ef190850 100644
--- a/stdio-common/Makefile
+++ b/stdio-common/Makefile
@@ -40,7 +40,7 @@ install-others = $(inst_includedir)/bits/stdio_lim.h
include ../Makeconfig
-aux := errlist siglist
+aux := errlist siglist printf-parsemb printf-parsewc
distribute := _itoa.h _itowa.h _i18n_number.h \
printf-parse.h stdio_lim.h.in tst-unbputc.sh tst-printf.sh
diff --git a/stdio-common/_itoa.c b/stdio-common/_itoa.c
index 7bc6c08115..e39d88df7f 100644
--- a/stdio-common/_itoa.c
+++ b/stdio-common/_itoa.c
@@ -424,3 +424,23 @@ _itoa (value, buflim, base, upper_case)
return buflim;
}
+
+char *
+_fitoa_word (unsigned long value, char *buf, unsigned int base, int upper_case)
+{
+ char tmpbuf[sizeof (value) * 4]; /* Worst case length: base 2. */
+ char *cp = _itoa_word (value, tmpbuf + sizeof (value) * 4, base, upper_case);
+ while (cp < tmpbuf + sizeof (value) * 4)
+ *buf++ = *cp++;
+ return buf;
+}
+
+char *
+_fitoa (unsigned long long value, char *buf, unsigned int base, int upper_case)
+{
+ char tmpbuf[sizeof (value) * 4]; /* Worst case length: base 2. */
+ char *cp = _itoa (value, tmpbuf + sizeof (value) * 4, base, upper_case);
+ while (cp < tmpbuf + sizeof (value) * 4)
+ *buf++ = *cp++;
+ return buf;
+}
diff --git a/stdio-common/_itoa.h b/stdio-common/_itoa.h
index 6249adca91..77f5b0c026 100644
--- a/stdio-common/_itoa.h
+++ b/stdio-common/_itoa.h
@@ -1,5 +1,5 @@
/* Internal function for converting integers to ASCII.
- Copyright (C) 1994, 95, 96, 97, 98, 99, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1994,95,96,97,98,99,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
@@ -34,7 +34,7 @@ extern const char _itoa_upper_digits_internal[] attribute_hidden;
extern const char _itoa_lower_digits[];
extern const char _itoa_lower_digits_internal[] attribute_hidden;
-static inline char * __attribute__ ((unused))
+static inline char * __attribute__ ((unused, always_inline))
_itoa_word (unsigned long value, char *buflim,
unsigned int base, int upper_case)
{
@@ -69,24 +69,11 @@ _itoa_word (unsigned long value, char *buflim,
}
#undef SPECIAL
-static inline char * __attribute__ ((unused))
-_fitoa_word (unsigned long value, char *buf, unsigned int base, int upper_case)
-{
- char tmpbuf[sizeof (value) * 4]; /* Worst case length: base 2. */
- char *cp = _itoa_word (value, tmpbuf + sizeof (value) * 4, base, upper_case);
- while (cp < tmpbuf + sizeof (value) * 4)
- *buf++ = *cp++;
- return buf;
-}
-
-static inline char * __attribute__ ((unused))
-_fitoa (unsigned long long value, char *buf, unsigned int base, int upper_case)
-{
- char tmpbuf[sizeof (value) * 4]; /* Worst case length: base 2. */
- char *cp = _itoa (value, tmpbuf + sizeof (value) * 4, base, upper_case);
- while (cp < tmpbuf + sizeof (value) * 4)
- *buf++ = *cp++;
- return buf;
-}
+/* Similar to the _itoa functions, but output starts at buf and pointer
+ after the last written character is returned. */
+extern char *_fitoa_word (unsigned long value, char *buf, unsigned int base,
+ int upper_case) attr