* nscd/gai.c: Define __no_netlink_support if NEED_NETLINK is
defined and __ASSUME_NETLINK_SUPPORT is zero.
* sysdeps/unix/sysv/linux/Makefile (CFLAGS-gai.c): Add
-DNEED_NETLINK.
to rtld_errno.
* sysdeps/generic/errno.c [RTLD_PRIVATE_ERRNO] (rtld_errno): Define it,
and don't define any other errno names.
* sysdeps/unix/alpha/sysdep.h [RTLD_PRIVATE_ERRNO]: Use rtld_errno in
place of errno.
* sysdeps/unix/i386/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
* sysdeps/unix/x86_64/sysdep.S: Likewise.
* sysdeps/generic/errno.c [! USE___THREAD] (errno): Use `nocommon'
attribute instead of `section'.
are handled by one thread which then hands off the descriptors for the
2004-10-02 Simon Josefsson <jas@extundo.com>
[BZ #420]
* sysdeps/generic/memmem.c [!_LIBC]: Define __builtin_expect, to
make the file usable inside gnulib.
2004-09-29 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/glob.c (glob_in_dir): Don't blindly trust
readdir results; for symlinks or files of unknown type check using
stat whether the file exists.
* posix/tst-gnuglob.c (find_file): Handle leading "./". Fix
recognition of files.
2004-09-29 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_segvflags):
Renamed from si+flags due to comflict with si_flags from <elf.h>.
* posix/sys/wait.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
* stdlib/stdlib.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
* sysdeps/generic/bits/waitstatus.h (__W_CONTINUED): New macro.
[WCONTINUED] (__WIFCONTINUED): New macro.
(__WIFSIGNALED): Rewritten to exclude __W_CONTINUED value, and have no
branches.
Update.
2004-09-26 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/getaddrinfo.c (getaddrinfo): Remove incorrect
requirement on socktype and protocol.
(gaih_inet): If numeric port number is given, return records for all
possible socket types.
* posix/tst-getaddrinfo2.c: New file.
* posix/Makefile (tests): Add tst-getaddrinfo2. [BZ #358]
2004-09-25 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/i386/setuid.c (__setuid): Remove second
result declaration.
2004-09-22 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/ia64/sysdep.h: Adjust whitespace.
2004-09-23 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/bits/dlfcn.h: Add RTLD_DEEPBIND.
* elf/dl-object.c (_dl_new_object): Add new parameter mode. If mode
has RTLD_DEEPBIND set add local searchlist before global scope.
* sysdeps/generic/ldsodefs.h (_dl_new_object): Adjust prototype.
* elf/rtld.c: Adjust callers of _dl_new_object.
* elf/dl-load.c: Likewise.
(_dl_map_object_from_fd): If RTLD_DEEPBIND is used, don't do anything
for DF_SYMBOLIC.
* elf/dl-open.c (dl_open_writer): Pass RTLD_DEEPBIND flag on to
_dl_map_object_deps.
* elf/tst-deep1.c: New file.
* elf/tst-deep1mod1.c: New file.
* elf/tst-deep1mod2.c: New file.
* elf/tst-deep1mod3.c: New file.
* elf/Makefile: Add rules to build and run new tests.
* elf/dl-deps.c: Pretty printing.
* sysdeps/unisx/sysv/linux/dl-execstack.c: Get protection flag
from memory.
* elf/dl-load.c (_dl_map_object_from_fd): Add PROT_EXEC flag to
__stack_flags.
2004-09-17 Ulrich Drepper <drepper@redhat.com>
* include/link.h (struct link_map): Add l_used element.
* sysdeps/generic/ldsodefs.h: Define DL_DEBUG_UNUSED.
* elf/rtld.c (process_dl_debug): Recognize unused.
(dl_main): When unused debug flag is set check for unused direct
dependencies.
When printing dependencies and SONAME starts with /, omit the SONAME =>
part.
* elf/dl-lookup.c (_dl_lookup_symbol_x): Mark object in which the
symbol has been found as used.
* elf/ldd.bash.in: Add -u option.
Update.
2004-09-18 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread):
Do nothing if __NR_set_tid_address is not defined. [BZ #390]
2004-09-17 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/getaddrinfo.c: Use gethostbyname3_r NSS function
in case it is available.
Update.
* misc/syslog.c (vsyslog): Fix copying of PID in case of
out-of-memory situation. [BZ #365].
* sysdeps/alpha/fpu/bits/mathinline.h: Use __NTH instead of
__THROW in inline function definitions.
* posix/spawn.h [__USE_GNU]: Define POSIX_SPAWN_USEVFORK.
* posix/spawnattr_setflags.c: Check whether any unknown bit is set
in FLAGS parameter and fail if this is the case.
* sysdeps/posix/spawni.c: Use vfork if POSIX_SPAWN_USEVFORK flag is
set.
* sysdeps/mach/hurd/i386/tls.h (TLS_INIT_TP_EXPENSIVE): New macro.
(INSTALL_NEW_DTV, THREAD_DTV): Rewritten to fetch the right word.
(THREAD_SELF): New macro.
(WSTOPPED, WEXITED, WCONTINUED, WNOWAIT): New macros.
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_WAITID_SYSCALL):
New macro.
* sysdeps/unix/sysv/linux/waitid.c: New file. Use new syscall when
available, or fall back to the waitpid-based generic code.
clobber the `ebp' register.
* sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Removed.
Reverts change from 2004-05-07 by Jeroen Dekkers.
* sysdeps/mach/hurd/i386/init-first.c (init): Changed the type of
NEWSP from `void *' to `int *'. Changed all casts accordingly.
* sysdeps/powerpc/powerpc64/bits/atomic.h
(__arch_compare_and_exchange_bool_32_acq): Fix case where oldval
is negative.
(__arch_compare_and_exchange_bool_32_rel): Likewise.
2004-08-25 Richard Henderson <rth@redhat.com>
* sysdeps/alpha/elf/start.S (_start): Use $15 as frame unwind
instead of $31. Zero $15.
* sysdeps/unix/sysv/linux/alpha/clone.S (thread_start): Likewise.
2004-08-19 Jakub Jelinek <jakub@redhat.com>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Cast canon to (char *)
to avoid warning.
* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Initialize
status to NSS_STATUS_UNAVAIL.
2004-08-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Use h->h_name in the
cannoname lookup since it has the FQDN even if the original NAME
value has not.
2004-08-18 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Store NAME parameter
pointer in new variable ORIG_NAME and se this pointer when
determination of canonical name failed, not the possibly IDN
translated value of NAME.
2004-08-15 Roland McGrath <roland@redhat.com>
[BZ #227]
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_BRK_PAGE_ROUNDED): New macro.
* sysdeps/unix/sysv/linux/dl-sysdep.c (frob_brk)
[! __ASSUME_BRK_PAGE_ROUNDED]: Adjust the break up if it falls within
the partial page after the dynamic linker's own data segment.
* sysdeps/posix/getaddrinfo.c (gaih_inet): Optimize generation of
v4-mapped addresses a bit.
(gethosts): Move alloca out of macro, so that it is done only once.
* sysdeps/posix/getaddrinfo.c (gaih_addrtuple): Change type of
addr to avoid casts.
(gethosts): Removed.
(gethosts2): Renamed to gethosts. Make it usable for family !=
AF_UNSPEC. Fix AI_V4MAPPED.
(gaih_inet): Remove use of old gethosts. Always use what used to be
gethosts2. If entry is found, try to use the same NSS module's
getcanonname_r function. Use gethostbyaddr for AI_CANONNAME only
if getcanonname_r was not available. Fix filtering of AI_V4MAPPED
addresses. Numerous cleanups.
* resolv/nss_dns/dns-canon.c: New file.
* resolv/Makefile (libnss_dns-routines): Add dns-canon.
* resolv/Versions (libnss_dns): Add _nss_dns_getcanonname_r.
* elf/Makefile: Add rules to build and run tst-dlopenrpath.
* elf/tst-dlopenrpath.c: New file.
* elf/tst-dlopenrpathmod.c: New file.
* intl/tst-gettext.sh: Adjust for change of de.po file to UTF-8.
* sysdeps/posix/getaddrinfo.c (getaddrinfo): I rfc3484 sorting is
performed, make sure it is still the first entry after sotring
which has the ai_canonname information.
2004-07-30 Guido Guenther <agx@sigxcpu.org>
* nss/getent.c (passwd_keys): Use strtoul instead of isdigit to
test if the key is numeric or not.
(group_keys): Likewise.
2004-08-05 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Recognize all the IPv4
numeric address formats inet_addr knows.
(getaddrinfo): Allow AI_NUMERICSERV flag.
If neither IPv4 nor IPv6 inerface is present we cannot make any
decision for AI_ADDRCONFIG. Fail if AI_NUMERICSERV is set and the
string is not just a number. Remove useless freeaddrinfo call.
* resolv/netdb.h (AI_NUMERICSERV): Define.
Based on a patch by a.guru@sympatico.ca.
2004-08-04 Jakub Jelinek <jakub@redhat.com>
* stdlib/strfmon_l.c (__vstrfmon_l): Memset whole info structure
instead of trying to initialize some, but not all, fields one by
one.
* stdio-common/printf_size.c (printf_size): Initialize fb_info
structure with *info instead of trying to initialize some, but not
all, fields from it.
* nscd/connections.c (handle_request): Check if req->type is in
LASTDBREQ .. LASTREQ range instead of req.
* locale/programs/linereader.c (lr_create): Initialize
lr->return_widestr to 0.
* elf/dl-close.c (free_slotinfo): Add __libc_freeres_fn_section.
(free_mem): Call free_slotinfo just once.
* stdio-common/tst-fmemopen.c (main): Check for MAP_FAILED instead
of NULL.
* locale/localeinfo.h (_nl_locale_subfreeres): New prototype.
* locale/setlocale.c (free_category): Add __libc_freeres_fn_section.
(free_mem): Rename to _nl_locale_subfreeres.
* iconv/gconv_db.c: Include locale/localeinfo.h.
(free_derivation, free_modules_db): Add __libc_freeres_fn_section.
(free_mem): Call _nl_locale_subfreeres.
* iconv/gconv_dl.c (do_release_all): Add __libc_freeres_fn_section.
2004-07-30 Richard Henderson <rth@redhat.com>
* sysdeps/alpha/divq.S: Save t3 before it gets clobbered.
* sysdeps/alpha/remq.S: Likewise.
* sysdeps/alpha/div.S, sysdeps/alpha/ldiv.S: Rewrite with the
new division algorithms in divl.S and divq.S respectively.
2004-07-26 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Assign pointer for
new buffer at the right time.
Reported by Jakub Bogusz <qboosh@pld-linux.org>.
after AC_CANONICAL_HOST and default setting of $machine et al.
Don't set $subdirs from $add_ons.
Instead, source add-on/configure fragments early on.
(base_machine): If it's already set, don't set it based on $machine.
(libc_config_ok): New variable, set to no. If an add-on fragment sets
it to yes, skip the tuple sanity check as if --enable-hacker-mode.
(sysnames): Try appending add-on names after machine as well.
* configure: Regenerated.
* config.make.in (add-ons): Set from @add_ons@ instead of @subdirs@.
* Makeconfig ($(common-objpfx)config.status): Also depend on configure
files in $(add_ons) dirs.
* sysdeps/unix/sysv/linux/bits/in.h (struct ip_mreq): Remove
definition, now in netinet/in.h proper.
long. Rewrite example code so that it takes into account l64a output
* sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h):
Sort by syscalls. Make sure we get headers such as sgidefs.h from
the build tree before just-installed ones.
* sysdeps/mips/atomicity.h, sysdeps/mips/dl-machine.h,
sysdeps/mips/machine-gmon.h, sysdeps/mips/bits/setjmp.h,
sysdeps/mips/fpu/bits/mathdef.h,
sysdeps/mips/mips64/__longjmp.c,
sysdeps/mips/mips64/setjmp_aux.c,
sysdeps/unix/sysv/linux/mips/kernel_stat.h,
sysdeps/unix/sysv/linux/mips/pread.c,
sysdeps/unix/sysv/linux/mips/pread64.c,
sysdeps/unix/sysv/linux/mips/ptrace.c,
sysdeps/unix/sysv/linux/mips/pwrite.c,
sysdeps/unix/sysv/linux/mips/pwrite64.c,
sysdeps/unix/sysv/linux/mips/sigaction.c,
sysdeps/unix/sysv/linux/mips/sigcontextinfo.h,
sysdeps/unix/sysv/linux/mips/bits/fcntl.h,
sysdeps/unix/sysv/linux/mips/bits/sigcontext.h,
sysdeps/unix/sysv/linux/mips/bits/stat.h,
sysdeps/unix/sysv/linux/mips/sys/procfs.h,
sysdeps/unix/sysv/linux/mips/sys/ptrace.h,
sysdeps/unix/sysv/linux/mips/sys/tas.h,
sysdeps/unix/sysv/linux/mips/sys/ucontext.h,
sysdeps/unix/sysv/linux/mips/sys/user.h: Use standard names
for ABI macros, include sgidefs.h where appropriate.
sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h):
Likewise.
sysdeps/unix/sysv/linux/mips/configure.in (asm-unistd.h):
Likewise.
sysdeps/unix/sysv/linux/mips/configure: Rebuilt.
Update.
2004-07-16 Steven Munroe <sjmunroe@us.ibm.com>
[BZ #269]
* setjmp/Makefile (tests): Add bug269-setjmp.
* setjmp/bug269-setjmp.c: New file.
* sysdeps/powerpc/powerpc64/__longjmp-common.S [SHARED && !IS_IN_rtld]:
Store R2 from jmpbuf in callers TOC save area.
* sysdeps/powerpc/powerpc64/bsd-_setjmp.S [SHARED && !IS_IN_rtld]:
Store R2 in TOC save area.
* sysdeps/powerpc/powerpc64/setjmp-common.S [SHARED && !IS_IN_rtld]:
Copy TOC save area from previous frame as R2 (TOC) in jmpbuf.
* sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Remove
static inline __attribute ((always_inline)). Don't define if
NO_CANCELLATION.
(__libc_fcntl): Use INLINE_SYSCALL directly instead of
__fcntl_nocancel.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c (__fcntl_nocancel):
Remove static inline __attribute ((always_inline)). Don't define
if NO_CANCELLATION.
(__libc_fcntl): Use INLINE_SYSCALL directly instead of
__fcntl_nocancel.
* sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Define to
__libc_fcntl if NO_CANCELLATION and __ASSUME_FCNTL64 == 0.
Don't define at all if NO_CANCELLATION and __ASSUME_FCNTL64 > 0.
(__libc_fcntl): Don't define if __fcntl_nocancel is a macro.
Update.
2004-07-15 Jakub Jelinek <jakub@redhat.com>
[BZ #262]
* sysdeps/i386/elf/start.S (_start): Use @GOT instead of @GOTOFF
for main.
* elf/Makefile: Add rules to build and run tst-pie1.
* elf/tst-pie1.c: New test.
* elf/tst-piemod1.c: New file.
2004-07-12 Paul Eggert <eggert@cs.ucla.edu>
[BZ #263]
* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Don't store
outside the buffer if the read returns 0. __strtod_l can't set
endp to NULL, so remove a test for that case.
2004-07-10 Ulrich Drepper <drepper@redhat.com>
* elf/ldconfig.c: Define PROCINFO_CLASS as static before including
ldsodefs.h.
* sysdeps/generic/ldsodefs.h: Only define PROCINFO_CLASS if it is not
already defined.
* sysdeps/i386/dl-procinfo.c: Define PROCINFO_CALLS only if not
already defined.
* elf/rtld.c (print_statistics): Mark with noinline attribute.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Mark with always_inline
attribute.
(elf_machine_rel_relative): Likewise.
* include/string.h: Add libc_hidden_proto for __strtok_r and
__strsep_g.
* sysdeps/generic/strsep.c: Add libc_hidden_def.
* sysdeps/generic/strtok_r.c: Likewise.
* sysdeps/i386/strtok_r.S: Add alias for internal symbol.
* sysdeps/i386/i686/strtok_r.S: Likewise.
* sysdeps/x86_64/strtok_r.S: Likewise.
2004-07-09 Alexandre Oliva <aoliva@redhat.com>
* inet/getnetgrent_r.c (internal_setnetgrent): Make it hidden
instead of internal-linkage, such that we can alias to it.
(internal_endnetgrent, internal_getnetgrent_r): Likewise.
2004-07-09 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Move attribute
to the front for gcc 3.5+.
* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise.
* include/fcntl.h: Don't declare __fcntl_nocancel here if
NO_CANCELLATION is defined.
2004-07-05 Ulrich Drepper <drepper@redhat.com>
* elf/dl-init.c: Don't define and use _dl_starting_up if
HAVE_INLINED_SYSCALLS is defined and the variable is not used.
* elf/dl-support.c: Likewise.
* elf/rtld.c: Likewise.
* elf/dl-misc.c (_dl_debug_vdprintf): Use writev syscall directly
if HAVE_INLINED_SYSCALLS is defined.
* sysdeps/powerpc/powerpc64/dl-machine.h: Don't rest _dl_starting_up
here.
* sysdeps/powerpc/powerpc32/dl-start.S: Likewise.
* sysdeps/unix/sysv/linux/configure.in: Define HAVE_INLINED_SYSCALLS.
* config.h.in: Add entry for HAVE_INLINED_SYSCALLS.
* sysdeps/posix/profil.c: If compiled for ld.so, omit code which
is needed to stop profiling.
* elf/dl-open.c (dl_open_worker): If a newly opened object is to be
profile make sure it cannot be unloaded.
* sysdeps/unix/sysv/linux/dl-origin.c: Inline readlink syscall.
* sysdeps/unix/sysv/linux/fcntl.c: If compiled without cancellation
support, make sure the helper function is inlined.
* sysdeps/unix/sysv/linux/pread.c: Likewise.
* sysdeps/unix/sysv/linux/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise.
2004-07-05 Jakub Jelinek <jakub@redhat.com>
* sysdeps/powerpc/novmx-longjmp.c (__libc_longjmp,
__libc_siglongjmp): Remove symbol_version.
* sysdeps/powerpc/longjmp.c (__libc_longjmp, __libc_siglongjmp):
Export @@GLIBC_PRIVATE, not @@GLIBC_2.3.4.
* sysdeps/powerpc/sigjmp.c (__sigjmp_save): Use strong_alias
unconditionally.
* sysdeps/powerpc/novmx-sigjmp.c (__sigjmp_save): Remove.
* sysdeps/powerpc/powerpc32/__longjmp.S (__longjmp): Use
strong_alias instead of default_symbol_version, remove
symbol_version.
* sysdeps/powerpc/powerpc64/__longjmp.S (__longjmp): Likewise.
* sysdeps/powerpc/powerpc32/bsd-setjmp.S (__novmx__setjmp): Change
into strong_alias to __novmxsetjmp.
(__vmx__setjmp): Similarly with __vmxsetjmp.
(__setjmp): Make it strong_alias to __vmx__setjmp, remove
default_symbol_version and symbol_version.
* sysdeps/powerpc/powerpc64/bsd-setjmp.S (__novmx__setjmp): Change
into strong_alias to __novmxsetjmp.
(__vmx__setjmp): Similarly with __vmxsetjmp.
(__setjmp): Make it strong_alias to __vmx__setjmp, remove
default_symbol_version and symbol_version.
* nscd/nscd_getgr_r.c: Include stdio-common/_itoa.h.
* sysdeps/unix/sysv/linux/configure.in: If arch_minimum_kernel was
already set, don't set it or libc_cv_gcc_unwind_find_fde.
* sysdeps/unix/sysv/linux/configure: Regenerated.
2004-06-11 Dwayne Grant McConnell <dgm69@us.ibm.com>
* sysdeps/powerpc/fpu/s_lround.c: Removed.
* sysdeps/powerpc/fpu/s_lroundf.c: Removed.
* sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: New file.
* sysdeps/powerpc/powerpc32/fpu/s_ceil.S: New file.
* sysdeps/powerpc/powerpc32/fpu/s_floorf.S: New file.
* sysdeps/powerpc/powerpc32/fpu/s_floor.S: New file.
* sysdeps/powerpc/powerpc32/fpu/s_lrint.c: Removed.
* sysdeps/powerpc/powerpc32/fpu/s_lrint.S: New file.
* sysdeps/powerpc/powerpc32/fpu/s_lroundf.S: New file.
* sysdeps/powerpc/powerpc32/fpu/s_lround.S: New file.
* sysdeps/powerpc/powerpc32/fpu/s_rintf.S: New file.
* sysdeps/powerpc/powerpc32/fpu/s_rint.S: New file.
* sysdeps/powerpc/powerpc32/fpu/s_roundf.S: New file.
* sysdeps/powerpc/powerpc32/fpu/s_round.S: New file.
* sysdeps/powerpc/powerpc32/fpu/s_truncf.S: New file.
* sysdeps/powerpc/powerpc32/fpu/s_trunc.S: New file.
2004-06-30 Ulrich Drepper <drepper@redhat.com>
* include/net/if.h: Handle if_nameindex and if_freenameindex with
libc_proto_hidden.
* sysdeps/unix/sysv/linux/netlinkaccess.h: New file.
* sysdeps/unix/sysv/linux/ifaddrs.c: Export netlink handling functions.
* sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Implement using
netlink if possible. Fall back on ioctl method if necessary.
* include/unistd.h: Declare __truncate.
* sysdeps/generic/truncate.c: Also define __truncate.
* sysdeps/mach/hurd/truncate.c: Likewise.
* sysdeps/unix/common/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/truncate64.c: Use __truncate, not truncate.
2004-06-19 Roland McGrath <roland@redhat.com>
* sysdeps/posix/waitid.c (do_waitid) [DO_WAITID]: Define function
under this macro name instead.
[NO_DO_WAITID]: Don't define it at all.
(do_waitid) [WNOWAIT, WEXITED]: If these POSIX.1 waitid flag bits are
defined, then return ENOTSUP for combinations of selection bits other
than WEXITED and WEXITED|WSTOPPED, which this version cannot support.
* posix/tst-waitid.c: New file.
* posix/Makefile (tests): Add it.
2004-06-28 Jakub Jelinek <jakub@redhat.com>
Update.
2004-06-21 Jakub Jelinek <jakub@redhat.com>
[BZ #231]
* sysdeps/unix/alpha/Makefile: New file.
* sysdeps/unix/alpha/rt-sysdep.S: New file.
Reported by Jakub Bogusz <qboosh@pld-linux.org>.
2004-06-17 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/pthread_cond_timedwait.c
(__pthread_cond_timedwait): Also check for negativ nanoseconds.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
(__pthread_cond_timedwait): Check for invalid nanosecond in
timeout value.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
* tst-cond19.c: New file.
* Makefile: Add rules to build and run tst-cond19.
2004-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t):
Add __data.__futex field, reshuffle __data.__clock.
* sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S
(__pthread_cond_signal): Increment __futex at the same time as
__wakeup_seq or __total_seq. Pass address of __futex instead of
address of low 32-bits of __wakeup_seq to futex syscall.
* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
(__pthread_cond_wait): Likewise. Pass __futex value from before
releasing internal lock to FUTEX_WAIT.
* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
(__pthread_cond_timedwait): Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S
(FUTEX_CMP_REQUEUE): Define.
(__pthread_cond_broadcast): Set __futex to 2 * __total_seq.
Use FUTEX_CMP_REQUEUE operation instead of FUTEX_REQUEUE.
Pass __futex value from before the unlock and __futex address instead
of address of low 32-bits of __wakeup_seq to futex syscall.
Fallback to FUTEX_WAKE all on any errors.
(memchr, __memrchr, strlen, strcmp, strncmp, __strchr_g, __strchr_c,
__strchrnul_g, __strchrnul_c, strspn, strcspn, strpbrk): Add memory
the asm uses as its input, either of size __n where __n is known or
0xfffffff.
(strstr): Add "memory" clobber.
NULL, "" or contains '=' character in it. Reported by
Michael T Kerrisk <mtk-lists@gmx.net>.
* stdlib/tst-environ.c: Include errno.h.
(main): Add tests for these arguments to setenv/unsetenv.
* sysdeps/generic/bits/in.h
(IMPLINK_IP, IMPLINK_LOWEXPER, IMPLINK_HIGHEXPER): Macros removed.
These are long obsolete in BSD systems where they originated.
* conform/data/netinet/in.h-data: Remove `allow IMPLINK_*'
2004-05-25 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/fpu/Makefile: Make ld.so a dependency of libm.so.
* sysdeps/powerpc/fpu/bits/mathinline.h [__LIBC_INERNAL_MATH_INLINES]
(__ieee754_sqrt): Define as __MATH_INLINE using fsqrt instruction.
(__ieee754_sqrtf): Define as __MATH_INLINE using fsqrts instruction.
* sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrt): Moved
implementation from w_sqrt.c.
* sysdeps/powerpc/fpu/e_sqrtf.c (__slow_ieee754_sqrtf): Moved
implementation from w_sqrtf.c.
* sysdeps/powerpc/fpu/w_sqrt.c (__sqrt): Wrapper implementation
using inline __ieee754_sqrt().
* sysdeps/powerpc/fpu/w_sqrtf.c (__sqrtf): Wrapper implementation
using inline __ieee754_sqrtf().
* sysdeps/powerpc/powerpc32/sysdep.h [__ASSEMBLER__]: Include
<sysdeps/powerpc/sysdep.h> independent of __ASSEMBLER__.
* sysdeps/powerpc/sysdep.h [__ASSEMBLER__] (PPC_FEATURE_*): Define
PPC_FEATURE_* independent of __ASSEMBLER__.
2004-05-25 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/aio_notify.c: Use <> instead of "" for aio_misc.h
include.
(aio_start_notify_thread): Define if not defined.
(notify_func_wrapper): Use it.
* sysdeps/pthread/aio_misc.c: Use <> instead of "" for aio_misc.h
include.
(aio_create_helper_thread): Define if not defined.
(__aio_create_helper_thread): New function.
(__aio_enqueue_request): Use aio_create_helper_thread.
* nis/ypclnt.c (ypall_data, ypall_foreach): Remove.
(struct ypresp_all_data): New type.
(__xdr_ypresp_all): Change second argument to
struct ypresp_all_data *. Replace ypall_foreach and
ypall_data with objp->foreach and objp->data.
(yp_all): Remove status variable, add data. Replace
all uses of status with data.status. Initialize data.foreach
and data.data instead of ypall_foreach and ypall_data.
2004-05-24 Jakub Jelinek <jakub@redhat.com>
* elf/dl-lookup.c (add_dependency): Set DF_1_NODELETE bit
in l_flags_1, not in l_flags.
* sysdeps/mips/dl-machine.h (ELF_DL_FRAME_SIZE)
(ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS): For the N32
and 64 ABIs, save and restore regs $10 and $11 (a6 and a7).
* sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Fix memory handling.
* sysdeps/generic/ifreq.c (__ifreq): Fix memory handling.
* resolv/res_hconf.c (_res_hconf_reorder_addrs): Make clear that
realloc cannot fail.
* nss/nss_files/files-netgrp.c (EXPAND): Free buffer which cannot
be expanded.
* nis/nis_table.c: Clean up memory handling.
* nis/nis_subr.c (nis_getnames): Clean up memory handling.
* nis/nis_removemember.c (nis_removemember): Add comment
explaining use of realloc.
2004-04-23 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ia64/fpu/libm_support.h (__libm_error_support): Add
libc_hidden_proto. Define to __GI___libm_error_support for
assembly going into libc.so.
* sysdeps/ia64/fpu/libc_libm_error.c (__libm_error_support): Add
libc_hidden_def.
* include/libc-symbols.h (HIDDEN_BUILTIN_JUMPTARGET): Define.
* sysdeps/ia64/bcopy.S (bcopy): Use it for jump to memmove.
* sysdeps/unix/sysv/linux/ia64/sysdep.S (__syscall_error): Access
gprel errno if RTLD_PRIVATE_ERRNO or __thread __libc_errno/errno
if USE___THREAD.
2004-04-29 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/dl-machine.h (RTLD_START): Avoid unnecessary GOT
entries.
[BZ #140]
* sysdeps/unix/sysv/linux/sys/sysctl.h: Remove linux/compiler.h
include.
(_LINUX_KERNEL_H, _LINUX_TYPES_H, _LINUX_LIST_H): Only define if not
yet defined, #undef back after including linux/sysctl.h if defined
here.
(__LINUX_COMPILER_H, __user): Define if not yet defined, #undef
back after including linux/sysctl.h if defined here.
2004-04-29 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c (_Qp_qtoi): Use %f31
for single precision register, add it to __asm clobbers [BZ #139].
* sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c (_Qp_qtoui): Use %f31
for single precision register, add it to __asm clobbers.
* sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c (_Qp_qtoux): Use fqtox
instead of fqtoi in QP_HANDLE_EXCEPTIONS.
* sysdeps/sparc/sparc64/soft-fp/qp_qtox.c (_Qp_qtox): Likewise.
Reported by M. H. VanLeeuwen <vanl@megsinet.net>.
2004-04-22 Philip Blundell <philb@gnu.org>
* sysdeps/arm/dl-machine.h (elf_machine_rela): Don't use INTUSE
when calling _dl_signal_error.
(elf_machine_rel): Likewise.
2004-04-21 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ia64/setjmp.S: Define _GI___sigsetjmp
and use it internally instead of __sigsetjmp.
* sysdeps/ia64/fpu/s_frexpf.c (frexpf): Use _GI___libm_frexp_4f.
* sysdeps/ia64/fpu/s_frexpl.c (frexpl): Use _GI___libm_frexp_4l.
* sysdeps/ia64/fpu/libm_frexp4.S: Define _GI___libm_frexp_4.
* sysdeps/ia64/fpu/libm_frexp4f.S: Define _GI___libm_frexp_4f.
* sysdeps/ia64/fpu/libm_frexp4l.S: Define _GI___libm_frexp_4l.
* sysdeps/ia64/fpu/s_frexp.c (frexp): Use _GI___libm_frexp_4.
* sysdeps/ia64/fpu/libm_support.h: Declare _GI___libm_frexp_4,
_GI___libm_frexp_4f, _GI___libm_frexp_4l.
* sysdeps/ia64/fpu/bits/mathinline.h: New file.
* sysdeps/unix/sysv/linux/ia64/__start_context.S: Use
HIDDEN_JUMPTARGET for exit call.
* sysdeps/unix/sysv/linux/ia64/clone2.S: Use HIDDEN_JUMPTARGET for
_exit call.
* sysdeps/ia64/bcopy.S: Use HIDDEN_JUMPTARGET for memmove call.
* sysdeps/ia64/strcat.S: Use HIDDEN_JUMPTARGET for strlen and
strcpy calls.
2004-04-21 Jakub Jelinek <jakub@redhat.com>
* posix/tst-chmod.c (do_test): Fix a typo.
* elf/lateglobal.c (main): Fix error checks.
Patch by Stephen Clarke <stephen.clarke@st.com>.
* manual/ctype.texi (isblank, iswblank): Mark as ISO functions,
mention they have been added in ISO C99.
Reported by Ben Pfaff <blp@cs.stanford.edu>.
2004-03-31 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/ieee754/ldbl-128/bits/huge_vall.h: Fix typo.
2004-04-19 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/mq_unlink.c (mq_unlink): Change EPERM into
EACCES.
* 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 <drepper@redhat.com>
* rt/tst-mqueue7.c (do_test): Make newargv const.
2004-04-18 Randolph Chung <tausq@debian.org>
* 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-04 Carlos O'Donell <carlos@baldric.uwo.ca>
* 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_dynamic.
(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.
(ELF_MACHINE_SIZEOF_JMP_SLOT, DL_STATIC_FUNCTION_ADDRESS,
DL_PLATFORM_INIT): Define.
(DL_FUNCTION_ADDRESS): Remove.
(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
__attribute__((always_inline)).
(elf_machine_lazy_rel): Use __attribute__((always_inline)).
2004-04-05 Carlos O'Donell <carlos@baldric.uwo.ca>
* sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Use only sw[0]
and call feraiseexcept.
2003-11-15 Randolph Chung <tausq@debian.org>
* gmon/gmon.c (__monstartup): Round kcountsize to multiples of
the froms[] array so the array is properly aligned.
2004-04-05 H.J. Lu <hongjiu.lu@intel.com>
* Makeconfig (libgcc_eh): Add -Wl,.
* configure.in: Add -lgcc_s for --as-needed check.
2004-04-16 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/elf/configure.in: New file.
* iconvdata/gconv-modules: Add PT154 and RK1048 entries.
* iconvdata/tst-tables.sh: 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.
2004-04-08 Ulrich Drepper <drepper@redhat.com>
* rt/tst-mqueue3.c: New file.
* rt/Makefile (tests): Add tst-mqueue3.
2004-04-08 Jakub Jelinek <jakub@redhat.com>
* 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 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/s390/ffs.c: Don't add ffsl weak alias on s390x.
2004-04-09 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: New file.
2004-03-22 Jakub Jelinek <jakub@redhat.com>
* 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.
* sysdeps/unix/sysv/linux/ia64/ioperm.c (_iopl): Match EPERM error
the x86 code produces in case of mission permissions.
Patch by Bernd Schmidt <bernds@redhat.com>.
2004-03-14 Ulrich Drepper <drepper@redhat.com>
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
__strxfrm_l.
* include/time.h: Define ptime_locale_status. Declare
__strptime_internal.
* include/wchar.h: Add libc_hidden_proto for __wcscoll_l and
__wcsxfrm_l.
* 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
#defines.
* 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
strftime.c.
* time/wcsftime_l.c: Include strftime_l.c.
* wcsmbs/wcscoll.c: Simplify since the file is not used by wcscoll_l.c
anymore.
* wcsmbs/wcscoll_l.c: Include strcoll_l.c.
* wcsmbs/wcsxfrm.c: Simplify since the file is not used by wcsxfrm_l.c
anymore.
* 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-12 Ulrich Drepper <drepper@redhat.com>
* posix/getconf.c (vars): Add _SC_ values for cache information.
* sysdeps/generic/bits/confname.h: Add _SC_* values for cache
information.
* 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.
* 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.
2004-03-11 Jakub Jelinek <jakub@redhat.com>
* sysdeps/s390/dl-tls.h: Only add __tls_get_offset assembly if
IS_IN_rtld.
(__TLS_GET_ADDR): Use __tls_get_offset, not __tls_get_addr.
2004-03-10 Jakub Jelinek <jakub@redhat.com>
* include/libc-symbols.h [__ASSEMBLY__] (compat_text_section,
compat_data_section): Define.
* sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): Add
attribute_compat_text_section.
* 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):
Likewise.
* 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):
Likewise.
* sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Likewise.
* sysdeps/unix/sysv/linux/posix_fadvise64.c (__posix_fadvise64_l32):
Likewise.
* 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 <kkojima@rr.iij4u.or.jp>
* 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 <drepper@redhat.com>
* sysdeps/i386/dl-procinfo.h (HWCAP_IMPORTANT): Remove mmx, add sse2.
2004-03-10 Richard Henderson <rth@redhat.com>
* 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
_LIBC_DEFINITIONS.
* posix/regexec.c: Likewise.
* 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
definitions.
* 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.
2004-01-22 Jakub Jelinek <jakub@redhat.com>
* elf/dl-reloc.c (_dl_relocate_object): Move PT_GNU_RELRO protection
into...
(_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.