* config.h.in: Add entry for HAVE_LIBIDN.
* configure.in: If libidn add-on present define HAVE_LIBIDN.
* Versions.def: Add entry for libcidn.
2004-03-07 Simon Josefsson <jas@extundo.com>
* 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
add-on.
2004-03-07 Ulrich Drepper <drepper@redhat.com>
2004-03-06 Ulrich Drepper <drepper@redhat.com>
* 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.
* 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.
* 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 <drepper@redhat.com>
* 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.
* 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.
2004-02-29 Paolo Bonzini <bonzini@gnu.org>
* 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 <jakub@redhat.com>
* sysdeps/sparc/sparc32/elf/start.S: Handle PIEs.
* sysdeps/sparc/sparc64/elf/start.S: Likewise.
2004-03-04 Jakub Jelinek <jakub@redhat.com>
* 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-02 Andreas Schwab <schwab@suse.de>
* 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 <drepper@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h: Add support for
__ASSUME_GETDENTS32_D_TYPE.
* sysdeps/unix/sysv/linux/getdents.c: For 2.6.4+ kernels you
getdents syscall again since it provides d_type information.
* manual/install.texi (Tools for Compilation): Autoconf 2.53 is
required.
* 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.
2004-02-24 Arnold D. Robbins <arnold@skeeve.com>
* 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 <beebe@math.utah.edu>
* 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-23 Jakub Jelinek <jakub@redhat.com>
* 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 <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Pop register
content also in case of an overflow in the parameter.
Reported by Momchil Velikov <velco@fadata.bg>.
2004-02-19 Carlos O'Donell <carlos@baldric.uwo.ca>
* 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-19 Jakub Jelinek <jakub@redhat.com>
* 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 <sjmunroe@us.ibm.com>
* 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 <sjmunroe@us.ibm.com>
* sysdeps/powerpc/powerpc64/Makefile: Use -finline-limit.
2004-02-19 Jakub Jelinek <jakub@redhat.com>
* 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.
vfork instead of fork.
2004-02-13 Steven Munroe <sjmunroe@us.ibm.com>
* 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-12 Jakub Jelinek <jakub@redhat.com>
* math/libm-test.inc (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.
Update.
2004-02-09 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/fpu/fclrexcpt.c (__feclearexcept): Don't touch bits
other than the status bits [BZ #10].
2004-02-06 Steven Munroe <sjmunroe@us.ibm.com>
* 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-05 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: Define
_HAVE_STAT_NSEC and _HAVE_STAT64_NSEC. Patch by Anton Blanchard.
* math/libm-test.inc (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.