blob: 92f973968046e1da05e6bb4a3e1adc38ffefffb0 [file] [log] [blame]
2010-05-04 Andreas Schwab <>
* posix/regexec.c (find_collation_sequence_value): Fix skipping
the wide char sequence of the collating element.
2010-05-05 Ulrich Drepper <>
[BZ #11571]
* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle
too small buffers according to the standard.
* sysdeps/unix/sysv/linux/kernel-features.h: Alpha doesn't have to be
handled here anymore.
Patch mostly by Matt Turner <>.
2010-05-03 Ulrich Drepper <>
* version.h (VERSION): Bump for 2.12 release.
* include/features.h (__GLIBC_MINOR__): Bump to 12.
[BZ #11149]
* elf/ldconfig.c (search_dir): Fix handling of symlinks in chroot.
* elf/chroot_canon.c (chroot_canon): Use xmalloc and xrealloc.
* elf/ldconfig.c (parse_conf_include): Don't fall back to
directories named in config file outside the chroot.
2010-02-02 Andreas Schwab <>
* sysdeps/generic/ldsodefs.h (struct rtld_global): Add
* elf/rtld.c (_rtld_global): Initialize it.
* elf/dl-support.c (_dl_load_write_lock): Define .
* elf/dl-close.c (_dl_close_worker): Lock GL(dl_load_write_lock)
when modifying the list of loaded objects.
* elf/dl-load.c (lose): Likewise.
* elf/dl-object.c (_dl_new_object): Likewise.
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Lock
GL(dl_load_write_lock) instead of GL(dl_load_lock).
2010-05-03 Ulrich Drepper <>
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Remove unnecessary
2010-05-02 Ulrich Drepper <>
* misc/mntent_r.c (encode_name): The slow loop handles newlines so we
should recognize them as an abort condition.
Patch by Jan Lieskovsky <>.
2010-04-25 Bruno Haible <>
[BZ #11538]
* sysdeps/unix/bsd/ptsname.c (__ptsname_r): Use __ttyname_r's return
value instead of errno.
* sysdeps/unix/getlogin.c (getlogin): Likewise.
[BZ #11537]
* sysdeps/mach/hurd/ttyname_r.c (__ttyname_r): Upon failure, return
errno, not -1.
2010-04-24 Emilio Pozuelo Monfort <>
* hurd/lookup-at.c (__file_name_lookup_at): Fix error return value.
2010-04-22 Ulrich Drepper <>
* po/vi.po: Update from translation team.
2010-04-21 Ulrich Drepper <>
* po/bg.po: Update from translation team.
2010-04-19 Roland McGrath <>
* elf/Makefile ($(objpfx)noload): Depend on
* Makeconfig (as-needed, no-as-needed): New variables.
(link-libc): Add inside --as-needed.
* stdio-common/tst-fmemopen.c (TEST_FILE): Macro removed.
(main): Take arguments. Construct test file name from ARGV[0].
2010-04-15 H.J. Lu <>
* string/test-strncmp.c (check_result): New function.
(do_one_test): Use it.
(check1): New function.
(test_main): Use it.
* sysdeps/i386/i686/multiarch/strcmp-sse4.S (crosspage): Properly
update source and destination.
* sysdeps/i386/i686/multiarch/strcmp-ssse3.S (gobble_ashr_12):
Properly check and update counter.
2010-04-14 H.J. Lu <>
* sysdeps/x86_64/elf/ Move AVX test to ....
* sysdeps/i386/
* sysdeps/i386/i686/multiarch/Makefile (libm-sysdep_routines): Define.
(CFLAGS-s_fma-fma.c): Define.
(CFLAGS-s_fmaf-fma.c): Define.
* sysdeps/i386/i686/multiarch/Versions: New file.
* sysdeps/i386/i686/multiarch/s_fma-fma.c: New file.
* sysdeps/i386/i686/multiarch/s_fma.c: New file.
* sysdeps/i386/i686/multiarch/s_fmaf-fma.c: New file.
* sysdeps/i386/i686/multiarch/s_fmaf.c: New file.
* sysdeps/x86_64/multiarch/memcmp-sse4.S: Check
2010-04-14 Andreas Schwab <>
* elf/dl-version.c (_dl_check_map_versions): Avoid index overflow
when dependencies are missing.
2010-04-14 H.J. Lu <>
* sysdeps/x86_64/multiarch/memcmp-sse4.S: Optimized for unaligned
2010-04-12 H.J. Lu <>
* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
* sysdeps/x86_64/multiarch/memcmp-sse4.S: New file.
* sysdeps/x86_64/multiarch/memcmp.S: New file.
* sysdeps/x86_64/multiarch/rtld-memcmp.c: New file.
2010-04-13 Ulrich Drepper <>
* sysdeps/x86_64/multiarch/init-arch.h: Pretty printing.
Add SSE 4.1 macros.
2010-04-10 Matt Fleming <>
* elf/elf.h: Add SH specific ELF header flags.
2010-04-13 Andreas Schwab <>
* sysdeps/unix/sysv/linux/s390/s390-32/makecontext.c: Fix setup of
overflow area.
* sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c: Likewise.
2010-04-12 Andreas Schwab <>
* stdlib/tst-makecontext3.c (main): Initialize ucontext_t objects
only with getcontext. Test for unimplemented makecontext by
checking errno.
2010-04-09 Ulrich Drepper <>
* nscd/aicache.c (addhstaiX): Correct passing memory to address
list to gethostbyname4_r functions.
* resolv/nss_dns/dns-host.c (gaih_getanswer_slice): Optimize
copying of h_name.
2010-04-09 Roland McGrath <>
* Makerules ($(common-objpfx)libc-abis.h): Depend on libc-abis.stamp.
($(common-objpfx)libc-abis.stamp): New target, rule moved from
libc-abis.h target. Use a stamp file to avoid repeating no-op
move-if-change on every run.
* posix/Makefile (tst-chmod-ARGS): Pass $(objdir), not `pwd`.
2010-04-08 Ulrich Drepper <>
[BZ #10915]
* nscd/nscd_stat.c (struct statdata): Add reload_count field.
(send_stats): Fill in reload_count.
(receive_print_stats): Print reload_count.
* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): When
reading the loginuid file use a buffer which is always large enough.
NUL-terminate the string.
* malloc/malloc.c (_int_malloc): Return NULL if printing error message
2010-04-07 Andreas Schwab <>
* sysdeps/unix/sysv/linux/i386/fallocate.c: Set errno on error.
* sysdeps/unix/sysv/linux/i386/fallocate64.c: Likewise.
2010-04-08 Andreas Jaeger <>
[BZ #10401]
* math/s_cprojl.c (__cprojl): Fix implementation to follow C99
* math/s_cprojf.c (__cprojf): Likewise.
* math/s_cproj.c (__cproj): Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_cprojl.c (__cprojl): Likewise.
* math/ (cproj_test): Fix test.
2010-04-08 Roland McGrath <>
* Makerules (libc-abis): Variable removed.
($(common-objpfx)libc-abis.h): Depend on Makerules too.
Use automatic variables in commands.
Depend on first libc-abis from $(sysdirs) or $(..).
2010-04-07 Ulrich Drepper <>
* posix/bug-getopt1.c: New file.
* posix/bug-getopt2.c: New file.
* posix/bug-getopt3.c: New file.
* posix/bug-getopt4.c: New file.
* posix/bug-getopt5.c: New file.
2009-12-01 Eric Blake <>
[BZ #11039]
* posix/getopt.c (_getopt_internal_r): Skip optional - or + before
checking lead byte of optstring for :.
[BZ #11040]
* posix/getopt.c (_getopt_internal_r): Reject '-;' as short
option, since it conflicts with "W;" optstring extension.
2009-12-02 Eric Blake <>
[BZ #11041]
* posix/getopt.c (_getopt_internal_r): Handle '-Wfoo' identically
to '--foo', with optional argument or non-ambiguous prefix.
2010-04-07 Ulrich Drepper <>
[BZ #11134]
* nis/libnsl.h (NSS_FLAG_ADJUNCT_AS_SHADOW): Define.
* nis/nss: Document new ADJUNCT_AS_SHADOW variable.
* nis/nss-default.c: Handle ADJUNCT_AS_SHADOW variable.
* nis/nss_nis/nis-pwd.c (internal_nis_endpwent): Minor cleanups.
(internal_nis_getpwent_r): Don't fill in password from adjunct table
(_nss_nis_getpwnam_r): Likewise.
(_nss_nis_getpwuid_r): Likewise.
* nis/nss_nis/nis-spwd.c (ent_adjunct_used): New global variable.
(_nss_nis_setspent): Also reset ent_adjunct_used.
(internal_nis_getspent_r): If new_start is set and shadow.byname table
does not exist and NSS_FLAG_ADJUNCT_AS_SHADOW is set, try to get
passwd.adjunct.byname table. If new_start is not set get next entry
from the initially used table. Synthesize shadow.byname table if
necessary by adding two empty fields.
(_nss_nis_getspnam_r): If shadow.byname table does not exist and
NSS_FLAG_ADJUNCT_AS_SHADOW is set, try to get passwd.adjunct.byname
table and synthesize shadow.byname table.
2010-04-06 H.J. Lu <>
* Makerules (libc-abis): Add $(..) to libc-abis.
2010-04-06 Joseph Myers <>
* Makerules (libc-abis): Fix search for libc-abis in add-ons.
2010-04-05 Thomas Schwinge <>
* sysdeps/gnu/unwind-resume.c: New, moved from nptl/sysdeps/pthread/.
* sysdeps/gnu/rt-unwind-resume.c: Likewise.
* sysdeps/gnu/Makefile: Add sections for csu and rt subdirs to
build unwind-resume code, previously in nptl/sysdeps/pthread/Makefile.
2010-04-05 Roland McGrath <>
* elf/dl-cache.c (_dl_load_cache_lookup): Obey dl_hwcap_mask.
* elf/dl-support.c (_dl_hwcap_mask): New variable.
* elf/rtld.c (dl_main) [HAVE_AUX_VECTOR]: Add a cast.
2010-03-30 Paul Pluzhnikov <>
* Makeconfig: Propagate -fdebug-prefix-map from CFLAGS to ASFLAGS.
2010-03-30 Joseph Myers <>
* elf/elf.h (ELFOSABI_ARM_AEABI): Define.
2010-04-05 Ulrich Drepper <>
* po/nl.po: Update from translation team.
[BZ #11010]
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname3_r): Handle
timeouts from servers.
[BZ #11149]
* elf/ldconfig.c (main): Respect chroot setting when looking for
the aux cache.
2010-04-04 Ulrich Drepper <>
[BZ #11043]
* posix/getopt.c (_getopt_internal_r): Fix arguments printed in error
[BZ #11070]
* resolv/netdb.h: Declare iruserok and iruserok_af.
* argp/Makefile: Add rules to build and run bug-argp2.
* argp/bug-argp2.c: New file.
2010-02-05 Sergey Poznyakoff <>
[BZ #11254]
* argp/argp-parse.c (convert_options): Fix improper use of `|'
between character values.
2010-04-04 Ulrich Drepper <>
[BZ #11276]
* sysdeps/posix/remove.c (IS_NO_DIRECTORY_ERROR): Define.
(remove): Use IS_NO_DIRECTORY_ERROR to check for file being no
* sysdeps/unix/sysv/linux/remove.c: New file.
* conform/data/sys/stat.h-data: Fix testing of S_IS* macros.
[BZ #11279]
* io/sys/stat.h: Always define S_ISSOCK for XPG6 and up.
[BZ #11287]
* csu/Makefile ($(objpfx)version-info.h): Handle newer kernel headers
which don't define UTS_RELEASE.
2010-04-04 H.J. Lu <>
Ulrich Drepper <>
[BZ #11292]
* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Allow
concurrent initialization and use of __cpu_features.
2010-04-04 Ulrich Drepper <>
* sysdeps/x86_64/multiarch/init-arch.h (cpu_features): Add tag to
the enum.
2010-04-03 Ulrich Drepper <>
[BZ #11333]
* sysdeps/unix/readdir_r.c (__READDIR_R): Add support for platforms
which include unnecessary padding in d_reclen.
* sysdeps/unix/sysv/linux/i386/readdir64_r.c: Select work-around for
unnecessary padding.
[BZ #11387]
* sysdeps/unix/sysv/linux/ifaddrs.c (map_newlin): Don't abort on
unknown interface, return -1.
(getifaddrs_internal): Rename from getifaddrs. Handle errors in
map_newlink be returning -EAGAIN.
(getifaddrs): If -EAGAIN is returned from getifaddrs_internal try
2010-03-25 Ryan S. Arnold <>
* sysdeps/unix/sysv/linux/getsysstats.c (next_line): Remove
redundant and incorrect else block which overwrites current line
with the partial next line.
2010-04-03 Ulrich Drepper <>
[BZ #11438]
* posix/gai.conf: Document problems with IPv4 site-local addresses and
[BZ #11449]
* crypt/crypt_util.c (__init_des_r): Add memory barrier before setting
* malloc/malloc.c (_int_free): Add one more sanity check for fastbins.
* malloc/malloc.c (set_max_fast): Fix computation of the value.
2010-03-30 David S. Miller <>
* sysdeps/unix/sysv/linux/mmap64.c (__mmap64): Fix
2010-03-29 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/bits/socket.h: Define MSG_WAITFORONE.
2010-03-28 Thomas Schwinge <>
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Adapt to auxv
changes in the generic code.
* elf/rtld.c (dl_main): Conditionalize the code that dereferences auxv
2010-03-27 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/getpagesize.c (__getpagesize): If
__ASSUME_AT_PAGESIZE we can rely on the value being set.
* include/wchar.h: Undefine __need_mbstate_t and __need_wint_t
unconditionally in the end.
* posix/glob.c (glob): Initialize oldcount early, too.
2010-03-26 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/i386/fcntl.c: Define miss_F_GETOWN_EX
only if needed.
Patch mostly by Paul Pluzhnikov <>.
2010-03-26 Richard Henderson <>
* sysdeps/generic/ldsodefs.h (_dl_random): Mark attribute_relro;
* stdio-common/psiginfo.c (psiginfo): Fix printf format
warning for si_band.
* locale/setlocale.c (free_category): Finish renaming
struct locale_data to __locale_data.
* csu/gmon-start.c (ENTRY_POINT, etext): Declare as char[], not void.
* elf/dl-sysdep.c (_end): Likewise.
* sysdeps/unix/sysv/dl-sysdep.c (frob_brk): Likewise with locally
declared _end, and associated variables.
2010-03-26 Ulrich Drepper <>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Don't assume success always
means aborting the loop over the NSS methods.
2010-03-25 Andreas Schwab <>
[BZ #11001]
* sysdeps/posix/getaddrinfo.c (gaih_inet): Reset no_data before
each action.
2010-03-26 Ulrich Drepper <>
* malloc/malloc.c: Remove stale reference to website.
2010-03-24 Ulrich Drepper <>
[BZ #11389]
* sysdeps/unix/sysv/linux/clock_getres.c: Handle CLOCK_MONOTONIC_RAW,
* sysdeps/unix/sysv/linux/clock_gettime.c: Likewise.
* sysdeps/unix/sysv/linux/clock_settime.c: Likewise.
2010-03-25 Andreas Schwab <>
* sysdeps/posix/cuserid.c: Fix typo.
2010-03-16 Chris Demetriou <>
[BZ #11394]
* locale/programs/simple-hash.c: Include inttypes.h.
(hashval_t): Defined to be uint32_t.
* locale/programs/simple_hash.h: Include inttypes.h.
(compute_hashval): Change return type to uint32_t.
2010-03-24 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/getlogin_r.c: New file.
* sysdeps/unix/sysv/linux/getlogin.c: New file.
* sysdeps/unix/getlogin_r.c: Allow compiling getlogin as static
* sysdeps/unix/getlogin.c: Likewise. Move name variable to toplevel.
* include/unistd.h: Declare __getlogin_r_loginuid.
[BZ #11397]
* sysdeps/posix/cuserid.c (cuserid): Make sure the returned string
is NUL terminated.
Patch by Jonathan Geisler <>.
* sysdeps/unix/sysv/linux/mmap64.c: Allow variable shift values.
2010-03-24 H.J. Lu <>
* sysdeps/x86_64/multiarch/strpbrk-c.c: Define only if SHARED
is defined.
2010-03-22 H.J. Lu <>
* string/test-memcmp.c (check_result): New function.
(do_one_test): Use it.
(check1): New function.
(test_main): Use it.
2010-03-24 Ulrich Drepper <>
* posix/tst-gnuglob.c: Add tests with empty patterns. For this
rewrite the tests to add support for failing glob calls.
Some other minor cleanups.
* posix/bug-glob3.c: New file.
* posix/Makefile (tests): Add bug-glob3.
2010-03-24 Ulrich Drepper <>
Andreas Schwab <>
* posix/glob.c (glob): Clean up gl_pathc and gl_pathv earlier.
If pattern is "" bail out early
2010-03-23 Jakub Jelinek <>
* elf/dl-lookup.c (do_lookup_x): If tab->entries is NULL,
but tab->size != 0, just unlock and goto success, without
allocating anything or entering anything into the hash table.
(_dl_debug_bindings): Temporarily set tab->entries to NULL
around do_lookup_x in undef_map->l_local_scope[0]. If
undef_map->l_symbolic_in_local_scope, lookup also in
symbolic_searchlist of following libraries in l_local_scope
that have DT_SYMBOLIC set.
* elf/dl-deps.c (_dl_map_object_deps): Compute
* include/link.h (struct link_map): Add l_symbolic_in_local_scope
2010-03-24 Ulrich Drepper <>
[BZ #11410]
* wctype/wctype.h: Use <wchar.h> to get the wint_t definition.
* wcsmbs/wchar.h: Correct preprocessor directive indentation. Move
C++ prototype handling to a better place.
2010-03-18 Ulrich Drepper <>
* elf/dl-load.c (open_verify): Extend expected to the full size of the
e_ident array. When loading, check that the fields in e_ident we don't
know are zero to allow future extensions.
2010-03-18 H.J. Lu <>
* sysdeps/i386/i686/multiarch/memcmp-ssse3.S: Update %xmm3
when exit from loop.
2010-03-16 Andreas Schwab <>
* resolv/res_send.c (__libc_res_nsend): Fix printing of server
address in debug statement.
(send_dg): Pass correct buffer pointer to DprintQ.
2010-03-17 Ulrich Drepper <>
* libc-abis: Add a few more entries.
2010-03-16 Ulrich Drepper <>
* elf/dl-load.c (VALID_ELF_ABIVERSION): Add additional osabi parameter.
Not used here.
(open_verify): Modify for extended VALID_ELF_ABIVERSION macro
* sysdeps/unix/sysv/linux/ldsodefs.h (VALID_ELF_ABIVERSION): Add
additional osabi parameter. Only acceept nonzero ABI versions if osabi
is Linux.
Fix includes.
(expected2): Don't explicitly initialize EI_ABIVERSION byte.
* sysdeps/unix/sysv/linux/ldsodefs.h (VALID_ELF_ABIVERSION): Update
definition to follow generic code.
2010-03-15 Ulrich Drepper <>
* posix/getconf.c: Update copyright year.
* nss/getent.c: Likewise.
* iconv/iconvconfig.c: Likewise.
* iconv/iconv_prog.c: Likewise.
* elf/ldconfig.c: Likewise.
* catgets/gencat.c: Likewise.
* csu/version.c: Likewise.
* elf/ Likewise.
* elf/sprof.c (print_version): Likewise.
* locale/programs/locale.c: Likewise.
* locale/programs/localedef.c: Likewise.
* nscd/nscd.c (print_version): Likewise.
* debug/ Likewise.
* malloc/ Likewise.
* malloc/ Likewise.
* debug/ Likewise.
* Makerules: Add rule for libc-abis.h.
* csu/version.c: Use LIBC_ABIS_STRING string if available.
* elf/dl-load.c (VALID_ELF_ABIVERSION): Check using LIBC_ABI_MAX.
(open_verify): Only check EI_ABIVERSION bytes using VALID_ELF_HEADER.
Add extra call to VALID_ELF_ABIVERSION.
2010-03-12 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/sys/mount.h (UMOUNT_NOFOLLOW): Define.
2010-03-12 Andreas Schwab <>
* elf/dl-dst.h: Include "trusted-dirs.h".
(DL_DST_REQUIRED): Take $LIB into account.
2010-03-11 Roland McGrath <>
* elf/elf.h (R_X86_64_GOT64, R_X86_64_GOTPCREL64): New macros.
(R_X86_64_GOTPC64, R_X86_64_GOTPLT64, R_X86_64_PLTOFF64): New macros.
2010-03-10 Luis Machado <>
* sysdeps/powerpc/powerpc64/power7/memcpy.S: New file.
* sysdeps/powerpc/powerpc32/power7/memcpy.S: New file.
2010-03-09 David S. Miller <>
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Handling
of R_SPARC_TLS_LE_* needs to use 32-bit loads and stores, not
64-bit ones.
* sysdeps/sparc/sparc32/memcpy.S: Fix build.
* sysdeps/sparc/sparc32/strlen.S: Optimize.
* sysdeps/sparc/sparc64/strlen.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/strlen.S (ASI_PNF, ASI_BLK_P,
XCC): Delete definitions, not needed.
2010-03-07 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
Little follow-up patch from last change.
2010-03-06 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/internal_statvfs.c: Handle ext4 and logfs.
* sysdeps/unix/sysv/linux/linux_fsinfo.h: Add entry for logfs.
2010-02-18 Yann Droneaud <>
* resolv/res_send.c: Fixed DEBUG statements.
Moved tmpbuf declaration to block beginning and
updated pointer names used in multiple DprintQ() calls
2010-02-18 H.J. Lu <>
* (config-asflags-i686): Define.
* Substitute libc_cv_as_i686.
* sysdeps/i386/ Check if assembler supports -mtune=i686.
* sysdeps/i386/i686/Makefile (CFLAGS-.oX): Add -Wa,-mtune=i686
if assembler supports -mtune=i686.
(ASFLAGS-.oX): Likewise.
2010-03-04 Ulrich Drepper <>
* elf/elf.h (R_X86_64_SIZE32): Define.
(R_X86_64_SIZE64): Define.
2010-03-02 Richard Guenther <>
* sysdeps/x86_64/dl-machine.h (elf_machine_rela): R_X86_64_PC32
is sign-extending.
2010-03-03 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/bits/in.h: Add a few more definitions from
the kernel headers.
2010-03-04 David S. Miller <>
* sysdeps/sparc/sparc64/Implies: Add ieee754/dbl-64/wordsize-64 entry.
* sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S: Delete.
* sysdeps/sparc/sparc32/udiv_qrnnd.S: Delete.
2010-03-03 David S. Miller <>
* math/math_private.h (INSERT_WORDS64): Fix argument order.
2010-03-03 Aurelien Jarno <>
* sysdeps/unix/sysv/linux/sparc/sparc64/msgrcv.c: New file.
2010-03-03 David S. Miller <>
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_lazy_rel): Must
pass '1' for 't' argument to sparc_fixup_plt.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_lazy_rel):
* sysdeps/sparc/sparc32/dl-plt.h (OPCODE_BA_PT): Define.
(sparc_fixup_plt): Document 't' argument. Enable branch
optimization and use v9 branches when possible. Explain why we
cannot unconditionally patch the branch into the first PLT
* sysdeps/sparc/sparc64/dl-plt.h (sparc64_fixup_plt): Document 't'
argument. Use v9 branches when possible. Explain why we can in
fact unconditionally use a branch in the first PLT instruction
2010-02-28 Roland McGrath <>
* elf/elf.h (NT_X86_XSTATE): New macro.
2010-02-25 David S. Miller <>
* sysdeps/sparc/sparc64/Makefile: Add align-cpy rule.
* sysdeps/sparc/sparc64/align-cpy.S: New.
* sysdeps/sparc/sparc64/memcpy.S (__align_cpy_1, __align_cpy_2,
__align_cpy_4, __align_cpy_8, __align_cpy_16): Remove.
* sysdeps/sparc/sparc64/sparcv9b/memcpy.S (__align_cpy_1,
__align_cpy_2, __align_cpy_4, __align_cpy_8, __align_cpy_16):
* sysdeps/sparc/sparc64/sparcv9v/memcpy.S (__align_cpy_1,
__align_cpy_2, __align_cpy_4, __align_cpy_8, __align_cpy_16):
* sysdeps/sparc/sparc64/sparcv9v2/memcpy.S (__align_cpy_1,
__align_cpy_2, __align_cpy_4, __align_cpy_8, __align_cpy_16):
* sysdeps/sparc/sparc32/bcopy.c: Delete.
* sysdeps/sparc/sparc32/memmove.c: Delete.
* sysdeps/sparc/sparc32/sparcv9/bcopy.c: Delete.
* sysdeps/sparc/sparc32/sparcv9/memmove.c: Delete.
* sysdeps/sparc/sparc64/bcopy.c: Delete.
* sysdeps/sparc/sparc64/memmove.c: Delete.
* sysdeps/sparc/sparc64/memcopy.h: New.
* sysdeps/sparc/sparc32/memcpy.S (bcopy, memmove): Remove.
* sysdeps/sparc/sparc64/memcpy.S (bcopy, memmove): Likewise.
* sysdeps/sparc/sparc64/sparcv9b/memcpy.S (bcopy, memmove): Likewise.
* sysdeps/sparc/sparc64/sparcv9v/memcpy.S (bcopy, memmove): Likewise.
* sysdeps/sparc/sparc64/sparcv9v2/memcpy.S (bcopy, memmove): Likewise.
* sysdeps/sparc/elf/rtld-global-offsets.sym: New file.
* sysdeps/sparc/Makefile (csu): Add rtld-global-offsets.sym to
* sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile: New file.
* sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy.S: New file.
* sysdeps/sparc/sparc32/sparcv9/multiarch/memset.S: New file.
* sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S: Move to...
* sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-ultra3.S:
* sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S: Move to...
* sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-niagara1.S:
* sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S: Move to...
* sysdeps/sparc/sparc32/sparcv9/multiarch/memset-niagara1.S:
* sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S: Move to...
* sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-niagara2.S:
* sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S: Removed.
* sysdeps/sparc/sparc64/multiarch/Makefile: New file.
* sysdeps/sparc/sparc64/sparcv9v/memcpy.S: Move to...
* sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S:
* sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: Move to...
* sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S:
* sysdeps/sparc/sparc64/sparcv9b/memcpy.S: Move to...
* sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S:
* sysdeps/sparc/sparc64/sparcv9v/memset.S: Move to...
* sysdeps/sparc/sparc64/multiarch/memset-niagara1.S:
* sysdeps/sparc/sparc64/sparcv9v2/memset.S: Removed.
* sysdeps/sparc/sparc64/multiarch/memcpy.S: New file.
* sysdeps/sparc/sparc64/multiarch/memset.S: New file.
2010-02-20 H.J. Lu <>
[BZ #11332]
* sysdeps/i386/i686/multiarch/strcmp-sse4.S: Use cfi_remember_state
and cfi_restore_state only if USE_AS_STRNCMP is defined.
2010-02-24 Ulrich Drepper <>
* sysdeps/x86_64/Implies: Add ieee754/dbl-64/wordsize-64 entry.
2010-02-24 H.J. Lu <>
* sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S
(bk_write_less32bytes_2): Renamed to ...
(bk_write_less48bytes): This.
Use unsigned conditional jumps.
Correct unwind info.
Use add/sub instead of lea if possible.
(shl_0_gobble_cache_loop_tail): Removed.
(large_page): Properly adjust ECX.
* sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Use unsigned
conditional jumps.
Correct unwind info.
* sysdeps/i386/i686/multiarch/memset-sse2-rep.S: Remove redundant
Use unsigned conditional jumps.
(128bytesormore_nt): Renamed to ...
(128bytesormore_endof_L1): This.
Use add instead of lea if possible.
Correct unwind info.
* sysdeps/i386/i686/multiarch/memset-sse2.S: Remove redundant
Use unsigned conditional jumps.
Use add instead of lea if possible.
Correct unwind info.
2010-02-24 Ulrich Drepper <>
[BZ #11319]
* libio/iovdprintf.c (_IO_vdprintf): Explicitly flush stream before
undoing the stream because _IO_FINISH doesn't report failures.
[BZ #5553]
* malloc/malloc.c (public_vALLOc): Set ar_ptr when trying main_arena.
(public_pVALLOc): Likewise.
Patch by Petr Baudis.
2010-02-22 Jim Meyering <>
* manual/math.texi (BSD Random): Fix a typo: s/are/is/
* manual/charset.texi: Adjust grammar.
* manual/errno.texi (Error Messages): Fix doubled-words and typos.
* manual/charset.texi (Selecting the Conversion): Likewise.
* manual/getopt.texi (Getopt Long Options): Likewise.
* manual/memory.texi (Resizing the Data Segment): Likewise.
* manual/message.texi (GUI program problems): Likewise.
* manual/resource.texi (CPU Affinity): Likewise.
* manual/stdio.texi (Streams and Threads): Likewise.
* manual/time.texi (High Accuracy Clock): Likewise.
2009-02-20 David S. Miller <>
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup):
Adjust rela->r_offset by l->l_addr when rewriting PLT.
* sysdeps/sparc/sparc64/memchr.S: Use unsigned branch on greater to
test end of buffer.
* sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c
(__makecontext): Adjust arg counter properly when copying arg
stack slots.
2009-02-20 Joseph Myers <>
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_runtime_setup):
Adjust rela->r_offset by l->l_addr when rewriting PLT.
2010-02-19 Carl Fredrik Hammar <>
* hurd/hurdioctl.c (tiocsctty): Call `do_tiocsctty' instead of
non-existent `tiocsctty_port'.
2010-02-16 H.J. Lu <>
* sysdeps/i386/i686/multiarch/memcmp.S (memcmp): Use CPUID_OFFSET
instead of FEATURE_OFFSET.
* sysdeps/i386/i686/multiarch/strcmp.S (strcmp): Likewise.
* sysdeps/i386/i686/multiarch/memcmp-sse4.S: Add alignnments.
Fix one unwind info problem.
* sysdeps/i386/i686/multiarch/memcmp-ssse3.S (less1bytes): Add CFI_POP.
* sysdeps/i386/i686/multiarch/strcmp-sse4.S: Simplify unwind info.
2010-02-17 H.J. Lu <>
Ulrich Drepper <>
* sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Fix typo in unwind info.
Clean up a bit.
2010-02-17 Carl Fredrik Hammar <>
* hurd/hurdioctl.c (tiocsctty): Only get FD ports, do work in...
(tiocsctty_port): ...this new function.
* hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS_1): Cast to
2010-02-15 Ulrich Drepper <>
* sysdeps/i386/i686/multiarch/memcmp-sse4.S: Fix unwind info.
* sysdeps/i386/i686/multiarch/memcmp-ssse3.S: Likewise.
* sysdeps/i386/i686/multiarch/strcmp-sse4.S: Likewise.
* sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Likewise.
* sysdeps/i386/i686/multiarch/strcmp-sse4.S: Don't fall through to
undefined code.
2010-02-12 H.J. Lu <>
* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
strcmp-ssse3, strcmp-sse4, strncmp-c, strncmp-ssse3, strncmp-sse4,
memcmp-c, memcmp-ssse3, and memcmp-sse4.
* sysdeps/i386/i686/multiarch/memcmp-sse4.S: New file.
* sysdeps/i386/i686/multiarch/memcmp-ssse3.S: New file.
* sysdeps/i386/i686/multiarch/memcmp.S: New file.
* sysdeps/i386/i686/multiarch/strcmp-sse4.S: New file.
* sysdeps/i386/i686/multiarch/strcmp-ssse3.S: New file.
* sysdeps/i386/i686/multiarch/strcmp.S: New file.
* sysdeps/i386/i686/multiarch/strncmp-c.c: New file.
* sysdeps/i386/i686/multiarch/strncmp-sse4.S: New file.
* sysdeps/i386/i686/multiarch/strncmp-ssse3.S: New file.
* sysdeps/i386/i686/multiarch/strncmp.S: New file.
2010-02-12 Luis Machado <>
* sysdeps/powerpc/powerpc32/dl-machine.h: Removed old PPC_REL16 check.
* sysdeps/powerpc/powerpc32/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
* sysdeps/powerpc/powerpc32/memset.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S: Likewise.
* sysdeps/powerpc/powerpc32/ Fail if R_PPC_REL16
is not supported.
* sysdeps/powerpc/powerpc32/fpu/s_round.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_floor.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_lround.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_rint.S: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S: Likewise.
* sysdeps/powerpc/powerpc32/dl-start.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/____longjmp_chk.S:
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S:
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S:
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S:
* sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: Likewise.
2010-02-12 Alan Modra <>
* elf/tls-macros.h [__powerpc__] (__TLS_CALL_CLOBBERS): Remove r3.
Define and use for __powerpc64__ too.
[__powerpc__] (TLS_LD): Add r3 to clobbers.
[__powerpc__] (TLS_GD): Set asm output. Make __result r3 reg.
[__powerpc64__] (TLS_GD): Make __result r3 reg.
[__powerpc64__] (TLS_IE): Relax output constraint.
2010-02-11 Andreas Krebbel <>
* sysdeps/s390/s390-64/utf8-utf16-z9.c: Disable hardware
instructions cu21 and cu24. Add well-formedness checking
parameter and adjust the software implementation.
* sysdeps/s390/s390-64/utf16-utf32-z9.c: Likewise.
2010-02-10 Ulrich Drepper <>
[BZ #11271]
* io/ftw.c (ftw_startup): Close descriptor for initial directory
after changing back to it.
2010-02-05 David S. Miller <>
* elf/elf.h (R_SPARC_JMP_IREL, R_SPARC_IRELATIVE): Define.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Handle new
ifunc relocs.
(elf_machine_lazy_rel): Likewise.
(sparc_fixup_plt): Pull out to...
* sysdeps/sparc/sparc32/dl-plt.h:
* sysdeps/sparc/sparc32/dl-irel.h: New file.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Handle new
ifunc relocs.
(elf_machine_lazy_rel): Likewise.
(sparc64_fixup_plt): Pull out to...
* sysdeps/sparc/sparc64/dl-plt.h:
* sysdeps/sparc/sparc64/dl-irel.h: New file.
2010-02-09 Maxim Kuvyrkov <>
* elf/elf.h: Define m68k TLS relocations.
2010-02-10 Luis Machado <>
* sysdeps/powerpc/powerpc64/power7/Implies: Removed.
* sysdeps/powerpc/powerpc64/power7/fpu/Implies: Removed.
* sysdeps/powerpc/powerpc32/power7/Implies: Removed.
* sysdeps/powerpc/powerpc32/power7/fpu/Implies: Removed.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/fpu/Implies: Add
64-bit power7 fpu path.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/fpu/Implies: Add
32-bit power7 fpu math.
2010-02-09 Ulrich Drepper <>
* sysdeps/i386/rshift.S: More compact unwind information.
* sysdeps/i386/lshift.S: Fix unwind information.
2010-02-08 Luis Machado <>
* sysdeps/powerpc/powerpc64/power7/fpu/s_isnan.S: New file.
* sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S: New file.
* sysdeps/powerpc/powerpc64/power7/fpu/s_isnanf.S: New file.
* sysdeps/powerpc/powerpc32/power7/fpu/s_isnanf.S: New file.
* sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S: New file.
* sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S: New file.
* sysdeps/powerpc/powerpc64/power7/fpu/s_isinff.S: New file.
* sysdeps/powerpc/powerpc32/power7/fpu/s_isinff.S: New file.
* sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S: New file.
* sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S: New file.
* sysdeps/powerpc/powerpc64/power7/fpu/s_finitef.S: New file.
* sysdeps/powerpc/powerpc32/power7/fpu/s_finitef.S: New file.
2010-02-08 Andreas Schwab <>
* include/fenv.h: Add hidden proto for fegetenv.
* math/fegetenv.c: Add hidden alias.
* sysdeps/i386/fpu/fegetenv.c: Likewise.
* sysdeps/ia64/fpu/fegetenv.c: Likewise.
* sysdeps/powerpc/fpu/fegetenv.c: Likewise.
* sysdeps/sh/sh4/fpu/fegetenv.c: Likewise.
* sysdeps/sparc/fpu/fegetenv.c: Likewise.
* sysdeps/x86_64/fpu/fegetenv.c: Likewise
* sysdeps/s390/fpu/fegetenv.c: Likewise. Remove unused headers.
2010-02-05 H.J. Lu <>
[BZ #11230]
* sysdeps/ia64/memchr.S: Don't read beyond the last byte
during recovery.
2010-01-26 Andreas Schwab <>
* sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c: Use internal
* sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h: Declare internal
utmpx interface.
* sysdeps/unix/sysv/linux/sparc/Versions: Add new errlist compat
entry for 2.12.
2010-02-03 Ulrich Drepper <>
[BZ #11235]
* sysdeps/unix/sysv/linux/sys/mount.h: Remove S_WRITE, S_APPEND,
(MS_RMT_MASK): Update according to current kernels.
[BZ #11242]
* misc/getusershell.c (initshells): Allocate one more byte in input
buffer so that fgets doesn't loop undefinitely.
2010-02-02 Ulrich Drepper <>
* stdlib/setenv.c (__add_to_environ): Don't use alloca if
__libc_use_alloca tells us not to. Fix memory leak in an error
situation. Based partially on patch by Jim Meyering.
2010-01-26 Samuel Thibault <>
* sysdeps/mach/getsysstats.c (get_nprocs_conf, get_nprocs,
get_phys_pages, get_avphys_pages): Add weak aliases.
2010-01-25 Andreas Schwab <>
* iconv/iconv_prog.c (write_output): Fix check for open failure.
2010-01-22 Ulrich Drepper <>
[BZ #11200]
* locale/loadlocale.c (_nl_load_locale): Fix recognition of genuine
mmap resource problem. Patch by Joe Landers <>.
2010-01-22 Jim Meyering <>
[BZ #11193]
* posix/regexec.c (extend_buffers): Avoid overflow in realloc
buffer length computation.
[BZ #11192]
* posix/regexec.c (re_copy_regs): Don't leak when allocation
of the start buffer succeeds but allocation of the "end" one fails.
[BZ #11191]
* posix/regexec.c (re_search_2_stub): Check for overflow
when adding the sizes of the two strings.
[BZ #11190]
* posix/regexec.c (re_search_internal): Avoid overflow
in computing re_malloc buffer size.
[BZ #11189]
* posix/regexec.c (prune_impossible_nodes): Avoid overflow
in computing re_malloc buffer size.
[BZ #11188]
* posix/regexec.c (build_trtable): Avoid arithmetic overflow
in size calculation.
[BZ #11187]
* posix/regexec.c (re_search_2_stub): Use simpler method than
boolean for freeing internal storage.
2010-01-22 Ulrich Drepper <>
* posix/regex_internal.c (re_string_skip_chars): Simplify test for
failed mbrtowc call.
2010-01-22 Jim Meyering <>
[BZ #11186]
* posix/regex_internal.c (re_string_skip_chars): Don't assume WEOF
fits in wchar_t. Problem reported by Eric Blake.
[BZ #11185]
* posix/regex_internal.c (re_string_reconstruct): Remove declaration
and stores into set-but-not-used local, "q".
[BZ #11184]
* posix/regex_internal.c (re_dfa_add_node): Extend the overflow
detection test. Patch by Paul Eggert.
[BZ #11183]
* posix/regex_internal.c (re_string_realloc_buffers):
Detect and handle internal overflow. Patch by Paul Eggert
2010-01-20 Andreas Schwab <>
* sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c
(CHECK_SP): Fix check for alternate stack.
* sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c
(CHECK_SP): Likewise.
2010-01-19 H.J. Lu <>
* sysdeps/i386/i686/multiarch/memmove.S: Also check
bit_Fast_Rep_String when SHARED isn't defined.
2010-01-19 Ulrich Drepper <>
[BZ #11194]
* misc/bits/syslog.h (syslog, vsyslog): Remove unnecessary return.
2010-01-17 Samuel Thibault <>
* sysdeps/mach/hurd/bits/libc-lock.h
(__rtld_lock_recursive_t): New type.
(__rtld_lock_initialize): New macro.
2010-01-14 Ryan S. Arnold <>
* sysdeps/powerpc/powerpc32/cell/memcpy.S: New file.
* sysdeps/powerpc/powerpc64/cell/memcpy.S: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/fpu/Implies: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/fpu/Implies: New file.
2010-01-18 Andreas Schwab <>
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Remove duplicate
definitions of O_DSYNC and O_RSYNC.
* elf/dynamic-link.h (elf_get_dynamic_info): Use correct type when
casting d_tag.
* elf/dynamic-link.h (elf_get_dynamic_info): Ignore negative
dynamic entry types.
2010-01-16 Jakub Jelinek <>
* sysdeps/ieee754/ldbl-128/s_ceill.c (huge): Add L suffix to the
* sysdeps/ieee754/ldbl-128/s_floorl.c (huge): Likewise.
* sysdeps/ieee754/ldbl-128/s_expm1l.c (big): Decrease to avoid
* sysdeps/ieee754/ldbl-128/s_log1pl.c (big): Remove unused variable.
* sysdeps/ieee754/ldbl-128/s_nexttowardf.c (__nexttowardf): Use
math_opt_barrier and math_force_eval macros.
2010-01-15 Ulrich Drepper <>
* posix/regcomp.c: Fix a few more cases of ignored return values.
* posix/regex_internal.c: Likewise.
* posix/regexec.c: Likewise.
* include/features.h: _XOPEN_SOURCE_EXTENDED is not defined to be
used without _XOPEN_SOURCE. Don't base any decisions on this macro
if _XOPEN_SOURCE is not defined as well.
2010-01-15 Andreas Krebbel <>
* sysdeps/s390/s390-32/elf/start.S (_start): Added check for the
high gprs kernel facility.
* sysdeps/s390/s390-32/dl-machine.h (elf_machine_matches_host):
Added high gprs check for DSOs.
* elf/elf.h (EF_S390_HIGH_GPRS): Added macro definition for the
new elf header flag.
2010-01-13 Andreas Krebbel <>
* elf/dl-sysdep.c (_dl_sysdep_start): Added the auxv parameter to
* elf/dl-open.c (_dl_sysdep_start): Likewise..
* sysdeps/generic/ldsodefs.h (_dl_sysdep_start): Likewise.
* elf/rtld.c (dl_main): Added new parameter auxv. Adjust the
AT_PHDR, AT_PHNUM and AT_ENTRY fields if the is directly
2010-01-14 Ulrich Drepper <>
[BZ #11027]
* sysdeps/generic/netinet/ip.h: Define IPTOS_CLASS_* macros according
to RFC 2474.
Patch by Philip Prindeville <>.
[BZ #11141]
* resolv/res_send.c (reopen): Don't use IPv6 sockets for IPv4
[BZ #11127]
* posix/regcomp.c (alc_eclosure_iter): Do not ignore
re_node_set_insert failure; return REG_ESPACE.
Patch by Paul Eggert.
[BZ #10864]
* bits/confname.h: Make pre-C99-safe.
2010-01-14 Ryan S. Arnold <>
* Makeconfig (+prector, +postctor, +prectorS, +postctorS): Add
$(sysdep-LDFLAGS) to pre and post ctors so that the proper .o
files are found by GCC.
2010-01-14 Ulrich Drepper <>
* posix/unistd.h: Relax conditions for ualarm, usleep, getwd, vfork,
brk, and sbrk.
* string/strings.h: Relax condition for bcmp, bcopy, bzero, ffs,
index, and rindex.
* stdlib/stdlib.h: Relax conditions for *cvt functions and valloc.
* Versions.def: Add GLIBC_2.12 for libpthread.
[BZ #11126]
* malloc/malloc.c (malloc_info): Initialize malloc if not already
done. Handle empty bin lists.
* posix/unistd.h: Change getpagesize and getdtablesize declaration
visibility some more.
* resolv/netdb.h: Relax condition to elide obsolete resolver constants.
* posix/unistd.h: Declare getpagesize in _GNU_SOURCE mode.
[BZ #11120]
* sysdeps/x86_64/strcmp.S: Prevent silent errors should strncmp be
needed outside libc.
2010-01-13 Ulrich Drepper <>
* stdlib/stdlib.h: Parameter of unsetenv must not be NULL.
2010-01-12 H.J. Lu <>
* sysdeps/x86_64/multiarch/strlen.S: Unroll the loop.
2010-01-13 Ulrich Drepper <>
* stdlib/stdlib.h: Be a bit more relaxed about obsoleted mktemp symbol.
2010-01-12 Ulrich Drepper <>
* conform/data/complex.h-data: Test for POSIX2008.
* conform/data/ctype.h-data: Fix POSIX testing.
* conform/data/dirent.h-data: ino_t only needed for XSI.
* grp/grp.h: Declare getgrent and endgrent for XPG7.
* conform/data/inttypes.h-data: Use same types as the headers.
* resolv/netdb.h: Don't define old resolver macros for XPG7.
* conform/data/sys/uio.h-data: Don't exclude POSIX2008.
* conform/ Implement tag for allow-header.
Fix newline handling in allow-header implementation.
* conform/data/time.h-data: Use allow-header instead of duplicating
* conform/data/time.h-data: Allow sigevent tag.
* posix/sched.h: Define time_t and pid_t for XPG7.
2010-01-12 H.J. Lu <>
* sysdeps/i386/i686/bcopy.S: New file.
* sysdeps/i386/i686/cacheinfo.c (__x86_64_data_cache_size): Define.
* sysdeps/i386/i686/memcpy.S (__memcpy_chk): Use ENTRY_CHK
and END_CHK.
* sysdeps/i386/i686/memmove.S (__memmove_chk): Likewise.
* sysdeps/i386/i686/mempcpy.S (__mempcpy_chk): Likewise.
* sysdeps/i386/i686/memset.S (__memset_chk): Likewise.
* sysdeps/i386/i686/memmove.S: Support USE_AS_BCOPY.
* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
bzero-sse2 memset-sse2 memcpy-ssse3 mempcpy-ssse3 memmove-ssse3
memcpy-ssse3-rep mempcpy-ssse3-rep memmove-ssse3-rep
bcopy-ssse3 bcopy-ssse3-rep memset-sse2-rep bzero-sse2-rep
* sysdeps/i386/i686/multiarch/bcopy-ssse3-rep.S: New file.
* sysdeps/i386/i686/multiarch/bcopy-ssse3.S: New file.
* sysdeps/i386/i686/multiarch/bcopy.S: New file.
* sysdeps/i386/i686/multiarch/bzero-sse2-rep.S: New file.
* sysdeps/i386/i686/multiarch/bzero-sse2.S: New file.
* sysdeps/i386/i686/multiarch/bzero.S: New file.
* sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: New file.
* sysdeps/i386/i686/multiarch/memcpy-ssse3.S: New file.
* sysdeps/i386/i686/multiarch/memcpy.S: New file.
* sysdeps/i386/i686/multiarch/memcpy_chk.S: New file.
* sysdeps/i386/i686/multiarch/memmove-ssse3-rep.S: New file.
* sysdeps/i386/i686/multiarch/memmove-ssse3.S: New file.
* sysdeps/i386/i686/multiarch/memmove.S: New file.
* sysdeps/i386/i686/multiarch/memmove_chk.S: New file.
* sysdeps/i386/i686/multiarch/mempcpy-ssse3-rep.S: New file.
* sysdeps/i386/i686/multiarch/mempcpy-ssse3.S: New file.
* sysdeps/i386/i686/multiarch/mempcpy.S: New file.
* sysdeps/i386/i686/multiarch/mempcpy_chk.S: New file.
* sysdeps/i386/i686/multiarch/memset-sse2-rep.S: New file.
* sysdeps/i386/i686/multiarch/memset-sse2.S: New file.
* sysdeps/i386/i686/multiarch/memset.S: New file.
* sysdeps/i386/i686/multiarch/memset_chk.S: New file.
* sysdeps/i386/sysdep.h (ENTRY_CHK): New.
(END_CHK): Likewise.
* sysdeps/i386/i686/multiarch/ifunc-defines.sym: Add
* sysdeps/x86_64/multiarch/ifunc-defines.sym: Likewise.
* sysdeps/x86_64/cacheinfo.c (intel_02_cache_info): Add entries
for 0x0e and 0x80.
(__x86_64_data_cache_size): New.
(init_cacheinfo): Set __x86_64_data_cache_size.
* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Turn
on bit_Fast_Rep_String for Intel Core i7.
* sysdeps/x86_64/multiarch/init-arch.h (bit_Fast_Rep_String): New.
(index_Fast_Rep_String): Likewise.
(FEATURE_INDEX_1): Likewise.
(cpu_features): Add feature.
2010-01-12 Ulrich Drepper <>
* conform/data/sys/select.h-data: Fix up for XPG7.
2010-01-12 Jakub Jelinek <>
* posix/sys/wait.h: Don't define W* macros etc. if
stdlib.h has been included with _POSIX_C_SOURCE >= 200809L.
2010-01-11 Ulrich Drepper <>
* io/sys/stat.h: Declare fchmod for XPG7.
* conform/data/sys/stat.h-data: Fix up for XPG7.
* termios/termios.h: Define pid_t for XPG7.
* conform/data/math.h-data: Fix up for XPG6 and XPG7.
* conform/data/tgmath.h-data: Likewise.
* conform/data/time.h-data: Fix POSIX tests.
* conform/data/wchar.h-data: Fix up XPG7 tests.
* include/features.h: Fix __USE_ISOC95 handling.
* conform/data/wordexp.h-data: Fix typo in last change.
* conform/data/unistd.h-data: Fix up older POSIX tests.
* stdlib/stdlib.h: Fix handling symbols removed in XPG7.
* posix/unistd.h: Likewise.
* posix/unistd.h: Include environments.h also for XPG6 and up.
Define intptr_t for XPG6 and up.
Fix up for XPG7.
* conform/data/unistd.h-data: Fix up for XPG6 and XPG7.
* conform/data/sys/types.h-data: Fix up for XPG7.
* sysdeps/unix/bsd/bits/stat.h: Fix double-inclusion problem.
* sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
* sysdeps/unix/sysv/bits/stat.h: Likewise.
* sysdeps/mach/hurd/bits/stat.h: Likewise.
* bits/confname.h: Fix typo in last change.
* conform/data/unistd.h-data: lockf-constants Not needed for POSIX.
2010-01-10 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/bits/sigaction.h: SA_RESTART, SA_NODEFER,
and SA_RESETHAND now available in Base.
* sysdeps/unix/sysv/linux/ia64/bits/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise.
* conform/data/signal.h-data: Update for XPG7.
* posix/sys/types.h: Define id_t, clock_t, blksize_t for XPG7.
* string/strings.h: Don't declare obsolete functions for XPG7.
Declare ffs only for XSI.
* conform/data/strings.h-data: Update for XPG7.
2010-01-10 Jakub Jelinek <>
[BZ #11125]
* libio/stdio.h: Define va_list, off_t, and ssize_t.
* posix/glob.h: Define size_t.
* posix/sys/wait.h: Define idtype_t and declare waitid for XPG7.
* signal/signal.h: Define size_t, mcontext_t, and ucontext_t for XPG7.
2010-01-10 Ulrich Drepper <>
* conform/ For XPG7 testing the headers are supposed to
be self-contained.
* conform/data/stdio.h-data: Expect off_t and ssize_t.
2010-01-09 Ulrich Drepper <>
* libio/stdio.h: Define va_list also for XPG7.
* conform/ Update for XPG7 and some bug fixes.
* conform/data/ctype.h-data: Likewise.
* conform/data/dirent.h-data: Likewise.
* conform/data/errno.h-data: Likewise.
* conform/data/fcntl.h-data: Likewise.
* conform/data/fmtmsg.h-data: Likewise.
* conform/data/fnmatch.h-data: Likewise.
* conform/data/ftw.h-data: Likewise.
* conform/data/glob.h-data: Likewise.
* conform/data/grp.h-data: Likewise.
* conform/data/iconv.h-data: Likewise.
* conform/data/langinfo.h-data: Likewise.
* conform/data/libgen.h-data: Likewise.
* conform/data/limits.h-data: Likewise.
* conform/data/locale.h-data: Likewise.
* conform/data/math.h-data: Likewise.
* conform/data/monetary.h-data: Likewise.
* conform/data/mqueue.h-data: Likewise.
* conform/data/ndbm.h-data: Likewise.
* conform/data/netdb.h-data: Likewise.
* conform/data/pthread.h-data: Likewise.
* conform/data/pwd.h-data: Likewise.
* conform/data/regex.h-data: Likewise.
* conform/data/sched.h-data: Likewise.
* conform/data/search.h-data: Likewise.
* conform/data/semaphore.h-data: Likewise.
* conform/data/setjmp.h-data: Likewise.
* conform/data/signal.h-data: Likewise.
* conform/data/spawn.h-data: Likewise.
* conform/data/stdio.h-data: Likewise.
* conform/data/stdlib.h-data: Likewise.
* conform/data/string.h-data: Likewise.
* conform/data/strings.h-data: Likewise.
* conform/data/sys/ipc.h-data: Likewise.
* conform/data/sys/msg.h-data: Likewise.
* conform/data/sys/resource.h-data: Likewise.
* conform/data/sys/sem.h-data: Likewise.
* conform/data/sys/shm.h-data: Likewise.
* conform/data/sys/socket.h-data: Likewise.
* conform/data/sys/stat.h-data: Likewise.
* conform/data/sys/time.h-data: Likewise.
* conform/data/sys/types.h-data: Likewise.
* conform/data/sys/uio.h-data: Likewise.
* conform/data/sys/wait.h-data: Likewise.
* conform/data/syslog.h-data: Likewise.
* conform/data/tar.h-data: Likewise.
* conform/data/termios.h-data: Likewise.
* conform/data/time.h-data: Likewise.
* conform/data/ulimit.h-data: Likewise.
* conform/data/unistd.h-data: Likewise.
* conform/data/utmpx.h-data: Likewise.
* conform/data/wchar.h-data: Likewise.
* conform/data/wctype.h-data: Likewise.
* conform/data/wordexp.h-data: Likewise.
* io/fcntl.h: Define mode_t macros instead of including sys/stat.h.
* sysdeps/unix/bsd/bits/stat.h: Enable using from fcntl.h.
* sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
* sysdeps/unix/sysv/bits/stat.h: Likewise.
* sysdeps/mach/hurd/bits/stat.h: Likewise.
* stdlib/stdlib.h: Define wait-related bits for XPG7.
Don't declare valloc, mktemp, ecvt, fcvt, gcvt for XPG6 and up.
Declare mkstemp and getsubopt for XPG7.
Declare posix_openpt for XPG6 XSI.
* include/features.h: Define __USE_XOPEN2KXSI for _XOPEN_SOURCE >= 600
and __USE_XOPEN2K8XSI for _XOPEN_SOURCE >= 700.
* string/string.h: Declare strdup for XPG7.
2010-01-08 Ulrich Drepper <>
* bits/confname.h: Define _CS_V6_ENV and _CS_V7_ENV.
* posix/confstr.c: Implement _CS_V6_ENV and _CS_V7_ENV.
* dirent/dirent.h: Really fix feature selection.
* locale/localeinfo.h: Rename struct locale_data to __locale_data.
Fix all users.
* locale/C-address.c: Fix all users.
* locale/C-collate.c: Likewise.
* locale/C-ctype.c: Likewise.
* locale/C-identification.c: Likewise.
* locale/C-measurement.c: Likewise.
* locale/C-messages.c: Likewise.
* locale/C-monetary.c: Likewise.
* locale/C-name.c: Likewise.
* locale/C-numeric.c: Likewise.
* locale/C-paper.c: Likewise.
* locale/C-telephone.c: Likewise.
* locale/C-time.c: Likewise.
* locale/findlocale.c: Likewise.
* locale/global-locale.c: Likewise.
* locale/loadarchive.c: Likewise.
* locale/loadlocale.c: Likewise.
* locale/nl_langinfo_l.c: Likewise.
* locale/setlocale.c: Likewise.
* locale/xlocale.c: Likewise.
* locale/xlocale.h: Likewise.
* stdio-common/vfscanf.c: Likewise.
* stdlib/strfmon_l.c: Likewise.
* stdlib/strtod_l.c: Likewise.
* stdlib/strtol_l.c: Likewise.
* string/strcoll_l.c: Likewise.
* string/strxfrm_l.c: Likewise.
* time/alt_digit.c: Likewise.
* time/asctime.c: Likewise.
* time/era.c: Likewise.
* time/lc-time-cleanup.c: Likewise.
* time/strftime_l.c: Likewise.
* time/strptime_l.c: Likewise.
* wcsmbs/wcsmbsload.c: Likewise.
* wcsmbs/wcsmbsload.h: Likewise.
* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Define O_DIRECTORY,
for XPG7.
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
2010-01-07 Roland McGrath <>
* elf/elf.h (PN_XNUM): New macro.
* elf/dl-sysdep.c (_dl_important_hwcaps): Use NT_GNU_HWCAP instead of
literal 2.
2010-01-06 Ulrich Drepper <>
* dirent/dirent.h: Fix typo in feature selection macro use.
2009-12-15 Maciej W. Rozycki <>
[BZ #11115]
* stdlib/tst-makecontext3.c: New file.
* stdlib/Makefile (tests): Add new test.
* stdlib/tst-setcontext.c (check_called): Fix a typo.
2009-12-17 H.J. Lu <>
* Enable multi-arch by default if the assembler
supports gnu_indirect_function symbol type and the architecture
supports it.
2009-12-23 Ulrich Drepper <>
* include/stdlib.h: Exclude some includes and prototypes if _ISOMAC
is defined.
2009-12-22 Samuel Thibault <>
* hurd/hurdioctl.c (_hurd_locked_install_cttyid): Set newctty to
MACH_PORT_NULL when id != cttyid.
2009-12-20 Samuel Thibault <>
* sysdeps/mach/hurd/getcwd.c (cleanup): Do not call
__mach_port_deallocate on rootdevid.
2009-12-17 Martin Schwidefsky <>
* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Handle
R_390_PC32DBL. Remove unneeded R_390_PLT16DBL.
* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Remove
unneeded R_390_PLT16DBL and R_390_PLT32DBL.
2009-12-21 Ulrich Drepper <>
[BZ #10992]
* sysdeps/unix/sysv/linux/futimens.c: Handle AT_FDCWD.
Patch by Eric Blake <>.
2009-12-15 Ulrich Drepper <>
[BZ #11093]
POLLWRBAND also for POSIX 2008.
* sysdeps/unix/sysv/linux/bits/poll.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/poll.h: Likewise.
* include/link.h (struct link_map): Move l_used into its own word.
* elf/dl-lookup.c (_dl_lookup_symbol_x): Only update l_used when it is
still zero.
* elf/dl-object.c (_dl_new_object): Set dl_used if we know it is
never really used.
2009-12-13 H.J. Lu <>
* sysdeps/i386/i686/multiarch/strcspn.S Include <init-arch.h>
instead of <ifunc-defines.h>. Use bit_XXX and index_XXX to
check processor feature.
* sysdeps/i386/i686/multiarch/strlen.S: Likewise.
* sysdeps/i386/i686/multiarch/strspn.S: Likewise.
* sysdeps/x86_64/multiarch/init-arch.h (bit_SSE2): New definition.
(index_SSE2): Likewise.
2009-12-09 H.J. Lu <>
* sysdeps/x86_64/multiarch/init-arch.h: Include <ifunc-defines.h>
if __ASSEMBLER__ is defined.
(bit_SSSE3): New. Defined for __ASSEMBLER__.
(bit_SSE4_2): Likewise.
(index_SSSE3): Likewise.
(index_SSE4_2): Likewise.
* sysdeps/x86_64/multiarch/rawmemchr.S: Include <init-arch.h>
instead of <ifunc-defines.h>. Use bit_XXX and index_XXX to
check processor feature.
* sysdeps/x86_64/multiarch/strchr.S: Likewise.
* sysdeps/x86_64/multiarch/strcmp.S: Likewise.
* sysdeps/x86_64/multiarch/strcpy.S: Likewise.
* sysdeps/x86_64/multiarch/strcspn.S: Likewise.
* sysdeps/x86_64/multiarch/strlen.S: Likewise.
* sysdeps/x86_64/multiarch/strrchr.S: Likewise.
* sysdeps/x86_64/multiarch/strspn.S: Likewise.
2009-12-08 Kaz Kojima <>
* sysdeps/sh/elf/initfini.c: Update according to generic/initfini.c.
2009-12-01 Mike Frysinger <>
* sysdeps/sh/sh4/fpu/fpu_control.h (__set_fpscr): New prototype.
2009-12-11 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Redefine O_SYNC and
O_DSYNC to match 2.6.33+ kernels.
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
2009-12-10 Ulrich Drepper <>
[BZ #11000]
* nis/nss_nis/nis-hosts.c (_nss_nis_gethostbyname4_r): Always set
*herrnop before returning.
* nis/nss_nisplus/nisplus-hosts.c (internal_gethostbyname2_r):
* nss/nss_files/files-hosts.c (_nss_files_gethostbyname4_r): Handle
TRYAGAIN errors separately.
* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix error handling of
*name4_r after functions.
2009-12-09 Ulrich Drepper <>
[BZ #11046]
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_internal): Fix kernel
version check.
2009-11-05 Bruno Haible <>
[BZ #11056]
* posix/unistd.h (execve, fexecve, execv, execvp, execvpe): Mark the
argv argument as non-NULL.
(execle, execl, execlp): Mark the first ARG argument as non-NULL.
2009-12-08 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/bits/socket.h: Define mmsghdr and declare
* sysdeps/unix/sysv/linux/syscalls.list: Add entry for recvmmsg.
* sysdeps/unix/sysv/linux/Versions: Add recvmmsg for GLIBC_2.12.
2009-12-04 Andreas Krebbel <>
* sysdeps/s390/s390-64/dl-trampoline.S: Add CFI for the call saved
* sysdeps/s390/s390-32/dl-trampoline.S: Likewise.
* sysdeps/s390/s390-32/s390-mcount.S: Add CFI.
* sysdeps/s390/s390-64/s390x-mcount.S: Add CFI.
2009-11-30 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/bits/sched.h: Define SCHED_IDLE and
2009-11-26 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_internal): Avoid code
only used on truly ancient kernel if configuration requires a more
recent kernel.
2009-11-24 Ulrich Drepper <>
[BZ #3662]
* stdlib/random_r.c: Fix comments for __initstate_r and __setstate_r.
Patch by Christopher Neufeld <>.
* sysdeps/unix/grantpt.c (pts_name): Take additional parameter,
pass it on to __ptsname_internal.
(grantpt): Pass stat64 pointer to pts_name. Remove stat call here.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_internal): New function.
All the code from __ptsname_r but take additional parameter. Use that
instead of pointer to local stat64 variable.
(__ptsname_r): Call __ptsname_internal with pointer to local stat64
* include/stdlib.h: Declare __ptsname_internal.
* sysdeps/unix/grantpt.c (grantpt): Use CLOSE_ALL_FDS is available
before the exec.
* sysdeps/unix/sysv/linux/grantpt.c: New file.
* login/programs/pt_chown.c (main): Don't print message on errors
when doing real work.
* sysdeps/unix/grantpt.c (grantpt): Only get tty group information
* csu/elf-init.c (__libc_csu_irel): New function. Code to perform
irel relocations split out from...
* csu/libc-start.c [!SHARED]: Call __libc_csu_irel early.
2009-11-23 Andreas Schwab <>
* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Use struct timespec
for timestamps also if __USE_XOPEN2K8.
* sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/bits/stat.h: Likewise.
2009-11-22 Ulrich Drepper <>
* nscd/connections.c (restart): Try harder to re-exec.
* sunrpc/create_xid.c (_create_xid): Reinitialize state after fork.
* sysdeps/unix/sysv/linux/ntp_gettimex.c: New file.
* sysdeps/unix/sysv/linux/Makefile: Add rules to build ntp_gettimex.
* sysdeps/unix/sysv/linux/Versions: Export ntp_gettimex for GLIBC_2.12.
* sysdeps/unix/sysv/linux/sys/timex.h (ntptimeval): Add tai member and
some placeholders. Redirect ntp_gettime to ntp_gettimex.
* sysdeps/unix/sysv/linux/ntp_gettime.c: Adjust for header change.
* sysdeps/unix/sysv/linux/sys/timex.h (MOD_TAI, MOD_MICRO, MOD_NANO):
2009-11-18 H.J. Lu <>
[BZ #10162]
* sysdeps/ia64/memchr.S: Don't use a simple loop on data shorter
than software pipeline. Properly recover from shorter read.
2009-11-19 Ulrich Drepper <>
[BZ #10958]
* libio/libio.h (_IO_getwc_unlocked): Check for _wide_data being
initialized before using it.
(_IO_putwc_unlocked): Likewise.
[BZ #10918]
* sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ISSET_S): Use __const
in cast to not throw away const-ness of parameters.
(__CPU_EQUAL_S): Likewise.
(__CPU_OP_S): Likewise.
* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Introduce new symbol
F_OWNER_PGRP and mark F_OWNER_GID obsolete. The kernel people made
this gratuitous change and we have to keep compatibility.
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
2009-11-17 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Change misleading names
of parameters of sync_file_range.
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
2009-11-16 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/sync_file_range.c (sync_file_range):
Implement using sync_file_range2 syscall if __NR_sync_file_range2
is defined.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sync_file_range.c: New
2009-11-17 Paolo Bonzini <>
* posix/bug-regex30.c: New file.
* posix/Makefile: Add rules to build and run bug-regex30.
* posix/regcomp.c (re_compile_fastmap_iter): Add all multibyte
character lead bytes when there is a range in a COMPLEX_BRACKET.
Reported by Oleg Bylatov.
2009-11-17 Ulrich Drepper <>
[BZ #10969]
* locale/duplocale.c (__duplocale): Handle LC_GLOBAL_LOCALE special.
* locale/tst-duplocale.c: New file.
* locale/Makefile (tests): Add tst-duplocale.
[BZ #10968]
* locale/langinfo.h (_NL_LOCALE_NAME): Correct definition.
Patch by Bruno Haible <>.
* locale/tst-locname.c: New file.
* locale/Makefile (tests): Add tst-locname.
[BZ #10972]
* sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Add new MADV_*
constants from recent kernels.
* sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/mman.h: Likewise.
* sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/mman.h: Likewise.
2009-11-09 H.J. Lu <>
[BZ #10162]
* sysdeps/ia64/memchr.S: Use a simple loop on data shorter than
software pipeline.
2009-11-09 Mike Frysinger <>
* sysdeps/unix/sysv/linux/i386/fallocate.c: Include errno.h.
(fallocate): Return ENOSYS if __NR_fallocate is not defined.
* sysdeps/unix/sysv/linux/i386/fallocate64.c: Likewise.
2009-11-06 Mike Frysinger <>
* posix/bug-regex29.c: Include stdio.h.
2009-11-14 Ulrich Drepper <>
[BZ #10939]
* Versions.def: Define GLIBC_2.12 for libc.
* manual/errno.texi: Add ERFKILL entry.
* sysdeps/unix/sysv/linux/Versions: Add new errlist compat entries
for 2.12.
* sysdeps/unix/sysv/linux/bits/errno.h: Define ERFKILL is not done.
* sysdeps/unix/sysv/linux/sparc/bits/errno.h: Likewise.
* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Update F_SETOWN_EX and
F_GETOWN_EX definitions according to corrected kernel definitions.
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
2009-11-12 Ulrich Drepper <>
* version.h: Bump for 2.12 development.
2009-11-10 Andreas Schwab <>
* resolv/mapv4v6hostent.h (map_v4v6_hostent): Return non-zero if
out of buffer space.
* resolv/nss_dns/dns-host.c (getanswer_r): Check for
map_v4v6_hostent running out of space.
2009-11-10 Ulrich Drepper <>
* string/bits/string3.h (memset): If the second parameter is constant
and zero there is likely no transposition.
Patch by Caolan McNamara <
2009-11-04 Philippe De Muyter <>
* sysdeps/powerpc/fpu/e_sqrt.c: Fix spelling of (Newton-)Raphson.
* sysdeps/powerpc/fpu/e_sqrtf.c: Likewise.
2009-10-30 Holger Hans Peter Freyther <>
* malloc/memusagestat.c (main): Fix spelling in an error message.
2009-11-01 H.J. Lu <>
* elf/dl-sym.c (do_sym): Properly handle STT_GNU_IFUNC symbols.
* elf/ifuncmain3.c (main): Test dlopen STT_GNU_IFUNC symbol.
2009-11-03 Andreas Schwab <>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Add
2009-11-03 Jakub Jelinek <>
* sysdeps/powerpc/powerpc64/dl-machine.h (resolve_ifunc): Don't
relocate opd entry when resolving prelink conflicts.
2009-11-04 Jakub Jelinek <>
* misc/sys/uio.h (preadv, pwritev): Fix type of last argument
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (fallocate): Fix types
of last two arguments when -D_FILE_OFFSET_BITS=64.
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h (fallocate): Likewise.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h (fallocate): Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (fallocate): Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (fallocate): Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (fallocate): Likewise.
* sysdeps/unix/sysv/linux/sh/bits/fcntl.h (fallocate): Likewise.
2009-11-03 Andreas Schwab <>
[BZ #4457]
* sysdeps/generic/libgcc_s.h: New file.
* sysdeps/generic/framestate.c: Include it and use LIBGCC_S_SO.
2009-11-01 Ulrich Drepper <>
* malloc/hooks.c (free_check): Restore locking and call _int_free
2009-10-30 Ulrich Drepper <>
* version.h (VERSION): Bump for 2.11 release.
* include/features.h (__GLIBC_MINOR__): Bump to 11.
* elf/tst-execstack.c (do_test): Add cast to avoid warning.
* stdio-common/scanf13.c (main): Remove unused variable wbuf.
* stdlib/tst-strtol.c (tests): Mark one more constant as unsigned
to avoid warning.
* stdlib/tst-strtoll.c (tests): Likewise.
[BZ #9986]
* time/strftime_l.c (__strftime_internal): Allow %OC.
* misc/mkostemps.c: New file.
* misc/mkostemps64.c: New file.
2009-10-30 Andreas Schwab <>
* locale/programs/locale-spec.c: Include <error.h> and
* sysdeps/unix/sysv/linux/readlinkat.c: Fix last change.
2009-10-28 Roland McGrath <>
* Makefile (dist-prepare): New target.
(tag-for-dist): Target removed.
(glibc-%.tar): Pattern rule removed.
(%.tar): New pattern rule, does simple use of git archive.
(dist-version): Remove variable definition.
(dist): Just depend on that. Add .tar.xz dependency.
If dist-version variable not set on command line, depend on
dist-prepare, re-invoke with dist-version set via git describe.
* Makerules (%.xz): New pattern rule.
2009-10-28 Alan Modra <>
* elf/ifuncdep2.c: Include ifunc-sel.h.
(global): Delete.
(foo1_ifunc, foo2_ifunc, foo3_ifunc): Use ifunc_sel.
* elf/ifuncmain1.c (global): Delete.
* elf/ifuncmain1vis.c: Likewise.
* elf/ifuncmain2.c: Likewise.
* elf/ifuncmain5.c: Likewise.
* elf/ifuncmod3.c: Likewise.
* elf/ifuncmain6pie.c: Include ifunc-sel.h.
(foo_ifunc): Use ifunc_one.
* elf/ifuncmain7.c: Likewise.
* elf/ifuncmod1.c: Include ifunc-sel.h.
(global): Define protected var.
(foo_ifunc, foo_hidden_ifunc, foo_protected_ifunc): Use ifunc_sel.
* elf/ifuncmod5.c: Likewise.
* sysdeps/generic/elf/ifunc-sel.h: New file.
* sysdeps/powerpc/elf/ifunc-sel.h: New file.
2009-07-30 Alan Modra <>
* elf/elf.h (R_PPC_NUM, R_PPC64_NUM): Delete unused and incorrect.
(R_PPC_REL16*): Correct comments.
(R_PPC64_REL16, R_PPC64_REL16_LO, R_PPC64_REL16_HI,
R_PPC64_REL16_HA): Define.
* sysdeps/powerpc/powerpc32/dl-irel.h: New file.
* sysdeps/powerpc/powerpc64/dl-irel.h: New file.
* sysdeps/powerpc/powerpc32/dl-machine.c (__elf_machine_fixup_plt):
Delete unused "reloc" param.
(__process_machine_rela): Handle R_PPC_IRELATIVE.
* sysdeps/powerpc/powerpc32/dl-machine.h (__elf_machine_fixup_plt):
Delete "reloc" param.
(elf_machine_rela): Handle STT_GNU_IFUNC functions and
* sysdeps/powerpc/powerpc64/dl-machine.h (resolve_ifunc): New function.
(elf_machine_rela): Handle STT_GNU_IFUNC functions and new ifunc
d2009-10-30 Ulrich Drepper <>
[BZ #10315]
* sysdeps/gnu/netinet/udp.h: Define UDP_CORK, UDP_ENCAP,
[BZ #10349]
* sysdeps/posix/tempname.c (__gen_tempname): Take new second
parameter, specifying length of prefix.
* stdio-common/tempname.c: Likewise.
* include/stdio.h: Adjust prototypes.
* libio/oldtmpfile.c: Adjust caller.
* misc/mkdtemp.c: Likewise.
* misc/mkostemp.c: Likewise.
* misc/mkostemp64.c: Likewise.
* misc/mkstemp.c: Likewise.
* misc/mkstemp64.c: Likewise.
* misc/mktemp.c: Likewise.
* stdio-common/tempnam.c: Likewise.
* stdio-common/tmpfile.c: Likewise.
* stdio-common/tmpnam.c: Likewise.
* stdio-common/tmpnam_r.c: Likewise.
* misc/mkstemps.c: New file.
* misc/mkstemps64.c: New file.
* stdlib/stdlib.h: Add prototypes.
* misc/Makefile (routines): Add mkstemps and mkstemps64.
* misc/Versions: Export mkstemps and mkstemps64 for GLIBC_2.11.
2009-10-29 Ulrich Drepper <>
* locale/iso-639.def: Add sml entry.
[BZ #10391]
* resolv/res_send.c (send_dg): Initialize resplen.
[BZ #10446]
* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Match sigevent
definition to the kernel's.
* sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise.
2009-08-18 Anders Johansson <>
* nscd/aicache.c: Fix mixing up dataset and dataset->resp
offsets and record sizes in assert()s and response sending.
* nscd/grpcache.c: Likewise.
* nscd/hstcache.c: Likewise.
* nscd/initgrcache.c: Likewise.
* nscd/pwdcache.c: Likewise.
2009-10-29 Ulrich Drepper <>
[BZ #10540]
* nss/nss_files/files-hosts.c (_nss_files_gethostbyname4_r): If
/etc/hosts does not exist set errnop and herrnop appropriately.
Patch by Steve Langasek <>.
[BZ #10553]
* malloc/malloc.c (malloc_info): Fix typos in format strings.
Patch by John Sullivan <>.
[BZ #10564]
* login/utmp_file.c (TIMEOUT): Increase to 10.
[BZ #10609]
* sysdeps/unix/sysv/linux/faccessat.c: Fix handling of empty parameters
for file names in case the syscall is not available.
* sysdeps/unix/sysv/linux/fchmodat.c: Likewise.
* sysdeps/unix/sysv/linux/fchownat.c: Likewise.
* sysdeps/unix/sysv/linux/futimesat.c: Likewise.
* sysdeps/unix/sysv/linux/fxstatat.c: Likewise.
* sysdeps/unix/sysv/linux/fxstatat64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/fchownat.c: Likewise.
* sysdeps/unix/sysv/linux/i386/fxstatat.c: Likewise.
* sysdeps/unix/sysv/linux/linkat.c: Likewise.
* sysdeps/unix/sysv/linux/mkdirat.c: Likewise.
* sysdeps/unix/sysv/linux/openat.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/fchownat.c: Likewise.
* sysdeps/unix/sysv/linux/readlinkat.c: Likewise.
* sysdeps/unix/sysv/linux/renameat.c: Likewise.
* sysdeps/unix/sysv/linux/symlinkat.c: Likewise.
* sysdeps/unix/sysv/linux/unlinkat.c: Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: Likewise.
* sysdeps/unix/sysv/linux/xmknodat.c: Likewise.
[BZ #10643]
* sysdeps/pthread/aio_misc.c (__aio_enqueue_request): If thread
creation filed, remove the request from the 'requests' list and signal
the caller that the request is finished.
[BZ #10692]
* nis/nss_nis/nis-grp.c (internal_nis_getgrent_r): Don't free buffer
in error if batch_read. Patch by Joe Landers <>.
[BZ #10713]
* nis/nss_nis/nis-grp.c (internal_nis_endgrent): Start freeing blocks
from intern.start. Patch by Joe Landers <>.
[BZ #10780]
* libio/ioputs.c (_IO_puts): Make sure to not return a number which
overflows the int return type.
[BZ #10717]
* malloc/memusagestat.c (main): Fix repairing of trace files. We also
have to compute maxsize_total, we have to update the variables, and
the also_total handling must happen after the repair.
[BZ #10742]
* nscd/dbg_log.c (dbg_log): Print timestamp before the message text.
Based on patch by Jeffrey Bastian <>.
2009-10-27 Andreas Schwab <>
* sysdeps/unix/sysv/linux/getpt.c (__posix_openpt): Make sure
errno is always set when returning unsuccessfully.
2009-10-29 Andreas Schwab <>
* malloc/memusage.c (update_data): Fix index wraparound handling
so that buffer_cnt is actually reset.
2009-10-29 Ulrich Drepper <>
[BZ #10784]
* sysdeps/unix/sysv/linux/ttyname.c (getttyname): Always copy name
of the directory we look at into the static buffer if there is one
at the start of the loop.
[BZ #10789]
* sysdeps/generic/netinet/ip.h: Define IPTOS_ENC* and IPTOS_DSCP*
macros. Patch by Philip Prindeville <>.
[BZ #10840]
* sysdeps/unix/sysv/linux/kernel-features.h: Define
* sysdeps/unix/sysv/linux/fcntl.c: Implement F_GETOWN using F_GETOWN_EX
if possible.
* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Define F_OWNER_*
and f_owner_ex.
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
[BZ #10847]
* sysdeps/gnu/getutmp.c: Allow compatibility code to play around with
getutmpx symbol.
[BZ #10823]
* resolv/res_send.c (__libc_res_nsend): Fix copying of IPv4 server
addresses. Patch by Petar Bogdanovic <>.
2009-10-24 Joseph Myers <>
* sysdeps/ieee754/ldbl-128/w_expl.c: Add hidden_def (__expl).
2009-10-27 Jakub Jelinek <>
[BZ #10817]
* math/w_coshl.c (__coshl): Use __finitel instead of __finite.
Reported by Ray Chason.
2009-10-21 H.J. Lu <>
* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
* sysdeps/x86_64/multiarch/strchr.S: New file.
* sysdeps/x86_64/multiarch/strend-sse4.S: New file.
* sysdeps/x86_64/multiarch/strrchr.S: New file.
2009-10-21 Andreas Schwab <>
* elf/dl-sym.c (do_sym): Resolve STT_GNU_IFUNC symbols.
2009-10-19 Andreas Schwab <>
* include/math.h: Add hidden protos for __exp/__expf/__expl.
* sysdeps/ieee754/dbl-64/w_exp.c: Add hidden alias.
* sysdeps/ieee754/flt-32/w_expf.c: Likewise.
* sysdeps/ieee754/ldbl-96/w_expl.c: Likewise.
* sysdeps/i386/fpu/s_expm1.S: Call __exp to handle overflow.
* sysdeps/i386/fpu/s_expm1f.S: Call __expf to handle overflow.
* sysdeps/i386/fpu/s_expm1l.S: Call __expl instead of
__ieee751_expl to handle overflow.
2009-10-14 David S. Miller <>
* sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S: New file.
2009-10-13 Andreas Schwab <>
* csu/elf-init.c (__libc_csu_init): Run preinit array even if
2009-10-08 Ulrich Drepper <>
[BZ #10730]
* stdlib/random_r.c (__initstate_r): Remove duplicate __set-errno.
Patch in part by Steve Ward <>.
[BZ #10731]
* stdlib/rand_r.c: Fix typo.
* po/cs.po: Update from translation team.
2009-10-06 Andreas Schwab <>
* elf/dl-load.c (_dl_map_object_from_fd): Close fd before
returning if RTLD_NOLOAD.
2009-10-06 Roland McGrath <>
* sysdeps/x86_64/multiarch/strstr-c.c
[! SHARED]: Omit libc_hidden_builtin_def fiddling.
* sysdeps/x86_64/multiarch/strcasestr-c.c: Remove
libc_hidden_builtin_def fiddling, does not apply to strcasestr at all.
* sysdeps/x86_64/multiarch/init-arch.h
[NOT_IN_libc] (__get_cpu_features): Define it as a macro.
(HAS_CPU_FEATURE): New macro.
* sysdeps/x86_64/multiarch/init-arch.c
(__get_cpu_features): #undef it before definition.
2009-10-05 Andreas Schwab <>
* locale/C-time.c: Revert week-1stday back to 19971130 and set
first_weekday to 1 and first_workday to 2.
2009-10-01 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Define F_SETOWN_EX and
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
2009-09-28 Andreas Schwab <>
* stdio-common/printf_fp.c: Check for and avoid integer overflows.
* stdio-common/vfprintf.c: Likewise.
2009-09-27 Samuel Thibault <>
* sysdeps/mach/hurd/mkdirat.c: Include <hurd/fd.h>.
(mkdirat): Call __directory_name_split_at instead of
2009-09-28 Ulrich Drepper <>
* locale/programs/locale-spec.c (locale_special): If nothing matches
fail with an appropriate message.
2009-09-10 H.J. Lu <>
* Exclude binutils 2.X. Support binutils 2.100
and XX.
2009-09-25 Andreas Schwab <>
* elf/dl-reloc.c (RESOLVE_MAP): Always pass
DL_LOOKUP_ADD_DEPENDENCY to _dl_lookup_symbol_x.
2009-09-28 Samuel Thibault <>
* bits/termios.h [__USE_UNIX98] (IXANY): Define macro.
2009-09-20 Andreas Schwab <>
* iconvdata/iso646.c (gconv_init): Correctly initialize the
character size elements in step data.
2009-09-20 Ulrich Drepper <>
* po/hu.po: Update from translation team.
* po/vi.po: Likewise.
2009-09-19 Roland McGrath <>
* libio/wfileops.c (_IO_wfile_seekoff): Remove unused variables.
2009-09-15 Roland McGrath <>
* nptl/sysdeps/pthread/configure: Regenerated.
* nptl/sysdeps/x86_64/configure: Regenerated.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* sysdeps/x86_64/elf/configure: Regenerated.
* Makefile (autoconf-it): Set execute bit only on top-level configure.
* Let add-ons set $libc_add_on_config_subdirs to have
the effect of AC_CONFIG_SUBDIRS relative to the add-on directory.
* configure: Regenerated.
2009-09-09 Ulrich Drepper <>
* posix/getconf.c (main): Handle -- on command line.
2009-09-05 H.J. Lu <>
* Support binutils 2.100 and 3.0.
2009-09-08 Jakub Jelinek <>
* sysdeps/s390/s390-32/____longjmp_chk.c: Removed.
* sysdeps/s390/s390-64/____longjmp_chk.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c: New file.
2009-09-07 Ulrich Drepper <>
* locale/programs/ld-collate.c (struct locale_collate_t): Add
unnamed_section_defined field.
(collate_read): Test and set unnamed_section_defined.
* posix/getconf.c (vars): Handle POSIX2_LINE_MAX in addition to
2009-09-04 H.J. Lu <>
* Support binutils 2.20.
2009-09-03 Ulrich Drepper <>
* sysdeps/i386/i686/multiarch/strstr-c.c (__strstr_sse42,
__strstr_ia32): Add attribute_hidden.
2009-09-01 Andreas Schwab <>
* hesiod/nss_hesiod/hesiod-grp.c (internal_gid_from_group): Fix
parsing of group entry.
2009-09-02 Andreas Schwab <>
* libio/wfileops.c (_IO_wfile_seekoff): Account for readahead in
external buffer. Always discard readahead in internal buffer.
* libio/Makefile (tests): Add bug-wsetpos.
* libio/bug-wsetpos.c: New file.
2009-09-02 Jakub Jelinek <>
* sysdeps/x86_64/multiarch/strstr-c.c (__strstr_sse42, __strstr_sse2):
Add attribute_hidden.
* sysdeps/x86_64/multiarch/strcasestr-c.c (__strcasestr_sse42,
__strcasestr_sse2): Likewise.
* sysdeps/x86_64/multiarch/s_fma.c (__fma_sse2): Add attribute_hidden.
(__fma_fma): Make static.
* sysdeps/x86_64/multiarch/s_fmaf.c (__fmaf_sse2): Add attribute_hidden.
(__fmaf_fma): Make static.
2009-08-31 Andreas Schwab <>
* libio/wfileops.c (_IO_wfile_seekoff): Remove dead code and
reformulate in-buffer optimisation check to match code in
2009-08-31 Joshua W. Boyer <>
* sysdeps/powerpc/powerpc32/power6/memcpy.S: Change srdi instruction
to srwi in 32-bit memcpy for power6.
2009-09-01 Andreas Schwab <>
* include/stdio.h: Declare hidden proto for fflush.
* libio/iofflush.c: Add hidden weak alias for fflush.
2009-09-01 Jakub Jelinek <>
* sysdeps/x86_64/fpu/bits/mathinline.h: Include bits/wordsize.h.
(__signbitf, __signbit): Only use SSE inline asm for 64-bit.
2009-08-31 Andreas Schwab <>
* sysdeps/x86_64/fpu/bits/mathinline.h: Use __asm instead of asm.
2009-08-31 Ulrich Drepper <>
[BZ #10560]
* malloc/malloc.c: Add local assert definition to avoid problems with
memory allocation in the real one.
2009-08-27 H.J. Lu <>
* sysdeps/i386/i686/multiarch/init-arch.c (ENABLE_SSSE3_ON_ATOM):
* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Don't
turn off SSSE3 on Atom.
2009-08-28 Ulrich Drepper <>
* stdlib/tst-strtol.c (tests): More tests.
* stdlib/tst-strtoll.c (tests): Likewise.
2009-08-26 Ulrich Drepper <>
* sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c: New file.
* sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c: New file.
2009-08-25 Ulrich Drepper <>
* sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: Add llround aliases.
* sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c: New file.
* sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: New file
* sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: New file.
* sysdeps/ieee754/dbl-64/wordsize-64/s_round.c: New file.
2009-08-25 Joseph Myers <>
* math/s_fdiml.c (__fdiml): Use fpclassify instead of fpclassifyl.
2009-08-25 Ulrich Drepper <>
* sysdeps/x86_64/fpu/s_scalbln.c: New file.
* sysdeps/x86_64/fpu/s_scalbn.c: New file.
* sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c: New file.
* sysdeps/x86_64/fpu/s_signbit.S: New file.
* sysdeps/x86_64/fpu/s_signbitf.S: New file.
* sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: New file.
* sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c: New file.
* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Remove
leftover YMM_SIZE definition.
2009-08-24 Ulrich Drepper <>
* math/math_private.h (ieee_double_shape_type): Add uint64_t word to
* sysdeps/x86_64/fpu/math_private.h (EXTRACT_WORDS64, INSERT_WORDS64):
* sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: New file.
* sysdeps/x86_64/fpu/math_private.h: Add specialized GET_FLOAT_WORD
and SET_FLOAT_WORD definitions.
2009-08-24 Roland McGrath <>
* sysdeps/unix/syscall-template.S: New file.
* sysdeps/unix/ Generate rules to use it.
* sysdeps/unix/Makefile (omit-deps): Do not omit syscall stubs' deps.
(compile-syscall): Pass mkdep and -g options as normal.
(s-proto.d, s-proto-cancel.d): Don't "-include" these.
(common-generated): Don't add them here.
2009-08-24 Ulrich Drepper <>
* math/s_fdim.c: In case of overflows set errno.
* math/s_fdimf.c: Likewise.
* math/s_fdiml.c: Likewise.
* math/math.h: Define math_errhandling of __FAST_MATH__ is not defined.
* sysdeps/i386/fpu/bits/mathinline.h: Undefine math_errhandling if we
are using the inline optimizations.
* sysdeps/x86_64/fpu/bits/mathinline.h (__signbit): Optimize.
(__signbitf): Likewise.
2009-08-23 Ulrich Drepper <>
* posix/regcomp.c (parse_dup_op): Verify the expression is correctly
* posix/Makefile (tests): Add bug-regex29.
* posix/bug-regex29.c: New file.
* posix/unistd.h: Define _POSIX_VERSION and _POSIX2_* correctly if
older POSIX versions are selected.
* stdio-common/printf_fp.c: ISO C expects to print the sign of NaN
as well.
* stdio-common/printf_fphex.c: Likewise.
* stdio-common/tstdiomisc.c: Add more tests.
* locale/locale.h: Include xlocale.h and the thread-local locale
declarations for XPG7, not XPG6.
2009-08-21 Andreas Schwab <>
* sysdeps/powerpc/powerpc32/____longjmp_chk.S: Removed.
* sysdeps/powerpc/powerpc64/____longjmp_chk.S: Removed.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/____longjmp_chk.S: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/____longjmp_chk.S: New file.
* sysdeps/powerpc/powerpc32/__longjmp-common.S: Move CHECK_SP earlier.
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
2009-08-20 Roland McGrath <>
* sysdeps/generic/elf/backtracesyms.c (__backtrace_symbols):
Use l_addr instead of l_map_start (dli_fbase).
Print "FILE([+-]OFFSET) [ADDRESS]" with the file-relative
address when there is no proximate symbol.
* sysdeps/generic/elf/backtracesymsfd.c (__backtrace_symbols_fd):
2009-08-16 Ulrich Drepper <>
* scripts/gen-as-const.awk: Fix test for 64-bit platform.
2009-08-14 Ulrich Drepper <>
* test-skeleton.c (signal_handler): Renamed from timeout_handler.
Also handle SIGINT. In that case only do the cleanup and then
re-raise the signal.
(main): Install handler for SIGINT.
2009-08-10 SUGIOKA Toshinobu <>
* stdlib/longlong.h [__sh__] (udiv_qrnnd, sub_ddmmss): Add "t" to
clobber list.
2009-08-01 H.J. Lu <>
* elf/Makefile (distribute): Add tst-audit6.c tst-auditmod6a.c
tst-auditmod6b.c tst-auditmod6c.c tst-audit7.c tst-auditmod7a.c
(tests): Add tst-audit6 tst-audit7.
(modules-names): Add st-auditmod6a tst-auditmod6b tst-auditmod6c
tst-auditmod7a tst-auditmod7b.
($(objpfx)tst-audit6): New.
($(objpfx)tst-audit6.out): Likewise.
($(objpfx)tst-audit7): Likewise.
($(objpfx)tst-audit7.out): Likewise.
(tst-audit6-ENV): Likewise.
(tst-audit7-ENV): Likewise.
(CFLAGS-tst-auditmod6b.c): Likewise.
(CFLAGS-tst-auditmod6c.c): Likewise.
(CFLAGS-tst-auditmod7b.c): Likewise.
* elf/tst-audit6.c: New file.
* elf/tst-audit7.c: New file.
* elf/tst-auditmod6a.c: New file.
* elf/tst-auditmod6b.c: New file.
* elf/tst-auditmod6c.c: New file.
* elf/tst-auditmod7a.c: New file.
* elf/tst-auditmod7b.c: New file.
* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Move
saving and restoring SSE/AVX registers to ...
* sysdeps/x86_64/dl-trampoline.h: This. New file.
2009-08-07 H.J. Lu <>
* sysdeps/i386/i686/multiarch/strcspn.S (STRCSPN): Use PIC
only if SHARED is defined.
* sysdeps/i386/i686/multiarch/strspn.S (strspn): Likewise.
2009-08-03 Jim Meyering <>
* sysdeps/i386/ Use AC_HEADER_CHECK.
2009-08-08 Ulrich Drepper <>
* sysdeps/x86_64/multiarch/strlen.S: Move SSE4.2 version into the same
section as the other functions for this architecture.
* sysdeps/x86_64/multiarch/rawmemchr.S: Likewise.
2009-08-07 Ulrich Drepper <>
* sysdeps/x86_64/strcmp.S: Add support to compile with
USE_SSSE3. In this case palignr is used.
* sysdeps/x86_64/multiarch/strcmp.S (strcmp): If SSE4.2 is not
available but SSSE3 is, pick __str{,n}cmp_ssse3.
* sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines):
Add strcmp-ssse3 and strncmp-ssse3.
* sysdeps/x86_64/multiarch/strcmp-ssse3.S: New file.
* sysdeps/x86_64/multiarch/strncmp-ssse3.S: New file.
* sysdeps/x86_64/multiarch/strcspn-c.c (STRCSPN_SSE42): Avoid
warning through fake initialization.
2009-08-07 H.J. Lu <>
* sysdeps/i386/i686/multiarch/strlen.S (ENTRY): Add the missing "; \".
2009-08-07 Andreas Schwab <>
* elf/dl-lookup.c (do_lookup_x): Enter correct name into table of
unique symbols.
2009-08-05 H.J. Lu <>
* sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Properly use
EBX from EAX = 1. Handle EAX = 11.
2009-08-07 Andreas Schwab <>
* Makefile (TAGS): Use separate sed -e expressions to avoid \
inside ''.
2009-08-03 H.J. Lu <>
* sysdeps/i386/i686/multiarch/strcspn.S: Add comments for no
hidden IFUNC functions.
* sysdeps/i386/i686/multiarch/strspn.S: Likewise.
* sysdeps/i386/i686/multiarch/strlen.S: New file.
* sysdeps/i386/i686/multiarch/Makefile [subdir=string]
(sysdep_routines): Add strcspn-c, strpbrk-c, strspn-c, strstr-c, and
(CFLAGS-strcspn-c.c): Define.
(CFLAGS-strpbrk-c.c): Define.
(CFLAGS-strspn-c.c): Define.
(CFLAGS-strstr.c): Define.
(CFLAGS-strcasestr.c): Define.
* sysdeps/i386/i686/multiarch/strcspn-c.c: New file.
* sysdeps/i386/i686/multiarch/strcspn.S: New file.
* sysdeps/i386/i686/multiarch/strpbrk-c.c: New file.
* sysdeps/i386/i686/multiarch/strpbrk.S: New file.
* sysdeps/i386/i686/multiarch/strspn-c.c: New file.
* sysdeps/i386/i686/multiarch/strspn.S: New file.
* sysdeps/i386/i686/multiarch/strstr-c.c: New file.
* sysdeps/i386/i686/multiarch/strstr.c: New file.
* sysdeps/i386/i686/multiarch/strcasestr-c.c: New file.
* sysdeps/i386/i686/multiarch/strcasestr.c: New file.
* sysdeps/x86_64/multiarch/strcspn-c.c (STRCSPN_SSE42): Use
-16L instead of 0xfffffffffffffff0L.
* sysdeps/x86_64/multiarch/strspn-c.c (__strspn_sse42): Likewise.
2009-08-02 Ulrich Drepper <>
* sysdeps/i386/ Add test for <cpuid.h>.
2009-07-31 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S (longjmp_msg): Yet
another rewrite. Much smaller and faster.
* sysdeps/unix/sysv/linux/i386/____longjmp_chk.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S (longjmp_msg): Get
ss_flags from the correct location.
2009-07-31 H.J. Lu <>
* sysdeps/i386/i686/Makefile (sysdep_routines): Add cacheinfo.
* sysdeps/i386/i686/cacheinfo.c: New file.
* sysdeps/i386/i686/multiarch/Makefile: New file.
* sysdeps/i386/i686/multiarch/ifunc-defines.sym: New file.
* sysdeps/i386/i686/multiarch/init-arch.c: New file.
* sysdeps/i386/i686/multiarch/init-arch.h: New file.
* sysdeps/i386/i686/multiarch/sched_cpucount.c: New file.
* sysdeps/unix/sysv/linux/i386/i686/sysconf.c: New file.
* sysdeps/x86_64/cacheinfo.c: Include <cpuid.h>.
(__cpuid_count): New. Provide the default.
(__x86_64_prefetchw): Define only if DISABLE_PREFETCHW is not defined.
(__x86_64_preferred_memory_instruction): Define only if
(intel_check_word): Use __cpuid.
(handle_intel): Likewise.
(handle_amd): Likewise.
(__cache_sysconf): Likewise.
(init_cacheinfo): Updated. Use __cpuid and __cpuid_count.
(__cache_sysconf): Likewise.
(init_cacheinfo): Updated. Use __cpuid and __cpuid_count.
* sysdeps/x86_64/multiarch/init-arch.c: Include <cpuid.h>.
(get_common_indeces): Use __cpuid.
(__init_cpu_features): Likewise. Disable SSSE3 on Atom only
if ENABLE_SSSE3_ON_ATOM is not defined.
* sysdeps/x86_64/multiarch/init-arch.h (HAS_SSE2): Define.
* sysdeps/x86_64/multiarch/sched_cpucount.c (POPCNT): Use
popcnt instead of popcntq.
2009-07-31 Jakub Jelinek <>
* malloc/Makefile (CFLAGS-obstack.c): Add $(uses-callbacks).
2009-07-30 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/i386/____longjmp_chk.S: New file.
* sysdeps/i386/____longjmp_chk.S: Remove all code. This is now a file
which always causes a compile error.
* sysdeps/i386/__longjmp.S: Remove bound-checking pointer support.
* sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S: New file. Content
comes from...
* sysdeps/x86_64/____longjmp_chk.S: This is now a file
which always causes a compile error.
* debug/Makefile (tests): Add tst-longjmp_chk2.
* debug/tst-longjmp_chk2.c: New file.
* sysdeps/x86_64/__longjmp.S: Remove CHECK_RSP handling. Fix CFI.
Remove incorrect use of BP_SYM.
* sysdeps/x86_64/____longjmp_chk.S: Rewrite. Complete implementation
here now since it is more complex than just a simple check.
* sysdeps/ia64/backtrace.c (backtrace_helper): Stop backtrace when
we make no more progress.
2009-07-29 Ulrich Drepper <>
* math/s_fma.c: Don't define alias if __fma is a macro.
* math/s_fmaf.c: Likewise.
* sysdeps/x86_64/multiarch/s_fma.c: New file.
* sysdeps/x86_64/multiarch/s_fmaf.c: New file.
Partially based on a patch by H.J. Lu <>.
* sysdeps/x86_64/multiarch/init-arch.h (__get_cpu_features): Declare.
(HAS_POPCOUNT, HAS_SSE4_2): Add variants which work outside libc.
New macro HAS_FMA.
* sysdeps/x86_64/multiarch/init-arch.c (__get_cpu_features): New
* include/libc-symbols.h (libm_ifunc): Define.
* sysdeps/x86_64/multiarch/Versions: New file.
* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Improve CFI.
2009-07-28 H.J. Lu <>
* sysdeps/x86_64/dl-trampoline.S: Properly restore AVX registers.
2009-07-29 Ulrich Drepper <>
* elf/dl-runtime.c (_dl_fixup): Indicate before _dl_lookup_symbol_x
call that registers used in calling conventions need to be preserved.
* elf/dl-lookup.c (do_lookup_x): Use RTLD_*_FOREIGN_CALL macros
to preserve register content if necessary.
* sysdeps/x86_64/dl-trampoline.S (_dl_x86_64_save_sse): New function.
(_dl_x86_64_restore_sse): New function.
* sysdeps/x86_64/ There is now one more function that
is allowed to modify xmm/ymm registers.
* stdio-common/scanf15.c: Undefine _LIBC. We want to test from an
application's perspective.
* stdio-common/scanf17.c: Likewise.
2009-07-28 Ulrich Drepper <>
* csu/libc-tls.c (__libc_setup_tls) [TLS_TCB_AT_TP]: Don't add TCB
size to memsz.
(init_static_tls) [TLS_TCB_AT_TP]: Add it to GL(dl_tls_static_size)
* elf/dl-reloc.c (_dl_try_allocate_static_tls): Compute freebytes in
two steps to catch bugs.
2009-07-27 Ulrich Drepper <>
* sysdeps/x86_64/ Refine testing. The script now
determines which files are used in runtime lookups and only checks
those for SSE use.
* sysdeps/x86_64/rtld-memchr.c: Removed. Not needed with refined
* sysdeps/x86_64/rtld-rawmemchr.c: Removed.
* sysdeps/x86_64/multiarch/rtld-rawmemchr.c: Removed
* sysdeps/x86_64/Makefile: Emit warning that might
take a while.
* elf/dl-open.c: Move _dl_scope_free to...
* elf/dl-scope.c: New file.
* elf/Makefile (dl-routines): Add scope.
* resolv/resolv.h (RES_USE_DNSSEC): Define.
* resolv/res_debug.c (p_option): Handle RES_USE_EDNS0 and
* resolv/res_mkquery.c (__res_nopt): Set flags for RES_USE_DNSSEC.
* resolv/res_query.c (__libc_res_nquery): Handle RES_USE_DNSSEC in
all the places we handled RES_USE_EDNS0 only before.
Patch by Adam Tkac <>.
2009-07-27 Jakub Jelinek <>
* elf/dl-lookup.c (do_lookup_x): Fix check for table more than
3/4 full. Pass size + 1 rather than size to _dl_higher_prime_number.
Update size when reallocating.
2009-07-26 Ulrich Drepper <>
* sysdeps/x86_64/ New file. Check whether any of the
functions used in modify xmm/ymm registers.
* sysdeps/x86_64/Makefile: Hook new test up.
* sysdeps/x86_64/rtld-memchr.c: New file.
* sysdeps/x86_64/rtld-memcmp.c: New file.
* sysdeps/x86_64/rtld-rawmemchr.c: New file.
* sysdeps/x86_64/rtld-strchr.S: New file.
* sysdeps/x86_64/rtld-strlen.S: New file.
* sysdeps/x86_64/multiarch/rtld-rawmemchr.c: New file.
* sysdeps/x86_64/multiarch/rtld-strlen.S: New file.
2009-07-26 H.J. Lu <>
* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Remove
* sysdeps/x86_64/multiarch/strcmp.S (aftertail): Removed.
(exit): Likewise.
(Byte1): Likewise.
(Byte2): Likewise.
(Byte3): Likewise.
(Byte4): Likewise.
(Byte5): Likewise.
(Byte6): Likewise.
(next_8_bytes): Likewise.
(Byte0): Remove commented out codes.
(unaligned_table): Align jump table at 8 bytes.
Add _sse4_2 to all labels. Always include "../strcmp.S".
* sysdeps/x86_64/multiarch/strncmp-c.c: Removed.
* sysdeps/x86_64/strcmp.S: Add SSE2 support.
* sysdeps/x86_64/strncmp.S: New file.
2009-07-26 Ulrich Drepper <>
[BZ #10422]
* sysdeps/unix/sysv/linux/eventfd.c: Add compatibility for old
kernels, dropped when eventfd2 support was added.
* sysdeps/unix/sysv/linux/signalfd.c: Add compatibility for old
kernels, dropped when signalfd4 support was added.
* sysdeps/unix/sysv/linux/kernel-features.h: More CLOEXEC syscalls
added, name them.
[BZ #10452]
* resolv/res_send.c (send_dg): Pass full SERVFAIL, NOTIMP, REFUSED
replies up.
* elf/elf.h: Define NT_GNU_GOLD_VERSION.
2009-07-25 Ulrich Drepper <>
* sysdeps/x86_64/multiarch/strcmp.S: Some more optimizations for
modern processor versions. Patch by H.J. Lu <>.
[BZ #10448]
* sysdeps/posix/getaddrinfo.c (gaih_inet): If NSS module contains no
callback we must touch the status to avoid using stale value.
* sysdeps/x86_64/multiarch/strcmp.S: Exclude unused code from being
compiled in.
2009-07-24 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/ Don't automatically include
/lib/modules/* headers anymore. We have sane headers in the standard
place now.
2009-06-16 Andreas Krebbel <>
* sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): "hpage",
"etf3enh" and "highgprs" added.
(_dl_s390_platforms): "z10" added.
* sysdeps/s390/dl-procinfo.h (_DL_HWCAP_COUNT, _DL_PLATFORMS_COUNT):
Increased for the new entries.
* sysdeps/s390/s390-64/Makefile: Adjusted to build the new modules.
* sysdeps/s390/s390-64/iso-8859-1_cp037_z900.c: New file.
* sysdeps/s390/s390-64/utf16-utf32-z9.c: New file.
* sysdeps/s390/s390-64/utf8-utf16-z9.c: New file.
* sysdeps/s390/s390-64/utf8-utf32-z9.c: New file.
2009-07-23 Ulrich Drepper <>
* sysdeps/x86_64/cacheinfo.c [USE_MULTIARCH]: Rearrange code to
avoid additional cpuid instructions. Most of the information is
stored somewhere.
* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Add more
cache descriptors.
* sysdeps/x86_64/cacheinfo.c (intel_02_known): Likewise.
* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Reset
SSSE3 bit for Atoms.
* sysdeps/x86_64/multiarch/strcpy.S: New need to perform Atom test
here anymore.
* posix/tst-rfc3484.c (do_test): Initialize entire sockaddr_in
structure before copying it to avoid warning.
* posix/tst-rfc3484-2.c (do_test): Likewise.
* posix/tst-rfc3484-3.c (do_test): Likewise.
[BZ #10416]
* include/unistd.h: Make header file suitable for C++ test cases.
Patch by Duncan Simpson <>.
* sysdeps/unix/sysv/linux/i386/makecontext.S: Ensure we preserve the
stack alignment in the exit code.
* elf/dl-lookup.c (dl_lookup_x): The hashval for unique symbol can
potentially be zero.
* elf/tst-unique1.c: Extend test to check for unloading DSO with
unique symbol definition.
Patch by Jakub Jelinek.
* elf/dl-lookup.c (do_lookup_x): When entering a new unique symbol,
make sure the object with the definition cannot be unloaded. Adjust
a few types.
* sysdeps/generic/ldsodefs.h (struct rtld_global): The map element in
the unique symbol hash table should not be const.
2009-07-21 Ulrich Drepper <>
* sysdeps/x86_64/multiarch/strstr.c: Minor cleanups. Remove
unnecesary variables. Comment fixes.
2009-07-20 Ulrich Drepper <>
* sysdeps/x86_64/multiarch/strstr.c [USE_AS_STRCASESTR] (STRSTR_SSE42):
Use NONASCII_CASE information provided by the locale to determine
whether optimized string load function can be used. Minor cleanups.
2009-07-20 H.J. Lu <>
* string/strcasestr.c (STRCASESTR): New macro.
(__strcasestr): Renamed to ..
(STRCASESTR): ...this.
* string/strstr.c (STRSTR): New macro.
(strstr): Renamed to ..
(STRSTR): ...this.
* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
strstr-c strcasestr-c
(CFLAGS-strstr.c): New.
(CFLAGS-strcasestr.c): Likewise.
* sysdeps/x86_64/multiarch/strcasestr-c.c: New file.
* sysdeps/x86_64/multiarch/strcasestr.c: New file.
* sysdeps/x86_64/multiarch/strstr-c.c: New file.
* sysdeps/x86_64/multiarch/strstr.c: New file.
2009-07-20 Ulrich Drepper <>
* locale/localeinfo.h (LIMAGIC): Update value for LC_CTYPE.
* locale/langinfo.h: Define _NL_CTYPE_NONASCII_CASE.
* locale/C-ctype.c (_nl_C_LC_CTYPE): Add initializer for
* locale/programs/ld-ctype.c (locale_ctype_t): Add nonascii_case
(ctype_finish): Check whether there are any 8-bit characters outside
the range ASCII has or whether the mapping isn't the same as for
ASCII (±0x20). Set nonascii_case appropriately.
(ctype_output): Add output handler for nonascii_case.
2009-07-17 Ulrich Drepper <>
* sysdeps/generic/sysdep.h: Define cfi_personality, cfi_lsda,
2009-07-16 Ulrich Drepper <>
[BZ #10360]
* resolv/res-mkquery.c (__res_nopt): If anslen is > 0xffff store
0xffff in the EDNS0 record.
2009-07-16 Ulrich Drepper <>
* nscd/cache.c (cache_add): Use atomic_compare_and_exchange_bool_rel
instead of atomic_compare_and_exchange_bool_acq to ensure pointer
is written before the list head update.
Patch by Andreas Schwab <>.
2009-07-16 Ulrich Drepper <>
Jakub Jelinek <>
* malloc/malloc.c [ATOMIC_FASTBINS] (_int_free): Make check for
corruption thread-safe.
2009-07-13 Jakub Jelinek <>
* include/atomic.h (catomic_compare_and_exchange_val_rel): If arch
overrides atomic_compare_and_exchange_val_rel, define to
atomic_compare_and_exchange_val_rel by default, otherwise default
to catomic_compare_and_exchange_val_acq.
(catomic_compare_and_exchange_bool_rel): If arch overrides
atomic_compare_and_exchange_bool_rel, define to
atomic_compare_and_exchange_bool_rel by default.
* malloc/malloc.c (_int_free): Revert 2009-07-02 change.
Use catomic_compare_and_exchange_val_rel instead of
2009-07-16 Ulrich Drepper <>
* sysdeps/generic/ldsodefs.h: Add prototype for
* elf/dl-misc.c (_dl_higher_prime_number): Mark with internal_function.
* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Optimize
restoring of ymm registers a bit.
2009-07-15 H.J. Lu <>
* sysdeps/x86_64/memcmp.S: New file.
2009-07-15 Ulrich Drepper <>
* sysdeps/x86-64/dl-trampoline.h: Remove after integrating code into...
* sysdeps/x86-64/dl-trampoline.S: Rewrite to avoid function
pointers in writable memory.
2009-07-07 H.J. Lu <>
* Add config-cflags-avx entry.
* Substitute libc_cv_cc_avx.
* elf/Makefile: Add rules to build and run tst-audit4 and tst-audit5.
* elf/tst-audit4.c: New file.
* elf/tst-audit5.c: New file.
* elf/tst-auditmod4a.c: New file.
* elf/tst-auditmod4b.c: New file.
* elf/tst-auditmod5a.c: New file.
* elf/tst-auditmod5b.c: New file.
* sysdeps/x86_64/Makefile (gen-as-const-headers): Add
* sysdeps/x86_64/bits/link.h (La_x86_64_ymm): New.
(La_x86_64_vector): Likewise.
(La_x86_64_regs): Append lr_vector.
(La_x86_64_retval): Append lr_vector0/lrv_vector1.
* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Move
saving and restoring SSE registers to ...
* sysdeps/x86_64/dl-trampoline.h: This. New file.
* sysdeps/x86_64/dl-trampoline.S: Include <config.h> and
(_dl_runtime_profile): Use LR_SIZE to allocate space for
La_x86_64_regs. Allocate extra space and jump to memory at
save_and_restore_vector if HAVE_AVX_SUPPORT is defined.
(save_and_restore_vector_sse): New.
(save_and_restore_vector_avx): Likewise.
(check_avx): Likewise.
(save_and_restore_vector): Likewise.
* sysdeps/x86_64/elf/ Set libc_cv_cc_avx and
* sysdeps/x86_64/link-defines.sym: New file.
2009-07-10 Ulrich Drepper <>
* elf/do-lookup.h: Removed after folding content into...
* elf/dl-lookup.c:
* sysdeps/unix/sysv/linux/sys/epoll.h: Fix comment.
2009-07-09 Ulrich Drepper <>
* Check for gnu_unique_symbol symbol type.
* elf/do-lookup.h (do_lookup_x): Take new parameter with link map of
the undefined symbol. Handle STB_GNU_UNIQUE binding of found symbol.
* elf/dl-lookup.c (_dl_lookup_symbol_x): Adjust callers for do_lookup_x
* sysdeps/generic/ldsodefs.h (struct rtld_global): Add definitions for
unique symbol table.
* elf/rtld.c (rtld_global): Initialize lock of unique symbol hash table
for first namespace.
* elf/dl-open.c (_dl_open): For new namespace, initialize lock for
unique symbol hash table.
* elf/Makefile: Add rules to build and run tst-unique1 and tst-unique2.
* elf/tst-unique1.c: New file.
* elf/tst-unique1mod1.c: New file.
* elf/tst-unique1mod2.c: New file.
* elf/tst-unique2.c: New file.
* elf/tst-unique2mod1.c: New file.
* elf/tst-unique2mod2.c: New file.
2009-07-07 Ulrich Drepper <>
* elf/elf.h (STB_GNU_UNIQUE): Define.
* elf/dl-misc.c (_dl_higher_prime_number): New function. Moved here
* include/inline-hashtab.h:
(htab_expand): Adjust for renamed function. Correct memory handling.
2009-07-06 Ulrich Drepper <>
* elf/do-lookup.h (do_lookup_x): Optimize test for valid symbol types.
2009-07-03 Andreas Schwab <>
* sysdeps/powerpc/sysdep.h (PPC_FEATURE_ARCH_2_06): Fix value.
2009-07-03 Ulrich Drepper <>
* sysdeps/x86_64/multiarch/strcspn-c.c: Minor cleanups.
* sysdeps/x86_64/multiarch/strspn-c.c: Likewise.
* sysdeps/x86_64/multiarch/strcmp.S: Make sure functions are all
aligned to 16 byte boundaries.
* sysdeps/x86_64/multiarch/strcpy.S: Likewise.
* sysdeps/x86_64/multiarch/strlen.S: Likewise.
* sysdeps/x86_64/multiarch/rawmemchr.S: Likewise.
2009-07-02 H.J. Lu <>
* (HAVE_SSE4_SUPPORT): New macro.
* (config-cflags-sse4): New variable.
* Substitute libc_cv_cc_sse4.
* sysdeps/i386/ Set libc_cv_cc_sse4 and
* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
strcspn-c, strpbrk-c, strspn-c for string if gcc supports SSE4.
* sysdeps/x86_64/multiarch/strcspn-c.c: New file.
* sysdeps/x86_64/multiarch/strcspn.S: New file.
* sysdeps/x86_64/multiarch/strpbrk-c.c: New file.
* sysdeps/x86_64/multiarch/strpbrk.S: New file.
* sysdeps/x86_64/multiarch/strspn-c.c: New file.
* sysdeps/x86_64/multiarch/strspn.S: New file.
2009-06-30 H.J. Lu <>
* elf/Makefile (distribute): Remove Add
tst-audit2.c, tst-audit3.c, tst-auditmod3a.c, tst-auditmod3b.c.
(tests): Add tst-audit3 for x86_64.
(modules-names): Add tst-auditmod3a, tst-auditmod3b.
($(objpfx)tst-audit3): Define.
($(objpfx)tst-audit3.out): Define.
(tst-audit3-ENV): Define.
* elf/tst-audit3.c: New file.
* elf/tst-auditmod3a.c: New file.
* elf/tst-auditmod3b.c: New file.
* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Save
and restore xmm6.
* string/stpncpy.c (STPNCPY): New. Defined if not defined.
(__stpncpy): Renamed to ...
(STPNCPY): This.
(stpncpy): Create alias only if STPNCPY is not defined.
* string/strncpy.c (STRNCPY): New. Defined to strncpy if not
(strncpy): Renamed to ...
(STRNCPY): This.
* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
stpncpy-c strncpy-c for string.
* sysdeps/x86_64/multiarch/stpcpy.S: New file.
* sysdeps/x86_64/multiarch/stpncpy-c.c: New file.
* sysdeps/x86_64/multiarch/stpncpy.S: New file.
* sysdeps/x86_64/multiarch/strcpy.S: New file.
* sysdeps/x86_64/multiarch/strncpy-c.c: New file.
* sysdeps/x86_64/multiarch/strncpy.S: New file.
2009-07-02 Ulrich Drepper <>
* malloc/malloc.c [ATOMIC_FASTBINS] (_int_free): Add full barrier when
adding to fast bin list.
2009-07-01 Ulrich Drepper <>
* nis/nss_nis/nis-network.c (_nss_nis_getnetbyaddr_r): Don't use
inet_makeaddr. This worked only with class-based networks.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
* nss/nss_files/files-network.c (netbyaddr): If type is AF_UNSPEC,
recognize all types.
* nss/getent.c (networks_keys): Pass AF_UNSPEC instead of AF_UNIX
to getnetbyaddr. Fix network parameter to getnetbyaddr. It must
be in host byte order.
2009-06-26 H.J. Lu <>
* sysdeps/x86_64/multiarch/ifunc-defines.sym (FAMILIY_OFFSET): Define.
* sysdeps/x86_64/multiarch/init-arch.h (cpu_features): Add
family and model.
* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Break
out common code into new function get_common_indeces. Determine
extended family and model for Intel processors.
2009-06-26 Ulrich Drepper <>
* resolv/resolv.h: Define RES_SNGLKUPREOP.
* resolv/res_init.c (res_setoptions): Recognize single-request-reopen
* resolv/res_send.c (reopen): New function. Broken out of...
(send_dg): ... here. Recognize RES_SNGLKUPREOP. Implement second
fallback mechanism. If single-request fails switch to
single-request-reopen mode which opens a new socket for the second
2009-06-25 Andreas Schwab <>
* sysdeps/powerpc/powerpc32/____longjmp_chk.S (LOAD_ARG): Define.
(CHECK_SP): Use it.
2009-06-24 Andreas Schwab <>
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S: Fix cfa offset
for saved registers.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S: Likewise.
2009-06-23 Andreas Schwab <>
* time/tzfile.c (__tzfile_read): Don't use an empty TZ string.
2009-06-22 Ulrich Drepper <>
* po/id.po: Update from translation team.
* po/bg.po: Update from translation team.
2009-06-22 H.J. Lu <>
* string/strncmp.c (STRNCMP): New. Defined to strncmp if not
(strncmp): Renamed to STRNCMP.
* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
strncmp-c for string.
* sysdeps/x86_64/multiarch/init-arch.h (HAS_SSE4_2): Define.
* sysdeps/x86_64/multiarch/strcmp.S: New file.
* sysdeps/x86_64/multiarch/strncmp.S: New file.
* sysdeps/x86_64/multiarch/strncmp-c.c: New file.
2009-06-19 H.J. Lu <>
* elf/Makefile (distribute): Add ifuncmain1staticpie.c,
ifuncmain5.c, ifuncmain5pic.c, ifuncmain5picstatic.c,
ifuncmain5pie.c, ifuncmain5static.c, ifuncmain5staticpic.c,
ifuncdep5.c, ifuncdep5pic.c, ifuncmod5.c, ifuncmain7.c,
ifuncmain7pic.c, ifuncmain7picstatic.c, ifuncmain7pie.c, and
(tests-static): Add ifuncmain5static, ifuncmain5picstatic,
ifuncmain7static, and ifuncmain7picstatic.
(tests): Also depend on $(objpfx)ifuncmain1staticpie.out,
$(objpfx)ifuncmain5pie.out, $(objpfx)ifuncmain6pie.out, and
(modules-names): Add ifuncmod5 ifuncmod6
( Define.
( Define.
(CFLAGS-ifuncmain5pic.c): Define.
(CFLAGS-ifuncmain5picstatic.c): Define.
(CFLAGS-ifuncmain5staticpic.c): Define.
(CFLAGS-ifuncdep5pic.c): Define.
(CFLAGS-ifuncmain7pic.c): Define.
(CFLAGS-ifuncmain7picstatic.c): Define.
(CFLAGS-ifuncmain1staticpie.c): Define.
(CFLAGS-ifuncmain5pie.c): Define.
(CFLAGS-ifuncmain6pie.c): Define.
(CFLAGS-ifuncmain7pie.c): Define.
($(objpfx)ifuncmain1staticpie.out): Define.
($(objpfx)ifuncmain1staticpie): Define.
($(objpfx)ifuncmain5pie.out): Define.
($(objpfx)ifuncmain5pie): Define.
($(objpfx)ifuncmain6pie.out): Define.
($(objpfx)ifuncmain6pie): Define.
($(objpfx)ifuncmain5): Define.
($(objpfx)ifuncmain5pic): Define.
($(objpfx)ifuncmain5static): Define.
($(objpfx)ifuncmain5staticpic): Define.
($(objpfx)ifuncmain5picstatic): Define.
(generated): Add ifuncmain1staticpie, ifuncmain1staticpie.out,
ifuncmain5pie, ifuncmain5pie.out, ifuncmain6pie, and
* elf/b/elf/ifuncmain1staticpie.c: New file.
* elf/ifuncdep5.c: New file.
* elf/ifuncdep5pic.c: New file.
* elf/ifuncmain5.c: New file.
* elf/ifuncmain5pic.c: New file.
* elf/ifuncmain5picstatic.c: New file.
* elf/ifuncmain5pie.c: New file.
* elf/ifuncmain5static.c: New file.
* elf/ifuncmain5staticpic.c: New file.
* elf/ifuncmain6pie.c: New file.
* elf/ifuncmain7.c: New file.
* elf/ifuncmain7pic.c: New file.
* elf/ifuncmain7picstatic.c: New file.
* elf/ifuncmain7pie.c: New file.
* elf/ifuncmain7static.c: New file.
* elf/ifuncmod5.c: New file.
* elf/ifuncmod6.c: New file.
2009-06-20 Ulrich Drepper <>
[BZ #10085]
* nis/nss_compat/compat-initgroups.c (nss_setgrent): New variable.
(nss_endgrent): New variable.
(struct ent_t): Add need_endgrent and skip_initgroups_dyn
fields. Change type of files to bool and adjust all users.
(init_nss_interface): Initialize nss_setgrent and nss_endgrent.
(internal_endgrent): Call nss_endgrent if necessary.
(add_group): New function. Broken out of...
(getgrent_next_nss): Remove test that any callback is available.
Use skip_initgroups_dyn to determine whether to use initgroups_dyn
callback. If there is no blacklist we can trust the results returned
by the initgroups_dyn callback. In case there is a callback and we
find a group entry for the group ID but it doesn't contain the
correct member, switch to the slow mode and use getgrent_r.
(internal_getgrent_r): When we see a +: entry, determine whether
there is any callback and which we can use the initgroups_dyn
2009-06-18 Ulrich Drepper <>
* malloc/malloc.c (_int_malloc): Add some consistency checks.
(_int_free): Likewise.
* sysdeps/unix/sysv/linux/bits/socket.h: Define PF_IEEE802154 and
* sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/net/if_arp.h: Define ARPHRD_IEEE802154
and ARPHRD_IEEE802154_PHY.
* sysdeps/unix/sysv/linux/sparc/bits/socket.h: Add missing definitions
relative to generic Linux version.
2009-06-17 H.J. Lu <>
* elf/Makefile ($(objpfx)ifuncmain1pie): Use $(+link-pie).
($(objpfx)ifuncmain1vispie): Likewise.
2009-06-16 Ulrich Drepper <>
* login/Makefile: Build pt_chown as PIE.
2009-06-15 Andreas Schwab <>
* debug/ (do_help): Don't treat bug reporting message as
a format string.
* elf/sln.c (usage): Likewise.
* malloc/ (do_help): Likewise.
* nss/getent.c (more_help): Likewise.
* posix/getconf.c (main): Likewise.
* sunrpc/rpcinfo.c (usage): Likewise.
* sysdeps/unix/sysv/linux/lddlibc4.c (main): Likewise.
2009-06-16 Ulrich Drepper <>
* login/programs/pt_chown.c: Use libcap to drop privileges other than
those needed.
* login/Makefile: If necessary link pt_chown with -lcap.
* sysdeps/generic/pty-private.h: Define FAIL_ENOMEM.
* sysdeps/unix/grantpt.c: Handle FAIL_ENOMEM.
2009-06-16 Jakub Jelinek <>
* sysdeps/x86_64/memchr.S (memchr): Use unsigned instead of signed
* string/test-memchr.c (do_random_tests): Test very large lengths
as well.
2009-06-02 H.J. Lu <>
* Makeconfig (+link-pie): Define.
(+prectorS): Define.
(+postctorS): Define.
* elf/Makefile ($(objpfx)tst-pie1): Use $(+link-pie).
* nscd/Makefile ($(objpfx)nscd): Likewise.
2009-04-22 Ryan S. Arnold <>
[BZ #10107]
* sysdeps/powerpc/powerpc32/power6/memcpy.S (memcpy): Replace cmpldi
with cmplwi.
* sysdeps/powerpc/powerpc32/power6/memset.S (memset): Likewise.
2009-06-16 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/grantpt.c: Remove file after folding changes
into ...
* sysdeps/unix/grantpt.c:
2009-06-15 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/grantpt.c (grantpt): Only call chown and
chmod if it is necessary.
[BZ #10166]
* sysdeps/unix/sysv/linux/grantpt.c: Remove shortcut which was used
when the slave device is in devpts or devfs.
[BZ #10183]
* posix/tst-cpucount.c: Don't try more than CPU_SETSIZE bits.
[BZ #10195]
* inet/netinet/icmp6.h (struct nd_opt_home_agent_info): Change type
of nd_opt_home_agent_info_preference to uint16_t.
Patch by Arnaud Ebalard <>.
[BZ #10207]
* nss/getent.c: Add support for printing gshadow data.
[BZ #10203]
* nis/nss_nis/nis-pwd.c (internal_nis_endpwent): Free all buffers,
not just the currently used one and those which follow.
Patch by Joe Landers <>.
[BZ #10196]
* libio/tst-fgetwc.c (do_test): Use de_DE.UTF-8 as locale name.
* libio/Makefile: Run tst-fgetwc with necessary envvar.
Patch by Bruce Dubbs <>.
[BZ #10217]
* stdlib/abort.c: Define variable __abort_msg.
* stdlib/Versions: Export __abort_msg with GLIBC_PRIVATE version.
* include/stdlib.h: Declare __abort_msg.
* assert/assert-perr.c: Don't free buffer for message immediately.
Store atomically in __abort_msg and free old buffer if necessary.
* assert/assert.c: Likewise.
* sysdeps/posix/libc_fatal.c: Allocate buffer for message, copy it,
store pointer in __abort_msg, and possibly free old string.
* sysdeps/unix/sysv/linux/libc_fatal.c: Likewise.
* time/tzfile.c (__tzfile_read): Correct computation of tzspec_len.
[BZ #10211]
* time/tzfile.c (__tzfile_compute): If we use the envvar format still
handle leap seconds if they are available.
Patch by Akinori Hattori <>.
* timezone/tzselect.ksh: Update from tzcode2009i.
* timezone/zdump.c: Likewise.
* timezone/zic.c: Likewise.
* timezone/africa: Update from tzdata2009i.
* timezone/antarctica: Likewise.
* timezone/asia: Likewise.
* timezone/australasia: Likewise.
* timezone/backward: Likewise.
* timezone/etcetera: Likewise.
* timezone/europe: Likewise.
* timezone/factory: Likewise.
* timezone/ Likewise.
* timezone/leapseconds: Likewise.
* timezone/northamerica: Likewise.
* timezone/pacificnew: Likewise.
* timezone/solar87: Likewise.
* timezone/solar88: Likewise.
* timezone/solar89: Likewise.
* timezone/southamerica: Likewise.
* timezone/systemv: Likewise.
* timezone/yearistype: Likewise.
* timezone/ Likewise.
2009-06-15 Jakub Jelinek <>
* elf/dl-lookup.c (_dl_debug_bindings): When resolving to
STT_GNU_IFUNC symbol or in 8 into type_class.
* sysdeps/i386/dl-irel.h (elf_irel): Use Elf32_Addr type
instead of Elf64_Addr.
2009-06-14 Ulrich Drepper <>
* po/sv.po: Update from translation team.
[BZ #10229]
* misc/sys/select.h (__NFDBITS): Expression should have type int.
* sysdeps/x86_64/bits/select.h: Remove asm versions for __FD_SET,
__FD_CLR, and __FD_ISSET. gcc nowadays generates better code from
the C version.
2009-06-12 Ulrich Drepper <>
* Versions.def: Add GLIBC_2.11 for libpthread.
2009-06-11 Ulrich Drepper <>
* resolv/res_send.c (send_dg): Remember we switched to
single-request mode.
2009-06-09 Ulrich Drepper <>
* dlfcn/dlfcn.h: Remove comma at end of enum.
Patch by J.H.M. Dassen <>.
* libio/fileops.c (_IO_new_file_fopen): Don't prematurely stop
parsing mode string.
2009-06-05 Ulrich Drepper <>
* sysdeps/x86_64/rawmemchr.S: Minor optimization.
* sysdeps/x86_64/multiarch/rawmemchr.S: New file.
* sysdeps/x86_64/multiarch/strlen.S: New file.
* sysdeps/x86_64/multiarch/ifunc-defines.sym: New file.
* sysdeps/x86_64/multiarch/Makefile: Add rule to build ifunc-defines.h.
* sysdeps/x86_64/multiarch/init-arch.h: Name structure with register
* csu/elf-init.c: Only compile in IFUNC functionality if USE_MULTIARCH
is defined.
2009-06-04 Ulrich Drepper <>
* sysdeps/x86_64/strlen.S: Minor optimizations.
2009-06-02 H.J. Lu <>
* elf/Makefile (distribute): Add ifuncmain1.c, ifuncmain1pic.c,
ifuncmain1vis.c, ifuncmain1vispic.c, ifuncmain1static.c,
ifuncmain1staticpic.c, ifuncmain1picstatic.c, ifuncdep1.c,
ifuncdep1pic.c, ifuncmod1.c, ifuncmain1pie.c, ifuncmain1vispie.c,
ifuncmain2.c, ifuncmain2static.c, ifuncdep2.c,
funcmain2pic.c, ifuncmain2picstatic.c, ifuncdep2pic.c,
ifuncmain3.c, ifuncmod3.c,.
ifuncmain4.c, ifuncmain4static.c, ifuncmain4picstatic.c.
(tests-static): Add ifuncmain1static, ifuncmain1picstatic,
ifuncmain2static, ifuncmain2picstatic, ifuncmain4static,
(tests): Add ifuncmain1, ifuncmain1pic, ifuncmain1vis,
ifuncmain1vispic, ifuncmain1staticpic, ifuncmain2, ifuncmain2pic,
ifuncmain3, ifuncmain4.
(tests): Depend on $(objpfx)ifuncmain1pie.out and
(modules-names): Add ifuncmod1 ifuncmod3.
(generated): Add ifuncmain1pie ifuncmain1pie.out
ifuncmain1vispie ifuncmain1vispie.out.
Define rules to build and run the tests.
* elf/ifuncdep1.c: New file.
* elf/ifuncdep1pic.c: New file.
* elf/ifuncdep2.c: New file.
* elf/ifuncdep2pic.c: New file.
* elf/ifuncmain1.c: New file.
* elf/ifuncmain1pic.c: New file.
* elf/ifuncmain1picstatic.c: New file.
* elf/ifuncmain1pie.c: New file.
* elf/ifuncmain1static.c: New file.
* elf/ifuncmain1staticpic.c: New file.
* elf/ifuncmain1vis.c: New file..
* elf/ifuncmain1vispic.c: New file..
* elf/ifuncmain1vispie.c: New file.
* elf/ifuncmain2.c: New file.
* elf/ifuncmain2pic.c: New file.
* elf/ifuncmain2picstatic.c: New file.
* elf/ifuncmain2static.c: New file.
* elf/ifuncmain3.c: New file.
* elf/ifuncmain4.c: New file.
* elf/ifuncmain4picstatic.c: New file.
* elf/ifuncmain4static.c: New file.
* elf/ifuncmod1.c: New file.
* elf/ifuncmod3.c: New file.
2009-06-03 Ulrich Drepper <>
* elf/dl-sysdep.c (_dl_show_auxv): Terminate correct string.
2009-06-02 Ulrich Drepper <>
[BZ #10221]
* posix/Makefile (routines): Add execvpe.
* posix/Versions: Export execvpe for GLIBC_2.11.
* posix/execvp.c: Now only a wrapper. Move code to...
* posix/execvpe.c: New file.
* posix/unistd.h: Declare execvpe.
2009-06-01 Ulrich Drepper <>
* sysdeps/i386/dl-machine.h (elf_machine_rel): Reorder conditions
for STT_GNU_IFUNC handling for efficiency.
* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/i386/dl-irel.h (elf_irel): Use __libc_fatal instead of just
* sysdeps/x86_64/dl-irel.h (elf_irela): Likewise.
2009-05-31 Ulrich Drepper <>
* sysdeps/x86_64/multiarch/sched_cpucount.c: Also use optimized code
for !SHARED.
2009-05-29 H.J. Lu <>
* csu/elf-init.c: Include <link.h> and <dl-irel.h> if LIBC_NONSHARED
is not defined.
(__rela_iplt_start): New declaration.
(__rela_iplt_end): Likewise.
(__rel_iplt_start): Likewise.
(__rel_iplt_end): Likewise.
(__libc_csu_init): Process __rela_iplt_start and __rel_iplt_start.
* elf/elf.h (R_386_IRELATIVE): New macro.
(R_X86_64_IRELATIVE): New macro.
(R_386_NUM): Updated.
(R_X86_64_NUM): Likewise.
* include/libc-symbols.h (libc_ifunc_hidden_def1): New macro.
(libc_ifunc_hidden_def): New macro.
* sysdeps/generic/dl-irel.h: New file.
* sysdeps/i386/dl-irel.h: New file.
* sysdeps/x86_64/dl-irel.h: New file.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Handle R_386_IRELATIVE.
(elf_machine_rela): Check SHN_UNDEF for STT_GNU_IFUNC symbol.
Handle R_386_IRELATIVE.
(elf_machine_lazy_rel): Handle R_386_IRELATIVE.
(elf_machine_lazy_rela): Likewise.
* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Handle
(elf_machine_lazy_rel): Handle R_X86_64_IRELATIVE.
2009-05-31 Ulrich Drepper <>
* sysdeps/x86_64/multiarch/init-arch.h: Define COMMON_CPUID_INDEX_1
instead of INTEL_CPUID_INDEX_1 and AMD_CPUID_INDEX_1. So far there
are no differences. If an architecture has bits in CPUID index 1
meaning different things the values for the COMMON_CPUID_INDEX_1
index must not be set.
(INTEL_HAS_POPCOUNT, AMD_HAS_POPCOUNT): Removed in favor of...
(HAS_POPCOUNT): ...this. New macro.
* sysdeps/x86_64/multiarch/init-arch.c: Use COMMON_CPUID_INDEX_1
instead of INTEL_CPUID_INDEX_1 and AMD_CPUID_INDEX_1. Unify code
to set the value for Intel and AMD architectures.
* sysdeps/x86_64/cacheinfo.c: Use COMMON_CPUID_INDEX_1 instead of
* sysdeps/x86_64/multiarch/sched_cpucount.c: Adjust for HAS_POPCOUNT
2009-05-30 Andreas Schwab <>
* Move AC_CANONICAL_HOST before first use of $host
and $build.
2009-05-29 Jakub Jelinek <>
* sysdeps/ieee754/ldbl-128/s_expm1l.c: Include <errno.h>.
(__expm1l): Set errno to ERANGE on overflow.
* sysdeps/ieee754/ldbl-128/s_tanl.c: Include <errno.h>.
(__tanl): Set errno to EDOM for ±Inf.
* sysdeps/ieee754/ldbl-128/s_cosl.c: Include <errno.h>.
(__cosl): Set errno to EDOM for ±Inf.
* sysdeps/ieee754/ldbl-128/s_sinl.c: Include <errno.h>.
(__sinl): Set errno to EDOM for ±Inf.
* sysdeps/s390/s390-32/__longjmp.c (__longjmp): If CHECK_SP is
defined, use it.
* sysdeps/s390/s390-64/__longjmp.c (__longjmp): Likewise.
* sysdeps/s390/s390-32/____longjmp_chk.c: New file.
* sysdeps/s390/s390-64/____longjmp_chk.c: New file.
2009-05-29 Ulrich Drepper <>
* sysdeps/x86_64/cacheinfo.c: Compact intel_02_known array. Adjust
code accessing it.
* sysdeps/unix/sysv/linux/i386/sysconf.c: Likewise.
2009-05-22 Andreas Schwab <>
* sysdeps/ieee754/ldbl-128ibm/s_sinl.c: Set errno for ±Inf.
* sysdeps/ieee754/ldbl-128ibm/s_cosl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_tanl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_expm1l.c: Set errno for overflow.
* sysdeps/powerpc/powerpc32/____longjmp_chk.S: New file.
* sysdeps/powerpc/powerpc64/____longjmp_chk.S: New file.
* sysdeps/powerpc/powerpc32/__longjmp-common.S: Use CHECK_SP if
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise.
2009-05-22 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/accept4.c: Include kernel-features.h.
(accept4): If __NR_accept4 is not defined, but __NR_socketcall
is, either do nothing at all if __ASSUME_ACCEPT4, or
call __internal_accept4 and handle EINVAL -> ENOSYS translation.
* sysdeps/unix/sysv/linux/internal_accept4.S: New file.
* sysdeps/unix/sysv/linux/i386/accept4.S (SOCKOP_accept4): Don't
* sysdeps/unix/sysv/linux/i386/internal_accept4.S: New file.
* sysdeps/unix/sysv/linux/Makefile (sysdep-routines): Add
internal_accept4 in socket directory.
2009-05-20 H.J. Lu <>
* sysdeps/ia64/ New file.
2009-05-21 H.J. Lu <>
[BZ #10162]
* sysdeps/ia64/memchr.S: Use speculative load.
* sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S: New file.
* sysdeps/unix/sysv/linux/ia64/__longjmp.S: If CHECK_RSP is defined,
use it.
* sysdeps/i386/__longjmp.S: Add .text.
* sysdeps/x86_64/__longjmp.S: Likewise.
2009-05-21 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/kernel-features.h: Don't define
2009-05-21 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/accept4.c (__NR_accept4): Don't define.
* sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_paccept): Remove.
(SOCKOP_accept4): Define.
2009-05-20 Ulrich Drepper <>
* po/da.po: Update from translation team.
2009-05-18 Kaz Kojima <>
* sysdeps/sh/____longjmp_chk.S: New file.
* sysdeps/sh/sh3/__longjmp.S: If CHECK_SP is defined, use it.
* sysdeps/sh/sh4/__longjmp.S: Likewise.
2009-05-18 Jakub Jelinek <>
Ulrich Drepper <>
* nscd/nscd_helper.c (MINIMUM_HASHENTRY_SIZE): Define.
(__nscd_cache_search): Assume each entry in the
hash chain needs one hashentry and half of datahead. Use
MINIMUM_HASHENTRY_SIZE instead of sizeof(hashentry).
2009-05-16 Ulrich Drepper <>
* posix/sys/wait.h: Fix typos. Pretty printing.
* stdlib/stdlib.h: Likewise. Correct comments.
[BZ #10159]
* stdlib/stdlib.h (__WAIT_INT): Match the definition in <sys/wait.h>.
* nscd/nscd_helper.c (__nscd_cache_search): Fix exit condition in last
2009-05-15 Ulrich Drepper <>
* nscd/nscd_helper.c (__nscd_cache_search): Introduce loop counter.
Use it if we absolutely cannot reach any more correct list elements
because that many do not fit into the currently mapped database.
2009-05-14 Jakub Jelinek <>
* nscd/nscd_helper.c: Include stddef.h.
(__nscd_cache_search): Add datalen argument. Use atomic_forced_read
in a couple of places. Return NULL if trail is not less than
datasize, don't consider dataheads with length smaller than
offsetof (struct datahead, data) + datalen.
* nscd/nscd_client.h (__nscd_cache_search): Adjust prototype.
* nscd/nscd_gethst_r.c (nscd_gethst_r): Adjust callers.
* nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
* nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
* nscd/nscd_getai.c (__nscd_getai): Likewise.
* nscd/nscd_initgroups.c (__nscd_getgrouplist): Likewise.
* nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise.
* sysdeps/unix/sysv/linux/i386/fallocate64.c (__fallocate64_l64):
Rename ...
(fallocate64): ... to this.
* sysdeps/unix/sysv/linux/fallocate64.c (__fallocate64_l64):
Rename ...
(fallocate64): ... to this.
* sysdeps/unix/sysv/linux/Versions (libc): Remove fallocate64.
* sysdeps/unix/sysv/linux/wordsize-64/Versions (libc): Add
* sysdeps/unix/sysv/linux/i386/Versions (libc): Add
* sysdeps/unix/sysv/linux/s390/s390-32/Versions (libc): Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions (libc): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/Versions (libc): Likewise.
* sysdeps/unix/sysv/linux/sh/Versions (libc): Likewise.
* nscd/selinux.c (nscd_avc_destroy): Removed.
* nscd/selinux.h (nscd_avc_destroy): Likewise.
* nscd/nscd.c (termination_handler): Don't call
2009-05-12 Jakub Jelinek <>
* include/atomic.h: Formatting.
(catomic_compare_and_exchange_val_acq): Don't define if already
defined by bits/atomic.h.
2009-05-15 Ulrich Drepper <>
* math/ (expm1_test): Add test for range error.
* Versions.def: Add GLIBC_2.11 for libc.
* debug/Makefile (routines): Add longjmp_chk.
Add rules to build and run tst-longjmp_chk.
* debug/Versions: Export __longjmp_chk for GLIBC_2.11.
* debug/longjmp_chk.c: New file.
* debug/tst-longjmp_chk.c: New file.
* include/bits/setjmp2.: New file.
* include/stdio.h: Mark __fortify_fail as internal_function.
* setjmp/Makefile (headers): Add bits/setjmp2.h.
* setjmp/bits/setjmp2.h: New file.
* setjmp/longjmp.c: If __libc_siglongjmp is defined, don't define any
of the aliases.
* setjmp/setjmp.h: Include <bits/setjmp2.h> if _FORTIFY_SOURCE is
* sysdeps/i386/____longjmp_chk.S: New file.
* sysdeps/x86_64/____longjmp_chk.S: New file.
* sysdeps/i386/__longjmp.S: If CHECK_ESP is defined, use it.
* sysdeps/x86_64/__longjmp.S: Likewise.
* version.h: Bump for 2.11 development.
* elf/check-execstack.c: New file.
* elf/Makefile: Add rules to build and run check-execstack.
2009-05-10 Ulrich Drepper <>
* version.h (VERSION): Bump to 2.10.1.
* nss/getXXbyYY_r.c: If NO_COMPAT_NEEDED is defined don't define any
compatibility functions.
* nss/getXXent_r.c: Likewise.
* gshadow/getsgent_r.c: Define NO_COMPAT_NEEDED.
* gshadow/getsgnam_r.c: Likewise.
* gshadow/Version: Remove duplicate entries.
* sysdeps/x86_64/cacheinfo.c (intel_02_cache_info): Add missing entries
for recent processor.
* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_cache_info):
2009-05-09 Ulrich Drepper <>
* version.h (VERSION): Bump for 2.10 release.
* include/features.h (__GLIBC_MINOR__): Bump to 10.
* Makeconfig: Undo last change. Add asflags-cpu to ASFLAGS in the
same place we add ASFLAGS-config.
2009-05-05 Aurelien Jarno <>
[BZ #10128]
* resolv/res_query.c (__libc_res_nquery): If one query returns NOTIMP
or FORMERR and the other NOERROR, don't raise an error.
2009-05-06 Ryan S. Arnold <>
[BZ #10118]
* Makeconfig (+asflags): New variable based upon ASFLAG or
(ASFLAGS): Add override to set ASFLAGS to +asflags.
* (asflags-cpu): Add variable based upon
@libc_cv_cc_submachine@ to propagate -mcpu=CPU from --with-cpu=CPU to
the assembler.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/setcontext.S:
Remove unneeded file now that the assembler emits _ARCH_PWR6 and
recognizes power6 instruction set due to passing -mcpu=power6 from
--with-cpu=power6 when compiling .S files.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/swapcontext.S:
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/setcontext.S:
* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/swapcontext.S:
2009-05-09 Jakub Jelinek <>
* string/stratcliff.c (do_test): Test for zero length
at the end of the page.
2009-05-08 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_AT_RANDOM.
* sysdeps/x86_64/memchr.S: Handle invalid buffer pointers when
count is zero.
* po/da.po: Update from translation team.
2009-05-05 Jakub Jelinek <>
* io/sys/stat.h (fstatat64): Guard prototype with __USE_LARGEFILE64,
guard __extern_inline wrapper with __USE_ATFILE instead of __USE_GNU.
2009-05-05 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/sys/personality.h: Add ADDR_COMPAT_LAYOUT
2009-05-04 Ulrich Drepper <>
* po/da.po: Update from translation team.
2009-04-29 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/ifaddrs.c: Revert unintended 2008-08-12
comment change.
2009-04-27 Jakub Jelinek <>
* locale/programs/locarchive.c (create_archive): Add MAP_PRIVATE
to MAP_ANON in PROT_NONE mmap64 call.
(open_archive): Likewise.
(file_data_available_p): Use mmap64 instead of mremap.
(enlarge_archive): Likewise. Update head if ah->addr changed.
Attempt to reserve address space after mmap64 region.
2009-04-26 Ulrich Drepper <>
* sysdeps/ieee754/dbl-64/s_expm1.c: Set errno for overflow.
* sysdeps/ieee754/flt-32/s_expm1f.c: Likewise.
* sysdeps/x86_64/fpu/s_expm1l.S: Likewise.
* sysdeps/ieee754/k_standard.c (__kernel_standard): Pole errors in
atanh should set ERANGE.
[BZ #10087]
* elf/dl-runtime.c (_dl_fixup): Use DL_FIXUP_VALUE_ADDR to access
result of lookup to make call to implement STT_GNU_IFUNC.
(_dl_profile_fixup): Likewise.
Patch by H.J. Lu <>.
* nscd/connections.c (send_ro_fd): Define temporary variable to avoid
* sysdeps/unix/sysv/linux/dl-osinfo.h (dl_fatal): Remove inline
from definition.
* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Don't define
label if it is not used.
* elf/dl-profile.c (_dl_start_profile): Define real-type variant
of gmon_hist_hdr and gmon_hdr structures and use them.
* elf/sprof.c: Likewise.
* elf/dl-load.c (open_verify): Add temporary variable to avoid
* nscd/nscd_helper.c (get_mapping): Avoid casts to avoid warnings.
* sunrpc/clnt_raw.c (clntraw_private_s): Use union in definition
to avoid cast.
* inet/rexec.c (rexec_af): Make sa2 a union to avoid warnings.
* inet/rcmd.c (rcmd_af): Make from a union of the various needed types
to avoid warnings.
(iruserok_af): Use ss_family instead of casts.
* gmon/gmon.c (write_hist): Define real-type variant of
gmon_hist_hdr structure and use it.
(write_gmon): Likewise for gmon_hdr.
* sysdeps/unix/sysv/linux/readv.c: Avoid declaration of replacement
function if we are not going to define it.
* sysdeps/unix/sysv/linux/writev.c: Likewise.
* inet/inet6_option.c (option_alloc): Add temporary variable to
avoid warning.
* libio/strfile.h (struct _IO_streambuf): Use correct type and
name of VTable element.
* libio/iovsprintf.c: Avoid casts to avoid warnings.
* libio/iovsscanf.c: Likewise.
* libio/vasprintf.c: Likewise.
* libio/vsnprintf.c: Likewise.
* stdio-common/isoc99_vsscanf.c: Likewise.
* stdlib/strfmon_l.c: Likewise.
* debug/vasprintf_chk.c: Likewise.
* debug/vsnprintf_chk.c: Likewise.
* debug/vsprintf_chk.c: Likewise.
* nss/nsswitch.c (__nss_lookup_function): En/Decrypt cached
function pointers.
2009-04-26 Jakub Jelinek <>
* sysdeps/ieee754/dbl-64/s_tan.c (tan): Fix -Wsequence-point warnings.
2009-04-25 Ulrich Drepper <>
* posix/bits/posix1_lim.h: Cleanup namespace a bit.
* sysdeps/i386/fpu/s_tan.S: Set errno for ±Inf.
* sysdeps/i386/fpu/s_tanf.S: Likewise.
* sysdeps/i386/fpu/s_tanl.S: Likewise.
* sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
* sysdeps/ieee754/flt-32/s_tanf.c: Likewise.
* sysdeps/x86_64/fpu/s_tanl.S: Likewise.
* math/ Add tests for errno after tan calls with
* sysdeps/ieee754/k_standard.c (__kernel_standard): Use correct
errno value vor pow(+-0,neg).
* math/ (pow_test): Add tests for errno value for
pole errors.
* math/w_fmod.c: Also handle x=±Inf as error.
* math/w_fmodf.c: Likewise.
* math/w_fmodl.c: Likewise.
* math/ (fmod_test): Add tests for errno after calls for
x=±Inf or y=0.
* sysdeps/i386/fpu/s_cos.S: Set errno for ±Inf.
* sysdeps/i386/fpu/s_cosf.S: Likewise.
* sysdeps/i386/fpu/s_cosl.S: Likewise.
* sysdeps/i386/fpu/s_sin.S: Likewise.
* sysdeps/i386/fpu/s_sinf.S: Likewise.
* sysdeps/i386/fpu/s_sinl.S: Likewise.
* sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
* sysdeps/ieee754/flt-32/s_cosf.c: Likewise.
* sysdeps/ieee754/flt-32/s_sinf.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_cosl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_sinl.c: Likewise.
* sysdeps/x86_64/fpu/s_cosl.S: Likewise.
* sysdeps/x86_64/fpu/s_sinl.S: Likewise.
* math/ Add tests for errno after sin/cos calls with
* stdlib/strtod_l.c (round_and_return): We have to set errno to
ERANGE for underflows.
* stdlib/tst-strtod.c (tests): Two tests should set errno to ERANGE.
* stdio-common/ (L_cuserid): Not part of POSIX since
the 2001 revision.
* libio/tst-widetext.input: Remove surrogates.
* include/features.h: _POSIX_C_SOURCE >= 200112L implies C99.
* sysdeps/ieee754/k_standard.c (__kernel_standard): Pole errors
for lgamma should set errno to ERANGE, not EDOM.
* math/ (lgamma_test): Check errno for pole errors.
2009-04-24 Ulrich Drepper <>
[BZ #10093]
* iconv/gconv_simple.c (BODY for UTF-8 to INTERNAL): Don't accept
UTF-16 surrogates.
* locale/programs/locarchive.c (enlarge_archive): Conserve address
space when temporarily mapping the whole content of the old file.
[BZ #10100]
* misc/hsearch_r.c (hsearch_r): Add back ensurance that hval is
not zero.
2009-04-24 Jakub Jelinek <>
* iconvdata/sjis.c (BODY): Don't advance inptr before
STANDARD_FROM_LOOP_ERR_HANDLER (2) for 2 byte invalid input.
Use STANDARD_FROM_LOOP_ERR_HANDLER with 2 instead of 1 for
two byte chars.
2009-04-24 Ulrich Drepper <>
* locale/locarchive.h (struct locarhandle): Rename len field to
mmaped and add new reserved field.
* locale/programs/locarchive.c (RESERVE_MMAP_SIZE): Define.
(create_archive): Reserve address space and then map file into it.
(open_archive): Likewise.
(file_data_available_p): New function.
(compare_from_file): New function.
(close_archive): Adjust to member name changes.
(add_locale): Before comparing locale data, check it is mapped.
Otherwise fall back to reading from the file.
2009-04-23 H.J. Lu <>
* stdio-common/psiginfo.c: Include <errno.h>.
2009-04-23 Ulrich Drepper <>
[BZ #9920]
* stdlib/random_r.c (__srandom_r): Change type of word to int32_t
to get consistency between 32 and 64 bit architectures.
[BZ #10052]
* sysdeps/unix/ Add rule to create target
directory for dummy syscall rules.
Patch by Chris Steinbroner <>.
2009-04-23 Aurelien Jarno <>
[BZ #10092]
* sysdeps/unix/sysv/linux/sys/mount.h: Define MNT_DETACH and
2009-04-23 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/preadv.c: The kernel API changed. Adjust.
* sysdeps/unix/sysv/linux/pwritev.c: Likewise.
2009-04-23 Jakub Jelinek <>
* sysdeps/posix/pwritev.c (PWRITEV): Fix up comment. Copy
data from vector to temporary buffer and call PWRITEV after it
instead of vice versa.
* sysdeps/posix/preadv.c: Fix up comment.
* misc/preadv.c: Likewise.
* misc/preadv64.c: Likewise.
* misc/pwritev.c: Likewise.
* misc/pwritev64.c: Likewise.
* misc/sys/uio.h (preadv, pwritev, preadv64, pwritev64): Likewise.
2009-04-23 Ulrich Drepper <>
* shadow/sgetspent_r.c (__sgetspent_r): Recognize too small buffers.
* shadow/Makefile (tests): Add tst-shadow.
* shadow/tst-shadow.c: New file.
[BZ #9955]
* gshadow/Makefile: New file.
* gshadow/Versions: New file.
* gshadow/fgetsgent.c: New file.
* gshadow/fgetsgent_r.c: New file.
* gshadow/getsgent.c: New file.
* gshadow/getsgent_r.c: New file.
* gshadow/getsgnam.c: New file.
* gshadow/getsgnam_r.c: New file.
* gshadow/gshadow.h: New file.
* gshadow/putsgent.c: New file.
* gshadow/sgetsgent.c: New file.
* gshadow/sgetsgent_r.c: New file.
* gshadow/tst-gshadow.c: New file.
* include/gshadow.h: New file.
* Makeconfig (all-subdirs): Add gshadow.
* Makefile (installed-headers): Add gshadow/gshadow.h.
* nss/Makefile (databases): Add sgrp.
* nss/Versions: Add gshadow functions as private exports.
* nss/nsswitch.conf: Add gshadow entry.
* nss/sgrp-lookup.c: New file.
* nss/nss_files/files-parse.c: Add STRING_LIST macro. Rewrite
parse_list to handle STRING_LIST and TRAILING_LIST_PARSER.
* nss/nss_files/files-sgrp.c: New file.
* sysdeps/generic/paths.h: Add _PATH_GSHADOW.
* sysdeps/unix/sysv/linux/paths.h: Likewise.
2009-04-22 Ulrich Drepper <>
* stdio-common/printf.h: Add missing const to register_printf_modifier.
* stdio-common/reg-modifier.c: Likewise.
2009-04-22 Andrew Stubbs <>
* sysdeps/sh/sh4/setjmp.S (__sigsetjmp): Adjust JB_SIZE when there
is no FPU.
2009-04-20 Ulrich Drepper <>
[BZ #10086]
* sysdeps/unix/sysv/linux/sys/timex.h: Add definitions from kernel
headers up to 2.6.30.
* po/ca.po: Update from translation team.
2009-04-19 Ulrich Drepper <>
[BZ #10069]
* elf/dl-open.c (dl_open_worker): We cannot guarantee that we can load
an object that uses static TLS if the TLS modid is higher than the
reserve we always allocate. At least for multi-threaded code.
2009-04-18 Ulrich Drepper <>
* stdlib/strfmon_l.c (__vstrfmon_l): Don't wrap when computing width.
Numerically stable check for valid width.
* locale/programs/locarchive.c (open_archive): Map the entire file
and not just the administrative data.
(add_locale): When we find a hash sum match compare the content
to be sure.
* malloc/malloc.c (malloc_info): Output address space information.
2009-04-17 Ulrich Drepper <>
* malloc/malloc.c (malloc_info): Also output system memory information.
* sysdeps/unix/sysv/linux/kernel-features.h: All supported
architectures have preadv/pwritev in 2.6.30.
* sysdeps/posix/preadv.c: Reading of zero bytes is no error.
* sysdeps/posix/readv.c: Likewise.
Reported by Markus Armbruster <>.
* malloc/hooks.c (top_check): Force hook value into register.
2009-04-16 Samuel Thibault <>
* elf/rtld.c (dl_main): Really call _dl_sysdep_start_cleanup after all
calls to _dl_relocate_object.
2009-04-16 Ulrich Drepper <>
[BZ #9957]
* malloc/malloc.c (force_reg): Define.
(sYSMALLOc): Load hook variable into variable
before test and force into register.
(sYSTRIm): Likewise.
(public_mALLOc): Force hook value into register.
(public_fREe): Likewise.
(public_rEALLOc): Likewise.
(public_mEMALIGn): Likewise.
(public_vALLOc): Likewise.
(public_pVALLOc): Likewise.
(public_cALLOc): Likewise.
(__posix_memalign): Likewise.
* malloc/arena.c (ptmalloc_init): Load hook variable into variable
before test and force into register.
* malloc/hooks.c (top_check): Likewise.
(public_sET_STATe): Pretty printing.
* resolv/res_send.c (send_dg): Don't just ignore the result we got
in case we only receive one reply in single-request mode.
2009-04-16 Jakub Jelinek <>
* elf/dl-open.c (_dl_open): Bump GL(dl_nns) to 1 if no libraries
are dlopened in statically linked program even for __LM_ID_CALLER.
2009-04-16 Ulrich Drepper <>
* resolv/res_send.c (send_dg): Don't switch into single-request
mode if we already are in it.
2009-04-15 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/getsysstats.c (next_line): Make sure there
are always at least 4 bytes in the returned line.
2009-04-15 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Check
__libc_use_alloca (8192), if the stack is too small use 512 bytes
instead of 8K. Stop searching in /proc/stat after hitting first
line not starting with cpu.
(next_line): Truncate too long
lines at buffer size * 3/4 instead of pretending there were line
breaks inside of large lines.
2009-04-14 Ulrich Drepper <>
* sysdeps/x86_64/mp_clz_tab.c: New file.
2009-03-17 Ryan S. Arnold <>
Ulrich Drepper <>
* sysdeps/unix/sysv/linux/fallocate.c: Handle old kernel headers.
* sysdeps/unix/sysv/linux/fallocate64.c: Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/fallocate.c: Likewise.
2009-03-25 Andrew Stubbs <>
* sysdeps/sh/libc-tls.c: New file.
* sysdeps/sh/bits/setjmp.h (__jmp_buf): Give name to structure type.
2009-04-14 Roland McGrath <>
* elf/elf.h: Add various missing ARM constants, to match binutils.
2009-04-14 Ulrich Drepper <>
Optimizations from GMP.
* sysdeps/x86_64/add_n.S: New file.
* sysdeps/x86_64/addmul_1.S: New file.
* sysdeps/x86_64/lshift.S: New file.
* sysdeps/x86_64/mul_1.S: New file.
* sysdeps/x86_64/rshift.S: New file.
* sysdeps/x86_64/sub_n.S: New file.
* sysdeps/x86_64/submul_1.S: New file.
2009-04-14 Jakub Jelinek <>
* sysdeps/powerpc/powerpc32/elf/start.S: Ensure .data is non-empty.
* sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
* sysdeps/sparc/sparc32/elf/start.S: Likewise.
* sysdeps/sparc/sparc64/elf/start.S: Likewise.
2009-04-14 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/kernel-features.h: SH also has
2009-04-13 Ulrich Drepper <>