blob: 708e76508453f8bc9328a423077a4d12ff21ebad [file] [log] [blame]
2004-04-19 Roland McGrath <>
* rt/tst-mqueue9.c (do_test): Initialize RESULT.
2004-04-19 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/mq_unlink.c (mq_unlink): Change EPERM into
* rt/Makefile (tests): Add tst-mqueue9.
* rt/tst-mqueue9.c: New test.
* rt/tst-mqueue4.c (do_test): Add test for mq_unlink of a too long
name component.
2004-04-19 Ulrich Drepper <>
* rt/tst-mqueue7.c (do_test): Make newargv const.
2004-04-18 Randolph Chung <>
* sysdeps/hppa/elf/entry.h: New file.
* sysdeps/hppa/machine-gmon.h: New file.
* sysdeps/unix/sysv/linux/hppa/profil-counter.h: Don't use x86 version.
2004-04-18 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/powerpc/rt-sysdep.c: New file.
* sysdeps/unix/sysv/linux/powerpc/Makefile (librt-routines): Add
* rt/tst-mqueue5.c (mqsend): Don't inline.
(mqrecv): Likewise.
* rt/tst-timer4.c: Include <string.h>.
2004-04-17 Jakub Jelinek <>
* rt/Makefile (tests): Add tst-mqueue8.
* rt/tst-mqueue8.c: New test.
* sysdeps/unix/sysv/linux/s390/Makefile (librt-routines): Add
* sysdeps/unix/sysv/linux/s390/rt-sysdep.S: New file.
2004-03-26 H.J. Lu <>
* sysdeps/unix/sysv/linux/wordsize-64/fxstat.c (__fxstat): Don't
use "struct kernel_stat".
2004-04-02 H.J. Lu <>
* sysdeps/ia64/memcmp.S: Fix symbol.
2004-04-04 Carlos O'Donell <>
* sysdeps/hppa/Dist: Add bits/link.h elf/entry.h.
* sysdeps/hppa/bits/link.h: New file.
* sysdeps/hppa/dl-machine.h (__hppa_init_bootstrap_fdesc_table):
Initialze the fdesc table for the generic code.
(elf_machine_dynamic): Use asm version.
(elf_machine_load_addresss): Simplify asm by calling
(elf_machine_fixup_plt): Correct comment.
(elf_machine_profile_fixup_plt): New.
(elf_machine_runtime_setup): Check PLT exists, if lazy=1 process
normally, else relocate all the absolute entries.
(RTLD_START): Fix comments.
(TRAMPOLINE_TEMPLATE): Reformat assembly, add return pointer for
calls to profile_fixup.
(dl_platform_init): New.
(elf_machine_rela): Use generic fdesc code, and process all COPY
relocations. Use __attribute__((always_inline)).
(elf_machine_rela_relative): Add sanity checks, remove IPLT
processing, print error message in default case. Use
(elf_machine_lazy_rel): Use __attribute__((always_inline)).
2004-04-05 Carlos O'Donell <>
* sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Use only sw[0]
and call feraiseexcept.
2003-11-15 Randolph Chung <>
* gmon/gmon.c (__monstartup): Round kcountsize to multiples of
the froms[] array so the array is properly aligned.
2004-04-05 H.J. Lu <>
* Makeconfig (libgcc_eh): Add -Wl,.
* Add -lgcc_s for --as-needed check.
2004-04-16 Kaz Kojima <>
* sysdeps/sh/elf/ New file.
2004-04-17 Ulrich Drepper <>
* iconvdata/gconv-modules: Add PT154 and RK1048 entries.
* iconvdata/ Add PT154 and RK1048.
* iconvdata/Makefile (modules): Add PT154 anhd RK1048.
(distribute): Add pt154.c and rk1048.c.
(gen-8bit-gap-modules): Add pt154 and rk1048.
* icondata/pt154.c: New file.
* iconvdata/rk1048.c: New file.
* rt/tst-timer4.c: Disable some tests, mark errors better.
2004-04-16 Ulrich Drepper <>
* rt/tst-mqueue6.c (mqsend): Don't inline.
(mqrecv): Likewise.
* rt/tst-mqueue3.c (do_test): Cope with kernel without mq support.
* sysdeps/ieee754/bits/nan.h (__nan_union): Add __attribute_used__
attribute to keep gcc quiet.
2004-04-16 Jakub Jelinek <>
* misc/syslog.c (vsyslog): Avoid freeing failbuf.
2004-04-15 Jakub Jelinek <>
* rt/Makefile (tests): Add tst-timer4.
* rt/tst-timer4.c: New test.
2004-04-15 Jakub Jelinek <>
* rt/tst-mqueue5.c (rtmin_code): New variable.
(rtmin_handler): Set it.
(thr, do_child, do_test): Also check rtmin_code.
2004-04-14 Jakub Jelinek <>
* rt/Makefile (tests): Add tst-mqueue7.
(tst-mqueue7-ARGS): Set.
* rt/tst-mqueue7.c: New test.
2004-04-13 Jakub Jelinek <>
* rt/Makefile (tests): Add tst-mqueue5 and tst-mqueue6.
* rt/tst-mqueue1.c (do_one_test): Bitwise or check_attrs () into
result instead of replacing it. Use TEMP_FAILURE_RETRY around
waitpid, kill child if waitpid failed.
(do_test): Bitwise or check_attrs () into result instead of replacing
it. Change temp mq name.
* rt/tst-mqueue5.c: New test.
* rt/tst-mqueue6.c: New test.
* rt/tst-mqueue.h: Include stdio.h, unistd.h, sys/uio.h.
(temp_mq_list, delete_temp_mqs): Remove.
(temp_mq_fd): New variable.
(do_cleanup, do_prepare): New functions.
(add_temp_mq): Rewritten to use a temp file.
(PREPARE): Define.
(CLEANUP_HANDLER): Change to do_cleanup ().
* rt/tst-timer3.c: Don't fail if _POSIX_THREADS is not available.
2004-04-13 Thorsten Kukuk <>
* sysdeps/s390/ffs.c: Include limits.h
2004-04-13 Kaz Kojima <>
* sysdeps/unix/sysv/linux/sh/sysdep.h (SUBSTITUTE_ARGS_1,
argument values into temporary variables.
2004-04-15 Atsushi Nemoto <>
* sysdeps/mips/dl-machine.h (RTLD_START): Do not use nested .end.
2004-04-12 Ulrich Drepper <>
* rt/Makefile (tests): Add tst-timer3.
* rt/tst-timer3.c: New file. By Roland McGrath.
2004-04-08 Ulrich Drepper <>
* rt/tst-mqueue3.c: New file.
* rt/Makefile (tests): Add tst-mqueue3.
2004-04-08 Jakub Jelinek <>
* rt/tst-mqueue1.c: New file.
* rt/tst-mqueue2.c: New file.
* rt/tst-mqueue4.c: New file.
* rt/Makefile (tests): Add tst-mqueue1, tst-mqueue2, tst-mqueue4.
* rt/Versions (librt): Add mq_*@@GLIBC_2.3.4.
* rt/Makefile (headers): Add mqueue.h and bits/mqueue.h.
(mq-routines): Set.
(librt-routines): Use it.
* rt/mqueue.h: New file.
* include/mqueue.h: New file.
* sysdeps/generic/bits/mqueue.h: New file.
* sysdeps/generic/mq_setattr.c: New file.
* sysdeps/generic/mq_getattr.c: New file.
* sysdeps/generic/mq_notify.c: New file.
* sysdeps/generic/mq_close.c: New file.
* sysdeps/generic/mq_send.c: New file.
* sysdeps/generic/mq_unlink.c: New file.
* sysdeps/generic/mq_receive.c: New file.
* sysdeps/generic/mq_timedreceive.c: New file.
* sysdeps/generic/mq_timedsend.c: New file.
* sysdeps/generic/mq_open.c: New file.
* sysdeps/unix/sysv/linux/bits/local_lim.h (MQ_PRIO_MAX): Define.
* sysdeps/unix/sysv/linux/bits/mqueue.h: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add mq_timedsend,
mq_timedreceive and mq_setattr.
* sysdeps/unix/sysv/linux/mq_getattr.c: New file.
* sysdeps/unix/sysv/linux/mq_notify.c: New file.
* sysdeps/unix/sysv/linux/mq_close.c: New file.
* sysdeps/unix/sysv/linux/mq_send.c: New file.
* sysdeps/unix/sysv/linux/mq_unlink.c: New file.
* sysdeps/unix/sysv/linux/mq_receive.c: New file.
* sysdeps/unix/sysv/linux/mq_open.c: New file.
2004-04-09 Andreas Schwab <>
* sysdeps/unix/sysv/linux/ia64/sysdep.h (DO_INLINE_SYSCALL): Move
LOAD_ARGS_##nr up front and add LOAD_REGS_##nr.
(LOAD_ARGS_5, LOAD_ARGS_6): Load argument values into temporary
(LOAD_REGS_5, LOAD_REGS_6): New macros to actually load the
syscall argument registers.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h (INTERNAL_SYSCALL): Add
(LOAD_ARGS_5, LOAD_ARGS_6): Load argument values into temporary
(LOAD_REGS_5, LOAD_REGS_6): New macros to actually load the
syscall argument registers.
2004-04-09 Andreas Schwab <>
* sysdeps/unix/sysv/linux/m68k/sysdep.h (INTERNAL_SYSCALL): Add
(LOAD_ARGS_5, LOAD_ARGS_6): Load argument values into temporary
(LOAD_REGS_5, LOAD_REGS_6): New macros to actually load the
syscall argument registers.
2004-04-09 Thorsten Kukuk <>
* sysdeps/s390/ffs.c: Don't add ffsl weak alias on s390x.
2004-04-09 Steven Munroe <>
* sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: New file.
2004-04-08 Ulrich Drepper <>
* po/nl.po: Update from translation team.
2004-04-04 Ulrich Drepper <>
* math/test-tgmath.c: Declare compile_testl inly if we will define it.
2004-04-03 Ulrich Drepper <>
* sysdeps/powerpc/powerpc64/ffsll.c: New file.
* string/test-ffs.c: Also test ffsl and ffsll.
* sysdeps/powerpc/ffs.c: Don't define ffsl for ppc64.
* sysdeps/powerpc/powerpc64/bits/atomic.h: Never use matching
constraints for asm mem parameters.
* sysdeps/powerpc/bits/atomic.h: Likewise.
* sysdeps/powerpc/elf/libc-start.c: No need for a separate
function for __aux_init_cache.
* inet/test-ifaddrs.c: Fight warnings.
* argp/argp-help.c: Fight warnings.
* include/time.h: Declare __difftime.
* sysdeps/unix/sysv/linux/internal_statvfs.c: Restructure to avoid
duplication in 64-bit version.
* sysdeps/unix/sysv/linux/wordsize-64/internal_statvfs64.c: New file.
2004-04-03 Andreas Jaeger <>
* nis/nss-nis.c: Include <string.h> for strncmp.
2004-03-30 H.J. Lu <>
* Makeconfig (link-libc-static): Use $(static-gnulib) instead
of $(gnulib).
(libgcc_eh): New variable.
(gnulib): Use it variable.
(static-gnulib): New variable.
* Makerules ( Use $(static-gnulib) instead of $(gnulib).
* (have-as-needed): New variable.
* Check if linker supports --as-needed.
2004-04-02 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/internal_statvfs64.c: New file.
* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
Add internal_statvfs64.
* sysdeps/unix/sysv/linux/internal_statvfs.c: Allow to be used to
compile 64bit version.
* sysdeps/unix/sysv/linux/statvfs64.c: Use __fstatfs64 and skip
compatibility code if __ASSUME_STATFS64 is defined.
* sysdeps/unix/sysv/linux/fstatvfs64.c: Likewise.
* sysdeps/unix/sysv/linux/statfs64.c: Don't add __no_statfs64 if
2004-04-02 Thorsten Kukuk <>
* nis/nss_nis/nis-ethers.c (saveit): Fix return codes in error case.
* nis/nss_nis/nis-initgroups.c (saveit): Likewise.
* nis/nss_nis/nis-proto.c (saveit): Likewise.
* nis/nss_nis/nis-rpc.c (saveit): Likewise.
* nis/nss_nis/nis-service.c (saveit): Likewise.
2004-04-02 Jakub Jelinek <>
(_nis_default_nss_flags, _nis_check_default_nss): New decls.
(_nis_default_nss): New inline.
* nis/nss-nis.c: Include ctype.h, stdio.h and stdio_ext.h.
(_nis_default_nss_flags, default_nss): New variables.
(_nis_check_default_nss): New function.
* nis/nss_nis/nis-initgroups.c: Don't include stdio.h and
(check_default_nss, default_nss): Move to nss-nis.c.
(init): Removed.
(_nss_nis_initgroups_dyn): Use _nis_default_nss ().
* nis/nss_nis/nis-services.c (_nss_nis_getservbyname_r): If
NSS_FLAG_SERVICES_AUTHORITATIVE and services.byservicename lookup
fails, return immediately.
2004-04-01 Roland McGrath <>
* elf/tst-execstack.c (do_test): Make F static.
2004-04-01 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Use
__sigprocmask not sigprocmask.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
* include/string.h: Add libc_hidden_builtin_proto for memcmp.
* sysdeps/generic/memcmp.c: Add libc_hidden_builtin_def.
* sysdeps/i386/memcmp.S: Likewise.
* sysdeps/i386/i686/memcmp.S: Likewise.
* sysdeps/ia64/memcmp.S: Likewise.
* sysdeps/sparc/sparc64/memcmp.S: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Include <string.h>.
* time/mktime.c: Likewise.
* misc/getpass.c: Likewise.
* time/difftime.c (__difftime): New renamed. Make old name alias.
Use __difftime in recursive call.
* sysdeps/unix/sysv/linux/powerpc/ioctl.c (__ioctl): Use
__tcgetattr() instead of tcgetattr().
* sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S [SHARED]:
Use __GI_exit.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S [SHARED]: Use
* sysdeps/powerpc/fpu/bits/mathinline.h: Add __signbitf and
__signbit inlines.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Use
__sigprocmask not sigprocmask.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
* elf/elf.h: Define more ppc64 specific dynamic tags.
2004-04-01 Jakub Jelinek <>
* nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): If protocol
is NULL, instead of trying yp_match (name/tcp), yp_match (name/udp),
yp_all, try yp_match (name), yp_all.
2004-04-01 Ulrich Drepper <>
* sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Add handling for
ignored entries. Ignore AT_IGNOREPPC.
2004-03-31 Andreas Jaeger <>
* libio/fileops.c (new_do_write): Return _IO_size_t to make 64-bit
2004-03-31 Ulrich Drepper <>
* locale/programs/localedef.c (construct_output_path): Remove
remnants of CEN locale names.
2004-03-30 Thorsten Kukuk <>
* sysdeps/unix/sysv/linux/alpha/bits/termios.h: Add IUTF8.
* sysdeps/unix/sysv/linux/bits/termios.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise.
2004-03-30 Richard Henderson <>
* sysdeps/alpha/remqu.S: Detect power-of-two special case.
2004-03-30 Ulrich Drepper <>
* sysdeps/generic/libc-start.c (LIBC_START_MAIN)
[HAVE_CLEANUP_JMP_BUF]: Call __nptl_deallocate_tsd.
2004-03-30 Jakub Jelinek <>
* nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): If protocol
== NULL, try name/tcp and name/udp first before falling back into
the sequential scanning. Use services.byname database for
sequential scanning.
(_nss_nis_getservbyport_r): Likewise. Just allocate sizeof (int) * 3
chars for integer.
* nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Convert
proto to host by order for snprintf.
2004-03-30 Ulrich Drepper <>
* nss/getent.c (services_keys): Don't implement lookups with
missing protocol using getservent loop, just pass NULL.
* sysdeps/unix/sysv/linux/i386/setgroups.c (setgroups): Avoid
comparison with limit if we can rely on the syscall being available.
* nis/nss_nis/nis-initgroups.c: Implement getting the information
from the netid.byname map if the system administrator allows this.
* nis/Makefile (distribute): Add nss.
* nis/nss: New file.
* grp/initgroups.c (initgroups): Limit the initial allocation to 64
entries to not allocate too much on systems with really high limits.
2004-03-30 Jakub Jelinek <>
* nis/nss_nis/nis-service.c (struct search_t): New type.
(dosearch): New function.
(_nss_nis_getservbyname_r): Use it. Call yp_get_default_domain
(_nss_nis_getservbyport_r): Likewise.
2004-03-29 Alexandre Oliva <>
* sysdeps/unix/sysv/linux/sched_getaffinity.c: Prepend GLIBC_ to
version names is SHLIB_COMPAT check.
* sysdeps/unix/sysv/linux/sched_setaffinity.c: Likewise.
2004-03-29 Ulrich Drepper <>
* nis/nss_nis/nis-rpc.c (saveit): Improve memory handling. No need to
allocate multiple blocks.
(internal_nis_endrpcent): Adjust accordingly.
* nis/nss_nis/nis-proto.c (saveit): Improve memory handling. No need
to allocate multiple blocks.
(internal_nis_endprotoent): Adjust accordingly.
* nis/nss_nis/nis-initgroups.c (saveit): Improve memory handling. No
need to allocate multiple blocks.
(_nss_nis_initgroups_dyn): Adjust accordingly.
* nis/nss_nis/nis-ethers.c (saveit): Improve memory handling. No need
to allocate multiple blocks.
(internal_nis_endetherent): Adjust accordingly.
* nis/nss_nis/nis-service.c (saveit): Improve memory handling. No need
to allocate multiple blocks.
(internal_nis_endservent): Adjust accordingly.
* nss/getXXbyYY_r.c: Return 0 for NSS_STATUS_NOTFOUND.
2004-03-26 Thorsten Kukuk <>
* nis/nss_nis/nis-grp.c (_nss_nis_getgrnam_r): Don't
set errno if group does not exist.
2004-03-28 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Handle
2004-03-26 Ulrich Drepper <>
* elf/dl-caller.c: New file.
* include/caller.h: New file.
* Makefile (distribute): Add include/caller.h.
* elf/Makefile (dl-routines): Add dl-caller.
* elf/dl-load.c (_dl_map_object_from_fd): Record l_text_end.
* elf/dl-open.c (check_libc_caller): Removed.
(dl_open_worker): Use __check_caller instead.
* elf/rtld.c (_rtld_global_ro): Initialize _dl_check_caller.
(_dl_start_final): Record l_text_end for map.
(dl_main): Record l_text_end for main object and vdso.
* include/link.h (struct link_map): Add l_text_end field.
* sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Add
_dl_check_caller field.
Define enum allowmask. Add declaration of _dl_check_caller.
* sysdeps/unix/sysv/linux/dl-execstack.c: Also use __check_caller test.
2004-03-26 Richard Henderson <>
* sysdeps/alpha/Makefile <gnulib> (sysdep_routines): Merge divrem
variable, add unsigned variants.
* sysdeps/alpha/divrem.h: Remove file.
* sysdeps/alpha/div_libc.h: New file.
* sysdeps/alpha/divl.S: Rewrite from scratch.
* sysdeps/alpha/reml.S: Likewise.
* sysdeps/alpha/divq.S: Likewise.
* sysdeps/alpha/remq.S: Likewise.
* sysdeps/alpha/divlu.S: New file.
* sysdeps/alpha/remlu.S: New file.
* sysdeps/alpha/divqu.S: New file.
* sysdeps/alpha/remqu.S: New file.
2004-03-26 Ulrich Drepper <>
* elf/dl-open.c (check_libc_caller): Fix typo.
2004-03-26 Jakub Jelinek <>
* elf/tst-dlmodcount.c: Include stddef.h and stdlib.h.
2003-03-25 Richard Henderson <>
* sysdeps/alpha/backtrace.c: New file.
2004-03-25 Ulrich Drepper <>
* iconvdata/utf-7.c: Remove inline from isdirect, isxdirect, and
2004-03-25 Richard Henderson <>
* sysdeps/generic/strtol_l.c (__strtol_ul_max_tab,
__strtol_ull_max_tab, __strtol_ull_rem_tab, __strtol_ul_rem_tab,
cutoff_tab, cutlim_tab, jmax_tab): New.
(__strtol_l): Use them to avoid runtime division.
2004-03-24 Roland McGrath <>
* Makerules ($(common-objpfx) Don't use \n in rhs of sed
substitutions; the semicolon terminators are enough for ld anyway.
* elf/dl-deps.c (_dl_map_object_deps): Use alloca instead of
dynamically sized auto array in function already using alloca.
* locale/programs/ld-ctype.c (ctype_output): Likewise.
* locale/programs/ld-time.c (time_output): Likewise.
* elf/dl-misc.c (_dl_debug_vdprintf): Use macro instead of const for
IOV array size.
* locale/programs/charmap.c (charmap_read): Avoid alloca (or strdupa)
when also using dynamically-sized auto array.
* locale/programs/locfile.c (locfile_read): Likewise.
* locale/programs/repertoire.c (repertoire_read): Likewise.
* nis/nis_print_group_entry.c (nis_print_group_entry): Likewise.
* locale/programs/locarchive.c (enlarge_archive): Likewise.
* posix/annexc.c (check_header): Likewise.
* iconv/gconv_int.h (norm_add_slashes): Don't handle null SUFFIX.
strlen ("") gets optimized away just as well.
* intl/loadmsgcat.c (_nl_init_domain_conv): Update caller.
* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Likewise.
* Makefile ($(objpfx)c++-types-check.out): Reduce duplication in
defining this target. Also elide -Wstrict-prototypes from CFLAGS.
2004-03-24 Ulrich Drepper <>
* stdio-common/vfscanf.c [!COMPILE_WSCANF] (TOLOWER): Cast first
parameter to unsigned char.
* sysdeps/generic/strcasestr.c [_LIBC] (TOLOWER): Likewise.
2004-03-24 Jakub Jelinek <>
* stdlib/strtod_l.c (INTERNAL (__STRTOF)): Clear the rest of retval,
not just one limb if RETURN_LIMB_SIZE > 2. Fix shifting up if
* stdio-common/printf_fp.c (__printf_fp): For IEEE quad long double
on 32-bit architectures reserve 8 limbs instead of 4.
2004-03-23 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/alpha/sysdep.h (__NR_pread, __NR_pwrite):
Define to __NR_p{read,write}64 if not defined.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (__NR_pread,
__NR_pwrite): Define to __NR_p{read,write}64 if not defined instead
of defining it the other way around.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Move common syscalls
for 64bit arches to sysdeps/unix/sysv/linux/wordsize-64/syscalls.list.
* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/alpha/pread64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/getrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/glob64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/truncate64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/xstat64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/pwrite64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/posix_fadvise.c: Removed.
* sysdeps/unix/sysv/linux/alpha/mmap64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/fxstat64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/setrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/ftruncate64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/sendfile64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/lxstat64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/posix_fadvise64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/statfs64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/fstatfs64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/pread64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/getrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/glob64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/readdir64_r.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/truncate64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/xstat64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/pwrite64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/getdents64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/readdir_r.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/readdir.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/mmap64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/xstat.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/fxstat64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/setrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/ftruncate64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/getdents.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/lxstat64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/readdir64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/statfs64.c: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/fstatfs64.c: Removed.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/glob64.c: Removed.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: Removed.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c: Removed.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise.c: Removed.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c: Removed.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: Removed.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c: Removed.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/pread64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/getrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/glob64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/readdir64_r.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/truncate64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/xstat64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/pwrite64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/getdents64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/readdir_r.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/fxstat64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/setrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/ftruncate64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/sendfile64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/getdents.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/lxstat64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/readdir64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/statfs64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/fstatfs64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/pread64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/getrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/glob64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/readdir64_r.c: Removed.
* sysdeps/unix/sysv/linux/ia64/truncate64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/xstat64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/pwrite64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/getdents64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/readdir_r.c: Removed.
* sysdeps/unix/sysv/linux/ia64/lxstat.c: Removed.
* sysdeps/unix/sysv/linux/ia64/readdir.c: Removed.
* sysdeps/unix/sysv/linux/ia64/posix_fadvise.c: Removed.
* sysdeps/unix/sysv/linux/ia64/mmap64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/xstat.c: Removed.
* sysdeps/unix/sysv/linux/ia64/fxstat64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/setrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/ftruncate64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/sendfile64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/getdents.c: Removed.
* sysdeps/unix/sysv/linux/ia64/lxstat64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/posix_fadvise64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/readdir64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/fxstat.c: Removed.
* sysdeps/unix/sysv/linux/ia64/statfs64.c: Removed.
* sysdeps/unix/sysv/linux/ia64/fstatfs64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/pread64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/getrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/glob64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/readdir64_r.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/truncate64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/xstat64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/pwrite64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/getdents64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/readdir_r.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/lxstat.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/readdir.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/mmap64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/xstat.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/fxstat64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/setrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/ftruncate64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/sendfile64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/getdents.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/lxstat64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/posix_fadvise64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/readdir64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/fxstat.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/statfs64.c: Removed.
* sysdeps/unix/sysv/linux/x86_64/fstatfs64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/Implies: New file.
* sysdeps/unix/sysv/linux/alpha/getdents64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/Implies: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/Implies: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/lxstat.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/statvfs64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/fstatvfs64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/pread64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/fstatvfs.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/glob64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/truncate64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/xstat64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/pwrite64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/getdents64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/lxstat.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/readdir.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/mmap64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/xstat.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/setrlimit64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/ftruncate64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/getdents.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/statvfs.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/readdir64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: New file.
* sysdeps/unix/sysv/linux/wordsize-64/fxstat.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/statfs64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c: New file.
* sysdeps/unix/sysv/linux/ia64/Implies: New file.
* sysdeps/unix/sysv/linux/x86_64/Implies: New file.
2004-03-22 Richard Henderson <>
* sysdeps/alpha/s_fabs.S: Remove file.
* sysdeps/alpha/s_copysign.S: Remove file.
2004-03-22 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c
(__getpagesize): Avoid warning about writing into read-only memory.
* string/Makefile (routines): Add xpg-strerror.
* string/string.h (strerror_r): If __USE_XOPEN2K but not __USE_GNU,
redirect strerror_r to __xpg_strerror_r.
* string/Versions (libc): Add __xpg_strerror_r@@GLIBC_2.3.4.
* sysdeps/generic/xpg-strerror.c: New file.
* sysdeps/mach/xpg-strerror.c: New file.
2004-03-22 Joseph S. Myers <>
* sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): Do not use
casts as lvalues.
2004-03-22 Andreas Jaeger <>
* elf/tst-dlmodcount.c (unload): Remove unused variable.
* misc/tst-mntent.c (main): Use tmpfile instead of tmpnam.
2004-03-20 Roland McGrath <>
* sysdeps/mach/hurd/dl-execstack.c: New file.
2004-03-20 Ulrich Drepper <>
* po/ca.po: Update from translation team.
2004-03-20 Andreas Jaeger <>
* sysdeps/unix/sysv/linux/sched_getaffinity.c
(__sched_getaffinity_old): Fix interface.
* sysdeps/unix/sysv/linux/sched_setaffinity.c
(__sched_setaffinity_old): Likewise.
* sysdeps/unix/sysv/linux/sched_setaffinity.c: Include <alloca.h>.
2004-03-17 Kaz Kojima <>
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_CLONE_THREAD_FLAGS ): Define for newer SH kernel.
* sysdeps/unix/sysv/linux/sh/socket.S: Add unwind information.
2004-03-19 Ulrich Drepper <>
* time/tzfile.c (__tzfile_default): Correct setting of rule_stdoff
and rule_dstoff after reading the posixrules file.
2004-03-18 Ulrich Drepper <>
* malloc/malloc.c (__posix_memalign): Correct alignment check.
Reported by Don Heller <>.
2004-03-18 Jakub Jelinek <>
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Remove hwcap
variable and weak_extern for _dl_hwcap.
(HWCAP_CHECK): Fix checking of non-platform hwcap bits. Use
lib->osversion instead of cache_new->libs[middle].osversion.
* stdio-common/asprintf.c: Remove USE_IN_LIBIO conditionals.
* stdio-common/dprintf.c: Likewise.
* stdio-common/fprintf.c: Likewise.
* stdio-common/getline.c: Likewise.
* stdio-common/getw.c: Likewise.
* stdio-common/perror.c: Likewise.
* stdio-common/printf-prs.c: Likewise.
* stdio-common/printf.c: Likewise.
* stdio-common/printf_size.c: Likewise.
* stdio-common/psignal.c: Likewise.
* stdio-common/putw.c: Likewise.
* stdio-common/scanf.c: Likewise.
* stdio-common/snprintf.c: Likewise.
* stdio-common/sprintf.c: Likewise.
* stdio-common/sscanf.c: Likewise.
* stdio-common/tstgetln.c: Likewise.
* stdio-common/vfprintf.c: Likewise.
2004-03-18 Paul Eggert <>
* posix/getopt.h (__GNUC_PREREQ) [!defined __THROW]: Define
if not defined, fixing a typo (it used to be defined if
__GNUC__ was not defined).
2004-03-18 Ulrich Drepper <>
* posix/sched.h: Change sched_getaffinity and sched_setaffinity
interfaces: add new second parameter.
* sysdeps/generic/sched_getaffinity.c: Implement interface change.
* sysdeps/generic/sched_setaffinity.c: Likewise.
* sysdeps/unix/sysv/linux/sched_getaffinity.c: Likewise. Add
compatibility interface.
* sysdeps/unix/sysv/linux/sched_setaffinity.c: Likewise.
* sysdeps/unix/sysv/linux/Versions: Add versions for changed
2004-03-18 Roland McGrath <>
* manual/Makefile (stamp-summary): Use -k option to sort,
not traditional key selection syntax.
Reported by Jim Gifford <>.
2004-03-18 Jakub Jelinek <>
* elf/ldconfig.c: Include stdbool.h.
2004-03-18 Roland McGrath <>
* elf/ldconfig.c (parse_conf_include): New function.
(parse_conf): Call it to parse lines starting with "include".
Remaining words are glob patterns for more config files to read.
Take additional bool argument to disable opt_chroot processing.
(main): Update caller.
2004-03-17 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/ia64/ioperm.c (_iopl): Match EPERM error
the x86 code produces in case of mission permissions.
Patch by Bernd Schmidt <>.
* resolv/netdb.h: Define AI_IDN_ALLOW_UNASSIGNED,
* inet/getnameinfo.c (getnameinfo): Implement handling of
* sysdeps/posix/getaddrinfo.c (gaih_inet): Implement handling of
2004-03-17 Jakub Jelinek <>
* sysdeps/x86_64/hp-timing.h (HP_TIMING_NOW): Make asm volatile.
2004-03-16 Jakub Jelinek <>
* sysdeps/powerpc/powerpc32/fpu/__longjmp.S: Spelling.
(JB_SIZE): Undefine before including __longjmp-common.S again.
* sysdeps/powerpc/powerpc32/fpu/setjmp.S: Spelling.
(JB_SIZE): Undefine before including setjmp-common.S again.
* sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Spelling.
* sysdeps/powerpc/powerpc64/bsd-setjmp.S: Spelling.
* sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Spelling.
* sysdeps/powerpc/powerpc32/bsd-setjmp.S: Spelling.
* sysdeps/powerpc/sigjmp.c: Spelling.
2004-03-16 Ulrich Drepper <>
* include/ctype.h: For libc, define isdigit, isdigit_l, and
__isdigit_l as simple comparison macros.
* include/wctype.h: For libc, define iswdigit, iswdigit_l, and
__iswdigit_l as simple comparison macros.
* wctype/wcfuncs_l.c: #undef iswdigit and __iswdigit.
2004-03-15 Ulrich Drepper <>
* sysdeps/sparc/fpu/bits/mathinline.h: Restore missing #ifdef.
Patch by Richard Henderson.
2004-03-16 Jakub Jelinek <>
* sysdeps/generic/strtold_l.c (STRING_TYPE, STRTOLD, __STRTOLD,
__STRTOD, INTERNAL, INTERNAL1): Define, use them.
[! USE_WIDE_CHAR] (INTERNAL (__STRTOLD)): Add libc_hidden_def.
* inet/getnameinfo.c: Include stdlib.h.
2004-03-15 Richard Henderson <>
* math/Makefile (headers): Add bits/huge_valf.h, bits/huge_vall.h,
and bits/inf.h.
* math/math.h: Include them.
* sysdeps/alpha/fpu/bits/mathdef.h: Remove INFINITY.
* sysdeps/arm/fpu/bits/mathdef.h: Likewise.
* sysdeps/generic/bits/mathdef.h: Likewise.
* sysdeps/i386/fpu/bits/mathdef.h: Likewise.
* sysdeps/ia64/fpu/bits/mathdef.h: Likewise.
* sysdeps/m68k/fpu/bits/mathdef.h: Likewise.
* sysdeps/mips/fpu/bits/mathdef.h: Likewise.
* sysdeps/powerpc/fpu/bits/mathdef.h: Likewise.
* sysdeps/sh/sh4/fpu/bits/mathdef.h: Likewise.
* sysdeps/sparc/fpu/bits/mathdef.h: Likewise.
* sysdeps/x86_64/fpu/bits/mathdef.h: Likewise.
* sysdeps/arm/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val.
* sysdeps/ieee754/bits/huge_val.h: Likewise.
* sysdeps/sh/bits/huge_val.h: Likewise.
* sysdeps/generic/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val.
* sysdeps/generic/bits/huge_valf.h: New file.
* sysdeps/generic/bits/huge_vall.h: New file.
* sysdeps/generic/bits/inf.h: New file.
* sysdeps/ieee754/bits/huge_valf.h: New file.
* sysdeps/ieee754/bits/inf.h: New file.
* sysdeps/i386/bits/huge_val.h: Remove file.
* sysdeps/i386/bits/huge_vall.h: New file.
* sysdeps/ia64/bits/huge_val.h: Remove file.
* sysdeps/ia64/bits/huge_vall.h: New file.
* sysdeps/ieee754/ldbl-128/bits/huge_vall.h: New file.
* sysdeps/m68k/bits/huge_val.h: Remove file.
* sysdeps/m68k/bits/huge_vall.h: New file.
* sysdeps/s390/bits/huge_val.h: Remove file.
* sysdeps/sh/sh4/fpu/bits/huge_val.h: Remove file.
* sysdeps/sparc/bits/huge_vall.h: New file.
* sysdeps/sparc/sparc32/fpu/bits/huge_val.h: Remove file.
* sysdeps/sparc/sparc64/fpu/bits/huge_val.h: Remove file.
* sysdeps/ieee754/bits/nan.h (NAN): Use __builtin_nanf.
* sysdeps/mips/bits/nan.h (NAN): Likewise.
2004-03-15 Ulrich Drepper <>
* iconv/gconv_simple.c (__gconv_transform_utf8_internal): Use only
one copy of error handling code.
* stdio-common/vfscanf.c: Simplify error handling macros. Use
direct locale access functions.
* sysdeps/generic/strcasestr.c (__strcasestr): Optimize use of
tolower function.
2004-03-13 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Add const.
(handle_amd): New function.
(__sysconf): Handle _SC_LEVEL4_CACHE_LINESIZE here, not in
linux_sysconf. Call handle_amd on AuthenticAMD.
* sysdeps/unix/sysv/linux/x86_64/sysconf.c: Likewise.
2004-03-14 Ulrich Drepper <>
* wcsmbs/mbsrtowcs.c: Just a wrapper around __mbsrtowcs_l.
* wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Add real implementation here.
Make the non-_l functions wrappers around the _l functions.
* include/monetary.h: Declare __vstrmon_l.
* include/string.h: Add libc_hidden_proto for __strcoll_l and
* include/time.h: Define ptime_locale_status. Declare
* include/wchar.h: Add libc_hidden_proto for __wcscoll_l and
* stdlib/strfmon.c: Move the code to strfmon_l.c. Add little
wrapper around __vstrfmon_l.
* stdlib/strfmon_l.c: Add real implementation. Split into new
function __vstrfmon_l to allow calling it from strfmon.
* stdlib/strtod.c: Move real code to strtod_l.c and add wrapper.
* stdlib/strtod_l.c: Add real implementation.
* stdlib/strtof.c: Adjust to changed strtod.c.
* stdlib/strtof_l.c: Include strtod_l.c now.
* stdlib/strtold.c: New file.
* stdlib/strtold_l.c: Removed.
* string/strcoll.c: Move real code to strcoll_l.c: Add wrapper.
* string/strcoll_l.c: Add real implementation.
* string/strxfrm.c: Move real code to strxfrm_l.c: Add wrapper.
* string/strxfrm_l.c: Add real implementation.
* sysdeps/generic/strtol.c: Move real implementation to strtol_l.c.
Add wrappers.
* sysdeps/generic/strtol_l.c: Add real implementation.
* sysdeps/generic/strtold.c: Removed.
* sysdeps/generic/strtold_l.c: New file.
* sysdeps/generic/strtoll_l.c: Include strtol_l.c now. Adjust
* sysdeps/generic/strtoul_l.c: Likewise.
* sysdeps/generic/strtoull_l.c: Likewise.
* sysdeps/generic/wcstol_l.c: Likewise.
* sysdeps/generic/wcstoll_l.c: Likewise.
* sysdeps/generic/wcstoul_l.c: Likewise.
* sysdeps/generic/wcstoull_l.c: Likewise.
* sysdeps/ieee754/ldbl-128/strtold.c: Removed.
* sysdeps/ieee754/ldbl-128/strtold_l.c: New file.
* sysdeps/ieee754/ldbl-96/strtold.c: Removed.
* sysdeps/ieee754/ldbl-96/strtold_l.c: New file.
* sysdeps/m68k/strtold.c: Removed.
* sysdeps/m68k/strtold_l.c: New file.
* time/strftime.c: Move real code to strftime_l.c. Add wrapper.
* time/strftime_l.c: Add real implementation.
* time/strptime.c: Move real code to strptime_l.c. Add wrapper.
* time/strptime_l.c: Add real implementation.
* time/wcsftime.c: Simplify since only wrappers are defined in
* time/wcsftime_l.c: Include strftime_l.c.
* wcsmbs/wcscoll.c: Simplify since the file is not used by wcscoll_l.c
* wcsmbs/wcscoll_l.c: Include strcoll_l.c.
* wcsmbs/wcsxfrm.c: Simplify since the file is not used by wcsxfrm_l.c
* wcsmbs/wcsxfrm_l.c: Include strxfrm_l.c.
* wcsmbs/wcstod.c: Prepare to include new strtod.c.
* wcsmbs/wcstod_l.c: Include strtod_l.c.
* wcsmbs/wcstof.c: Prepare to include new strtof.c.
* wcsmbs/wcstof_l.c: Include strtof_l.c.
* wcsmbs/wcstold.c: Prepare to include new strtold.c.
* wcsmbs/wcstold_l.c: Include strtold_l.c.
* locale/uselocale.c: Use _NL_CURRENT_LOCALE instead of __libc_tsd_get.
* sysdeps/generic/strcasecmp.c: Optimize a bit. It's better to get
a reference to the current locale and then use the _l functions.
* sysdeps/generic/strncase.c: Likewise.
2004-03-11 Jeroen Dekkers <>
* Change libof-$(cpp-src) to
libof-$(notdir $(cpp-src)).
2004-03-13 Ulrich Drepper <>
* resolv/netdb.h (EAI_OVERFLOW): Define.
(NI_IDN): Define.
* inet/getnameinfo.c (getnameinfo): Return error in case argument
buffers overflow. Implement NI_IDN.
2004-03-12 Ulrich Drepper <>
* resolv/netdb.h: Define AI_CANONIDN.
* sysdeps/posix/getaddrinfo.c: Implement AI_CANONIDN.
2004-03-12 Richard Henderson <>
* sysdeps/unix/sysv/linux/alpha/select.S: Fix unwind. Propagate
oldvalue from CENABLE to CDISABLE.
2004-03-12 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/x86_64/sysconf.c: New file.
* sysdeps/unix/sysv/linux/bits/local_lim.h: Define HOST_NAME_MAX.
* posix/getconf.c (vars): Add _SC_ values for cache information.
* sysdeps/generic/bits/confname.h: Add _SC_* values for cache
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Reorganize to
allow yet another sysconf function to include the one in this file.
* sysdeps/unix/sysv/linux/i386/sysconf.c: New file.
* sysdeps/generic/sysconf.c: Add default handling for cache line info.
2004-03-11 Ulrich Drepper <>
* sysdeps/posix/sysconf.c (__sysconf): Add missing support for
some _SC_* values.
2004-03-10 Chris Heath <>
* iconvdata/ Add gconv_end (fixes memory leak).
2004-03-11 Jakub Jelinek <>
* sysdeps/powerpc/powerpc32/__longjmp.S (JB_SIZE): Undefine before
including __longjmp-common.S again.
* sysdeps/powerpc/powerpc64/__longjmp.S (JB_SIZE): Likewise.
* sysdeps/powerpc/powerpc32/setjmp.S (JB_SIZE): Undefine before
including setjmp-common.S again.
* sysdeps/powerpc/powerpc64/setjmp.S (JB_SIZE): Likewise.
* sysdeps/powerpc/novmxsetjmp.h (__novmx__longjmp): Fix type of
first argument in the prototype.
* sysdeps/powerpc/longjmp.c (__vmx__longjmp, __vmx__libc_longjmp):
Remove bogus semicolons.
* sysdeps/s390/dl-tls.h: Only add __tls_get_offset assembly if
(__TLS_GET_ADDR): Use __tls_get_offset, not __tls_get_addr.
2004-03-11 Ulrich Drepper <>
* resolv/ns_ttl.c: Don't add ns_parse_ttl for
2004-03-10 Ulrich Drepper <>
* sysdeps/generic/errno.c: Include <dl-sysdep.h>. Use
RTLD_PRIVATE_ERRNO to decide whether errno compat symbols are needed.
* elf/dl-sym.c: Unify _dl_sym and _dl_vsym code and make the entry
points wrappers around the unified code.
2004-03-11 Richard Henderson <>
* sysdeps/unix/sysv/linux/alpha/kernel_stat.h (kernel_stat64): New.
(glibc21_stat): New.
* sysdeps/unix/sysv/linux/alpha/fxstat.c: New file.
* sysdeps/unix/sysv/linux/alpha/lxstat.c: New file.
* sysdeps/unix/sysv/linux/alpha/xstat.c: New file.
* sysdeps/unix/sysv/linux/alpha/xstatconv.c (__xstat_conv): Add
code for _STAT_VER_GLIBC2_3_4.
(__libc_missing_axp_stat64): New.
* sysdeps/unix/sysv/linux/alpha/xstatconv.h: New file.
* sysdeps/unix/sysv/linux/alpha/bits/stat.h (__ST_TIME): New.
(struct stat, struct stat64): Update to new format.
2004-03-11 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
(__novec_swapcontext): Branch to novec_* labels.
2004-03-10 Ulrich Drepper <>
* posix/getopt.c (_): Don't define here for glibc.
2004-03-10 Jakub Jelinek <>
* include/libc-symbols.h [__ASSEMBLY__] (compat_text_section,
compat_data_section): Define.
* sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): Add
* sysdeps/unix/sysv/linux/alpha/wordexp.c (__old_wordexp): Likewise.
* sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob,
__old_globfree): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown_is_lchown):
* sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c
(__posix_fadvise64_l32): Likewise.
* sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c
(__posix_fadvise64_l32): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c (__old_semctl):
* sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Likewise.
* sysdeps/unix/sysv/linux/posix_fadvise64.c (__posix_fadvise64_l32):
* sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Likewise.
* hurd/compat-20.c (_hurd_proc_init_compat_20): Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
(__swapcontext, __novec_swapcontext): Use END instead of PSEUDO_END.
(__novec_swapcontext, __swapcontext_stub): Add compat_text_section.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
(__makecontext_stub): Likewise.
(__novec_makecontext): Likewise. Fix name in END () to match
function name.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
(__setcontext): Use END instead of PSEUDO_END.
(__novec_setcontext): Add compat_text_section. Use END instead of
PSEUDO_END, fix the name in END () to match function name.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
(__getcontext, __novec_getcontext): Use END instead of PSEUDO_END.
(__novec_getcontext, __getcontext_stub): Add compat_text_section.
2004-03-10 Kaz Kojima <>
* sysdeps/sh/dl-machine.h: Don't use GL macro if not appropriate.
(COPY_UNALIGNED_WORD): Remove cast used as lvalue.
2004-03-10 Ulrich Drepper <>
* sysdeps/i386/dl-procinfo.h (HWCAP_IMPORTANT): Remove mmx, add sse2.
2004-03-10 Richard Henderson <>
* sysdeps/generic/errno.c: Disable versioning for rtld.
* sysdeps/generic/Makefile (elf/shared): Add unwind-pe.
* sysdeps/generic/unwind-pe.c: New file.
* sysdeps/generic/unwind-pe.h: Only prototypes for _LIBC without
2004-03-10 Ulrich Drepper <>
* include/libc-symbols.h: Define attribute_compat_text_section and
* io/ftw.c: Mark compat code with attribute_compat_text_section.
* libio/iofopncook.c: Likewise.
* libio/oldfileops.c: Likewise.
* libio/oldiofclose.c: Likewise.
* libio/oldiofdopen.c: Likewise.
* libio/oldiofgetpos.c: Likewise.
* libio/oldiofgetpos64.c: Likewise.
* libio/oldiofopen.c: Likewise.
* libio/oldiofsetpos.c: Likewise.
* libio/oldiofsetpos64.c: Likewise.
* libio/oldiopopen.c: Likewise.
* libio/oldpclose.c: Likewise.
* libio/oldtmpfile.c: Likewise.
* nptl/forward.c: Likewise.
* nss/getXXbyYY_r.c: Likewise.
* nss/getXXent_r.c: Likewise.
* posix/tst-vfork1.c: Likewise.
* stdlib/canonicalize.c: Likewise.
* stdlib/old_atexit.c: Likewise.
* sysdeps/generic/glob.c: Likewise.
* sysdeps/posix/posix_fallocate64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/alphasort64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
* sysdeps/unix/sysv/linux/i386/glob64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/msgctl.c: Likewise.
* sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Likewise.
* sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise.
* sysdeps/unix/sysv/linux/i386/scandir64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/i386/shmctl.c: Likewise.
* sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise.
* posix/regexec.c: Likewise.
* sysdeps/unix/sysv/linux/i386/syscalls.list: vm86@@GLIBC_2.3.4
should be the default symbol. Having none misses the point.
2004-03-09 Ulrich Drepper <>
* stdlib/qsort.c (_quicksort): Initialize first stack element [BZ #16].
2004-03-05 Jakub Jelinek <>
* posix/regexec.c (regexec): Return with error on unknown eflags.
Replace weak_alias with versioned_symbol.
(__compat_regexec): New.
* posix/Versions (libc): Add regexec@GLIBC_2.3.4.
2004-03-09 Richard Henderson <>
* math/math.h (isgreater, isgreaterequal, isless, islessequal,
islessgreater, isunordered): Use builtins if available.
* sysdeps/i386/fpu/bits/mathinline.h: Don't define via builtins.
* sysdeps/m68k/fpu/bits/mathinline.h: Likewise.
* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
* sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
* sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
* sysdeps/alpha/fpu/bits/mathinline.h (isgreater, isgreaterequal,
isless, islessequal, islessgreater): Remove; use default.
(isunordered): Convert inputs to double.
2004-02-09 Jakub Jelinek <>
* posix/Makefile (tests): Add tst-vfork2.
* posix/tst-vfork1.c (do_test): Fix comment.
* posix/tst-vfork2.c: New test.
2004-03-09 Ulrich Drepper <>
* elf/dl-lookup.c (_dl_lookup_symbol_x): Fix possible NULL pointer
derefernce in error message. Pretty printing.
* po/nl.po: Update from translation team.
2004-03-08 Andreas Schwab <>
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Don't truncate
sysinfo pointer value.
2004-03-08 Paul Eggert <>
Merge from gnulib. We now assume C89 or better.
* posix/getopt1.c (const): Remove.
* posix/getopt.c (const): Likewise.
* posix/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
_getopt_long_only_r, main): Use prototypes, not old-style definitions.
* posix/getopt.c (exchange, _getopt_initialize, _getopt_internal_r,
_getopt_internal, getopt, main): Likewise.
* posix/getopt.h (getopt, getopt_long, getopt_long_only): Likewise.
* posix/getopt.c [!defined VMS || !HAVE_STRING_H]:
Include <string.h> regardless. No need for <strings.h>.
[!defined _LIBC]: Include "gettext.h" rather than rolling it ourselves.
(_): Define to gettext always.
(my_index): Remove: all uses changed to strchr.
(strlen): Remove declaration.
* posix/getopt.h (struct Always const char *.
2004-03-08 Marcus Brinkmann <>
* posix/getopt.h (_getopt_internal): Move to ...
* posix/getopt_int.h: ... here. New file.
* include/getopt_int.h: New file.
* include/getopt.h: Remove libc_hidden_proto for getopt_long
and getopt_long_only.
* posix/getopt1.c: Include "getopt_int.h". Remove
libc_hidden_def for getopt_long and getopt_long_only.
(_getopt_long_r, _getopt_long_only_r): New functions.
* posix/getopt.c: Include "getopt_int.h".
(__getopt_initialized): Variable removed.
(nextchar, ordering, posixly_correct, first_nonopt, last_nonopt):
Static variables removed.
(nonoption_flags_max_len, nonoption_flags_len) [_LIBC &&
USE_NONOPTION_FLAGS]: Static variables removed.
(getopt_data): New static variable.
(SWAP_FLAGS): Use d->__nonoption_flags_len instead
(exchange): Add new argument D of type struct getopt_data *.
Replace optind with d->optind, optarg with d->optarg, opterr with
d->opterr, optopt with d->optopt, nextchar with d->__nextchar,
first_nonopt with d->__first_nonopt, last_nonopt with
d->__last_nonopt, d->ordering with d->__ordering,
d->posixly_correct with d->__posixly_correct (which is now an
int instead a string, so fix users), nonoption_flags_len
with d->__nonoption_flags_len, nonoption_flags_max_len with
(_getopt_initialize): Likewise.
(_getopt_internal): Rename to ...
(_getopt_internal_r): ... this. Also add new argument D of type
struct getopt_data * and use of members of D rather than global or
static variables as described for exchange() above. Add new argument
to invocations of _getopt_initialize and exchange.
(_getopt_internal): Reimplement in terms of _getopt_internal_r.
* argp/argp-parse.c: Include <getopt_int.h>.
[_LIBC]: Do not include <bits/libc-lock.h>.
[!_LIBC && HAVE_CTHREADS_H]: Do not include <cthreads.h>.
[!_LIBC] (_argp_hang): Make static.
(getopt_lock, LOCK_GETOPT, UNLOCK_GETOPT): Remove.
(_argp_unlock_xxx): Remove.
(parser_init): Do not use LOCK_GETOPT.
(parser_finalize): Do not use UNLOCK_GETOPT.
(struct parser): New member OPT_DATA.
(parser_init): Initialize parser->opt_data. Use
parser->opt_data.opterr instead of opterr.
(parser_parse_opt): Use parser->opt_data.optarg instead optarg.
(parser_parse_next): Likewise. Use parser->opt_data.optind
instead optind. Use parser->opt_data.optopt instead of optopt.
Call _getopt_long_only_r and _getopt_long_r instead of
getopt_long_only and getopt_long, and pass the extra argument.
2004-03-09 Ulrich Drepper <>
* iconv/gconv_db.c: Don't define lock as static. Rename to
__gconv_lock and export from the file.
* iconv/gconv_int.h: Declare __gconv_lock.
* libio/iofclose.c [_LIBC] (_IO_new_fclose): Lock gconv lock
before __gconv_release_step calls.
Patch by Shunichi Sagawa <>.
* iconv/gconv_simple.c (internal_ucs4_loop): Fix typo in last change.
* posix/Makefile (tests): Add tst-vfork1.
* posix/tst-vfork1.c: New file.
2004-03-08 Ulrich Drepper <>
* sysdeps/i386/dl-machine.h: Define ARCH_FIXUP_ATTRIBUTE and use
it in the fixup function declarations.
* elf/dl-runtime.c: If ARCH_FIXUP_ATTRIBUTE is not defined,
provide dummy definition. Use macro in fixup function
* sysdeps/unix/sysv/linux/i386/vfork.S: If SAVE_PID and
RESTORE_PID are defined, use it.
* sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise.
* sysdeps/posix/gai_strerror.c: Add error string for EAI_IDN_ENCODE.
* Makerules: Use if modules-names is defined.
* New file.
* dlfcn/Makefile (CPPFLAGS-modcxaatexit.c): Removed.
* elf/Makefile (CFLAGS-interp.c): Add -DNOT_IN_libc=1.
* csu/Makefile ($(objpfx)version-info.h): Pass -DNOT_IN_libc=1 to
* Makefile (distribute): Add symbol-hacks.h and
* sysdeps/generic/symbol-hacks.h: New file.
* sysdeps/wordsize-32/symbol-hacks.h: New file.
* sysdeps/wordsize-32/divdi3.c: Define *_internal aliases for __divdi3,
__moddi3, __udivdi3, and __umoddi3.
* include/libc-symbols.h: Include <symbol-hacks.h>.
2004-03-08 Jeroen Dekkers <>
* elf/rtld.c (_rtld_global_ro) [MAP_COPY]: Don't set _dl_unload_cache.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_important_hwcaps):
Don't use INTUSE with _dl_signal_error.
2004-03-08 Ulrich Drepper <>
* sysdeps/powerpc/powerpc64/dl-machine.c (_dl_reloc_overflow):
Don't use INTUSE with _dl_signal_error.
2004-03-08 Richard Henderson <>
* sysdeps/alpha/soft-fp/ots_cvtxt.c (_OtsConvertFloatXT): Fix typo
in name.
2004-03-07 Ulrich Drepper <>
* Add entry for HAVE_LIBIDN.
* If libidn add-on present define HAVE_LIBIDN.
* Versions.def: Add entry for libcidn.
2004-03-07 Simon Josefsson <>
* resolv/netdb.h [__USE_GNU]: Add new AI_IDN ai_flags for addrinfo.
[__USE_GNU]: Add new error code EAI_IDN_ENCODE for getaddrinfo.
* sysdeps/posix/getaddrinfo.c: Add prototype for __idna_to_ascii_lz
and define IDNA_SUCCESS.
(gaih_inet): If ai_flags have AI_IDN, invoke __idna_to_ascii_lz.
(getaddrinfo): Fix EAI_BADFLAGS test to include AI_IDN.
All changes only applicable when glibc is compiled with the libidn
2004-03-07 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_init): Call
_dl_lookup_symbol_x not _dl_lookup_symbol.
* sysdeps/powerpc/elf/rtld-global-offsets.sym: Adjust for moving
_dl_hwcap into _rtld_global_ro.
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
2004-03-07 Andreas Schwab <>
* elf/dl-sym.c: Include <dl-tls.h> only when USE_TLS.
2004-03-07 Andreas Jaeger <>
* iconvdata/iso-2022-cn-ext.c (BODY): Remove cast used as lvalue.
* iconvdata/tcvn5712-1.c (EMIT_SHIFT_TO_INIT): Likewise.
* iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT): Likewise.
* iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT): Likewise.
* iconvdata/tscii.c (EMIT_SHIFT_TO_INIT): Likewise.
2004-03-07 Ulrich Drepper <>
* sysdeps/generic/ldsodefs.h: Move _dl_initial_searclist,
_dl_hp_timing_overhead, _dl_init_all_dirs, and the content of
dl-procinfo.c from _rtld_global to _rtld_global_ro.
* elf/rtld.c: Adjust initializer for _rtld_global_ro.
* elf/dl-close.c: Use GLRO instead of GL where appropriate.
* elf/dl-libc.c: Likewise.
* elf/dl-load.c: Likewise.
* sysdeps/i386/dl-procinfo.h: Likewise.
* sysdeps/i386/i686/hp-timing.h: Likewise.
* sysdeps/ia64/hp-timing.h: Likewise.
* sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise.
* sysdeps/sparc/sparc64/hp-timing.h: Likewise.
* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise.
* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
* string/test-string.h: Define GLRO.
2004-03-06 Ulrich Drepper <>
* elf/dl-lookup.c: We don't need for specialized lookup functions.
Combining the functionality does not slow down relocation processing,
it might even speed it up a little.
* sysdeps/generic/ldsodefs.h: Adjust prototypes for lookup function.
Add only one function pointer to rtlf_global_ro.
* elf/do-lookup.h: Replace #ifs with ifs.
* elf/dl-libc.c: Adjust _dl_lookup_* callers.
* elf/dl-reloc.c: Likewise.
* elf/dl-runtime.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/rtld.c: Likewise. Adjust _rtld_global_ro initialization.
2004-03-06 Richard Henderson <>
* sysdeps/generic/ldsodefs.h (__rtld_local_attribute__,
__rtld_global_attribute__): Undef after use.
(_rtld_local_ro): Define __rtld_local_attribute__ with just hidden
if available.
* soft-fp/quad.h (union _FP_UNION_Q): Add longs structure.
* sysdeps/alpha/Implies: Add alpha/soft-fp.
* sysdeps/alpha/soft-fp/sfp-machine.h: Rewrite for GEM interface.
* sysdeps/alpha/Subdirs: New file.
* sysdeps/alpha/soft-fp/Makefile: New file.
* sysdeps/alpha/soft-fp/Versions: New file.
* sysdeps/alpha/soft-fp/local-soft-fp.h: New file.
* sysdeps/alpha/soft-fp/ots_add.c: New file.
* sysdeps/alpha/soft-fp/ots_cmp.c: new file.
* sysdeps/alpha/soft-fp/ots_cmpe.c: New file.
* sysdeps/alpha/soft-fp/ots_cvtqux.c: New file.
* sysdeps/alpha/soft-fp/ots_cvtqx.c: New file.
* sysdeps/alpha/soft-fp/ots_cvttx.c: New file.
* sysdeps/alpha/soft-fp/ots_cvtxq.c: New file.
* sysdeps/alpha/soft-fp/ots_cvtxt.c: New file.
* sysdeps/alpha/soft-fp/ots_div.c: New file.
* sysdeps/alpha/soft-fp/ots_mul.c: New file.
* sysdeps/alpha/soft-fp/ots_nintxq.c: New file.
* sysdeps/alpha/soft-fp/ots_sub.c: New file.
2004-03-06 Ulrich Drepper <>
* Recognize --enable-bind-now.
* elf/dynamic-link.h (elf_get_dynamic_info): Allow bind-now flags
* Makerules ( Add -z now if so configured.
* elf/Makefile ($(objpfx) Likewise.
* (bind-now): New definition.
* elf/dl-fini.c (_dl_fini): Combine _dl_debug_printf calls.
* elf/rtld.c (print_statistics): Likewise.
* elf/dl-open.c: No need to pass any parameter to _dl_start_profile.
They are the same in both places.
* elf/dl-profile.c: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* elf/dl-support.c: Define _dl_profile_output variable. Initialize it.
2004-03-05 Ulrich Drepper <>
* elf/Versions: Remove functions which are not exported anymore.
* dlfcn/dlerror.c: Call functions through GLSO.
* dlfcn/dlinfo.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-libc.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-sym.c: Likewise.
* sysdeps/generic/libc-start.c: Likewise.
* elf/dl-debug.c: Remove *_internal definition. Don't use INTUSE for
functions which are not exported anymore.
* elf/dl-deps.c: Likewise.
* elf/dl-dst.h: Likewise.
* elf/dl-error.c: Likewise.
* elf/dl-fini.c: Likewise.
* elf/dl-init.c: Likewise.
* elf/dl-load.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-misc.c: Likewise.
* elf/dl-profile.c: Likewise.
* elf/dl-profstub.c: Likewise.
* elf/dl-reloc.c: Likewise.
* elf/dl-runtime.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/do-lookup.h: Likewise.
* include/dlfcn.h: Likewise.
* sysdeps/generic/dl-cache.c: Likewise.
* sysdeps/generic/dl-fptr.c: Likewise.
* sysdeps/generic/dl-origin.c: Likewise.
* sysdeps/generic/dl-sysdep.c: Likewise.
* sysdeps/generic/dl-tls.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/i386/dl-tls.h: Likewise.
* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
* elf/rtld.c: Likewise. Export function though _rtld_global_ro.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Move
dl_debug_fd to rtld_global_ro.
* elf/rtld.c: Use GLRO instead of GL for dl_debug_fd.
* elf/dl-misc.c: Likewise.
* malloc/malloc.c: Don't call exported interface in the implementation.
* include/wctype.h: Add libc_hidden_proto for __towctrans.
* wctype/towctrans.c: Add libc_hidden_def.
* libio/memstream.c (open_memstream): Use _IO_init with INTUSE.
* posix/regexec.c (transit_state): Remove unused variable
* posix/regcomp.c (init_dfa): Use __btowc instead of btowc.
* sysdeps/generic/ldsodefs.h: Define new structure rtld_global_ro.
Declare _rtld_global_ro and _rtld_local_ro. Move members of
rtld_global structure into the new one if they are modified only
at startup time. Define GLRO to access _rtld_global_ro.
* elf/Versions: Export _rtld_global_ro.
* elf/dl-close.c: Use GLRO instead of GL where appropriate.
* elf/dl-conflict.c: Likewise.
* elf/dl-deps.c: Likewise.
* elf/dl-dst.h: Likewise.
* elf/dl-error.c: Likewise.
* elf/dl-fini.c: Likewise.
* elf/dl-init.c: Likewise.
* elf/dl-load.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-minimal.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-profile.c: Likewise.
* elf/dl-reloc.c: Likewise.
* elf/dl-runtime.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/do-lookup.h: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/generic/dl-cache.c: Likewise.
* sysdeps/generic/dl-origin.c: Likewise.
* sysdeps/generic/dl-sysdep.c: Likewise.
* sysdeps/generic/libc-start.c: Likewise.
* sysdeps/generic/dl-cache.c: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/i386/setfpucw.c: Likewise.
* sysdeps/i386/fpu/fclrexcpt.c: Likewise.
* sysdeps/i386/fpu/fedisblexcpt.c: Likewise.
* sysdeps/i386/fpu/feenablxcpt.c: Likewise.
* sysdeps/i386/fpu/feholdexcpt.c: Likewise.
* sysdeps/i386/fpu/fesetround.c: Likewise.
* sysdeps/i386/fpu/fsetexcptflg.c: Likewise.
* sysdeps/i386/fpu/ftestexcept.c: Likewise.
* sysdeps/unix/sysv/linux/dl-execstat.c: Likewise.
* sysdeps/unix/sysv/linux/dl-librecon.h: Likewise.
* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
* sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
* sysdeps/unix/sysv/linux/getclktck.c: Likewise.
* sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
* sysdeps/unix/sysv/linux/init-first.c: Likewise.
* sysdeps/unix/sysv/linux/prof-freq.c: Likewise.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
* sysdeps/x86_64/dl-machine.h: Likewise.
* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
* sysdeps/s390/s390-64/dl-machine.h: Likewise.
* sysdeps/s390/s390-32/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc32/dl-machine.c: Likewise.
* sysdeps/m68k/dl-machine.h: Likewise.
* sysdeps/ia64/dl-machine.h: Likewise.
* sysdeps/arm/dl-machine.h: Likewise.
* sysdeps/alpha/dl-machine.h: Likewise.
* generic/dl-fptr.c: Likewise.
* mach/hurd/dl-sysdep.c: Likewise.
* unix/sysv/linux/ia64/dl-static.c: Likewise.
* unix/sysv/linux/ia64/getpagesize.c: Likewise.
* unix/sysv/linux/m68k/getpagesize.c: Likewise.
* unix/sysv/linux/sparc/sparc32/getpagesize.c: Likewise.
2004-03-04 Ulrich Drepper <>
* sysdeps/generic/ldsodefs.h: Don't define _dl_name_match_p as inline.
* elf/dl-misc.c: Define _dl_name_match_p here.
* elf/dl-open.c (check_libc_caller): Don't use _dl_name_match_p.
* elf/dl-open.c (dl_open_worker): Check that _dl_open is called
from the right place.
2004-01-15 Paolo Bonzini <>
* posix/regex.h (REG_STARTEND): Define.
* posix/regexec.c (regexec): Check for REG_STARTEND.
2004-02-29 Paolo Bonzini <>
* posix/regexec.c (transit_state): Don't handle state == NULL.
Move state log and backreference management...
(merge_state_with_log): ... to this function.
(find_recover_state): New function.
(check_matching): Use find_recover_state to get a non-NULL
state when an invalid state is reached. Compute the amount
of initial characters to be skipped less conservatively when
multi-byte character sets are in use. Do not check
dfa->nbackref if the state log is NULL. Initialize err.
(acquire_init_state_context): Expect err to be initialized.
Fix spacing.
2004-03-05 Jakub Jelinek <>
* sysdeps/sparc/sparc32/elf/start.S: Handle PIEs.
* sysdeps/sparc/sparc64/elf/start.S: Likewise.
2004-03-04 Jakub Jelinek <>
* iconv/iconv_prog.c (process_block): Handle omit_invalid.
If iconv returns EILSEQ with omit_invalid, continue converting
and return 1 if no other errors are seen.
(main): Set status to EXIT_FAILURE whenever process_* returns
nonzero, but only stop processing further files if iy returns
negative value.
2004-03-03 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c: New file.
* sysdeps/unix/sysv/linux/x86_64/posix_fadvise64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list (posix_fadvise64):
* sysdeps/unix/sysv/linux/alpha/posix_fadvise.c: New file.
* sysdeps/unix/sysv/linux/alpha/posix_fadvise64.c: New file.
* sysdeps/unix/sysv/linux/alpha/syscalls.list (posix_fadvise64):
* sysdeps/unix/sysv/linux/ia64/posix_fadvise.c: New file.
* sysdeps/unix/sysv/linux/ia64/posix_fadvise64.c: New file.
* sysdeps/unix/sysv/linux/ia64/syscalls.list (posix_fadvise64):
* sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise64.c: New
* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Removed.
* sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
(posix_fadvise64): Remove.
* sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise64.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
(posix_fadvise64): Remove.
2004-03-02 Andreas Schwab <>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/xstat.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstat.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/lxstat.c: New file.
2004-03-01 Ulrich Drepper <>
* nscd/nscd_getgr_r.c (nscd_getgr_r): Add missing initialization
of return value.
* nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
* sysdeps/unix/sysv/linux/kernel-features.h: Add support for
* sysdeps/unix/sysv/linux/getdents.c: For 2.6.4+ kernels use
getdents syscall again since it provides d_type information.
2004-02-29 Andreas Jaeger <>
* manual/install.texi (Tools for Compilation): Autoconf 2.53 is
(Supported Configurations): Add x86_64-*-linux.
2004-02-28 Ulrich Drepper <>
* sysdeps/i386/i686/memcmp.S: Move table to .rodata. Patch by HJ Lu.
2004-02-27 Jakub Jelinek <>
* elf/rtld.c (dl_main): Adjust l->l_ld of the vDSO by l->l_addr.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Only set
GL(dl_sysinfo) if non-zero.
* sysdeps/unix/sysv/linux/sysconf.c: Include stdlib.h.
2004-02-26 Ulrich Drepper <>
* nss/getXXbyYY_r.c: Pass result also to the nscd_* function. Don't
set *result here.
* nscd/nscd_proto.h: Add new argument for pointer to result pointer
to all nscd_* functions.
* nscd/nscd_getgr_r.c (nscd_getgr_r): Add new parameter. Store result
pointer in the address provided by the new parameter if successful.
Otherwise store NULL. Return zero if no entry found.
(__nscd_getgrnam_r, __nscd_getgrgid_r): Add new parameter and pass
it on.
* nscd/nscd_gethst_r.c (nscd_gethst_r): Add new parameter. Store
result pointer in the address provided by the new parameter if
successful. Otherwise store NULL. Return zero if no entry found.
(__nscd_gethostbyname_r, __nscd_gethostbyname2_r,
__nscd_gethostbyaddr_r): Add new parameter and pass it on.
* nscd/nscd_getpw_r.c (nscd_getpw_r): Add new parameter. Store result
pointer in the address provided by the new parameter if successful.
Otherwise store NULL. Return zero if no entry found.
(__nscd_getpwnam_r, __nscd_getpwuid_r): Add new parameter and pass
it on.
2004-02-26 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/clock_settime.c (SYSDEP_SETTIME): Set
retval to -1 on error.
2004-02-26 Ulrich Drepper <>
* stdlib/canonicalize.c (__realpath): Simplify.
* posix/regcomp.c (parse_expression): Avoid duplication in calls
to build_charclass_op.
2004-02-26 Jakub Jelinek <>
* elf/rtld.c (dl_main): Correctly set up l_map_end and l_addr
in vDSO's link_map, don't assume l_addr == 0. Set GL(dl_sysinfo)
from e_entry only if AT_SYSINFO not present and adjust by l_addr.
Take vDSO into account when inserting rtld into _dl_loaded chain.
2004-02-26 Ulrich Drepper <>
* sunrpc/svcauth_des.c (authdes_getucred): Removed fixed limit on
number of groups in the cache. Relax the disconnect between the
interface of authdes_getucred and netname2user a bit.
* sunrpc/auth_unix.c (authunix_create_default): Don't allocate
huge arrays on the stack.
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Use the official
not cancelable interfaces.
2004-02-24 Arnold D. Robbins <>
* posix/regex_internal.c (build_wcs_upper_buffer): Enclose
`offsets_needed' label in `#ifdef _LIBC' to silence `unused label'
compiler warning.
2004-02-24 Nelson H.F. Beebe <>
* posix/regcomp.c (parse_expression): Add cast to (const unsigned
char *) in calls to `build_charclass_op'.
* posix/regex_internal.c (build_wcs_buffer): Add cast to char* in call
to `wcrtomb'.
* posix/regex_internal.h (bitset_not, bitset_merge, bitset_not_merge,
bitset_mask, re_string_char_size_a, re_string_wchar_at,
re_string_elem_size_at): Change to use prototypes.
(re_string_char_size_at, re_string_wchar_at,
re_string_elem_size_at): Declare as `internal_function'.
2004-02-25 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Handle
2004-02-23 Jakub Jelinek <>
* wcsmbs/mbrtowc.c (__mbrtowc): Cap s + n at the end of address space.
* stdlib/Makefile (tests): Add testmb2.
(testmb2-ENV): New.
* stdlib/testmb2.c: New test.
2004-02-23 Jakub Jelinek <>
* sysdeps/posix/getaddrinfo.c (gaih_inet): If _res has not been
inited yet, try to init it before saving old _res.options.
* posix/Makefile (xtests): Add bug-ga2.
(generated): Add bug-ga2.mtrace and bug-ga2-mem.
(xtests): Depend on bug-ga2-mem.
($(objpfx)bug-ga2-mem, bug-ga2-ENV): New.
* posix/bug-ga2.c: New test.
2004-02-22 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Pop register
content also in case of an overflow in the parameter.
Reported by Momchil Velikov <>.
2004-02-21 Ulrich Drepper <>
* elf/dynamic-link.h (elf_get_dynamic_info): Recognize DF_1_NOW.
In, neither DT_FLAGS nor DT_FLAGS_1 must be used.
2004-02-21 Andreas Jaeger <>
* posix/bug-ga1.c: Include <string.h> for memset prototype.
* elf/dl-load.c (_dl_map_object_from_fd): Fix casts used as lvalue.
* iconv/gconv_simple.c (internal_ucs4le_loop): Remove cast used as
2004-02-19 Carlos O'Donell <>
* sysdeps/generic/framestate.c [__USING_SJLJ_EXCEPTIONS__]
(__frame_state_for): Set frame_State_for to abort if the compiler
is using sjlj.
* sysdeps/generic/unwind-dw2.c: Allow sjlj enabled compilers to
build the code by removing __USING_SJLJ_EXCEPTIONS__ wrapper.
2004-02-20 Alexandre Oliva <>
* resolv/Versions: Remove semicolon from the end of libresolv's
GLIBC_2.3.2 version block.
* Versions.def (libresolv): Add GLIBC_2.3.2.
2004-02-19 Carlos O'Donell <>
* sysdeps/hppa/fpu/feholdexcpt.c (feholdexcept): Fix order of fp
status register loads.
2004-02-20 Thorsten Kukuk <>
* nscd/nscd.c (termination_handler): Use _exit instead of exit
2004-02-20 Ulrich Drepper <>
* nscd/nscd.c (main): Report fork errors.
* dlfcn/dlsym.c: Get loading lock before the call into
* dlfcn/dlvsym.c: Likewise.
* elf/dl-addr.c: Get loading lock while using _dl_loaded data.
* elf/dl-fini.c: Likewise.
Patch by Shunichi Sagawa <>.
2004-02-20 Jakub Jelinek <>
* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Add ulps for the
2003-11-27 atan2 test.
* sysdeps/powerpc/fpu/bits/mathinline.h (lrint, lrintf): Protect
with #ifndef __powerpc64__.
* sysdeps/generic/ldsodefs.h (_dl_argv, _dl_argv_internal): If
DL_ARGV_NOT_RELRO defined, don't use attribute_relro.
* sysdeps/alpha/dl-machine.h (DL_ARGV_NOT_RELRO): Remove.
* sysdeps/ia64/dl-machine.h (DL_ARGV_NOT_RELRO): Remove.
* sysdeps/sparc/sparc32/dl-machine.h (DL_ARGV_NOT_RELRO): Remove.
* sysdeps/sparc/sparc64/dl-machine.h (DL_ARGV_NOT_RELRO): Remove.
* sysdeps/alpha/dl-sysdep.h: New file.
* sysdeps/ia64/dl-sysdep.h: New file.
* sysdeps/sparc/dl-sysdep.h: New file.
2004-02-19 Jakub Jelinek <>
* sysdeps/sparc/sparc32/bits/atomic.h: Add __make_section_unallocated
for .gnu.linkonce.b.__sparc32_atomic_locks section.
(__sparc32_atomic_locks): Add __sec_comment at the end of section name.
2004-02-19 Steven Munroe <>
* sysdeps/generic/libc-start.c [LIBC_START_DISABLE_INLINE] (STATIC):
Define as static.
* sysdeps/powerpc/elf/libc-start.c: Define LIBC_START_DISABLE_INLINE
because gcc does not allow inline of functions that call setjmp.
2004-02-19 Steven Munroe <>
* sysdeps/powerpc/powerpc64/Makefile: Use -finline-limit.
2004-02-19 Jakub Jelinek <>
* elf/rtld.c (_dl_argv): If DL_ARGV_NOT_RELRO defined, don't
use attribute_relro for _dl_argv.
* sysdeps/alpha/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
* sysdeps/ia64/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
* sysdeps/sparc/sparc32/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
* sysdeps/sparc/sparc64/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
2004-02-19 Ulrich Drepper <>
* libio/iopopen.c (_IO_new_proc_open): It's not kosher to use
vfork instead of fork.
* libio/oldiopopen.c (_IO_old_proc_open): Likewise.
* sysdeps/unix/clock_settime.c (clock_settime): Fix typo which
prevented system-dependent handling from being used.
2004-02-18 Carlos O'Donell <>
* test-skeleton.c (main): If set, use environment variable
2004-02-18 Ulrich Drepper <>
* nscd/nscd_conf.c: Include <stdio_ext.h>.
2004-02-16 Ulrich Drepper <>
* stdlib/test-canon.c (do_test): Test realpath(,NULL) in the loop
as well.
* stdlib/canonicalize.c (__realpath): Remove unnecessary copy
* nscd/nscd_conf.c (nscd_parse_file): Little optimization.
2004-02-14 Thorsten Kukuk <>
* nscd/dbg_log.c (set_logfile): Only save name of logfile,
don't open it.
(init_logfile): New function, open logfile if requested.
* nscd/dbg_log.h: Adjust protoype for set_logfile, add init_logfile.
* nscd/nscd.c (main): Call init_logfile after forking in background.
* nscd/nscd_conf.c (nscd_parse_file): Adjust for new set_logfile.
2004-02-16 Ulrich Drepper <>
* elf/rtld.c (dl_main): Don't fail execution if file named in is not present [BZ #18].
* sysdeps/posix/getaddrinfo.c (getaddrinfo): Undo unintended
changes in last patch.
* posix/regexec.c (transit_state): Fix typo in commented-out code
[BZ #6].
* sysdeps/posix/getaddrinfo.c (match_prefix): Correctly match
partial bytes [BZ #24].
* posix/Makefile (tests): Add bug-ga1.
* posix/bug-ga1.c: New file.
2004-02-13 Steven Munroe <>
* sysdeps/powerpc/powerpc64/__longjmp-common.S: New file.
* sysdeps/powerpc/powerpc64/__longjmp.S [NOT_IN_libc](__longjmp):
Non-versioned __longjmp for rtld-__longjmp.
[!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
default version of __longjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
(__novmx__longjmp): Original version of __longjmp.
* sysdeps/powerpc/powerpc64/bsd-_setjmp.S [NOT_IN_libc](_setjmp):
Non-versioned _setjmp for rtld-_setjmp.
[!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define
as default version of _setjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
(__novmx_setjmp): Original version of _setjmp.
* sysdeps/powerpc/powerpc64/bsd-setjmp.S (__vmxsetjmp): Branch to
__vmx__sigsetjmp and define as default version of setjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
(__novmxsetjmp): Original version of setjmp.
* sysdeps/powerpc/powerpc64/setjmp-common.S: New file.
* sysdeps/powerpc/powerpc64/setjmp.S [NOT_IN_libc](__setjmp):
Non-versioned __sigsetjmp for rtld-setjmp.
[!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
as default version of __sigsetjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
(__novmx__sigsetjmp): Original version of __sigsetjmp.
* sysdeps/powerpc/powerpc32/__longjmp-common.S: New File
* sysdeps/powerpc/powerpc32/__longjmp.S [NOT_IN_libc](__longjmp):
Non-versioned __longjmp for rtld-__longjmp.
[!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
default version of __longjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx__longjmp): Original version of __longjmp.
* sysdeps/powerpc/powerpc32/bsd-_setjmp.S [NOT_IN_libc](_setjmp):
Non-versioned _setjmp for rtld-_setjmp.
[!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define
as default version of _setjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx_setjmp): Original version of _setjmp.
* sysdeps/powerpc/powerpc32/bsd-setjmp.S (__vmxsetjmp): Branch to
__vmx__sigsetjmp and define as default version of setjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmxsetjmp): Original version of setjmp.
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: New file.
* sysdeps/powerpc/powerpc32/fpu/__longjmp.S [NOT_IN_libc](__longjmp):
Non-versioned __longjmp for rtld-__longjmp.
[!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
default version of __longjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx__longjmp): Original version of __longjmp.
* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: New file.
* sysdeps/powerpc/powerpc32/fpu/setjmp.S [NOT_IN_libc](__setjmp):
Non-versioned __sigsetjmp for rtld-setjmp.
[!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
as default version of __sigsetjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx__sigsetjmp): Original version of __sigsetjmp.
* sysdeps/powerpc/powerpc32/setjmp-common.S: New file.
* sysdeps/powerpc/powerpc32/setjmp.S [NOT_IN_libc](__setjmp):
Non-versioned __sigsetjmp for rtld-setjmp.
[!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
as default version of __sigsetjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx__sigsetjmp): Original version of __sigsetjmp.
* sysdeps/powerpc/Dist: New File.
* sysdeps/powerpc/Makefile (sysdep_routines): Add novmx-longjmp.c
and novmx-sigjmp.c
* sysdeps/powerpc/Versions (libc): To GLIBC_2.3_4 add _longjmp,
__sigsetjmp, _setjmp, longjmp, and setjmp. To GLIBC_PRIVATE add
__novmx__libc_longjmp, __novmx__libc_siglongjmp, __vmx__libc_longjmp,
and __vmx__libc_siglongjmp.
* sysdeps/powerpc/bits/setjmp.h: Define JB_VRSAVE, JB_VRS, and adjust
JB_SIZE to add VMX regs to __jmp_buf.
* sysdeps/powerpc/longjmp.c: New file.
* sysdeps/powerpc/novmxsetjmp.h: New file.
* sysdeps/powerpc/novmx-longjmp.c: New file.
* sysdeps/powerpc/novmx-sigjmp.c: New file.
* sysdeps/powerpc/sigjmp.c: New file.
2004-02-13 Jakub Jelinek <>
* sysdeps/powerpc/powerpc64/fpu/s_llrintf.c (__lrintf, lrintf):
(__lrintl, lrintl): Remove.
* sysdeps/powerpc/powerpc64/fpu/s_llrint.c (__lrint): Fix a typo in
strong_alias spelling.
* sysdeps/powerpc/powerpc64/fpu/s_lrintf.S: Remove.
* sysdeps/powerpc/powerpc64/fpu/s_lrint.S: New file.
2004-02-12 Ulrich Drepper <>
* posix/getopt.h: Add some non-gcc support. Patch by Aharon Robbins.
2004-02-12 Mark Brown <>
* sysdeps/ia64/fpu/e_fmodf.S: Added text of Intel license.
2004-02-12 Jakub Jelinek <>
* sysdeps/powerpc/fpu/s_lrint.c: Move to...
* sysdeps/powerpc/powerpc32/fpu/s_lrint.c: ... here.
* sysdeps/powerpc/fpu/s_llrint.c: Move to...
* sysdeps/powerpc/powerpc32/fpu/s_llrint.c: ... here.
* sysdeps/powerpc/fpu/s_llrintf.c: Move to...
* sysdeps/powerpc/powerpc32/fpu/s_llrintf.c: ... here.
* sysdeps/powerpc/powerpc64/fpu/s_llrint.c: New file.
* sysdeps/powerpc/powerpc64/fpu/s_lrintf.S: New file.
* sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: New file.
* math/ (lrint_test): Add new test.
(llrint_test, lround_test, llround_test): Likewise.
* sysdeps/ieee754/ldbl-128/s_lroundl.c (__lroundl): Fix special case
with result taking up 48 bits.
* sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Likewise.
* sysdeps/ieee754/ldbl-128/s_llroundl.c (__llroundl): Likewise.
* sysdeps/ieee754/ldbl-96/s_llrintl.c (__llrintl): Fix special case
with result taking up 31 bits.
2004-02-12 Ulrich Drepper <>
* locale/programs/locale.c (show_locale_vars): Don't print a value
for LANG if it is not set.
2004-02-11 Jakub Jelinek <>
* posix/regexec.c (check_node_accept_bytes): Return 0 if char_len is 0.
(find_collation_sequence_value): Don't look beyond end of
* posix/Makefile (tests): Add bug-regex23.
(bug-regex23-ENV): New.
* posix/bug-regex23.c: New file.
2004-02-10 Roland McGrath <>
* sysdeps/mach/hurd/times.c (__times): Use union instead of cast.
* sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): Likewise.
* sysdeps/mach/hurd/ Move `retcode' check to ...
* sysdeps/mach/ ... here.
* sysdeps/mach/hurd/configure: Regenerated.
* sysdeps/mach/ Regenerated.
2004-02-10 Ulrich Drepper <>
* sysdeps/generic/setenv.c (__add_to_environ): Don't let the
temporary copies of the variables accumulate on the stack.
* stdio-common/_i18n_number.h: Finish last patch.
2004-02-09 Ulrich Drepper <>
* sysdeps/i386/i686/memcmp.S: New file. Patch by HJ Lu.
2003-12-05 Roland McGrath <>
* sysdeps/unix/sysv/linux/i386/syscalls.list: Turn vm86 into vm86old
for vm86@GLIBC_2.0 version. Add new vm86@GLIBC_2.3.4.
* sysdeps/unix/sysv/linux/i386/Versions (libc: GLIBC_2.3.4): Add vm86.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: Update vm86 prototype.
2004-02-09 Ulrich Drepper <>
* nis/ypclnt.c: Cleanup last patch.
2004-02-09 Andreas Jaeger <>
* Remove glibcbug creation.
* configure: Regenerated.
* sysdeps/x86_64/fpu/s_copysignf.S: Only load 4 bytes.
2004-02-03 Thorsten Kukuk <>
* nis/ypclnt.c (__yp_bind_client_create): New, small chunk
of duplicated code from __yp_bind.
(__yp_bind_file): New, binding dir code from __yp_bind.
(__yp_bind_client_create): New, ypbind code from __yp_bind.
(__ypclnt_call): New, make NIS query.
(do_ypcall): At first use cached data, then try data from
binding directory, after this ask ypbind for a working ypserv.
Based on a patch from Jeff Bastian <> and
Chris Barrera <>
2004-01-19 Roland McGrath <>
* Don't set CCVERSION.
* configure: Regenerated.
* File removed.
* Makefile (install-bin-script): Remove glibcbug.
(glibcbug): Target removed.
(distclean-1): Don't rm glibcbug.
(distribute): Remove
2004-02-09 Roland McGrath <>
* time/tzset.c (tzset_internal): Cap hour in POSIX $TZ rule format to
24, not 23.
2004-01-29 Roland McGrath <>
* io/ftwtest-sh: Use $tmp consistently, not literal /tmp.
Reported by Kevin P. Fleming <>.
2004-02-09 Ulrich Drepper <>
* libio/genops.c (_IO_cleanup): Do not use locking when flushing
the buffers. Some thread might be using a stream.
2004-02-09 Andreas Jaeger <>
* sysdeps/x86_64/memcpy.S: Fix alignment [BZ #7].
Patch by Jan Beulich <>.
2004-02-09 Andreas Schwab <>
* include/rpc/rpc.h: Declare thread variables with their correct type.
* sunrpc/clnt_perr.c: Don't cast thread variables.
* sunrpc/clnt_raw.c: Likewise.
* sunrpc/clnt_simp.c: Likewise.
* sunrpc/key_call.c: Likewise.
* sunrpc/svcauth_des.c: Likewise.
* sunrpc/svc.c: Likewise.
* sunrpc/svc_raw.c: Likewise.
* sunrpc/svc_simple.c: Likewise.
2004-02-09 Ulrich Drepper <>
* stdio-common/_i18n_number.h: Support printing localized decimal
point and thousand separator.
* wctype/wctrans.c: Add __wctrans alias.
* include/wctype.h: Declare __wctrans.
Based on a patch by Hamed Malek.
* sysdeps/i386/fpu/fclrexcpt.c (__feclearexcept): Don't touch bits
other than the status bits [BZ #10].
2004-02-08 Ulrich Drepper <>
Make stream locking operations really work.
* misc/Makefile (CFLAGS-mntent_r.c): Define.
* shadow/Makefile (CFLAGS-fgetspent_r.c): Define.
(CFLAGS-putspent.c): Define.
* grp/Makefile (CFLAGS-fgetgrent_r.c): Define.
(CFLAGS-putgrent.c): Define.
* pwd/Makefile (CFLAGS-fgetpwent_r.c): Define.
Reported by Shunichi Sagawa <>.
* elf/dl-load.c (lose): Use noinline attribute instead of silly
alloca to prevent inlining.
* elf/dl-runtime.c (fixup): Likewise.
(profile_fixup): Likewise.
* stdio-common/printf_size.c: Undo parts of patch from 2000-2-11.
Initialize width correctly.
2004-02-07 Andreas Jaeger <>
* iconv/gconv_simple.c (ucs4le_internal_loop): Remove cast used as
(internal_ucs4le_loop_single): Likewise.
(ucs4_internal_loop): Likewise.
(BODY): Likewise.
(internal_ucs4_loop_single): Likewise.
* iconvdata/iso8859-1.c (BODY): Likewise.
* iconvdata/cp1255.c (EMIT_SHIFT_TO_INIT): Likewise.
* iconvdata/cp1258.c (EMIT_SHIFT_TO_INIT): Likewise.
* iconvdata/gb18030.c (BODY): Likewise.
* iconvdata/armscii-8.c (BODY): Likewise.
* stdlib/msort.c (msort_with_tmp): Likewise.
* iconv/gconv_open.c (__gconv_open): Remove conditional expression
as lvalue.
2004-02-06 Steven Munroe <>
* sysdeps/powerpc/powerpc32/dl-machine.c: Declare __cache_line_size as
weak extern.
(__elf_machine_runtime_setup): Invalidate the instruction cache over
the whole range of the PLT.
2004-02-06 Andreas Schwab <>
* posix/regcomp.c (build_range_exp): Fix off-by-one.
(parse_bracket_exp): Likewise.
2004-02-05 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: Define
_HAVE_STAT_NSEC and _HAVE_STAT64_NSEC. Patch by Anton Blanchard.
2004-02-02 Paolo Bonzini <>
* posix/regexec.c (check_matching): Add P_MATCH_FIRST parameter.
(re_search_internal): Pass new parameter to check_matching.
(check_matching): Unless a parenthesized group is found at the
beginning of the regexp, advance P_MATCH_FIRST until we entered
a state different from the initial state.
2004-02-01 Ulrich Drepper <>
* math/ (lround_test): Add new test.
(llround_test): Likewise.
(lrint_test): Likewise.
(llrint_test): Likewise.
* sysdeps/ieee754/dbl-64/s_lround.c (__lround): Fix special case
with result taking up 20 bits.
* sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Likewise.
* sysdeps/ieee754/dbl-64/s_llrint.c (__llrint): Likewise..
* sysdeps/ieee754/ldbl-96/s_lroundl.c (__lroundl): Fix special
case with result taking up 31 bits.
* sysdeps/ieee754/ldbl-96/s_lrintl.c (__lrintl): Likewise.
* po/nl.po: Update from translation team.
2004-01-30 Andreas Schwab <>
* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (ILL_BREAK,
SEGV_PSTKOVF): Remove underscore prefix from definition.
2004-01-28 Paolo Bonzini <>
Merge regex changes in gawk.
* posix/regcomp.c (build_range_exp) [!_LIBC]: Check validity
of collation elements.
* posix/regex.c: Include limits.h.
* posix/regex.h: Document REG_ECOLLATE correctly.
* posix/regex_internal.h [!_LIBC && !ENABLE_NLS]: Disable NLS.
2004-01-24 Andreas Jaeger <>
* malloc/obstack.h: Import gnulib version.
* malloc/obstack.c: Likewise.
2004-01-26 David Mosberger <>
* elf/link.h (struct dl_phdr_info): Fix typo in comment.
* elf/rtld.c (dl_main): After incrementing dl_nloaded, also
increment dl_load_adds.
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Replace GL(dl_load_subs)
with equivalent GL(dl_load_adds - GL(dl_nloaded).
(dl_iterate_phdr): Likewise.
* elf/dl-close.c (_dl_close): Delete increment of GL(dl_load_subs).
* elf/dl-support.c: Remove global variable _dl_load_subs.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
_dl_load_subs member.
2004-01-27 Jakub Jelinek <>
* elf/rtld.c (_dl_start_final): Don't set l_relro_* here.
(_dl_start): And neither here.
(dl_main): Set GL(dl_loaded)->l_relro_* and
2004-01-23 David Mosberger <>
* sysdeps/generic/ldsodefs.h (struct rtld_global): Add members
_dl_load_adds and _dl_load_subs.
* elf/dl-support.c (_dl_load_adds): New variable.
(_dl_load_subs): Likewise.
* elf/dl-object.c (_dl_new_object): Increment dl_load_adds.
* elf/dl-close.c (_dl_close): Increment dl_load_subs.
* elf/link.h (struct dl_phdr_info): Add members dlpi_adds and
* include/link.h: Likewise.
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Initialize dlpi_adds
and dlpi_subs members.
(dl_iterate_phdr): Likewise.
* elf/tst-dlmodcount.c: New file.
* elf/Makefile (distribute): Mention tst-dlmodcount.c.
(tests): If build-shared, mention tst-dlmodcount.
($(objpfx)tst-dlmodcount): If build-shared, build and
run tst-dlmodcount.
2004-01-22 Jakub Jelinek <>
* elf/dl-reloc.c (_dl_relocate_object): Move PT_GNU_RELRO protection
(_dl_protect_relro): New routine.
* sysdeps/generic/ldsodefs.h (_dl_protect_relro): New prototype.
* elf/rtld.c (_dl_start_final): Copy l_relro_addr and l_relro_size
from bootstrap_map.
(_dl_main): Don't set GL(_dl_loaded)->l_relro_{addr,size} here.
Call _dl_protect_relro for libraries if prelinking.
2004-01-23 Richard Henderson <>
* Versions.def (libm): Replace GLIBC_2.3.3 with GLIBC_2.3.4.
* sysdeps/alpha/fpu/Versions (libm): Likewise.
* sysdeps/alpha/fpu/cfloat-compat.h (cfloat_versions): Likewise.
* sysdeps/alpha/fpu/s_clog10f.c (clog10f): Likewise.
2004-01-22 Andreas Jaeger <>
* sysdeps/ieee754/dbl-64/e_pow.c (log2): Rename to my_log2 to
avoid warnings for builtin function log2.
* sysdeps/unix/sysv/linux/x86_64/setcontext.S: Add proper unwind
2004-01-20 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/sys/epoll.h: Add EPOLLONESHOT.
* sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: Likewise.
Patch by Davide Libenzi.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_NO_CLONE_DETACHED for 2.6.2+ kernels.
* catgets/Makefile ($(objpfx)de.msg): Run sed in C locale.
* sysdeps/unix/sysv/linux/readahead.c (__readahead): Use off64_t
instead of loff_t. Include <fcntl.h>.
* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Add readahead prototype.
* sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/cris/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/m68k/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
* elf/dl-load.c: Don't add attribute_relro to max_dirnamelen.
* sysdeps/generic/inttypes.h: Fix PRI*FAST{16,32} macros.
2003-12-31 Bruno Haible <>
* iconvdata/iso_6937-2.c (to_ucs4): Map 0x7E to U+007E, not U+203E.
Map 0xA6 to U+0023. Map 0xA8 to U+00A4.
(to_ucs4_comb): Map 0xC5 0x20 to U+00AF.
(from_ucs4): Map U+00ED to 0xC2 0x69, not 0xC2 0xE9.
(BODY for TO_LOOP): Don't map U+02DC. Map U+02DD to 0xCD 0x20, not
0x00 0x20. Don't map U+2500..U+25E3.
2004-01-19 Jakub Jelinek <>
* posix/regexec.c (get_subexp): Remove bkref_str variable.
Extend buffers if needed before comparisons.
(get_subexp_sub): Handle clean_state_log_if_needed failure.
2004-01-17 Ulrich Drepper <>
* sysdeps/i386/i486/bits/atomic.h (atomic_add): Fix test for using
atomic_decrement. Patch by Davin McCall.
2004-01-13 Daniel Jacobowitz <>
* sysdeps/powerpc/nofpu/sim-full.c (__sim_exceptions)
(__sim_disabled_exceptions, __sim_round_mode): Declare with
hidden data and nocommon.
* sysdeps/powerpc/nofpu/soft-supp.h (__sim_exceptions)
(__sim_disabled_exceptions, __sim_round_mode): Use
* sysdeps/powerpc/soft-fp/sfp-machine.h (__sim_exceptions)
(__sim_disabled_exceptions, __sim_round_mode): Likewise.
2004-01-16 Ulrich Drepper <>
* elf/elf.h: Define PT_IA_64_HP_OPT_ANOT, PT_IA_64_HP_HSL_ANOT, and
2004-01-16 Richard Henderson <>
* include/unistd.h (__libc_enable_secure): Mark attribute_relro.
(__libc_enable_secure_internal): Likewise.
* elf/dl-load.c: Don't declare __libc_stack_end.
* sysdeps/generic/libc-start.c: Likewise.
* sysdeps/unix/sysv/linux/dl-execstack.c: Likewise.
* sysdeps/generic/segfault.c: Likewise. Include ldsodefs.h.
* sysdeps/generic/backtrace.c: Likewise.
2004-01-15 Ulrich Drepper <>
* Versions.def: Add GLIBC_2.3.4.
2004-01-15 Richard Henderson <>
* sysdeps/unix/alpha/sysdep.h: Revert last change.
2004-01-15 Richard Henderson <>
* sysdeps/alpha/dl-machine.h (RTLD_START): Use _dl_argv_internal.
* sysdeps/unix/alpha/sysdep.h [PIC] (SYSCALL_ERROR_HANDLER): Use
!samegp relocation.
2004-01-15 Richard Henderson <>
* sysdeps/unix/sysv/linux/alpha/Makefile [stdlib]: Process
* sysdeps/unix/sysv/linux/alpha/getcontext.S: New file.
* sysdeps/unix/sysv/linux/alpha/makecontext.S: New file.
* sysdeps/unix/sysv/linux/alpha/setcontext.S: New file.
* sysdeps/unix/sysv/linux/alpha/swapcontext.S: New file.
* sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym: New file.
2004-01-15 Richard Henderson <>
* sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Prefix stubs with
__syscall_, move nop inside, adjust users by +4.
2004-01-14 Steven Munroe <>
* include/libc-symbols.h [HAVE_ASM_GLOBAL_DOT_NAME]
(_symbol_version): Use C_SYMBOL_DOT_NAME to create '.'ed symbols.
(_default_symbol_version): Use C_SYMBOL_DOT_NAME to create '.'ed
* sysdeps/powerpc/Makefile: Add rtld-global-offsets.sym to
* sysdeps/powerpc/elf/rtld-global-offsets.sym: New file.
* sysdeps/powerpc/sysdep.h: Define v# symbols for vector registers.
Define PPC_FEATURE_* masks for Aux Vector AT_HWCAP.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_SWAPCONTEXT_SYSCALL): Define for PPC and 2.6.0 kernels.
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h [!__WORDSIZE == 32]:
Declare mcontext_t inline and include altivec state for 64-bit.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Add GLIBC_2.3.4
versions for setcontext, getcontext, and swapcontext.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Add GLIBC_2.3.4
versions for setcontext, getcontext, swapcontext, and makecontext.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
(__getcontext): Upgrade to save Altivec regs and version GLIBC_2_3_4.
[SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novec_getcontext):
Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
(__makecontext): Use parm save area instead of compiler_dw to hold
context pointer.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
(__setcontext): Upgrade to restore Altivec regs and version
[SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novec_setcontext):
Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
(__swapcontext): Upgrade to swap Altivec regs and version GLIBC_2_3_4.
[SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novec_swapcontext):
Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h
2004-01-12 Steven Munroe <>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: Add GLIBC_2.3.4
versions for setcontext, getcontext, swapcontext, and makecontext.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
(__getcontext): Upgrade to save Altivec regs and version GLIBC_2_3_4.
[SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)] (__novec_getcontext):
Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
(__makecontext): Upgrade to align for Altivec regs and version
[SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)] (__novec_makecontext):
Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
(__setcontext): Upgrade to restore Altivec regs and version
[SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)] (__novec_setcontext):
Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
(__swapcontext): Upgrade to swap Altivec regs and version GLIBC_2_3_4.
[SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)]
(__novec_swapcontext): Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h:
(_UC_VSCR, _UC_VRSAVE): Define.
2004-01-15 Ulrich Drepper <>
* elf/rtld.c: Handle platforms with HP_TIMING_NONAVAIL defined.
2004-01-16 Alfred M. Szmidt <>
* sysdeps/generic/dl-execstack.c (_dl_make_stack_executable): Adjust
parameter type.
2004-01-15 Ulrich Drepper <>
* elf/elf.h: Fix typo in comment.
* sysdeps/generic/dl-sysdep.c: Initialize __libc_stack_end.
* elf/rtld.c: Initialize _dl_argv to allow aliasing.
* resolv/resolv.h: Add RES_USEBSTRING.
* resolv/res_debug.c (p_option): Add handling for RES_USE_INET6,
* resolv/res_init.c (res_setioptions): Recognize ip6-bytestring.
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Only perform
bytestring IPv6 lookup with RES_USEBSTRING option is selected.
Otherwise use the two nibble formats.
2004-01-14 Ulrich Drepper <>
* Define HAVE_Z_RELRO if the linker supports -z relro.
* Add entry for HAVE_Z_RELRO.
* include/libc-symbols.h: Define attribute_relro.
* elf/dl-load.c: Add attribute_relro to env_path_list, capstr, ncapstr,
max_capstrlen, and max_dirnamelen definitions.
* elf/rtld.c: Add attribute_relro to _dl_argc, _dl_argv, _dl_skip_args,
load_time, start_time, library_path, preloadlist, version_info,
Remove rtld_total_time. Make it a local variable. Pass pointer to
it to print_statistics. Change print_statistics accordingly.
* sysdeps/generic/dl-sysdep.c: Add attribute_relro to _dl_auxv. Use
attribute_relro instead of explicitly assigning variable to the section for __libc_enable_secure and __libc_stack_end.
* sysdeps/generic/ldsodefs.h: Declare __libc_stack_end, _dl_argc,
_dl_argv, _dl_argv_internal with attribute_relro.
2004-01-13 Segher Boessenkool <>
* Makerules (gen-as-const): Don't silently continue on failure.
2004-01-14 Steven Munroe <>
* sysdeps/generic/dl-sysdep.c: Define __libc_stack_end with
2004-01-14 Ulrich Drepper <>
* libio/libio.h: Add const to function tables types.
* libio/libioP.h: Likewise.
* login/utmp-private.h: Likewise.
* libio/fileops.c: Add const to jump table variable definition.
* libio/genops.c: Likewise.
* libio/iofopncook.c: Likewise.
* libio/iopopen.c: Likewise.
* libio/memstream.c: Likewise.
* libio/obprintf.c: Likewise.
* libio/oldfileops.c: Likewise.
* libio/oldiopopen.c: Likewise.
* libio/strops.c: Likewise.
* libio/vsnprintf.c: Likewise.
* libio/vswprintf.c: Likewise.
* libio/wfileops.c: Likewise.
* libio/wstrops.c: Likewise.
* login/getutent_r.c: Likewise.
* login/getutid_r.c Likewise.
* login/getutline_r.c: Likewise.
* sysdeps/generic/utmp_file.c: Likewise.
2004-01-09 Bruno Haible <>
* intl/gmo.h (MO_REVISION_NUMBER_WITH_SYSDEP_I): New definition.
* intl/loadmsgcat.c (get_sysdep_segment_value): Handle "I".
(_nl_load_domain): Treat major revision 1 like major revision 0.
2004-01-11 Bruno Haible <>
* stdio-common/vfprintf.c (vfprintf): Disallow the 'I' flag after
width or precision has been seen.
2004-01-08 Bruno Haible <>
* intl/loadmsgcat.c (_nl_load_domain): When a string pair uses a system
dependent segment not known to this version of the library, ignore
the string pair instead of crashing.
2004-01-13 Ulrich Drepper <>
* Rewrite test to give gcc to clean up after itself.
Patch by Greg Schafer.
* posix/regex.c: Support crappy compilers and platforms which have
problems with alloca.
* posix/regex_internal.h: Likewise.
Patch by Paolo Bonzini.
2004-01-12 Paolo Bonzini <>
* posix/regcomp.c [_LIBC && !RE_ENABLE_I18N]:
Drop code to support this, it is never true.
(build_range_exp) [!_LIBC]: Do not create a range
in MBCSET for a single-byte character set.
(build_range_exp) [_LIBC]: Do not create a range
in MBCSET for a single-byte character set without
collation elements.
(init_dfa): Do not conditionalize on _LIBC, it
just makes the code less clear.
(parse_bracket_exp): Use NON_MATCH variable in
addition to "mbcset->non_match", not as an
(build_charclass_op): rename NOT parameter to
NON_MATCH, use it instead of declaring a variable.
(parse_bracket_exp) [!_LIBC]: Pass NULL for MBCSET
if the character set is single-byte.
2004-01-14 Jakub Jelinek <>
* posix/regcomp.c (peek_token_bracket): Check remaining
string length before re_string_peek_byte (x, 1).
(parse_bracket_symbol): Likewise.
* posix/regex_internal.h (re_string_is_single_byte_char): Return
true at last byte in the string.
* posix/bug-regex22.c (main): Add new test.
2004-01-13 Ulrich Drepper <>
* sysdeps/generic/dl-sysdep.c: Move __libc_enable_secure into
* sysdeps/x86_64/dl-machine.h: Include <tls.h>.
* elf/rtld.c (_dl_start_final): Initialze __libc_stack_end here.
* sysdeps/generic/dl-sysdep.c: Define __libc_stack_end with
rtld_hidden_def and move into section.
* sysdeps/generic/ldsodefs.h: Declare __libc_stack_end with
* sysdeps/generic/libc-start.c: Only initialize __libc_stack_end here
2004-01-13 Richard Henderson <>
* sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Fix typo.
2004-01-13 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/dl-execstack.c
(_dl_make_stack_executable): Move common code in front. Use
* sysdeps/unix/sysv/linux/dl-execstack.c: Change interface. Add
challenge for caller.
* sysdeps/generic/ldsodefs.h: Change declaration and type of hook
member in rtld_global appropriately.
* elf/dl-support.c: Likewise.
* elf/dl-load.c (_dl_map_object_from_fd): Take additional paramter.
Pass it on to the changed function.
(_dl_map_object): Pass new parameter to _dl_map_object_from_fd.
2004-01-13 Richard Henderson <>
* sysdeps/alpha/bits/atomic.h (__arch_compare_and_exchange_xxx_8_int):
Cast old up to uint64_t before back down to inner width.
(__arch_compare_and_exchange_xxx_16_int): Likewise.
(__arch_compare_and_exchange_xxx_32_int): Likewise.
(__arch_compare_and_exchange_xxx_64_int): Likewise.
(__arch_compare_and_exchange_val_8_int): Cast result to
the type of the memory.
(__arch_compare_and_exchange_val_16_int): Likewise.
(__arch_compare_and_exchange_val_32_int): Likewise.
(__arch_compare_and_exchange_val_64_int): Likewise.
(atomic_compare_and_exchange_bool_acq): Use __atomic_bool_bysize.
(atomic_compare_and_exchange_bool_rel): Likewise.
* sysdeps/unix/alpha/sysdep.h: Select inline_syscall_r0_asm
based on HAVE___THREAD instead of USE_TLS.
* sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIMEX32): New.
(__adjtimex_tv64): Use it.
* sysdeps/unix/sysv/linux/alpha/semctl.c (__new_semctl): Cast
to void* rather than directly to the compatibility structure type.
* sysdeps/unix/sysv/linux/alpha/shmctl.c (__new_shmctl): Likewise.
* sysdeps/unix/sysv/linux/alpha/sigaction.c (struct kernel_sigaction):
Forward declare.
2004-01-13 Richard Henderson <>
* Versions.def (libm): Add GLIBC_2.3.3.
* sysdeps/alpha/fpu/Versions: Add __c1_c*f and c*f to GLIBC_2.3.3.
* sysdeps/alpha/fpu/cabsf.c, sysdeps/alpha/fpu/cargf.c,
sysdeps/alpha/fpu/cfloat-compat.h, sysdeps/alpha/fpu/cimagf.c,
sysdeps/alpha/fpu/conjf.c, sysdeps/alpha/fpu/crealf.c,
sysdeps/alpha/fpu/s_cacosf.c, sysdeps/alpha/fpu/s_cacoshf.c,
sysdeps/alpha/fpu/s_casinf.c, sysdeps/alpha/fpu/s_casinhf.c,
sysdeps/alpha/fpu/s_catanf.c, sysdeps/alpha/fpu/s_catanhf.c,
sysdeps/alpha/fpu/s_ccosf.c, sysdeps/alpha/fpu/s_ccoshf.c,
sysdeps/alpha/fpu/s_cexpf.c, sysdeps/alpha/fpu/s_clog10f.c,
sysdeps/alpha/fpu/s_clogf.c, sysdeps/alpha/fpu/s_cpowf.c,
sysdeps/alpha/fpu/s_cprojf.c, sysdeps/alpha/fpu/s_csinf.c,
sysdeps/alpha/fpu/s_csinhf.c, sysdeps/alpha/fpu/s_csqrtf.c,
sysdeps/alpha/fpu/s_ctanf.c, sysdeps/alpha/fpu/s_ctanhf.c: New files.
* sysdeps/alpha/fpu/bits/mathdef.h: Rename complex float
functions for gcc 3.3.
* sysdeps/generic/s_cacosf.c, sysdeps/generic/s_cacoshf.c,
sysdeps/generic/s_casinf.c, sysdeps/generic/s_casinhf.c,
sysdeps/generic/s_catanf.c, sysdeps/generic/s_catanhf.c,
sysdeps/generic/s_ccosf.c, sysdeps/generic/s_ccoshf.c,
sysdeps/generic/s_cexpf.c, sysdeps/generic/s_clog10f.c,
sysdeps/generic/s_clogf.c, sysdeps/generic/s_cpowf.c,
sysdeps/generic/s_cprojf.c, sysdeps/generic/s_csinf.c,
sysdeps/generic/s_csinhf.c, sysdeps/generic/s_csqrtf.c,
sysdeps/generic/s_ctanf.c, sysdeps/generic/s_ctanhf.c: Don't
weak_alias if the function name has been #defined.
* math/cabsf.c: Move ...
* sysdeps/generic/cabsf.c: ... here.
* math/cargf.c: Move ...
* sysdeps/generic/cargf.c: ... here.
* math/cimagf.c: Move ...
* sysdeps/generic/cimagf.c: ... here.
* math/conjf.c: Move ...
* sysdeps/generic/conjf.c: ... here.
* math/crealf.c: Move ...
* sysdeps/generic/crealf.c: ... here.
2004-01-13 Ulrich Drepper <>
* Makeconfig: Define relro-LDFLAGS if have-z-relro==yes. Add it to and LDFLAGS-rtld.
(+link): Add relro-LDFLAGS.
* Makeconfig ( Place __libc_subfreeres, __libc_atexit, and
__libc_thread_subfreeres sections after .jcr section.
* Add have-z-relro.
* Add check for -z relro option.
* include/link.h (struct link_map): Add relro_addr and relro_size
* elf/dl-load.c (_dl_map_object_from_fd): Recognize PT_GNU_RELRO.
* elf/dl-reloc.c (_dl_relocate_object): At the end, make relro
part of loaded segments read-only.
* elf/elf.h: Define PT_GNU_RELRO.
* elf/rtld.c (_dl_start): Recognize PT_GNU_RELRO of
(dl_main): Recognize PT_GNU_RELRO of the application. Call
_dl_debug_initialize and initialize l_info[DT_DEBUG] before
2004-01-12 Jakub Jelinek <>
* sysdeps/x86_64/strcspn.S: Fix typo in last patch.
2004-01-11 Andreas Jaeger <>
* sysdeps/x86_64/__longjmp.S: Add cfi directives.
2004-01-10 Andreas Jaeger <>
* sysdeps/unix/sysv/linux/x86_64/__start_context.S: Add cfi directives.
* sysdeps/unix/x86_64/sysdep.S (__syscall_error): Likewise.
* sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise.
* sysdeps/x86_64/strcspn.S: Likewise.
* sysdeps/x86_64/strspn.S: Likewise.
2004-01-08 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/x86_64/clone.S (__clone): Add cfi_endproc
right before syscall and cfi_startproc before PSEUDO_END.
Clear %rbp in thread_start.
2004-01-05 Jakub Jelinek <>
* posix/regcomp.c (regcomp): Fix comment typo.
(regfree): Free preg->translate, clear buffer, allocated, fastmap
and translate fields.
* posix/regcomp.c (build_charclass, buld_charclass_op): Change first
argument to unsigned RE_TRANSLATE_TYPE.
* posix/regex_internal.h (re_string_t): Change trans type to
* posix/regex_internal.c (re_string_construct_common): Cast
trans to unsigned RE_TRANSLATE_TYPE.
(re_string_peek_byte_case, re_string_fetch_byte_case): Avoid fast
path if pstr->trans. Never translate the character through
* posix/Makefile (tests): Add bug-regex22.
(bug-regex22-ENV): Set.
* posix/bug-regex22.c: New test.
2004-01-02 Paolo Bonzini <>
* posix/regex_internal.c (re_node_set_add_intersect,
re_node_set_merge): Rewritten.
(re_node_set_insert, re_node_set_remove_at):
Avoid memmove, we know what direction we should copy and that we
are copying 32-bit words.
(re_node_set_compare): Iterate backwards.
2003-12-30 Paul Eggert <>
* time/mktime.c (verify): New macro.
(time_t_is_integer, twos_complement_arithmetic,
right_shift_propagates_sign, base_year_is_a_multiple_of_100,
C99_integer_division): Document these longstanding assumptions in the
code, and verify them at compile-time.
2004-01-02 Jakub Jelinek <>
* posix/regex_internal.h (re_match_context_t): Add dfa member.
* posix/regexec.c (match_ctx_free_subtops, search_cur_bkref_entry,
match_ctx_add_sublast, sift_ctx_init, acquire_init_state_context,
prune_impossible_nodes, check_halt_state_context, proceed_next_node,
sift_states_backward, update_cur_sifted_state, check_dst_limits,
check_dst_limits_calc_pos, sift_states_bkref, transit_state,
check_subexp_matching_top, transit_state_sb, transit_state_mb,
transit_state_bkref, get_subexp, get_subexp_sub, check_arrival,
check_arrival_add_next_nodes, expand_bkref_cache, check_node_accept):
Remove dfa parameter. Get dfa from mctx. Adjust callers.
(re_search_internal): Initialize mctx.dfa.
* posix/regex_internal.c (re_node_set_insert): Remove unused variables.
* posix/regex_internal.h (re_dfa_t): Add syntax field.
* posix/regcomp.c (parse): Initialize dfa->syntax.
* posix/regexec.c (acquire_init_state_context,
prune_impossible_nodes, check_matching, check_halt_state_context,
proceed_next_node, sift_states_iter_mb, sift_states_backward,
update_cur_sifted_state, sift_states_bkref, transit_state,
transit_state_sb, transit_state_mb, transit_state_bkref,
get_subexp, get_subexp_sub, check_arrival, expand_bkref_cache,
build_trtable): Remove preg argument, add dfa argument instead
and remove dfa = preg->buffer initialization in the body.
Adjust all callers.
(check_node_accept_bytes, group_nodes_into_DFAstates,
check_node_accept): Likewise. Use dfa->syntax instead of
(check_arrival_add_next_nodes): Remove preg argument.
* posix/regex_internal.h (re_match_context_t): Make input
re_string_t instead of a pointer to it.
* posix/regex_internal.c (re_string_construct_common): Don't clear
pstr here...
(re_string_construct): ... but only here.
* posix/regexec.c (match_ctx_init): Remove input argument. Don't
initialize fields to zero.
(re_search_internal): Move input into mctx.input.
(acquire_init_state_context, check_matching,
check_halt_state_context, proceed_next_node,
clean_state_log_if_needed, sift_states_bkref, sift_states_iter_mb,
transit_state, transit_state_sb, transit_state_mb,
transit_state_bkref, get_subexp, check_arrival,
check_arrival_add_next_nodes, check_node_accept, extend_buffers):
Change mctx->input into &mctx->input and mctx->input->field into
2004-01-02 Jakub Jelinek <>
Paolo Bonzini <>
* posix/regex_internal.h (re_const_bitset_ptr_t): New type.
(re_string_t): Add newline_anchor, word_char and word_ops_used fields.
(re_dfa_t): Change word_char type to bitset. Add word_ops_used field.
(re_string_context_at, re_string_reconstruct): Remove last argument.
* posix/regex_internal.c (re_string_allocate): Initialize
pstr->word_char and pstr->word_ops_used.
(re_string_context_at): Remove newline_anchor argument.
Use input->newline_anchor instead, swap && conditions.
Only use IS_WIDE_WORD_CHAR if input->word_ops_used != 0.
Use input->word_char bitmap instead of IS_WORD_CHAR.
(re_string_reconstruct): Likewise.
Adjust re_string_context_at caller.
* posix/regexec.c (acquire_init_state_context,
check_halt_state_context, transit_state, transit_state_sb,
transit_state_mb, transit_state_bkref, check_arrival,
check_node_accept): Adjust re_string_context_at and
re_string_reconstruct callers.
(re_search_internal): Likewise. Set input.newline_anchor.
(build_trtable): Use dfa->word_char bitmap instead of IS_WORD_CHAR.
* posix/regcomp.c (init_word_char): Change return type to void.
Set dfa->word_ops_used.
(free_dfa_content): Don't free dfa->word_char.
(parse_expression): Remove error handling for init_word_char.
2004-01-01 Paolo Bonzini <>
* posix/regex_internal.h (re_dfastate_t): Fix size of the CONTEXT
* posix/regex_internal.c (re_node_set_insert): Rewrite.
2004-01-01 Ulrich Drepper <>
* posix/getconf.c: Update copyright year.
* nss/getent.c: Likewise.
* nscd/nscd_nischeck.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.
2004-01-01 Petter Reinholdtsen <>
* stdlib/strfmon.c: Make formatting of left-justified currency
values match the the POSIX standard. When using format string
"[%-14#5.4n]" to print -123.45, the result should be
"[-$ 123.4500 ]", not "[-$123.4500 ]".
2004-01-01 Andreas Jaeger <>
* resolv/Makefile (generated): New.
2003-12-31 Joseph S. Myers <>
2003-12-30 Paul Eggert <>
* time/mktime.c: (my_mktime_localtime_r):
Remove. All uses changed to __localtime_r.
(__localtime_r) [!defined _LIBC]: New macro. Include "time_r.h" to
get its implementation.
Fix compile-command to allow for TIME_R_POSIX.
* time/strftime.c (my_strftime_gmtime_r, my_strftime_localtime_r):
Remove. All uses changed to __localtime_r and __gmtime_r.
(__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
Include "time_r.h" to get their implementations.
* time/timegm.c: Allow use in GNU applications outside glibc.
[defined HAVE_CONFIG_H]: Include <config.h>.
[!defined _LIBC]: Include "timegm.h", <time_r.h>.
Define __gmtime_r, and declare __mktime_internal.
(timegm): Define via a prototype, since we can safely assume C89 now.
* time/mktime.c (check_result): Use less-confusing report format.
"long" -> "long int", as per usual GNU style.
(main): Likewise.
Don't loop if the iteration overflows time_t.
Allow a negative step in the iteration.
* time/mktime.c: Assume freestanding C89 or better.
(HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove;
assume they're 1.
(__P): Remove; not used.
(CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
(mktime, not_equal_tm, print_tm, check_result, main): Use prototypes.
Prototypes use const * where appropriate.
(main) [DEBUG]: Fix typo in testing code uncovered by above changes,
which caused the testing code to dump core on some hosts.
2003-12-31 Ulrich Drepper <>
* locale/setlocale.c (setlocale): Avoid duplicating locale names
if we can reuse old strings.
* inet/rcmd.c: Provide better error message in case of unknown
host. Remove USE_IN_LIBIO.
* nscd/nscd.init: Updated version, more conforming with current
init file standards.
* nscd/nscd-client.h (_PATH_NSCDPID): Move the file into
/var/run/nscd directory.
* test-skeleton.c (timeout_handler): Fix error message.
* elf/dl-dst.h (DL_DST_REQUIRED): Avoid the complex operations if
CNT == 0.
2003-12-30 Jakub Jelinek <>
* posix/regexec.c (get_subexp): Only set bkref_str after the first
loop, use buf + bkref_str_off in the loop instead.
* posix/bug-regex11.c (tests): Add 3 new tests.
* posix/regexec.c (clean_state_log_if_need): Rename to...
(clean_state_log_if_needed): ...this.
(transit_state_mb, get_subexp_sub): Adjust callers.
* sunrpc/pmap_clnt.c (pmap_set): Do CLNT_DESTROY even if CLNT_CALL
failed. Reported by Steve Grubb.
2003-12-29 Ulrich Drepper <>
* elf/elf.h: Add a few definitions from Solaris 9.
2003-12-29 Andreas Schwab <>
* stdio-common/Makefile (CFLAGS-errlist.c, CFLAGS-siglist.c): Add
$(fno_unit_at_a_time) to avoid reordering assembler output.
2003-12-29 Jakub Jelinek <>
* posix/regexec.c (re_copy_regs): Revert comment change.
Avoid memory leak if realloc fails.
(proceed_next_node): Return -2 if re_node_set_insert fails.
Return -2 if push_fail_stack fails.
(push_fail_stack): Change fs->alloc only after successful realloc.
(pop_fail_stack): Formatting.
(set_regs): If proceed_next_node returns -2, free eps_via_nodes and fs.
(check_arrival_add_next_nodes): Merge identical statements
from if branches.
* signal/Makefile (tests): Add tst-raise.
* signal/tst-raise.c: New test.
2003-12-28 Ulrich Drepper <>
* posix/regcomp.c (mark_opt_subexp_iter): Declare IDX as int.
* posix/regexec.c (re_copy_regs): Fix testing for failed allocation.
(push_fail_stack): Add missing check for failed memory allocation.
* libio/libio.h: Use __builtin_expect in _IO_getc_unlocked,
_IO_peekc_unlocked, _IO_putc_unlocked, _IO_getwc_unlocked, and
2003-12-28 Andreas Jaeger <>
* sysdeps/ieee754/dbl-64/e_j0.c (__ieee754_y0): Raise only
overflow for 0 as argument. Raise Invalid exception for negative args.
* sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_yn): Likewise.
* sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_y0): Likewise.
* sysdeps/ieee754/ldb-128/e_jnl.c (__ieee754_ynl): Likewise.
* sysdeps/ieee754/ldb-128/e_j0l.c (__ieee754_y0l): Likewise.
* sysdeps/ieee754/ldb-128/e_j1l.c (__ieee754_y1l): Likewise.
* sysdeps/ieee754/ldb-96/e_jnl.c (__ieee754_ynl): Likewise.
* sysdeps/ieee754/ldb-96/e_j0l.c (__ieee754_y0l): Likewise.
* sysdeps/ieee754/ldb-96/e_j1l.c (__ieee754_y1l): Likewise.
* sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise.
* sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Likewise.
* sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Likewise.
* math/ (yn_test): Expect invalid exception for
negative arguments.
(y0_test): Likewise.
(y1_test): Likewise.
* sysdeps/ieee754/dbl-64/e_exp.c (__ieee754_exp): Do not raise
execptions for exp(NaN).
2003-12-23 Paolo Bonzini <>
* posix/regex_internal.c (re_dfa_add_node): Initialize opt_subexp.
* posix/regex_internal.h (re_token_type_t): Put OP_DUP_PLUS
among the tokens, rather than among the epsilon-transiting nodes.
(re_token_t): Add the opt_subexp flag.
* posix/regcomp.c (optimize_utf8, calc_first,
calc_next, calc_epsdest): Don't consider OP_DUP_PLUS.
(mark_opt_subexp, mark_opt_subexp_iter): New functions.
(parse_dup_op): Mostly rewritten, lowering OP_DUP_PLUS to
OP_DUP_ASTERISK and marking optional subexpressions
as such using mark_opt_subexp.
* posix/regexec.c (set_regs): Initialize PREV_INDEX_MATCH
and pass it to update_regs.
(update_regs): Use the PREV_INDEX_MATCH parameter, together
with the opt_subexp flag, in order to discard a final empty
match of a repeated subexpression.
* posix/BOOST.tests: Adjust test vectors.
* posix/PCRE.tests: Likewise.
* posix/rxspencer/tests: Likewise.
2000-05-22 Jakub Jelinek <>
* sysdeps/i386/fpu/bits/mathinline.h (__expm1_code): Avoid using ?:
with omitted middle operand.
2003-12-22 Jakub Jelinek <>
* posix/regcomp.c: Remove C99-ism.
* posix/tst-rxspencer.c: Likewise.
Based on a patch by Alex Davis <>.
2003-12-17 Paolo Bonzini <>
* posix/regex_internal.h [!_LIBC] (internal_function): Define.
(re_string_allocate, re_string_construct, re_string_reconstruct,
re_string_realloc_buffers, build_wcs_buffer,
build_wcs_upper_buffer, build_upper_buffer,
re_string_translate_buffer, re_string_destruct,
re_string_elem_size_at, re_string_char_size_at,
re_string_wchar_at, re_string_context_at,
re_node_set_alloc, re_node_set_init_1
re_node_set_init_2, re_node_set_init_copy,
re_node_set_add_intersect, re_node_set_init_union,
re_node_set_merge, re_node_set_insert
re_node_set_compare, re_node_set_contains
re_node_set_remove_at, re_dfa_add_node,
re_acquire_state, re_acquire_state_context,
free_state): Add internal_function to declaration.
* posix/regexec.c (match_ctx_init, match_ctx_clean,
match_ctx_free, match_ctx_free_subtops,
match_ctx_add_entry, search_cur_bkref_entry,
match_ctx_clear_flag, match_ctx_add_subtop,
match_ctx_add_sublast, sift_ctx_init,
re_search_internal, re_search_2_stub, re_search_stub,
re_copy_regs, acquire_init_state_context,
prune_impossible_nodes, check_matching,
check_halt_node_context, check_halt_state_context
update_regs, proceed_next_node, push_fail_stack,
pop_fail_stack, set_regs, free_fail_stack_return,
sift_states_iter_mb, sift_states_backward
update_cur_sifted_state, add_epsilon_src_nodes,
sub_epsilon_src_nodes, check_dst_limits,
check_dst_limits_calc_pos, check_subexp_limits,
sift_states_bkref, clean_state_log_if_need,
merge_state_array, transit_state,
check_subexp_matching_top, transit_state_sb,
transit_state_mb, transit_state_bkref,
get_subexp, get_subexp_sub, find_subexp_node,
check_arrival, check_arrival_add_next_nodes,
find_collation_sequence_value, check_arrival_expand_ecl,
check_arrival_expand_ecl_sub, expand_bkref_cache,
build_trtable, check_node_accept_bytes, extend_buffers,
group_nodes_into_DFAstates, check_node_accept): Likewise.
* posix/regex_internal.c (re_string_construct_common,
re_string_skip_chars, create_newstate_common,
register_state, create_ci_newstate, create_cd_newstate,
calc_state_hash): Likewise.
(re_string_peek_byte_case, re_fetch_byte_case): Change
declaration from ANSI to K&R.
2003-12-16 Paolo Bonzini <>
* posix/regexec.c (build_trtable): Don't allocate the trtable
until state->word_trtable is known. Don't hardcode UINT_BITS
iterations on each bitset item.
2003-12-22 Maciej W. Rozycki <>
* sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_init):
Initialize REF before passing it to _dl_lookup_symbol.
2003-12-21 Roland McGrath <>
* sysdeps/mach/hurd/dl-sysdep.c (_exit): Define with attribute_hidden.
2003-12-21 Jakub Jelinek <>
* posix/regcomp.c (duplicate_node, duplicate_node_closure): Revert
2003-11-24 changes.
* posix/regexec.c (group_nodes_into_DFAstates): For CHARACTER with
NEXT_{,NOT}WORD_CONSTRAINT check word_char bit.
* posix/bug-regex19.c (tests): Add new tests.
* posix/regexec.c (check_dst_limits_calc_pos): Fix formatting.
* posix/regcomp.c (parse_dup_op): Return NULL if dup_elem is NULL,
after checking syntax. Optimize.
(calc_first): Fix comment.
* posix/bug-regex13.c (tests): Add new tests.
2003-12-21 Roland McGrath <>
* manual/arith.texi (Parsing of Integers): Typo fix.
2003-12-20 Roland McGrath <>
* sysdeps/generic/ifreq.c (__ifreq) [_HAVE_SA_LEN]: Fix typo:
add missing dereference of IFREQS before counting loop.
2003-12-21 Andreas Schwab <>
* sysdeps/m68k/m68020/bits/atomic.h: Avoid matching memory
2003-12-20 Ulrich Drepper <>
* elf/rtld.c (dl_main): Optimize order of subexpressions in if().
2003-12-18 Ulrich Drepper <>
* stdio-common/printf_fp.c: Add support to use alternative decimal
* stdio-common/vfprintf.c (vfprintf): Pass use_outdigits flags to
__printf_fp. Patch by Hamed Malek <>.
2003-12-18 Carlos O'Donell <>
* sysdeps/unix/sysv/linux/hppa/clone.S (__clone) [PIC]: Save PIC,
reload PIC if we need to call __syscall_error, cleanup asm.
2003-12-17 Carlos O'Donell <>
* sysdeps/hppa/fpu/fclrexcpt.c (feclearexcept): Right shift
FE_ALL_EXCEPT before complimenting.
* sysdeps/hppa/fpu/fegetenv.c (fegetenv): Use asm 'ma,' completer,
and gcc '+r' constraint.
* sysdeps/hppa/fpu/feholdexcpt.c (feholdexcept): Likewise.
* sysdeps/hppa/fpu/fesetenv.c (fesetenv): Likewise.
* sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Read raised
exception bits, OR with envp, pass to fesetenv.
* sysdeps/hppa/fpu/fraiseexcpt.c (feraiseexcept): Add delayed
exception flushing, FE_UNDERFLOW is DBL_MIN/3.0, FE_INEXACT is
triggered by M_PI/69.69 converted to single precision.
* sysdeps/hppa/fpu/fsetexcptflg.c (fesetexceptflag): Set enable
bits not raised exception bits.
* sysdeps/hppa/Makefile: Add dl-symaddr and dl-fptr to the
correct build strings.
* sysdeps/hppa/dl-fptr.h: New file.
* sysdeps/hppa/dl-fptr.c: Removed.
* sysdeps/hppa/dl-symaddr.c (_dl_symbol_address): Use _dl_make_ftpr,
remove const qualifier for map.
(_dl_function_address): Removed.
* sysdeps/hppa/dl-lookupcfg.h: DL_LOOKUP_ADDRESS must clear
DL_DT_FINI_ADDRESS use the previous two macros.
2003-12-17 Jakub Jelinek <>
* malloc/mtrace.c (tr_old_memalign_hook): New variable.
(tr_memalignhook): New function.
(mtrace): Register tr_memalignhook.
(muntrace): Deregister tr_memalignhook.
* malloc/malloc.c (__posix_memalign): If __memalign_hook != NULL,
call it directly instead of memalign_internal.
2003-12-17 Ulrich Drepper <>
* misc/mntent_r.c: Change encoding to match recently changed decoder.
Patch by Alexander Achenbach <>.
2003-12-16 Steven Munroe <>
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Correct definition of
2003-12-16 Steven Munroe <>
* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [!__PPC64_ELF_H]: Extend
conditional to include typedef elf_vrreg_t.
2003-12-17 Paolo Bonzini <>
* posix/regexec.c (re_search_internal): Limit search to the
beginning of the buffer if the initial states are empty for
contexts that do not include CONTEXT_BEGBUF or, if
!preg->newline_anchor, that do not include any one of
2003-12-17 Andreas Jaeger <>
* sysdeps/generic/system.c (__libc_system): Fix typo, reported by
Kevin Pedretti <>.
2003-12-17 Ulrich Drepper <>
* elf/rtld.c: Don't use strong_alias to define _rtld_local. This
removes the visibility attributes which might be defined earlier
for some gcc versions. Instead spell out what strong_alias does
plus the visibility.
2003-12-16 Petter Reinholdtsen <>
* posix/regex_internal.h: Make sure the regex code compile
with non-GCC compilers by hiding attributes.
2003-12-16 Jakub Jelinek <>
Paolo Bonzini <>
* posix/regexec.c (group_nodes_into_DFAstates): Never produce
dests_ch items that are empty.
2003-12-14 Paolo Bonzini <>
* posix/regexec.c (check_arrival): Remove duplicate test.
2003-12-15 Ulrich Drepper <>
* posix/regcomp.c: Make !RE_ENABLE_I18N work again.
* posix/regex_internal.c: Likewise.
* posix/regexec.c: Likewise.
Patch by Paolo Bonzini.
2003-12-14 Paolo Bonzini <>
* posix/regex_internal.c (re_acquire_state_context):
Compare the node sets after all the other comparisons.
2003-12-13 Paolo Bonzini <>
* posix/regexec.c (find_subexp_node, check_arrival,
check_arrival_add_next_nodes, check_arrival_expand_ecl,
check_arrival_expand_ecl_sub, expand_bkref_cache):
Rename the FL_OPEN parameter to TYPE, which is either
OP_OPEN_SUBEXP or OP_CLOSE_SUBEXP. Callers adjusted.
2003-12-12 Andreas Jaeger <>
* sysdeps/unix/sysv/linux/x86_64/syscall.S: Pass also 6th argument
to syscall.
2003-12-11 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/kernel-features.h: Remove __ASSUME_VSYSCALL.
There might always be processes which have no vDSO.
* sysdeps/generic/dl-sysdep.c: Remove __ASSUME_VSYSCALL uses.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
2003-12-11 Carlos O'Donell <>
* sysdeps/generic/dl-fptr.c (COMPARE_AND_SWAP): Pass new and old
in the right order.
2003-12-01 Jes Sorensen <>
* rt/tst-clock.c (do_test): Print message when skipping
* sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: New file.
Provide CLOCK_PROCESS_CPUTIME_ID only if /proc/sal/itc_drift is 0.
2003-12-02 David Mosberger <>
* sysdeps/ia64/elf/initfini.c: Add unwind info.
* sysdeps/ia64/dl-machine.h (elf_machine_matches_host): Mark with
attribute "unused".
(elf_machine_dynamic): Mark with attributes "unused" and "const".
(elf_machine_runtime_setup): Likewise.
* sysdeps/generic/dl-fptr.c (make_fptr_table): Mark with
attribute "always_inline".
* sysdeps/ia64/dl-machine.h (__ia64_init_bootstrap_fdesc_table):
* Check whether compiler has libunwind support.
* (have-cc-with-libunwind): New variable.
* Makeconfig (gnulib): If have-cc-with-libunwind is "yes", also
mention -lunwind.
2003-11-12 David Mosberger <>
* sysdeps/unix/sysv/linux/ia64/sysdep.h: Define DO_CALL_VIA_BREAK.
Redefine DO_CALL to use vdso if supported, otherwise DO_CALL_VIA_BREAK.
* sysdeps/unix/sysv/linux/ia64/vfork.S: Use DO_CALL_VIA_BREAK()
instead of DO_CALL().
* sysdeps/unix/sysv/linux/ia64/clone2.S: Use break directly instead
of DO_CALL().
* sysdeps/unix/sysv/linux/ia64/brk.S (__curbrk): Restructure it
to take advantage of DO_CALL() macro.
* sysdeps/unix/sysv/linux/ia64/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/ia64/getcontext.S: Likewise.
* elf/rtld.c (dl_main): Restrict dl_sysinfo_dso check to first
program header. On ia64, the check failed previously because
there are two program headers.
2003-12-10 Andreas Jaeger <>
Ruediger Oertel <>
* sysdeps/alpha/fpu/e_sqrt.c: Mark sqrt_data as used.
2003-12-07 Ulrich Drepper <>
* sysdeps/i386/fpu/s_nexttowardf.c: Construct overflow value correctly.
* sysdeps/i386/fpu/s_nexttoward.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_nexttoward.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_nexttoward.c: Likewise.
* sysdeps/generic/s_nexttowardf.c: Likewise.
* math/Makefile (tests): Add bug-nexttoward.
* math/bug-nexttoward.c: New file.
* sysdeps/generic/s_nextafter.c: Make sure overflow exception is set.
* sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise.
* math/bug-nextafter.c (main): Add tests for overflow and negative
2003-12-06 Ulrich Drepper <>
* math/Makefile (tests): Add bug-nextafter.
* math/bug-nextafter.c: New file.
* sysdeps/generic/s_nextafter.c: Construct overflow value correctly.
* sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise.
* math/ (nextafter_test): Add test for overflow after
+/-FLT_MAX etc.
2003-12-04 Steven Munroe <>
* sysdeps/powerpc/fpu/fgetexcptflg.c (__fegetexceptflag): Add masking
of fenv.
* sysdeps/powerpc/nofpu/fgetexcptflg.c (__fegetexceptflag): Likewise.
2003-12-05 Martin Schwidefsky <>
* sysdeps/s390/s390-32/elf/setjmp.S (setjmp, __setjmp): Add END
* sysdeps/s390/s390-64/elf/setjmp.S (setjmp, __setjmp): Likewise.
* sysdeps/s390/s390-32/sysdep.h (ENTRY): Add cfi_startproc directive.
(END): Add cfi_endproc directive.
* sysdeps/s390/s390-64/sysdep.h (ENTRY, END): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/socket.S (__socket): Remove
cfi_startproc and cfi_endproc directive.
* sysdeps/unix/sysv/linux/s390/s390-64/socket.S (__socket): Likewise.
* sysdeps/s390/s390-32/addmul_1.S (__mpn_addmul_1): Add CFI directives.
* sysdeps/s390/s390-32/add_n.S (__mpn_add_n): Likewise.
* sysdeps/s390/s390-64/add_n.S (__mpn_add_n): Likewise.
* sysdeps/s390/s390-32/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
* sysdeps/s390/s390-64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
* sysdeps/s390/s390-32/mul_1.S (__mpn_mul_1): Likewise.
* sysdeps/s390/s390-32/sub_n.S (__mpn_sub_n): Likewise.
* sysdeps/s390/s390-64/sub_n.S (__mpn_sub_n): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S (__mmap64): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/mmap.S (__mmap): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/syscall.S (syscall): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/syscall.S (syscall): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S (__syscall_error):
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S (__syscall_error):
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add CFI
directives. Move thread_start out of ENTRY/PSEUDO_END block to
make backchain terminate.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise.
* sysdeps/s390/s390-32/backtrace.c (trace_arg): New structure.
(unwind_backtrace, unwind_getip): New variables.
(init, __backchain_backtrace, backtrace_helper): New functions.
(__backtrace): Use unwind info for backtrace instead of backchain
walking if the unwind functions can be found.
* sysdeps/s390/s390-64/backtrace.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c: New file.
* sysdeps/unix/sysv/linux/s390/sys/procfs.h (ELF_NGREG32): New #define.
(elf_greg_t32, elf_gregset_t32, elf_fpregset_t32): New types.
(elf_prstatus32, elf_prpsinfo32): New structures.
(prgregset32_t, prfpregset32_t, prstatus32_t, prpsinfo32_t): New types.
* scripts/data/ New file.
* scripts/data/ New file.
2003-11-30 Petter Reinholdtsen <>
* stdlib/strfmon.c: Correct formatting of international currency
values. The international currency formatting should prefer the
int_* values if they are set for a locale, and use the domestic
values if the int_* values are unset.
2003-12-03 Jakub Jelinek <>
* posix/Makefile (distribute): Add BOOST.tests.
(tests): Add tst-boost, depend on tst-boost-mem.
(generated): Add tst-boost-mem and tst-boost.mtrace.
(tst-boost-ARGS, tst-boost-ENV): Set.
($(objpfx)tst-boost-mem): New.
* posix/tst-boost.c: New test.
* posix/BOOST.tests: New file.
* posix/Makefile (distribute): Add PCRE.tests.
(tests): Add tst-pcre, depend on tst-pcre-mem.
(generated): Add tst-pcre-mem and tst-pcre.mtrace.
(tst-pcre-ARGS, tst-pcre-ENV): Set.
($(objpfx)tst-pcre-mem): New.
* posix/tst-pcre.c: New test.
* posix/PCRE.tests: New file.
2003-12-02 Jakub Jelinek <>
* intl/locale.alias: Use nb_NO instead of no_NO for bokm.l.
* sysdeps/powerpc/fpu/libm-test-ulps: Regenerated.
* sysdeps/s390/fpu/libm-test-ulps: Regenerated.
2003-12-03 Ulrich Drepper <>
* locale/programs/locarchive.c (enlarge_archive): Print size info
only in verbose mode.
* locale/iso-3166.def: Three letter code of Romania changed.
2003-12-02 Roland McGrath <>
* scripts/config.sub: Update from master, timestamp='2003-10-20'.
* scripts/config.guess: Update from master, timestamp='2003-10-20'.
2003-11-30 Andreas Jaeger <>
* (fno-unit-at-a-time): Define.
* Add test for -fno-unit-at-a-time.
Fix text for -fpie.
* csu/Makefile (CFLAGS-initfini.s): Add $(fno_unit_at_a_time).
* locale/Makefile (CFLAGS-loadlocale.c): Likewise.
2003-12-01 Automatic
* version.h (VERSION): Bump to 2.3.3.
2003-11-30 Andreas Jaeger <>
* stdio-common/vfprintf.c: Do not inline buffered_vfprintf to
decrease stack usage.
2003-11-30 Andreas Schwab <>
* sysdeps/unix/sysv/linux/m68k/sysdep.h (PSEUDO_ERRVAL)
2003-11-29 Ulrich Drepper <>
* misc/mntent_r.c (decode_name): Be compatible with util-linux and
recognize \134 as well.
2003-10-09 H.J. Lu <>
* sysdeps/ia64/fpu/fraiseexcpt.c: Don't include <asm/fpu.h>.
2003-10-08 H.J. Lu <>
* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Don't include
(struct ia64_fpreg): New definition.
* sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Don't include
(ELF_NGREG): New #define.
(ELF_NFPREG): Likewise.
(elf_greg_t): New type.
(elf_gregset_t): Likewise.
(elf_fpreg_t): Likewise.
(elf_fpregset_t): Likewise.
2003-10-08 H.J. Lu <>
* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Include
(__ptrace_request): Add PTRACE_GETREGS and PTRACE_SETREGS.
(pt_all_user_regs): New type.
2003-10-10 Simon Josefsson <>
* argp/argp-namefrob.h [!_LIBC]: Include mempcpy.h, strcase.h,
strchrnul.h, strndup.h (from gnulib).
* argp/argp-parse.c: Add alloca.h include snippet verbatim from
Autoconf manual.
* argp/argp-help.c: Replace alloca.h include snipper with verbatim
Autoconf manual version.
* argp/argp.h: Map __restrict to restrict or empty string when
necessary, copied verbatim from posix/regex.h.
2003-10-09 Steven Munroe <>
* Makefile: Allow for c++-types-$(config-machine)-$(config-os).data in
addition to c++-types-$(base-machine)-$(config-os).data.
* scripts/data/ New file.
* scripts/data/ New file.
2003-11-28 Ulrich Drepper <>
* misc/mntent_r.c (decode_name): Fix decoding of tab, add decoding
of newline.
* manual/sysinfo.texi (mtab): Adjust description accordingly.
Reported by
* sysdeps/x86_64/fpu/libm-test-ulps: Add some more minor changes
to compensate other setup.
2003-11-27 Andreas Jaeger <>
* sysdeps/x86_64/fpu/libm-test-ulps: Add ulps for new atan2 test.
* math/ (atan2_test): Add test that run infinitly.
Reported by "Willus" <>.
2003-11-27 Michael Matz <>
* sysdeps/ieee754/dbl-64/mpsqrt.c (fastiroot): Fix 64-bit problem
with wrong types.
2003-11-28 Jakub Jelinek <>
* posix/regexec.c (acquire_init_state_context): Make inline.
Add always_inline attribute.
(check_matching): Add BE macro. Move if (cur_state->has_backref)
into if (dfa->nbackref).
(sift_states_backward): Fix comment.
(transit_state): Add BE macro. Move if (next_state->has_backref)
into if (dfa->nbackref && next_state). Don't check for next_state
!= NULL twice.
* posix/regcomp.c (peek_token): Use opr.ctx_type instead of opr.idx
(parse_expression): Only call init_word_char if word context will be
* posix/bug-regex11.c (tests): Add new tests.
* posix/tst-regex.c: Include getopt.h.
(timing): New variable.
(main): Set timing to 1 if --timing argument is present.
Add 2 new tests.
(run_test, run_test_backwards): Handle timing.
2003-11-27 Jakub Jelinek <>
* posix/regex_internal.h (re_string_t): Remove mbs_case field.
Add offsets, valid_raw_len, raw_len, raw_stop, mbs_allocated and
offsets_needed fields. Change icase, is_utf8 and map_notascii
type from int bitfield to unsigned char.
(build_wcs_upper_buffer): Change prototype to return int.
(re_string_peek_byte_case, re_string_fetch_byte_case): Remove
defines, add prototypes.
* posix/regex_internal.c (re_string_allocate): Don't initialize
stop here. Don't initialize mbs_case. Set valid_raw_len.
Use mbs_allocated instead of MBS_* macros.
(re_string_construct): Don't initialize stop and valid_len here.
Don't initialize mbs_case. Use mbs_allocated instead of MBS_*
macros. Reallocate buffers if build_wcs_upper_buffer converted
too few bytes. Set valid_len to bufs_len only for single byte
no translation and set in that case valid_raw_len as well.
(re_string_realloc_buffers): Reallocate offsets if not NULL.
Use mbs_allocated instead of MBS_ALLOCATED. Don't reallocate
(re_string_construct_common): Initialize raw_len, mbs_allocated,
stop and raw_stop.
(build_wcs_buffer): Apply pstr->trans before mbrtowc instead of
after it. Set valid_raw_len. Don't set mbs_case.
(build_wcs_upper_buffer): Return REG_NOERROR or REG_ESPACE.
Only use the fast path if !pstr->offsets_needed. Apply pstr->trans
before mbrtowc instead of after it. If upper case character
uses different number of bytes than lower case, goto to the
slow path. Don't call towupper unnecessarily twice. Set
valid_raw_len as well. Handle in the slow path the case if
lower and upper case use different number of characters.
Don't set mbs_case.
(re_string_skip_chars): Use valid_raw_len instead of valid_len.
(build_upper_buffer): Don't set mbs_case. Add BE macro. Set
(re_string_translate_buffer): Set mbs instead of mbs_case. Set
(re_string_reconstruct): Use raw_len/raw_stop to initialize
len/stop. Clear valid_raw_len and offsets_needed when clearing
valid_len. Use mbs_allocated instead of MBS_* macros.
Check original offset against valid_raw_len instead of valid_len.
Remove mbs_case handling. Adjust valid_raw_len together with
valid_len. If is_utf8 and looking for tip context, apply
pstr->trans first. If buffers start with partial multi-byte
character, initialize mbs array as well if mbs_allocated.
Check return value of build_wcs_upper_buffer.
(re_string_peek_byte_case): New function.
(re_string_fetch_byte_case): New function.
(re_string_destruct): Use mbs_allocated instead of MBS_ALLOCATED.
Don't free mbs_case. Free offsets.
* posix/regcomp.c (init_dfa): Only check if charset name is UTF-8
if mb_cur_max == 6.
* posix/regexec.c (re_search_internal): Initialize input.raw_stop
as well. Use valid_raw_len instead of valid_len when looking
through fastmap. Adjust registers through input.offsets.
(extend_buffers): Allow build_wcs_upper_buffer to fail.
* posix/bug-regex18.c (tests): Enable #ifdefed out tests. Add new
2003-11-26 Jakub Jelinek <>
* posix/regexec.c (check_subexp_limits): Only check close
subexpression limitation if one is found. Formatting.
(sift_states_backward, check_arrival, check_arrival_add_next_nodes):
* posix/bug-regex11.c (tests): Enable most #ifdefed out tests.
Add new test.
2003-11-26 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_PROT_GROWSUPDOWN): Define for 2.6.1 and up.
* sysdeps/unix/sysv/linux/dl-execstack.c: Omit compatibility code
2003-11-26 Andreas Jaeger <>
* sysdeps/unix/sysv/linux/dl-execstack.c
(_dl_make_stack_executable): Set dl_stack_flags always for
2003-06-22 Petter Reinholdtsen <>
* locale/program/ld-monetary.c: Only check the first three
characters in int_curr_symbol against ISO-4217, to make the
separator character used by a locale independent of the content
in iso-4217.def.
* locale/iso-4217.def: Remove the space character from all
currency values to get the new test code in ld-monetary.c working.
2003-11-21 David Mosberger <>
* elf/soinit.c (_fini): Put _fini() in .init_array section if
2003-11-25 Ulrich Drepper <>
* sysdeps/i386/fpu/bits/mathinline.h: Introduce __libc_sqrtl symbol.
Define it appropriately after last change. Use it where __sqrtl
was used.
2003-11-25 H.J. Lu <>
* sysdeps/i386/fpu/bits/mathinline.h (sqrt): Don't inline
sqrt for gcc 3.3 and above.
2003-11-25 Ulrich Drepper <>
* posix/runptests.c (main): Make errors fatal.
* posix/PTESTS: One test in GA135 and GA136 check functionality
which seems not guaranteed.
2003-11-25 Jakub Jelinek <>
* posix/regexec.c (re_search_internal): If prune_impossible_nodes
returned REG_NOMATCH, set match_last to -1. Don't initialize
pmatch[0] needlessly. Fix comment.
(prune_impossible_nodes): Don't segfault on NULL state_log entry.
(set_regs): Fix comment.
* posix/regcomp.c (parse_bracket_exp): Only set has_plural_match
(build_charclass_op): Set has_plural_match if adding both
* posix/bug-regex11.c (tests): Fix register values for one commented
out test. Add new tests.
* posix/regex_internal.c (re_string_allocate): Make sure init_len
is at least dfa->mb_cur_max.
(re_string_reconstruct): If is_utf8, don't fall back into
re_string_skip_chars just because idx points into a middle of
valid UTF-8 character. Instead, set the wcs bytes which correspond
to the partial character bytes to WEOF.
* posix/regexec.c (re_search_internal): Allocate input.bufs_len + 1
instead of dfa->nodes_len + 1 state_log entries initially.
* posix/bug-regex20.c (main): Uncomment backwards case insensitive
2003-11-24 Jakub Jelinek <>
* posix/regex_internal.h (re_token_t): Add word_char bit. Add
(re_dfa_t): Add sb_char field.
(bitset_mask): New function.
* posix/regcomp.c (free_dfa_content): Free sb_char.
(init_dfa): Don't initialize word_char unnecessarily.
Initialize sb_char.
(duplicate_node): Don't duplicate !word_char CHARACTERs with
NEXT_WORD_CONSTRAINT constraint or word_char CHARACTERs with
NEXT_NOTWORD_CONSTRAINT. Return -1 in *new_idx instead.
(duplicate_node_closure): Handle clone_dest == -1 from
(peek_token): Initialize word_char bit.
(parse_expression, parse_dup_op): Add comments.
(parse_bracket_exp): Don't set bitmask bits for multi-byte char
starting bytes here at the beginning. Mask off the bits right
before creating SIMPLE_BRACKET.
(build_charclass_op): Likewise.
* posix/regexec.c (group_nodes_into_DFAstates) <case OP_PERIOD>: Only
set accept bits for single-byte characters.
(group_nodes_into_DFAstates): Don't rely on characters 0 .. 127
being single byte encoded and the rest multi-byte.
* posix/bug-regex19.c (tests): Add new tests.
(do_mb_tests): Initialize t to *test.
(main): Fail even on do_mb_tests errors.
2003-11-23 Ulrich Drepper <>
* posix/regexec.c: Correct several memory allocation problems.
Add more BE.
* posix/regex_internal.c: Likewise.
* posix/regcomp.c: Likewise.
* posix/regexec.c: Add const in a number of places.
* posix/regex_internal.h: Make EPSILON_BIT a macro to help
debugging. Its value isn't important.
2003-11-22 Ulrich Drepper <>
* posix/PTESTS: Fix first test of GA143.
2003-11-21 Ulrich Drepper <>
* posix/regex_internal.c (re_dfa_add_node): Add BE, reallocation
isn't likely.
* locale/programs/charmap.c (charmap_read): If encoding is found
not ASCII compatible, set enc_not_ascii_compatible.
* locale/programs/charmap.h: Declare enc_not_ascii_compatible.
* locale/programs/ld-ctype.c (ctype_startup): If
enc_not_ascii_compatible is set, initialize to_nonascii to 1.
2003-11-22 Jakub Jelinek <>
* elf/rtld.c (process_envvars): Only honor LD_USE_LOAD_BIAS
if !__libc_enable_secure.
* sysdeps/generic/ldsodefs.h (_dl_use_load_bias): New _rtld_global
* elf/rtld.c (_rtld_global): Initialize _dl_use_load_bias field.
(dl_main): Set GL(dl_use_load_bias) default.
(process_envvars): Set GL(dl_use_load_bias) from LD_USE_LOAD_BIAS.
* elf/dl-support.c (_dl_use_load_bias): New variable.
* elf/dl-load.c (_dl_map_object_from_fd): Mask c->mapstart
with GL(dl_use_load_bias).
* sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add
* sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Remove.
(EXTRA_LD_ENVVARS_13): ... this. Remove case at the beginning.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS):
Don't undefine first. Remove EXTRA_LD_ENVVARS_LINUX.
2003-11-21 Ulrich Drepper <>
* posix/regcomp.c (duplicate_node): Remove unnecessary local variable.
* posix/regcomp.c (re_dfa_add_tree_node): Make fourth parameter a
pointer. Adjust callers.
* posix/regcomp.c (fetch_token): Change interface to match
peek_token. This avoids some copying and reduces code size.
2003-11-21 Jakub Jelinek <>
* posix/bug-regex19.c (tests): Add more tests.
* posix/bug-regex11.c: And one more commented out test.
* posix/tst-rxspencer.c (mb_tests): Don't run identical multi-byte
tests multiple times unnecessarily.
* posix/bug-regex19.c (BRE, ERE): Define.
(tests): Add many new tests, remove UTF-8 ones.
(do_one_test, do_mb_tests): New functions.
(main): Rewritten using do_one_test and do_mb_tests.
2003-11-20 Ulrich Drepper <>
* posix/PTESTS: Fix first test in GA143.
2003-11-20 Jakub Jelinek <>
* posix/regex_internal.h (re_dfastate_t): Remove trtable_search.
Add word_trtable.
* posix/regex_internal.c (create_newstate_common, free_state):
Don't free trtable_search.
* posix/regexec.c (check_matching): Remove fl_search argument.
(transit_state_sb): Likewise. #ifdef out as unused.
(build_trtable): Remove fl_search argument. Set state->word_trtable
and state->trtable. Build separate word and non-word tables if
multi-byte and they differ for some character.
(transit_state): Remove fl_search argument. Don't update
state->trtable here. Handle state->word_trtable.
#ifdef out unused call to transit_state_sb.
(re_search_internal): Update check_matching caller.
(group_nodes_into_DFAstates): Don't clear non-ascii chars in accepts
bitmask for multi-byte locales.
* posix/bug-regex19.c (tests): Enable some commented out tests, add
2 new tests.
* posix/tst-rxspencer.c (mb_tests): Don't test [[=b=]] for now as
multi-byte. Don't run identical multi-byte tests multiple times
(main): Check setlocale return value.
* posix/Makefile (tst-rxspencer-ARGS): Add --utf8 argument.
(tst-rxspencer-ENV): Remove MALLOC_TRACE, add LOCPATH.
($(objpfx)tst-rxspencer-mem): Run another tst-rxspencer test
here, without --utf8 argument but with MALLOC_TRACE.
2003-11-19 Jakub Jelinek <>
* posix/regexec.c (extend_buffers): Don't allocate
twice as big state_log as needed. Don't modify pstr->valid_len
for mb_cur_max == 1 !icase !trans.
* posix/regcomp.c (free_bin_tree): Removed.
(create_tree): Add dfa argument. Don't call re_malloc for
each tree, instead allocate from str_tree_storage.
(re_dfa_add_tree_node): New function.
(free_dfa_content): Handle freeing if dfa->nodes == NULL
or dfa->state_table == NULL.
(re_compile_internal): Call free_dfa_content if init_dfa
fails. Call free_workarea_compile, re_string_destruct
and free_dfa_content for most of the other failure paths.
(init_dfa): Initialize str_tree_storage_idx.
Don't clear any fields on allocation failure.
(free_workarea_compile): Free str_tree_storage chunks
instead of free_bin_tree (dfa->str_tree).
(parse): Call re_dfa_add_tree_node instead of re_dfa_add_node
followed by create_tree. Add dfa argument to remaining
create_tree calls. Remove new_idx variable. Remove calls
to free_bin_tree.
(parse_reg_exp, parse_branch, parse_expression, parse_sub_exp,
parse_dup_op, parse_bracket_exp, build_charclass_op): Likewise.
(duplicate_tree): Remove calls to free_bin_tree, add dfa
argument to create_tree.
* posix/regex_internal.h (BIN_TREE_STORAGE_SIZE): Define.
(bin_tree_storage_t): New type.
(re_dfa_t): Add str_tree_storage and str_tree_storage_idx
* posix/Makefile (tests): Add bug-regex21.
(generated): Add bug-regex21-mem, bug-regex21.mtrace,
tst-rxspencer-mem and tst-rxspencer.mtrace.
(tests): Depend on $(objpfx)bug-regex21-mem
and $(objpfx)tst-rxspencer-mem.
(bug-regex21-ENV, tst-rxspencer-ENV): Set.
($(objpfx)bug-regex21-mem, $(objpfx)tst-rxspencer-mem): New.
* posix/tst-rxspencer.c (main): Add call to mtrace.
Free line at the end.
* posix/bug-regex21.c: New test.
2003-11-19 Ulrich Drepper <>
* posix/bug-regex20.c: Correct invalid UTF-8 sequences.
* posix/regex_internal.c (build_wcs_upper_buffer): If mbrtowc
fails, just use the byte, do no fancy conversions.
* posix/regex_internal.h (re_string_first_byte): Use ->valid_len
not ->len.
(re_string_is_single_byte_char): Likewise.
2003-11-18 Ulrich Drepper <>
* posix/regexec.c (get_subexp): After calling get_subexp_sub
reload buf and bkref_str. Little optimization by avoiding memcmp.
2003-11-14 David Mosberger <>
* sysdeps/unix/sysv/linux/ia64/sysdep.h
(GAS_ALIGN_BREAKS_UNWIND_INFO): Define this macro to indicate
that all existing GAS versions have a problem with .align inside
a function.
* sysdeps/ia64/memccpy.S: Work around GAS_ALIGN_BREAKS_UNWIND_INFO bug.
* sysdeps/ia64/memcpy.S: Likewise.
* sysdeps/ia64/memset.S: Likewise.
* sysdeps/ia64/memmove.S: Likewise. Also move the jump-table to
out of .text into .rodata, where it belongs.
* sysdeps/unix/sysv/linux/ia64/pipe.S: There is no need to
save/restore input-arguments, because they're necessarily
preserved by the kernel to support syscall-restart.
2003-11-18 Jakub Jelinek <>
* posix/regex_internal.h (re_token_type_t): Remove unused ALT,
END_OF_RE_TOKEN_T and SUBEXP. Reorder values. Add OP_UTF8_PERIOD
(IS_EPSILON_NODE): Just test if EPSILON_BIT is set.
(ACCEPT_MB_NODE): Return 1 for OP_UTF8_PERIOD as well.
* posix/regex_internal.c (create_ci_newstate, create_cd_newstate):
(re_string_reconstruct): Set valid_len for single byte char searching
with no translation and case sensitivity.
* posix/regcomp.c (re_compile_fastmap_iter, calc_first): Handle
(re_compile_internal): Don't call optimize_utf8 if preg->translate
!= NULL.
(optimize_utf8): Remove BACK_SLASH case.
Transform OP_PERIOD into OP_UTF8_PERIOD if the searching can be
(parse_bracket_exp): Don't create SIMPLE_BRACKET if it doesn't have
any bits set and COMPLEX_BRACKET is used.
* posix/regexec.c (transit_state_mb): Fix comment typo.
(group_nodes_into_DFAstates, check_node_accept): Handle
(check_node_accept_bytes): Likewise. Reorder slightly so that
re_string_char_size_at and re_string_elem_size_at are called
only when needed.
* posix/bug-regex20.c (BRE, ERE): Define.
(tests): Use them to make lines shorter. Expect . to be
optimized. Add lots of new tests.
(main): Run (ATM just case sensitive) test with backwards searching
as well.
2003-11-18 Jakub Jelinek <>
* io/bug-ftw4.c: Include string.h.
* posix/fnmatch.c (mbsinit): Remove define.
2003-11-17 Jakub Jelinek <>
* posix/regcomp.c (optimize_utf8): Optimize multi-byte chars as
* posix/bug-regex20.c (tests): Add new tests. Multi-byte char
followed by dup operator is expected to be optimized.
* posix/regexec.c (check_node_accept_bytes): Move nrules and j
variables to the block where they are only used, initialize
nrules only immediately before using it.
2003-11-15 Andreas Jaeger <>
* sysdeps/x86_64/fpu/s_scalbnl.S: New file.
* sysdeps/x86_64/fpu/s_truncl.S: New file.
* sysdeps/x86_64/fpu/s_nearbyintl.S: New file.
* sysdeps/x86_64/fpu/s_floorl.S: New file.
* sysdeps/x86_64/fpu/s_ilogbl.S: New file.
* sysdeps/x86_64/fpu/e_remainderl.S: New file.
* math/ (floor_test): Test also ±0.25.
(ceil_test): Test -0.25.
2003-11-17 Ulrich Drepper <>
* sysdeps/posix/getaddrinfo.c: Add support for destination address
selection according to RFC 3484.
2003-11-15 Ulrich Drepper <>
* posix/regex_internal.h: Add forward declaration of re_dfa_t.
Replace last two parameters of re_string_allocate and
re_string_construct with pointer to DFA.
(re_dfa_t): Add map_notascii field.
* posix/regcomp.c (re_compile_internal): Add call of
(init_dfa): Initialize map_notascii.
* posix/regex_internal.c: Adjust definitions of re_string_allocate
and re_string_construct.
Pass DFA to re_string_construct. Adjust definition. Initialize
map_notascii field.
(build_wcs_upper_buffer): If map_notascii is zero use simplified
method to map ASCII values to upper case.
* posix/regex.c: Include localeinfo.h.
* posix/regexec.c: Adjust call of re_string_allocate.
* locale/langinfo.h: Add _NL_CTYPE_MAP_TO_NONASCII.
* locale/localeinfo.h (LIMAGIC): Change value.
* locale/categories.def. Add entry for _NL_CTYPE_MAP_TO_NONASCII.
* locale/C-ctype.h: Likewise.
* locale/programs/ld-ctype.c: Compute whether any mapping maps from
ASCII to non-ASCII value. Write out that value.
* wcsmbs/mbsinit.c: Undef mbsinit and __mbsinit.
* include/wchar.h: Provide inline versions of mbsinit and __mbsinit.
2003-11-14 Jakub Jelinek <>
* posix/tst-rxspencer.c (check_match): @ without any following
characters must match only end of string.
(main): Fix filename in error message.
2003-11-12 David Mosberger <>
* sysdeps/ia64/dl-machine.h: Force inlining of
2003-11-13 Andreas Jaeger <>
* math/Makefile (CFLAGS-test-float.c): Add -fno-builtin.
(CFLAGS-test-double.c): Likewise.
(CFLAGS-test-ldouble.c): Likewise.
(CPPFLAGS-test-ifloat.c): Likewise.
(CPPFLAGS-test-idouble.c): Likewise.
(CPPFLAGS-test-ildoubl.c): Likewise.
* math/ (ceil_test): Test ceil (0.25).
2003-11-04 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/ifaddrs.c: Make sure it's the kernel who
sends the netlink data.
* sysdeps/unix/sysv/linux/check_pf.c: Likewise.
2003-11-13 Jakub Jelinek <>
* posix/regcomp.c (optimize_utf8): Optimize even if SIMPLE_BRACKET
with no bits set for >= 0x80 chars is seen.
* posix/bug-regex20.c (tests): Add new tests. Expect [ABC] to be
(main): Run all tests with RE_ICASE as well.
2003-11-13 Ulrich Drepper <>
* posix/Makefile: Add rules to build and run tst-rxspencer.
(distribute): Add rxspencer/tests and rxspencer/COPYRIGHT.
* posix/tst-rxspencer.c: New file.
* posix/rxspencer/tests: New file.
* posix/rxspencer/COPYRIGHT: New file.
Patch mostly by Jakub Jelinek.
* posix/regcomp.c (parse_bracket_exp): Don't check for range if