(distribute): Add iso_11548-1.c.
* iconvdata/gconv-modules: Add entries for ISO 11548-1.
* iconvdata/TESTS: Add entry for ISO 11548-1.
[BZ 1872]
* iconvdata/iso_11548-1.c: New file.
* iconvdata/testdata/ISO_11548-1: New file.
* iconvdata/testdata/ISO_11548-1..UTF8: New file.
Patch by Samuel Thibault <samuel.thibault@ens-lyon.org>.
* inet/netinet/icmp6.h: More updates for RFC3542.
* inet/netinet/ip6.h: Likewise.
* sysdeps/unix/sysv/linux/bits/in.h: Adjust for current kernel sources.
Patch by David L Stevens <dlstevens@us.ibm.com>.
epoll_wait): Align with poll, make cancelable.
2005-11-15 Jakub Jelinek <jakub@redhat.com>
* io/sys/stat.h (fstatat): Don't use __THROW together with
__REDIRECT_NTH.
fchownat, and unlinkat.
(static-only-routines): Add fstatat and fstatat64.
(tests): Add tst-unlinkat, tst-fstatat, tst-futimesat, tst-renameat,
and tst-fchownat.
* io/Versions [GLIBC_2.4]: Add fchownat, __fxstatat, __fxstatat64,
and unlinkat.
* io/fcntl.h: Define AT_FDCWD, AT_SYMLINK_NOFOLLOW, and AT_REMOVEDIR.
* io/fstatat.c: New file.
* io/fstatat64.c: New file.
* io/sys/stat.h: Declare fstatat, fstatat64, __fxstatat, __fxstatat64
and define fstatat and fstatat64 inline functions.
* libio/stdio.h: Declare renameat.
* misc/Makefile (routines): Add futimesat.
* misc/Versions [GLIBC_2.4]: Add futimesat.
* posix/unistd.h: Declare fchownat and unlinkat.
* stdio-common/Makefile (routines): Add renameat.
* stdio-common/Versions [GLIBC_2.4]: Add renameat.
* sysdeps/generic/fchownat.c: New file.
* sysdeps/generic/futimesat.c: New file.
* sysdeps/generic/fxstatat.c: New file.
* sysdeps/generic/fxstatat64.c: New file.
* sysdeps/generic/renameat.c: New file.
* sysdeps/generic/unlinkat.c: New file.
* sysdeps/unix/sysv/linux/fchownat.c: New file.
* sysdeps/unix/sysv/linux/futimesat.c: New file.
* sysdeps/unix/sysv/linux/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/fxstatat64.c: New file.
* sysdeps/unix/sysv/linux/renameat.c: New file.
* sysdeps/unix/sysv/linux/unlinkat.c: New file.
* sysdeps/unix/sysv/linux/alpha/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/i386/fchownat.c: New file.
* sysdeps/unix/sysv/linux/i386/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/m68k/fchownat.c: New file.
* sysdeps/unix/sysv/linux/m68k/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/powerpc/fchownat.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/sh/fchownat.c: New file.
* sysdeps/unix/sysv/linux/sh/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/fchownat.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/fxstatat64.c: New file.
* time/sys/time.h: Declare futimesat.
* include/fcntl.h: Declare __atfct_seterrno.
* sysdeps/unix/sysv/linux/openat.c (__atfct_seterrno): New function.
Split out from openat code and called.
(do_test): Allow openat to fail with ENOSYS. Handle AT_FDCWD.
* sysdeps/generic/openat.c: Handle AT_FDCWD.
* sysdeps/generic/openat64.c: Likewise.
* io/tst-unlinkat.c: New file.
* io/tst-fstatat.c: New file.
* io/tst-futimesat.c: New file.
* io/tst-renameat.c: New file.
* io/tst-fchownat.c: New file.
* io/tst-openat.c: Don't fail if openat is not implemented.
* sysdeps/unix/sysv/linux/powerpc/chown.c: Don't provide backward
compatibility code if new kernel is guaranteed.
* time/sys/time.h: Add a few nonnull attributes.
* io/Makefile (routines): Add openat and openat64.
(tests): Add tst-openat.
* io/Versions: Add openat and openat64 for GLIBC_2.4.
* sysdeps/generic/openat.c: New file.
* sysdeps/generic/openat64.c: New file.
* sysdeps/unix/sysv/linux/openat.c: New file.
* sysdeps/unix/sysv/linux/openat64.c: New file.
* io/tst-openat.c: New file.
* sysdeps/unix/sysv/linux/device-nrs.h: Add info for /dev/full.
sysdeps/.../machine/CPU subdirs, and give error if none are found.
* configure: Regenerated.
* config.make.in (with-cpu): New substituted variable.
* Makeconfig (+cflags): Add -mcpu=$(with-cpu) if set.
2005-11-04 Roland McGrath <roland@redhat.com>
[BZ #1089]
* configure.in: Change order of add-on sysdeps directories,
so they are interleaved with main sysdeps directories.
* configure: Regenerated.
2005-11-03 Roland McGrath <roland@redhat.com>
[BZ #1548]
* sunrpc/svc.c (svc_getreqset): Use ffsl instead of ffs on fd_mask.
From Jay Lan <jlan@engr.sgi.com>.
2005-11-03 Ulrich Drepper <drepper@redhat.com>
[BZ #1774]
* sysdeps/posix/getaddrinfo.c (gaih_inet): Don't use simple
gethostbyname2 lookup if AI_V4MAPPED|AI_ALL is set.
* sysdeps/posix/getaddrinfo.c (gaih_inet): Avoid alloca when possible
while looking for scope delimiter.
Some pretty printing.
res_nclose. Take addition parameter which determines whether
addresses should be freed.
(res_nclose): Call __res_iclose.
(res_thread_freeres): Likewise.
* resolv/res_data.c (res_close): Call __res_iclose.
* resolv/res_libc.c (res_init): No need to separately free the
addresses.
(__res_maybe_init): Likewise.
* resolv/res_send.c: Use __res_iclose instead of res_nclose.
* resolv/Versions [GLIBC_PRIVATE]: Add __res_iclose.
* include/resolv.h: Declare __res_iclose.
Add libc_hidden_proto for __res_iclose.
* hesiod/hesiod.c (__hesiod_res_set): No need to free name server
addresses here again.
2005-10-22 Roland McGrath <roland@redhat.com>
[BZ #1254]
* sysdeps/mach/hurd/getpeername.c (__getpeername): Fix last change.
From Samuel Thibault <samuel.thibault@ens-lyon.org>.
2005-10-19 Ulrich Drepper <drepper@redhat.com>
* iconvdata/Makefile (modules): Add IBM1364, IBM1371, IBM1388, IBM1390,
and IBM1399.
(distribute): Add ibm1364.c, ibm1364.h, ibm1371.c, ibm1371.h,
ibm1388.c, ibm1388.h, ibm1390.c, ibm1390.h, ibm1399.c, and ibm1399.h.
* iconvdata/TESTS: Add entries for IBM1364, IBM1371, IBM1388, IBM1390,
and IBM1399.
* iconvdata/gconv-modules: Likewise.
* iconvdata/ibm1364.c: New file.
* iconvdata/ibm1364.h: New file.
* iconvdata/ibm1371.c: New file.
* iconvdata/ibm1371.h: New file.
* iconvdata/ibm1388.c: New file.
* iconvdata/ibm1388.h: New file.
* iconvdata/ibm1390.c: New file.
* iconvdata/ibm1390.h: New file.
* iconvdata/ibm1399.c: New file.
* iconvdata/ibm1399.h: New file.
* iconvdata/testdata/IBM1364: New file.
* iconvdata/testdata/IBM1364..UTF8: New file.
* iconvdata/testdata/IBM1371: New file.
* iconvdata/testdata/IBM1371..UTF8: New file.
* iconvdata/testdata/IBM1388: New file.
* iconvdata/testdata/IBM1388..UTF8: New file
* iconvdata/testdata/IBM1390: New file.
* iconvdata/testdata/IBM1390..UTF8: New file.
* iconvdata/testdata/IBM1399: New file.
* iconvdata/testdata/IBM1399..UTF8: New file.
Original patch by Masahide Washizawa <washi@jp.ibm.com>.
Return EOF not 0.
* sysdeps/unix/sysv/linux/readonly-area.c (__readonly_area): Also
allow EACCES errors when opening /rpco for now.
* wctype/wcfuncs.c: Don't use expensive wide char lookups in isw*
functions if character is in ASCII range.
* wctype/wcfuncs_l.c: Likewise.
* sysdeps/unix/sysv/linux/sh/sh3/getcontext.S: New file.
* sysdeps/unix/sysv/linux/sh/sh4/getcontext.S: New file.
* sysdeps/unix/sysv/linux/sh/sh3/setcontext.S: New file.
* sysdeps/unix/sysv/linux/sh/sh4/setcontext.S: New file.
* sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S: New file.
* sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S: New file.
* sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.h: New file.
* sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h: New file.
* sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Removed.
* sysdeps/unix/sysv/linux/sh/sh3/sys/ucontext.h: New file.
* sysdeps/unix/sysv/linux/sh/sh4/sys/ucontext.h: New file.
..
2005-09-13 Jakub Jelinek <jakub@redhat.com>
[BZ #1228]
* include/limits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Make sure these
are defined for -D_GNU_SOURCE or -D_ISOC99_SOURCE even when not
-std=c99.
2005-08-05 Alfred M. Szmidt <ams@gnu.org>
[BZ #1252]
* sysdeps/mach/hurd/setitimer.c (restart_itimer): Move static fn
forward decl out of function body.
* sysdeps/mach/hurd/profil.c: Likewise.
[BZ #1249]
* sysdeps/mach/hurd/getpeername.c (__getpeername): Respect *LEN
byte limit when setting ADDR->sa_family.
Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
2005-10-16 Roland McGrath <roland@frob.com>
[BZ #1253]
* sysdeps/mach/hurd/i386/init-first.c (init): Make cast kosher.
(_hurd_stack_setup): Don't declare with arguments and ellipsis.
Use __builtin_frame_address and __builtin_return_address.
(_dl_init_first): Likewise.
* sysdeps/mach/hurd/i386/init-first.c (_cthread_init_routine): Declare
as weak extern.
(init): Check for it being undefined.
2005-08-20 Paul Eggert <eggert@cs.ucla.edu>
[BZ #1224]
* posix/regcomp.c (init_word_char, duplicate_node_closure,
fetch_token, peek_token_bracket, build_range_exp,
build_collating_symbol): Remove forward decls; no longer needed
now that we use prototypes.
__alloc_dir.
(__alloc_dir): Only close descriptor on error if new parameter is true.
* sysdeps/unix/fdopendir.c (fdopendir): Pass extra argument to
__alloc_dir. Don't close fd on error.
* include/dirent.h (__alloc_dir): Adjust prototype.
* include/sys/mman.h (__mremap): Add ellipsis.
* malloc/memusage.c: Adjust mremap wrapper for optional additional
parameter.
* time/asctime.c (asctime_internal): New function, derived from
asctime_r. Takes additional parameter which is the buffer length.
Use snprintf instead sprintf, if it overflows, fail.
(asctime_r): Call asctime_internal with 26 as buffer length.
(asctime): Call asctime_internal with length of internal buffer.
* time/Makefile (tests): Add bug-asctime_r.
* time/bug-asctime_r.c: New file.
* time/asctime.c (__asctime_r): Check for tm_year computation to
overflow and fail in this case.
* time/Makefile (tests): Add bug-asctime.
* time/bug-asctime.c: New file.
* sysdeps/generic/s_csqrt.c (__csqrt): For zero real part, return
principal square root.
* sysdeps/generic/s_csqrtf.c (__csqrtf): Likewise.
* sysdeps/generic/s_csqrtl.c (__csqrtl): Likewise.
* math/libm-test.inc (csqrt_test): Add test for returning
principal value.
* malloc/malloc.c (struct malloc_state): Replace max_fast with flags
fields.
(global_max_fast): New variable.
(set_max_fast): Change to not require arena parameter and to modify
global_max_fast. Change all callers.
(get_max_fast): New macro. Use this instead of directly accessing
now removed max_fast arena member.
(have_fastchunks): Use flags instead of max_fast.
(clear_fastchunks): Likewise.
(set_fastchunks): Likewise.
(contiguous): Likewise.
(noncontiguous): Likewise.
(set_noncontiguous): Likewise.
(set_contiguous): Likewise.
(malloc_init_state): Explicitly set FASTCHUNKS_BIT. Call set_max_fast
only for main arena.
* malloc/hooks.c (public_sET_STATe): Adjust set_max_fast use.
2005-10-07 Roland McGrath <roland@redhat.com>
[BZ #1438]
* include/features.h: Make tests on _FORTIFY_SOURCE and __OPTIMIZE__
friendly to -Wundef.
(__USE_FORTIFY_LEVEL): Always define it, to 0 if nothing else.
Use ARCH_PLTENTER_MEMBERS and ARCH_PLTEXIT_MEMBERS macros if defined.
* elf/tst-auditmod1.c: Include <tst-audit.h> to define more
architecture-specific code.
* sysdeps/generic/tst-audit.h: New file.
* elf/Makefile (distribute): Add it.
check_arrival_add_next_nodes): Avoid using uninitialized variable.
* malloc/memusage.c (dest): Fix a bunch of warnings on 32-bit arches.
* sysdeps/i386/fpu/libm-test-ulps: Update for GCC 4.0.x.
check_arrival_add_next_nodes): Avoid using uninitialized variable.
* malloc/memusage.c (dest): Fix a bunch of warnings on 32-bit arches.
* sysdeps/i386/fpu/libm-test-ulps: Update for GCC 4.0.x.
IBM1008, IBM1008_420, IBM1097, IBM1112, IBM1123, IBM1130, IBM1140,
IBM1141, IBM1142, IBM1143, IBM1144, IBM1145, IBM1146, IBM1147, IBM1148,
IBM1149, IBM1166, IBM1167, IBM4517, IBM4899, IBM4909, IBM4971,
IBM5347, IBM9030, IBM9066, IBM9448, IBM12712, IBM16804.
(distribute): Add ibm803.c, ibm803.h, ibm901.c, ibm901.h, ibm902.c,
ibm902.h, ibm921.c, ibm921.h, ibm1008.c, ibm1008.h, ibm1008_420.c,
ibm1097.c, ibm1097.h, ibm1112.c, ibm1112.h, ibm1123.c, ibm1123.h,
ibm1130.c, ibm1130.h, ibm1140.c, ibm1140.h, ibm1141.c, ibm1141.h,
ibm1142.c, ibm1142.h, ibm1143.c, ibm1143.h, ibm1144.c, ibm1144.h,
ibm1145.c, ibm1145.h, ibm1146.c, ibm1146.h, ibm1147.c, ibm1147.h,
ibm1148.c, ibm1148.h, ibm1149.c, ibm1149.h, ibm1166.c, ibm1166.h,
ibm1167.c, ibm1167.h, ibm4517.c, ibm4517.h, ibm4899.c, ibm4899.h,
ibm4909.c, ibm4909.h, ibm4971.c, ibm4971.h, ibm5347.c, ibm5347.h,
ibm9030.c, ibm9030.h, ibm9066.c, ibm9066.h, ibm9448.c, ibm9448.h,
ibm12712.c, ibm12712.h, ibm16804.c, ibm16804.h.
* iconvdata/TESTS: Add entries for new modules.
* iconvdata/gconv-modules: Likewise.
* iconvdata/ibm803.c: New file.
* iconvdata/ibm803.h: New file.
* iconvdata/ibm901.c: New file.
* iconvdata/ibm901.h: New file.
* iconvdata/ibm902.c: New file.
* iconvdata/ibm902.h: New file.
* iconvdata/ibm921.c: New file.
* iconvdata/ibm921.h: New file.
* iconvdata/ibm1008.c: New file.
* iconvdata/ibm1008.h: New file.
* iconvdata/ibm1008_420.c: New file.
* iconvdata/ibm1097.c: New file.
* iconvdata/ibm1097.h: New file.
* iconvdata/ibm1112.c: New file.
* iconvdata/ibm1112.h: New file.
* iconvdata/ibm1123.c: New file.
* iconvdata/ibm1123.h: New file.
* iconvdata/ibm1130.c: New file.
* iconvdata/ibm1130.h: New file.
* iconvdata/ibm1140.c: New file.
* iconvdata/ibm1140.h: New file.
* iconvdata/ibm1141.c: New file.
* iconvdata/ibm1141.h: New file.
* iconvdata/ibm1142.c: New file.
* iconvdata/ibm1142.h: New file.
* iconvdata/ibm1143.c: New file.
* iconvdata/ibm1143.h: New file.
* iconvdata/ibm1144.c: New file.
* iconvdata/ibm1144.h: New file.
* iconvdata/ibm1145.c: New file.
* iconvdata/ibm1145.h: New file.
* iconvdata/ibm1146.c: New file.
* iconvdata/ibm1146.h: New file.
* iconvdata/ibm1147.c: New file.
* iconvdata/ibm1147.h: New file.
* iconvdata/ibm1148.c: New file.
* iconvdata/ibm1148.h: New file.
* iconvdata/ibm1149.c: New file.
* iconvdata/ibm1149.h: New file.
* iconvdata/ibm1166.c: New file.
* iconvdata/ibm1166.h: New file.
* iconvdata/ibm1167.c: New file.
* iconvdata/ibm1167.h: New file.
* iconvdata/ibm4517.c: New file.
* iconvdata/ibm4517.h: New file.
* iconvdata/ibm4899.c: New file.
* iconvdata/ibm4899.h: New file.
* iconvdata/ibm4909.c: New file.
* iconvdata/ibm4909.h: New file.
* iconvdata/ibm4971.c: New file.
* iconvdata/ibm4971.h: New file.
* iconvdata/ibm5347.c: New file.
* iconvdata/ibm5347.h: New file.
* iconvdata/ibm9030.c: New file.
* iconvdata/ibm9030.h: New file.
* iconvdata/ibm9066.c: New file.
* iconvdata/ibm9066.h: New file.
* iconvdata/ibm9448.c: New file.
* iconvdata/ibm9448.h: New file.
* iconvdata/ibm12712.c: New file.
* iconvdata/ibm12712.h: New file.
* iconvdata/ibm16804.c: New file.
* iconvdata/ibm16804.h: New file.
* iconvdata/testdata/IBM803: New file.
* iconvdata/testdata/IBM803..UTF8: New file.
* iconvdata/testdata/IBM901: New file.
* iconvdata/testdata/IBM901..UTF8: New file.
* iconvdata/testdata/IBM902: New file.
* iconvdata/testdata/IBM902..UTF8: New file.
* iconvdata/testdata/IBM921: New file.
* iconvdata/testdata/IBM921..UTF8: New file.
* iconvdata/testdata/IBM1008: New file.
* iconvdata/testdata/IBM1008..UTF8: New file.
* iconvdata/testdata/IBM1097: New file.
* iconvdata/testdata/IBM1097..UTF8: New file.
* iconvdata/testdata/IBM1112: New file.
* iconvdata/testdata/IBM1112..UTF8: New file.
* iconvdata/testdata/IBM1123: New file.
* iconvdata/testdata/IBM1123..UTF8: New file.
* iconvdata/testdata/IBM1130: New file.
* iconvdata/testdata/IBM1130..UTF8: New file.
* iconvdata/testdata/IBM1140: New file.
* iconvdata/testdata/IBM1140..UTF8: New file.
* iconvdata/testdata/IBM1141: New file.
* iconvdata/testdata/IBM1141..UTF8: New file.
* iconvdata/testdata/IBM1142: New file.
* iconvdata/testdata/IBM1142..UTF8: New file.
* iconvdata/testdata/IBM1143: New file.
* iconvdata/testdata/IBM1143..UTF8: New file.
* iconvdata/testdata/IBM1144: New file.
* iconvdata/testdata/IBM1144..UTF8: New file.
* iconvdata/testdata/IBM1145: New file.
* iconvdata/testdata/IBM1145..UTF8: New file.
* iconvdata/testdata/IBM1146: New file.
* iconvdata/testdata/IBM1146..UTF8: New file.
* iconvdata/testdata/IBM1147: New file.
* iconvdata/testdata/IBM1147..UTF8: New file.
* iconvdata/testdata/IBM1148: New file.
* iconvdata/testdata/IBM1148..UTF8: New file.
* iconvdata/testdata/IBM1149: New file.
* iconvdata/testdata/IBM1149..UTF8: New file.
* iconvdata/testdata/IBM1166: New file.
* iconvdata/testdata/IBM1166..UTF8: New file.
* iconvdata/testdata/IBM1167: New file.
* iconvdata/testdata/IBM1167..UTF8: New file.
* iconvdata/testdata/IBM4517: New file.
* iconvdata/testdata/IBM4517..UTF8: New file.
* iconvdata/testdata/IBM4899: New file.
* iconvdata/testdata/IBM4899..UTF8: New file.
* iconvdata/testdata/IBM4909: New file.
* iconvdata/testdata/IBM4909..UTF8: New file.
* iconvdata/testdata/IBM4971: New file.
* iconvdata/testdata/IBM4971..UTF8: New file.
* iconvdata/testdata/IBM5347: New file.
* iconvdata/testdata/IBM5347..UTF8: New file.
* iconvdata/testdata/IBM9030: New file.
* iconvdata/testdata/IBM9030..UTF8: New file.
* iconvdata/testdata/IBM9066: New file.
* iconvdata/testdata/IBM9066..UTF8: New file.
* iconvdata/testdata/IBM9448: New file.
* iconvdata/testdata/IBM9448..UTF8: New file.
* iconvdata/testdata/IBM12712: New file.
* iconvdata/testdata/IBM12712..UTF8: New file.
* iconvdata/testdata/IBM16804: New file.
* iconvdata/testdata/IBM16804..UTF8: New file.
* iconvdata/run-iconv-test.sh: Run ASCII->encoding->ASCII suntzus
test only if $subset is N.
2005-09-29 Roland McGrath <roland@redhat.com>
[BZ #1392]
* posix/sys/wait.h (__WAIT_INT): Rewrite using an initializer,
in case __typeof yields a const-qualified type.
* dirent/Versions: Export fdopendir for GLIBC_2.4.
* dirent/Makefile (routines): Add fdopendir.
(tests): Add tst-fdopendir.
* dirent/tst-fdopendir.c: New file.
* include/dirent.h: Declare __alloc_dir.
* sysdeps/generic/fdopendir.c: New file.
* sysdeps/unix/fdopendir.c: New file.
* sysdeps/unix/opendir.c: Split off back part of opendir into new
function __alloc_dir.
2005-09-06 Paul Eggert <eggert@cs.ucla.edu>
Ulrich Drepper <drepper@redhat.com>
[BZ #1302]
Change bitset word type from unsigned int to unsigned long int,
as this has better performance on typical 64-bit hosts. Change
bitset type name to bitset_t.
* posix/regcomp.c (build_equiv_class, build_charclass):
(build_range_exp, build_collating_symbol):
Prefer bitset_t to re_bitset_ptr_t in prototypes, when the actual
argument is a bitset. This is merely a style issue, but it makes
it clearer that an entire array is expected.
(re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps,
lower_subexp): Adjust for new bitset_t definition.
(lower_subexp, parse_bracket_exp, built_charclass_op): Likewise.
* posix/regex_internal.h (bitset_set, bitset_clear, bitset_contain,
bitset_not, bitset_merge, bitset_set_all, bitset_mask): Likewise.
* posix/regexec.c (check_dst_limits_calc_pos_1,
check_subexp_matching_top, build_trtable, group_nodes_into_DFAstates):
Likewise.
* posix/regcomp.c (utf8_sb_map): Don't assume initializer
== 0xffffffff.
* posix/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
All uses changed.
(BITSET_WORDS): Renamed from BITSET_UINTS. All uses changed.
(bitset_word_t): New type, replacing 'unsigned int' for bitset uses.
All uses changed.
(BITSET_WORD_MAX): New macro.
(bitset_set, bitset_clear, bitset_contain, bitset_empty,
(bitset_set_all, bitset_copy): Adjust for bitset_t change.
(bitset_empty, bitset_copy):
Prefer sizeof (bitset_t) to multiplying it out ourselves.
(bitset_not_merge): Remove; unused.
(bitset_contain): Return bool, not unsigned int with one bit on.
All callers changed.
* posix/regexec.c (build_trtable): Don't assume bitset_t has no
stricter alignment than re_node_set; do this by defining a new
internal type struct dests_alloc and using it to allocate memory.
2005-09-27 Ulrich Drepper <drepper@redhat.com>
[BZ #1230]
* stdlib/strtod_l.c (STRNCASECMP): Always use C locale object.
(TOLOWER_C): Define. Use it when recognizing inf and nan.
* stdlib/Makefile (tests): Add bug-strtod2.
* stdlib/bug-strtod2.c: New file.
* stdlib/cxa_atexit.c (__new_exitfn): Rewrite to preserve order in
which the functions were registered.
* dlfcn/Makefile: Add rules to build and run bug-atexit1 and
bug-atexit2.
* dlfcn/bug-atext1.c: New file.
* dlfcn/bug-atext1-lib.c: New file.
* dlfcn/bug-atext2.c: New file.
* dlfcn/bug-atext2-lib.c: New file.
* malloc/arena.c (ptmalloc_lock_all): If global lock already taken
by the same thread, just bump the counter.
(ptmalloc_unlock_all): If counter for recursive locks hasn't reached
zero, don't do anything else.
* malloc/Makefile (tests): Add tst-mallocfork.
* malloc/tst-mallocfork.c: New file.
2005-01-11 Thorsten Kukuk <kukuk@suse.de>
[BZ #652]
* posix/getconf.c: Add new option -a to print the names of
the current system configuration variables to stdout.
Based on patch from Josh Aas <josha@sgi.com>.
* sysdeps/posix/getaddrinfo.c (fls): New function.
(gaih_inet): Don't use ffs, use fls. Convert address to native byte
order first.
* posix/Makefile (tests): Add tst-rfc3484.
* posix/tst-rfc3484.c: New file.
* manual/stdio.texi (Hook Functions): Correct type of position
parameter of seeker and fix fallout of the change in the text.
* wcsmbs/tst-mbrtowc2.c: New file.
* wcsmbs/Makefile (tests): Add tst-mbrtowc2.
2005-09-25 Ulrich Drepper <drepper@redhat.com>
[BZ #714]
* iconv/loop.c [!STORE_REST] (SINGLE): Correctly record number of
left-over bytes and store them correctly.
* iconvdata/tst-iconv6.c: New file.
* iconvdata/Makefile (tests): Add tst-iconv6.
2005-09-23 Ulrich Drepper <drepper@redhat.com>
[BZ #394]
* libio/fmemopen.c (fmemopen_write): Return 0 instead of -1 if
nothing can be written.
* libio/iofopncook.c (_IO_cookie_write): If something went wrong,
set error bit.
2005-09-20 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/lddlibc4.c (main): Use execv, not execl.
[BZ #1346]
* elf/dl-load.c (_dl_map_object_from_fd) [HAVE_Z_RELRO]: Do relro
magic on __stack_prot only if [SHARED]. Skip mprotect if __stack_prot
lies outside the page-rounded-down relro region.
2005-09-17 Ulrich Drepper <drepper@redhat.com>
[BZ #1051]
* wctype/wctype.h: Remove stray __END_NAMESPACE_C99.
* stdlib/stdlib.h: Use __END_NAMESPACE_STD instead of
__END_NAMESPACE_C99 in one place.
* scripts/begin-end-check.pl: New file.
Patch by Ralph Loader <suckfish@ihug.co.nz>.
* Makefile: Add rules to run scripts/begin-end-check.pl.
* sysdeps/unix/sysv/linux/mips/getpagesize.c: New file.
2005-09-16 Andreas Jaeger <aj@suse.de>
[BZ #1047]
* sysdeps/unix/sysv/linux/mips/getpagesize.c: New file.
2005-09-16 Maciej W. Rozycki <macro@linux-mips.org>
[BZ #933]
* sysdeps/unix/sysv/linux/mips/brk.c (__brk): Load the number of
the syscall immediately before invocation.
* sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S (__ioctl): Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/syscall.S (syscall): Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S (__ioctl): Use
macros to handle GP.
* sysdeps/unix/sysv/linux/mips/mips64/syscall.S (syscall):
Likewise. Update inaccurate comments.
2005-09-16 Maciej W. Rozycki <macro@linux-mips.org>
[BZ #933]
* sysdeps/unix/sysv/linux/mips/brk.c (__brk): Load the number of
the syscall immediately before invocation.
* sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S (__ioctl): Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/syscall.S (syscall): Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S (__ioctl): Use
macros to handle GP.
* sysdeps/unix/sysv/linux/mips/mips64/syscall.S (syscall):
Likewise. Update inaccurate comments.
2005-08-29 Thomas Schwinge <schwinge@nic-nac-project.de>
[BZ #1261]
* manual/memory.texi (Hooks for Malloc): Correct prototype of
my_init_hook and definition of my_free_hook.
(setup): Remove FUNC_NAME and ALL arguments, assume they are always
"setnetgrent" and 1.
(endnetgrent_hook): New function.
(internal_endnetgrent): Use it.
(__internal_setnetgrent_reuse): Use it. Adjust setup caller.
If status is NSS_STATUS_SUCCESS, yet action is continue, call
endnetgrent hook.
(internal_getnetgrent_r): Use __nss_lookup_function rather than
setup. Recompute getfct pointer after successful
__internal_setnetgrent_reuse. Don't use __nss_next.
(innetgr): Use __nss_lookup_function instead of __nss_lookup.
Adjust setup caller.
* nss/nss_files/files-netgrp.c (_nss_files_endnetgrent): Always clear
data_size and cursor. Add libnss_files_hidden_proto and
libnss_files_hidden_def.
(_nss_files_setnetgrent): Call _nss_files_endnetgrent on failure.
* nis/nss_nis/nis-netgrp.c (internal_endnetgrent): Always clear
data_size and cursor.
(_nss_nis_setnetgrent): Don't call internal_endnetgrent.
(_nss_nis_getnetgrent_r): Remove result->cursor == NULL handling.
* nis/nss_nisplus/nisplus-netgrp.c (internal_endnetgrent): Always clear
data_size and position.
(_nss_nisplus_setnetgrent): Don't call internal_endnetgrent.
2005-09-09 Ulrich Drepper <drepper@redhat.com>
* nss/getent.c (netgroup_keys): Call endnetgrent.
(main): Call mtrace.
* nss/nss_files/files-netgrp.c (_nss_files_setnetgrent): We don't
need locking for the stream. Use feof_unlocked.
2005-09-09 Jakub Jelinek <jakub@redhat.com>
2005-09-09 Jakub Jelinek <jakub@redhat.com>
[BZ #1318]
* locale/loadarchive.c (_nl_load_locale_from_archive): Free
normalized_codeset even if p was already normalized.
Reported by Jaroslav Snajdr <jsnajdr@kerio.com>.
2005-07-11 Derek R. Price <derek@ximbiot.com>
[BZ #1061]
* sysdeps/generic/glob.c (glob): Only a 0 return from
getlogin_r means success, according to POSIX 1003.2.
2005-06-23 Paul Eggert <eggert@cs.ucla.edu>
[BZ #1033]
* time/mktime.c: Import from gnulib.
The following macros are now consistent with other gnulib code.
This does not change mktime's behavior.
(TYPE_IS_INTEGER): New macro.
(time_t_is_integer): Use it.
(TYPE_TWOS_COMPLEMENT): New macro.
(twos_complement_arithmetic): Use it.
(TYPE_ONES_COMPLEMENT): New macro.
(TYPE_MINIMUM, TYPE_MAXIMUM): Now supports signed-magnitude.
mktime doesn't use this, but the code now matches other gnulib code.
(ranged_convert): Pacify GCC 4.0 in a different way, which
generates a few bytes less code.
(ranged_convert, __mktime_internal): When calling a function via a
pointer P, use P () rather than (*P) (), as we now assume C89 or
better.
(get_subexp): Likewise.
(check_arrival): Likewise.
(check_arrival_expand_ecl): Mark DFA parameter as const.
(check_arrival_expand_ecl_sub): Likewise.
(check_arrival_expand_ecl): Mark eclosure as const.
mbrtowc for very simple UTF-8 case.
2005-09-01 Paul Eggert <eggert@cs.ucla.edu>
* posix/regex_internal.c (build_wcs_upper_buffer): Fix portability
bugs in int versus size_t comparisons.
2005-09-06 Ulrich Drepper <drepper@redhat.com>
* posix/regex_internal.c (re_acquire_state): Make DFA pointer arg
a pointer-to-const.
(re_acquire_state_context): Likewise.
* posix/regex_internal.h: Adjust prototypes.
2005-08-31 Jim Meyering <jim@meyering.net>
* posix/regcomp.c (search_duplicated_node): Make first pointer arg
a pointer-to-const.
* posix/regex_internal.c (create_ci_newstate, create_cd_newstate,
register_state): Likewise.
* posix/regexec.c (search_cur_bkref_entry, check_dst_limits):
(check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
(group_nodes_into_DFAstates): Likewise.
* posix/regexec.c (re_search_internal): Simplify update of
rm_so and rm_eo by replacing "if (A == B) A += C - B;"
with the equivalent of "if (A == B) A = C;".
2005-09-06 Ulrich Drepper <drepper@redhat.com>
* posix/regcomp.c (re_compile_internal): Change third parameter type
to size_t.
(init_dfa): Likewise. Make sure that arithmetic on pat_len doesn't
overflow.
* posix/regex_internal.h (struct re_dfa_t): Change type of nodes_alloc
and nodes_len to size_t.
* posix/regex_internal.c (re_dfa_add_node): Use size_t as type for
new_nodes_alloc. Check for overflow.
2005-08-31 Paul Eggert <eggert@cs.ucla.edu>
* posix/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
(optimize_subexps, lower_subexp):
Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
since the signed shift might overflow. Use 1u<<31 instead.
* posix/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
Likewise.
* posix/regexec.c (check_dst_limits_calc_pos_1): Likewise.
(check_subexp_matching_top): Likewise.
* posix/regcomp.c (optimize_subexps, lower_subexp):
Use CHAR_BIT rather than 8, for clarity.
* posix/regexec.c (check_dst_limits_calc_pos_1):
(check_subexp_matching_top): Likewise.
* posix/regcomp.c (init_dfa): Make table_size unsigned, so that we
don't have to worry about portability issues when shifting it left.
Remove no-longer-needed test for table_size > 0.
* posix/regcomp.c (parse_sub_exp): Do not shift more bits than there
are in a word, as the resulting behavior is undefined.
* posix/regexec.c (check_dst_limits_calc_pos_1): Likewise;
in one case, a <= should have been an <, and in another case the
whole test was missing.
* posix/regex_internal.h (BYTE_BITS): Remove. All uses changed to
the standard name CHAR_BIT.
next_last_offset.
(struct re_dfa_t): Remove unused member states_alloc.
* posix/regcomp.c (init_dfa): Don't initialize unused members.
2005-08-25 Paul Eggert <eggert@cs.ucla.edu>
* posix/regexec.c (set_regs): Don't alloca with an unbounded size.
alloca modernization/simplification for regex.
* posix/regex.c: Remove portability cruft for alloca. This no longer
needs to be at the start of the file, and can be moved into
regex_internal.h and simplified.
* posix/regex_internal.h: Include <alloca.h>.
(__libc_use_alloca) [!defined _LIBC]: New macro.
* posix/regexec.c (build_trtable): Remove "#ifdef _LIBC",
since the code now works outside glibc.
2005-09-06 Ulrich Drepper <drepper@redhat.com>
* include/regex.h: Remove use of _RE_ARGS.
2005-08-25 Paul Eggert <eggert@cs.ucla.edu>
* posix/regexec.c (find_recover_state): Change "err" to "*err".
2005-08-24 Paul Eggert <eggert@cs.ucla.edu>
* posix/regcomp.c (regerror): Pointer args are 'restrict',
as per POSIX.
* posix/regex.h (regerror): Likewise.
* manual/pattern.texi (POSIX Regexp Compilation): Likewise.
Similarly for regcomp and regexec. Also, first 2 args of regexec
and 2nd arg of regerror are const.
* posix/regex.c: Do not include <sys/types.h>, as POSIX no longer
requires this. (The code never needed it.)
2005-08-20 Paul Eggert <eggert@cs.ucla.edu>
* posix/regexec.c (sift_states_bkref): re_node_set_insert returns
int, not reg_errcode_t.
* posix/regex_internal.c (calc_state_hash): Put 'inline' before type,
since some broken compilers warn about it otherwise.
* posix/regcomp.c (create_initial_state): Remove duplicate decl.
2005-08-20 Paul Eggert <eggert@cs.ucla.edu>
* posix/regex.h (_RE_ARGS): Remove. No longer needed, since we assume
C89 or better. All uses removed.
2005-09-06 Ulrich Drepper <drepper@redhat.com>
* posix/regex.c: Prevent using C++ compilers.
2005-08-19 Paul Eggert <eggert@cs.ucla.edu>
* posix/regcomp.c (duplicate_node): Return new index, not an error
code, and let the caller return REG_ESPACE if out of space. This
removes an uninitialied-variable warning with GCC 4.0.1, and also
avoids taking the address of a local variable. All callers
changed.
2005-09-06 Ulrich Drepper <drepper@redhat.com>
* include/time.h (__strptime_internal): Rename parameter to avoid
bogus compiler warning.
2005-08-19 Jim Meyering <jim@meyering.net>
* posix/regexec.c (proceed_next_node): Redo local variables to
avoid GCC shadowing warnings.
2005-09-06 Ulrich Drepper <drepper@redhat.com>
* posix/regex_internal.c (re_acquire_state): Minor code rearrangement.
(re_acquire_state_context): Likewise.
2005-08-19 Paul Eggert <eggert@cs.ucla.edu>
* posix/regex_internal.c (re_string_realloc_buffers):
(re_node_set_insert, re_node_set_insert_last, re_dfa_add_node):
Rename local variables to avoid GCC shadowing warnings.
2005-07-08 Eric Blake <ebb9@byu.net>
Paul Eggert <eggert@cs.ucla.edu>
* posix/regcomp.c (init_dfa): Store __btowc value in wint_t, not
wchar_t. Remove now-unnecessary cast.
(build_range_exp): Likewise.
* stdio-common/tst-put-error.c: New file.
* libio/fileops.c (_IO_new_file_xsputn): If overflow fails and no more
data would have to be written signal error.
* libio/oldfileops.c (_IO_old_file_xsputn): Likewise.
* libio/fileops.c (_IO_new_file_overflow): Use NULL not 0.
2005-08-01 Bob Wilson <bob.wilson@acm.org>
Richard Sandiford <richard@codesourcery.com>
* sysdeps/ieee754/flt-32/e_hypotf.c (__ieee754_hypotf): Add missing
exponent bias to the value for 2^126.
2005-08-30 Jakub Jelinek <jakub@redhat.com>
Alan Modra <amodra@bigpond.net.au>
* elf/dl-addr.c (_dl_addr): Use DL_ADDR_SYM_MATCH macro.
* sysdeps/generic/ldsodefs.h (DL_ADDR_SYM_MATCH): Define.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h: New file.
(dbs): Initialize max_db_size fields.
(nscd_init): When mapping the database, use max_db_size as the
mapping size even if it is bigger than the file size.
* nscd/mem.c (mempool_alloc): When resizing the file make sure the
limit in max_db_size is not exceeded. Don't use mremap, just
posix_fallocate is enough (according to Linus). Use posix_fallocate
correctly.
* nscd/nscd.conf: Add max-db-size parameters.
* nscd/nscd.h (struct database_dyn): Add max_db_size field.
Define DEFAULT_MAX_DB_SIZE and DEFAULT_DATASIZE_PER_BUCKET.
Temporarily define TEMP_FAILURE_RETRY_VAL here.
* nscd/nscd_conf.c (nscd_parse_file): Parse max-db-size parameter
and add sanity checks for it.
* nscd/aicache.c (addhstaiX): Use send with MSG_NOSIGNAL not write to
send reply.
* nscd/connection.c (writeall): Likewise.
(handle_request): Likewise.
* nscd/grpcache.c (cache_addgr): Likewise.
* nscd/hstcache.c (cache_addhst): Likewise.
* nscd/initgrcache.c (addinitgroupsX): Likewise.
* nscd/nscd.c (parse_opt): Likewise.
* nscd/nscd_stat.c (send_stats): Likewise.
(receive_print_stats): Likewise.
* nscd/pwdcache.c (cache_addpw): Likewise.
sizeof (wchar_t) rather than multiplying __len by sizeof (wchar_t).
Pass __bos (__dst) / sizeof (wchar_t) to the *_chk routine.
* wcsmbs/bits/wchar2.h (mbsrtowcs, mbsnrtowcs): Likewise.
* debug/mbsnrtowcs_chk.c (__mbsnrtowcs_chk): Don't multiply
len by sizeof (wchar_t).
* debug/mbsrtowcs_chk.c (__mbsrtowcs_chk): Likewise.
* debug/mbstowcs_chk.c (__mbstowcs_chk): Likewise.
Fix type of SRC argument. Pass &SRC rather than SRC to
__mbsrtowcs.
* debug/wcstombs_chk.c (__wcstombs_chk): Pass &SRC rather than SRC
to __wcsrtombs.
* debug/tst-chk1.c: Include assert.h.
(do_test): Change enough array from VLA into a fixed size array.
Assert that MB_CUR_MAX is <= sizeof (enough). Use FAIL () macro
instead of print error details. Add several new tests.
Kill some unused variable warnings.
2005-08-17 Robert Love <rml@novell.com>
* sysdeps/unix/sysv/linux/sys/inotify.h: Add IN_MOVE_SELF event.
2005-08-19 Bruno Haible <bruno@clisp.org>
* intl/localealias.c (read_alias_file): In case of failure, close the
file descriptor and sort the array before returning.
2005-08-19 Ulrich Drepper <drepper@redhat.com>
* malloc/Makefile: Link libmemusage.so with ld.so.
* malloc/memusage.c: Use atomic operations for all counter and size
computations. Handle thread stacks.
* sysdeps/generic/memusage.h: Define memusage_cntr_t and
memusage_size_t.
* sysdeps/i386/i686/memusage.h: New file.
* include/atomic.h: Define atomic_max and atomic_min.
* debug/tst-chk1.c: Add tests for mbstowcs and wcstombs.
2005-08-10 Sergio Gelato <Sergio.Gelato@astro.su.se>
[BZ #1188]
* nis/nss_nis/nis-netgrp.c (_nss_nis_setnetgrent): Change assert check
from (len > 0) to (len >= 0).
2005-08-16 Ulrich Drepper <drepper@redhat.com>
* nis/nis_xdr.c (_xdr_nis_result): Fix type of res variable.
Reported by Thomas Schwinge.
2005-08-15 Jakub Jelinek <jakub@redhat.com>
* nis/nis_subr.c (nis_leaf_of_r): Handle buflen == 0 correctly.
2005-08-16 Ulrich Drepper <drepper@redhat.com>
* nss/getent.c (more_help): Use open_memstream instead of handling
memory allocation ourselves.
2005-08-16 Jay Fenlason <fenlason@redhat.com>
* nss/getent.c (parse_options): change the -s option to support
{database}:{search} to override /etc/resolv.conf for only the
specified database.
* misc/sys/syslog.h: Include <bits/syslog.h> for fortification.
* misc/Makefile (headers): Add bits/syslog.h.
* include/sys/syslog.h: Add __vsyslog_chk prototype and hidden_proto.
* sysdeps/generic/syslog.c: Change vsyslog function to __vsyslog_chk.
Call __vfprintf_chk if necessary. Make vsyslog a wrapper. Add
__syslog_chk.
* misc/Versions: Export __syslog_chk and __vsyslog_chk.
* nis/nis_xdr.c: Help gcc to avoid generating unnecessary wrapper
functions.
* debug/wcstombs_chk.c: New file.
* debug/Makefile (routines): Add mbstowcs_chk and wcstombs_chk.
* debug/Versions: Add __mbstowcs_chk and __wcstombs_chk.
* stdlib/bits/stdlib.h: Add definitions for mbstowcs and wcstombs.
* wcsmbs/bits/wchar2.h (mbsrtowcs): Pretty printing.
* string/test-memset.c (test_main): Use negative byte value in
* debug/tst-chk1.c (do_test): Add test for swprintf with format
being the last argument.
2005-07-21 Thorsten Kukuk <kukuk@suse.de>
* debug/getgroups_chk.c (__getgroups_chk): Fix return value.
* stdio-common/fxprintf.c: Include string.h.
2005-07-18 Roland McGrath <roland@redhat.com>
[BZ #869]
* Makerules ($(objpfx)stubs): Do cd into $(objdir) to reduce size of
objdump command line.
[BZ #1113]
length. Patch by Ivan Gyurdiev <ivg2@cornell.edu>.
* debug/confstr_chk.c: New file.
* debug/getdomainname_chk.c: New file.
* debug/getgroups_chk.c: New file.
* debug/gethostname_chk.c: New file.
* debug/getlogin_r_chk.c: New file.
* debug/ttyname_r_chk.c: New file.
* posix/bits/unistd.h: Add definitions for new debug versions.
* debug/tst-chk1.c: Add tests for new functions.
* debug/Versions: Export new functions.
* debug/Makefile (routines): Add new files.
* stdlib/bits/stdlib.h: Fix typo.
* manual/Makefile (libc/index.html): Depend on dir-add.texi.
* include/bits/wchar2.h: New file.
* wcsmbs/wchar.h: Include <bits/wchar2.h> if fortification is
requested.
* wcsmbs/wcsncpy.c: Add __wcsncpy alias.
* string/bits/string3.h: Add fortified stpncpy definitions.
* sysdeps/generic/stpncpy_chk.c: New file.
* libio/vswprintf.c: Move _IO_wstrnfile definition to strfile.h.
Export _IO_wstrn_jumps.
* libio/strfile.h: Define _IO_wstrnfile and declare _IO_wstrn_jumps.
* include/wchar.h: Declare __wcsncpy and __vswprintf_chk.
* debug/fgetws_chk.c: New file.
* debug/fgetws_u_chk.c: New file.
* debug/fwprintf_chk.c: New file.
* debug/swprintf_chk.c: New file.
* debug/vfwprintf_chk.c: New file.
* debug/vswprintf_chk.c: New file.
* debug/vwprintf_chk.c: New file.
* debug/wcpcpy_chk.c: New file.
* debug/wcpncpy_chk.c: New file.
* debug/wcscat_chk.c: New file.
* debug/wcscpy_chk.c: New file.
* debug/wcsncat_chk.c: New file.
* debug/wcsncpy_chk.c: New file.
* debug/wmemcpy_chk.c: New file.
* debug/wmemmove_chk.c: New file.
* debug/wmempcpy_chk.c: New file.
* debug/wmemset_chk.c: New file.
* debug/wprintf_chk.c: New file.
* debug/tst-chk1.c: Add tests for new functions.
* debug/Versions: Export new functions.
* debug/Makefile (routines): Add new functions.
(get_mapping): Use wait_on_socket instead of poll. The former handles
EINTR of poll correctly.
(__nscd_open_socket): Likewise.
(get_mapping): Make sure BUF is aligned correctly.
(get_mapping): Use munmap on correct pointer.
* stdlib/stdlib.h: Include <bits/stdlib.h> if fortification is
requested.
* Makefile (headers): Add bits/stdlib.h.
* include/bits/stdlib.h: New file.
* debug/Depend: New file.
* debug/ptsname_r_chk.c: New file.
* debug/realpath_chk.c: New file.
* debug/wctomb_chk.c: New file.
* debug/Makefile (routines): Add ptsname_r_chk, realpath_chk, and
wctomb_chk.
* debug/Versions: Export __ptsname_r_chk, __realpath_chk, and
__wctomb_chk.
* debug/tst-chk1.c: Add tests for __ptsname_r_chk, __realpath_chk, and
__wctomb_chk.
with own translation.
* sunrpc/xdr.c (xdr_hyper, xdr_u_hyper): When decoding, cast
t2 to uint32_t instead of ulong.
* sunrpc/Makefile (tests): Add tst-xdrmem.
* sunrpc/tst-xdrmem.c: New test.
* configure.in: Add --enable-stackguard-randomization option.
(ENABLE_STACKGUARD_RANDOMIZE): New define.
* config.h.in (ENABLE_STACKGUARD_RANDOMIZE): Add.
* sysdeps/unix/sysv/linux/dl-osinfo.h: Include stdint.h.
(_dl_setup_stack_chk_guard): New inline function.
* sysdeps/generic/dl-osinfo.h: Include stdint.h.
(_dl_setup_stack_chk_guard): New inline function.
* elf/rtld.c (__stack_chk_guard): New variable.
(dl_main): Remove all traces of TLS_INIT_TP_EXPENSIVE.
Set __stack_chk_guard to _dl_setup_stack_chk_guard (),
use THREAD_SET_STACK_GUARD if defined.
* elf/Versions (ld): Export __stack_chk_guard@@GLIBC_2.4.
* sysdeps/generic/libc-start.c (__stack_chk_guard): New variable.
(__libc_start_main): Set __stack_chk_guard to
_dl_setup_stack_chk_guard (), use THREAD_SET_STACK_GUARD if defined.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Remove all
traces of TLS_INIT_TP_EXPENSIVE.
* debug/Versions (libc): Export __stack_chk_fail@@GLIBC_2.4.
* debug/Makefile (routines): Add stack_chk_fail.
(static-only-routines): Add stack_chk_fail_local.
* debug/stack_chk_fail_local.c: New file.
* debug/stack_chk_fail.c: New file.
* elf/Makefile: Add rules to build and run tst-stackguard1{,-static}
tests.
* elf/tst-stackguard1.c: New file.
* elf/tst-stackguard1-static.c: New file.
* elf/stackguard-macros.h: New file.
implicitly used memcpy.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/truncate64.c
(truncate64): Use __truncate, not truncate.
(__have_no_truncate64): Renamed from have_no_truncate64.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/ftruncate64.c
(__have_no_truncate64): Renamed from have_no_truncate64.
* hesiod/hesiod.c (hesiod_init): Initialize classes. Fail if no
valid classes were given or if both are equal.
(hesiod_resolve): Use ctx->classes instead of hardcoded C_IN
and C_HS order.
(parse_config_file): Handle classes keyword.
* hesiod/README.hesiod: Mention addition of the classes keyword.
* config.h.in: Define HAVE_LIBAUDIT.
* config.make.in: Define have-libaudit.
* nscd/Makefile: If libaudit is available, link nscd with it.
* nscd/selinux.c: If HAVE_LIBAUDIT is defined, log using libaudit.
Patch by Steve Grubb <sgrubb@redhat.com>.
2005-06-13 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/clock_gettime.c (clock_gettime): Implement case
where HANDLED_REALTIME is not defined. [BZ #966]
2005-06-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/netlinkaccess.h (__netlink_sendreq,
__netlink_receive): Remove prototypes.
(__netlink_request): New prototype.
* sysdeps/unix/sysv/linux/ifaddrs.c: Include <alloca.h> and
<stdint.h>.
(__netlink_sendreq): Make static.
(__netlink_receive): Rename to...
(__netlink_request): ... this. Add type argument, call
__netlink_sendreq. If MSG_TRUNC is set after recvmsg, retry
with a bigger buffer. Don't record buffers that contain no
messages we are expecting.
(getifaddrs): Use __netlink_request instead of __netlink_sendreq
and __netlink_receive pairs. Formatting.
* sysdeps/unix/sysv/linux/if_index.c (if_nameindex_netlink): Use
__netlink_request instead of __netlink_sendreq and __netlink_receive
pair.
2005-06-13 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/unix/sysv/linux/netinet/if_tr.h: Don't include kernel
headers, instead copy important structs/defines.
2005-06-13 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (dl_main): Move DT_DEBUG setup before first
_dl_debug_state call.
real malloc in the catch object.
(_dl_catch_error): Forward information about malloc use to caller
in new parameter.
(_dl_out_of_memory): Make static.
* elf/dl-deps.c: Adjust callers of _dl_catch_error.
* elf/dl-libc.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/rtld.c: Likewise.
Add new --audit option.
* sysdeps/generic/ldsodefs.h: Remove _dl_out_of_memory declaration.
(rtld_global_ro._dl_signal_error): Add new parameter.
* include/dlfcn.h (_dl_catch_error): Add new parameter.
* dlfcn/dlfcn.c (_dlerror_run): Pass additional parameter to
_dl_catch_error. Only free if the returned newly value says so.
2005-05-30 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): If
GLRO(dl_osversion) has been already set to a value smaller than
_dl_discover_osversion (), don't overwrite it here.
* sysdeps/alpha/divl.S: Use it.
* sysdeps/alpha/divq.S: Likewise
* sysdeps/alpha/divqu.S: Likewise.
* sysdeps/alpha/reml.S: Likewise.
* sysdeps/alpha/remq.S: Likewise.
* sysdeps/alpha/remqu.S: Likewise.
* gmon/gmon.c: Add space in weak_alias use.
(pmap_getport): Use it to open a non-reserved socket to the portmapper
for TCP.
* include/rpc/pmap_clnt.h (__get_socket): Declare.
* sunrpc/pm_getmaps.c (pmap_getmaps): Use __get_socket to get an
non-reserved socket for the portmapper.
range to even lower ports.
2005-05-19 Richard Henderson <rth@redhat.com>
* sysdeps/unix/clock_gettime.c (clock_gettime): Fix typo around
CLOCK_REALTIME.
* sysdeps/ia64/bits/atomic.h (__arch_compare_and_exchange_bool_32_acq,
__arch_compare_and_exchange_bool_64_acq,
__arch_compare_and_exchange_val_32_acq,
__arch_compare_and_exchange_val_64_acq, atomic_exchange_and_add):
Use __sync builtin without _si or _di suffix.
2005-05-19 Jakub Jelinek <jakub@redhat.com>
[BZ #955]
* iconvdata/ibm939.c (BODY): Avoid segfaults with input characters
<UFFFF> and above.
2005-05-17 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/clock_getcpuclockid.c
(clock_getcpuclockid): Always return a defined value.
call ftruncate if offset is bigger than current size. Make sure
the file is offset + len bytes long if that is more than current size.
Don't overwrite previous content of the file.
* sysdeps/posix/posix_fallocate64.c (__posix_fallocate64_l64):
Likewise.
2005-04-28 Roland McGrath <roland@redhat.com>
[BZ #796]
* sysdeps/unix/sysv/linux/dl-sysdep.h: New file.
Define NEED_DL_SYSINFO_DSO for all platforms.
* sysdeps/generic/dl-sysdep.h: Remove multiple inclusion protection.
* sysdeps/alpha/dl-sysdep.h: Likewise.
Use #include_next instead of duplicating generic file's contents.
* sysdeps/ia64/dl-sysdep.h: Likewise.
* sysdeps/sparc/dl-sysdep.h: Likewise.
2005-03-22 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/powerpc64/memset.S (memset): Make ___memset local.
2005-03-07 Steven Munroe <sjmunroe@us.ibm.com>
[BZ #781]
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_TGKILL): Define for powerpc32/64 starting with 2.6.1.
(__ASSUME_UTIMES): Define for powerpc32/64 starting with 2.6.1.
(__ASSUME_FADVISE64_64_SYSCALL): Define for powerpc32 only starting
with 2.6.1.
(__ASSUME_WAITID_SYSCALL): Don't define for powerpc32/64.
2005-03-27 Bruno Haible <bruno@clisp.org>
Make it possible for multiple threads to use gettext() in different
locales.
* intl/dcigettext.c (HAVE_PER_THREAD_LOCALE): New macro.
(struct known_translation_t): If HAVE_PER_THREAD_LOCALE, add localename
field.
(transcmp): If HAVE_PER_THREAD_LOCALE, compare localename fields.
(DCIGETTEXT): If HAVE_PER_THREAD_LOCALE, fill the localename field in
search and newp.
* intl/tst-gettext4.c: New file.
* intl/tst-gettext4.sh: New file.
* intl/tst-gettext4-de.po: New file.
* intl/tst-gettext4-fr.po: New file.
* intl/tst-gettext5.c: New file.
* intl/tst-gettext5.sh: New file.
* intl/Makefile (distribute): Add tst-gettext4.sh, tst-gettext4-de.po,
tst-gettext4-fr.po, tst-gettext5.sh.
(multithread-test-srcs): New variable.
(test-srcs): Add its contents.
(tests): Depend on tst-gettext4.out, tst-gettext5.out.
(tst-gettext4.out, tst-gettext5.out): New rules.
(CFLAGS-tst-gettext4.c, CFLAGS-tst-gettext5.c): New variables.
Add rule for linking the multithread-test-srcs with the appropriate
thread-library.
2005-04-28 Ulrich Drepper <drepper@redhat.com>
* po/rw.po: New file. From translation team.
* rt/tst-cpuclock2.c: New file.
* rt/tst-cputimer1.c: New file.
* rt/tst-cputimer2.c: New file.
* rt/tst-cputimer3.c: New file.
* rt/Makefile (tests): Add them.
* sysdeps/unix/sysv/linux/kernel-posix-cpu-timers.h: New file.
* sysdeps/unix/sysv/linux/clock_getcpuclockid.c: New file.
* sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c
(HAS_CPUCLOCK): New macro.
(clock_getcpuclockid): Function removed.
#include the new linux file to define it instead.
* sysdeps/unix/clock_gettime.c [HP_TIMING_AVAIL] (hp_timing_gettime):
New function, broken out of ...
(clock_gettime) [HP_TIMING_AVAIL]: ... here. Call it.
(realtime_gettime): New function, broken out of ...
(clock_gettime) [! HANDLED_REALTIME]: ... here. Call it.
(clock_gettime) [SYSDEP_GETTIME_CPU]: Use new macro in default case.
* sysdeps/unix/sysv/linux/clock_gettime.c (SYSCALL_GETTIME): New macro.
(SYSDEP_GETTIME_CPUTIME): New macro.
(SYSDEP_GETTIME): Use both.
[! __ASSUME_POSIX_TIMERS] (maybe_syscall_gettime): New function, broken
out of ...
(SYSDEP_GETTIME): ... here. Use it.
[__NR_clock_gettime] (HANDLED_CPUTIME): Define it.
(SYSDEP_GETTIME_CPUTIME): New macro. Handle CPU timers by trying
kernel support and falling back to hp-timing code.
* sysdeps/posix/clock_getres.c
[HP_TIMING_AVAIL] (hp_timing_getres): New function, broken out of ...
(clock_getres) [HP_TIMING_AVAIL]: ... here. Call it.
(realtime_getres): New function, broken out of ...
(clock_getres) [! HANDLED_REALTIME]: ... here. Call it.
(clock_getres) [SYSDEP_GETRES_CPU]: Use new macro in default case.
* sysdeps/unix/sysv/linux/clock_getres.c (SYSCALL_GETRES): New macro.
(SYSDEP_GETRES_CPUTIME): New macro.
(SYSDEP_GETRES): Use both.
[! __ASSUME_POSIX_TIMERS] (maybe_syscall_getres): New function, broken
out of ...
(SYSDEP_GETRES): ... here. Use it.
[__NR_clock_getres] (HANDLED_CPUTIME): Define it.
(SYSDEP_GETRES_CPUTIME): New macro. Handle CPU timers by trying
kernel support and falling back to hp-timing code.
* sysdeps/unix/sysv/linux/clock_nanosleep.c: Handle
CLOCK_PROCESS_CPUTIME_ID and CLOCK_PROCESS_THREAD_ID specially,
translating to the kernel clockid_t for our own process/thread clock.
for the new error case.
2004-06-02 Dmitry V. Levin <ldv@altlinux.org>
Ranjani Murthy <ranmur@gmail.com>
* stdlib/canonicalize.c (__realpath): Change realpath(3) to
return NULL and set errno to ENOTDIR for such pathnames like
"/path/to/existing-non-directory/".
(_dl_close): If called recursively, just remember GC needs to be rerun
and decrease l_direct_opencount. Avoid GC if l_direct_opencount
decreased to 1. Rerun GC at the end if any destructor unloaded some
additional libraries.
* elf/Makefile: Add rules to build and run unload6 test.
* elf/unload6.c: New test.
* elf/unload6mod1.c: New file.
* elf/unload6mod2.c: New file.
* elf/unload6mod3.c: New file.
* malloc/hooks.c (mem2chunk_check): Add magic_p argument, set *magic_p
if magic_p is not NULL.
(top_check): Invoke MALLOC_FAILURE_ACTION if MORECORE failed.
(malloc_check): Fail if sz == -1.
(free_check): Adjust mem2chunk_check caller.
(realloc_check): Likewise. Fail if bytes == -1. If bytes == 0 and
oldmem != NULL, call free_check and return NULL. If reallocating
and returning NULL, invert magic byte again to make oldmem valid
region for further checking.
(memalign_check): Fail if bytes == -1.
* malloc/Makefile: Add rules to build and run tst-mcheck.
* malloc/tst-mcheck.c: New test.