2000-09-10 David S. Miller <davem@redhat.com>
* sysdeps/sparc/sparc32/__longjmp.S (__longjmp): Correct %fp
frame pointer offset for non-fast path.
2000-09-10 Ulrich Drepper <drepper@redhat.com>
* locale/programs/3level.h (*_init): Initialize level1, level2,
and level3 as well.
(*_add): Remove a few unnecessary conditionals.
2000-09-06 Andreas Jaeger <aj@suse.de>
* sysdeps/alpha/soft-fp/Dist: New file.
* sysdeps/i386/soft-fp/Dist: New file.
* sysdeps/mips/mips64/soft-fp/Dist: New file.
* sysdeps/mips/soft-fp/Dist: New file.
* sysdeps/powerpc/soft-fp/Dist: New file.
* sysdeps/sparc/sparc32/soft-fp/Dist: New file.
* sysdeps/sparc/sparc64/soft-fp/Dist: New file.
* sysdeps/sparc/sparc64/soft-fp/Makefile [$(subdir) = soft-fp]:
Use sysdep_routines instead of routines to fix make dist failure.
* sysdeps/sparc/sparc32/soft-fp/Makefile: Likewise (in commented
out code).
* sysdeps/powerpc/soft-fp/Makefile [$(subdir) = soft-fp]: Likewise.
* sysdeps/mips/Makefile [$(subdir) = misc]: Use
sysdep_headers instead of headers for make dist.
* sysdeps/unix/sysv/linux/mips/Makefile [$(subdir) = misc]:
Likewise.
2000-09-05 Andreas Jaeger <aj@suse.de>
* sysdeps/sparc/sparc64/soft-fp/Versions: Use version glibc 2.2.
* soft-fp/configure: Remove.
* soft-fp/sysdeps/sparc/sparc64/qp_neg.S: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_neg.S: ... to here.
* soft-fp/sysdeps/sparc/sparc32/Makefile: Move from here...
* sysdeps/sparc/sparc32/soft-fp/Makefile: ... to here.
* soft-fp/sysdeps/powerpc/Makefile: Move from here...
* sysdeps/powerpc/soft-fp/Makefile: ... to here.
* soft-fp/sysdeps/sparc/sparc64/Makefile: Move from here...
* sysdeps/sparc/sparc64/soft-fp/Makefile: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_neg.S: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_neg.S: ... to here.
* soft-fp/sysdeps/powerpc/q_add.c: Move from here...
* sysdeps/powerpc/soft-fp/q_add.c: ... to here.
* soft-fp/sysdeps/powerpc/q_cmp.c: Move from here...
* sysdeps/powerpc/soft-fp/q_cmp.c: ... to here.
* soft-fp/sysdeps/powerpc/q_cmpe.c: Move from here...
* sysdeps/powerpc/soft-fp/q_cmpe.c: ... to here.
* soft-fp/sysdeps/powerpc/q_div.c: Move from here...
* sysdeps/powerpc/soft-fp/q_div.c: ... to here.
* soft-fp/sysdeps/powerpc/q_dtoq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_dtoq.c: ... to here.
* soft-fp/sysdeps/powerpc/q_feq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_feq.c: ... to here.
* soft-fp/sysdeps/powerpc/q_fge.c: Move from here...
* sysdeps/powerpc/soft-fp/q_fge.c: ... to here.
* soft-fp/sysdeps/powerpc/q_fgt.c: Move from here...
* sysdeps/powerpc/soft-fp/q_fgt.c: ... to here.
* soft-fp/sysdeps/powerpc/q_fle.c: Move from here...
* sysdeps/powerpc/soft-fp/q_fle.c: ... to here.
* soft-fp/sysdeps/powerpc/q_flt.c: Move from here...
* sysdeps/powerpc/soft-fp/q_flt.c: ... to here.
* soft-fp/sysdeps/powerpc/q_fne.c: Move from here...
* sysdeps/powerpc/soft-fp/q_fne.c: ... to here.
* soft-fp/sysdeps/powerpc/q_itoq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_itoq.c: ... to here.
* soft-fp/sysdeps/powerpc/q_lltoq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_lltoq.c: ... to here.
* soft-fp/sysdeps/powerpc/q_mul.c: Move from here...
* sysdeps/powerpc/soft-fp/q_mul.c: ... to here.
* soft-fp/sysdeps/powerpc/q_neg.c: Move from here...
* sysdeps/powerpc/soft-fp/q_neg.c: ... to here.
* soft-fp/sysdeps/powerpc/q_qtod.c: Move from here...
* sysdeps/powerpc/soft-fp/q_qtod.c: ... to here.
* soft-fp/sysdeps/powerpc/q_qtoi.c: Move from here...
* sysdeps/powerpc/soft-fp/q_qtoi.c: ... to here.
* soft-fp/sysdeps/powerpc/q_qtoll.c: Move from here...
* sysdeps/powerpc/soft-fp/q_qtoll.c: ... to here.
* soft-fp/sysdeps/powerpc/q_qtos.c: Move from here...
* sysdeps/powerpc/soft-fp/q_qtos.c: ... to here.
* soft-fp/sysdeps/powerpc/q_qtou.c: Move from here...
* sysdeps/powerpc/soft-fp/q_qtou.c: ... to here.
* soft-fp/sysdeps/powerpc/q_qtoull.c: Move from here...
* sysdeps/powerpc/soft-fp/q_qtoull.c: ... to here.
* soft-fp/sysdeps/powerpc/q_sqrt.c: Move from here...
* sysdeps/powerpc/soft-fp/q_sqrt.c: ... to here.
* soft-fp/sysdeps/powerpc/q_stoq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_stoq.c: ... to here.
* soft-fp/sysdeps/powerpc/q_sub.c: Move from here...
* sysdeps/powerpc/soft-fp/q_sub.c: ... to here.
* soft-fp/sysdeps/powerpc/q_ulltoq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_ulltoq.c: ... to here.
* soft-fp/sysdeps/powerpc/q_util.c: Move from here...
* sysdeps/powerpc/soft-fp/q_util.c: ... to here.
* soft-fp/sysdeps/powerpc/q_utoq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_utoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_add.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_add.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_cmp.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_cmp.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_cmpe.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_cmpe.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_div.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_div.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_dtoq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_dtoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_feq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_feq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_fge.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_fge.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_fgt.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_fgt.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_fle.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_fle.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_flt.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_flt.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_fne.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_fne.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_itoq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_itoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_mul.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_mul.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_neg.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_neg.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_qtod.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_qtod.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_qtoi.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_qtoi.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_qtos.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_qtos.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_qtoui.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_qtoui.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_qtoux.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_qtoux.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_qtox.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_qtox.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_sqrt.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_sqrt.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_stoq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_stoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_sub.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_sub.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_uitoq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_uitoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_util.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_util.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_uxtoq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_uxtoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_xtoq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_xtoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_add.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_add.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_cmp.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_cmp.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_cmpe.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_div.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_div.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_dtoq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_feq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_feq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_fge.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_fge.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_fgt.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_fgt.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_fle.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_fle.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_flt.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_flt.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_fne.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_fne.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_itoq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_itoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_mul.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_mul.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_qtod.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_qtod.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_qtoi.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_qtos.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_qtos.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_qtoui.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_qtoux.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_qtox.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_sqrt.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_stoq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_stoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_sub.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_sub.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_uitoq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_util.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_util.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_uxtoq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_xtoq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/s_frexpl.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/s_frexpl.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/s_ilogbl.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/s_ilogbl.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/s_scalblnl.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/s_scalblnl.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/s_scalbnl.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/s_scalbnl.c: ... to here.
* soft-fp/sysdeps/alpha/sfp-machine.h: Move from here...
* sysdeps/alpha/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/i386/sfp-machine.h: Move from here...
* sysdeps/i386/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/mips/mips64/sfp-machine.h: Move from here...
* sysdeps/mips/mips64/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/mips/sfp-machine.h: Move from here...
* sysdeps/mips/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/powerpc/sfp-machine.h: Move from here...
* sysdeps/powerpc/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/sparc/sparc32/sfp-machine.h: Move from here...
* sysdeps/sparc/sparc32/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/sparc/sparc64/sfp-machine.h: Move from here...
* sysdeps/sparc/sparc64/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/powerpc/Versions: Move from here...
* sysdeps/powerpc/soft-fp/Versions: ... to here.
* soft-fp/sysdeps/sparc/sparc64/Versions: Move from here...
* sysdeps/sparc/sparc64/soft-fp/Versions: ... to here.
* libio/oldiofsetpos64.c: iofsetpos was introduced in glibc 2.1,
change symbol version.
* libio/oldiofgetpos64.c: Likewise.
Reported by Martin v. Loewis <martin@loewis.home.cs.tu-berlin.de>.
* locale/programs/ld-ctype.c (charclass_charcode_ellipsis): Fix
typo.
Reported by dyky@kondara.org, closes PR libc/1886.
* stdlib/tst-strtod.c: Add testcases for denormal numbers from PR
libc/1880.
2000-05-05 Ulrich Drepper <drepper@redhat.com>
* elf/dl-load.c (_dl_map_object_from_fd): Little of computation of
parameter to mprotect and for variable assignments.
2000-05-03 Jes Sorensen <jes@linuxcare.com>
* sysdeps/generic/ldsodefs.h (LOOKUP_VALUE_ADDRESS): Check the
validity of map before dereferencing it.
* elf/dl-reloc.c (RESOLVE_MAP): Define.
2000-05-02 Jes Sorensen <jes@linuxcare.com>
* elf/dl-runtime.c (fixup): Add the value returned in the symbol
lookup to the arguments to elf_machine_fixup_plt().
* sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Add Link_map
of the symbol being resolved to input argument list and make the
function return the pointer to the reloc.
* sysdeps/alpha/dl-machine.h (elf_machine_fixup_plt): Change
return valuie to lookup_t and return the value.
* sysdeps/arm/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/generic/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/powerpc/dl-machine.h (elf_machine_fixup_plt): Likewise.
Make it an inline function returning value after calling
__elf_machine_fixup_plt().
* elf/dl-sym.c (_dl_vsym): Use DL_SYMBOL_ADDRESS() to obtain the
symbol address.
* elf/dl-symbol.c (_dl_symbol_value): Use LOOKUP_VALUE_ADDRESS to
obtain the symbol address.
* sysdeps/generic/ldsodefs.h: Add generic DL_SYMBOL_ADDRESS() macro
depending on the definition of ELF_FUNCTION_PTR_IS_SPECIAL.
* sysdeps/ia64/dl-machine.h: Add DL_SYMBOL_ADDRESS() macro calling
_dl_symbol_address() - this way DL_SYMBOL_ADDRESS() turns into an
inline on non ia64.
2000-04-28 Jes Sorensen <jes@linuxcare.com>
* elf/dl-runtime.c (fixup): Use the portable macros to get the
symbol address of an object.
* elf/dl-runtime.c (fixup-profile): Use the portable macros to get
the symbol address of an object.
* elf/dl-libc.c (struct do_dlsym_args): Change loadbase to a lookup_t.
* elf/dl-lookup.c (_dl_lookup_symbol): Likewise.
(_dl_lookup_symbol_skip): Likewise.
(_dl_lookup_versioned_symbol): Likewise.
(_dl_lookup_versioned_symbol_skip): Likewise.
2000-04-27 Jes Sorensen <jes@linuxcare.com>
* elf/rtld.c (_dl_start): Get the function pointer return address
via _dl_start_address for architectures that need a function
pointer descriptor rather than just a pointer (ia64).
* sysdeps/generic/dl-lookupcfg.h: New file.
* sysdeps/ia64/dl-lookupcfg.h: New file.
* sysdeps/ia64/dl-machine.h: New file.
* sysdeps/ia64/dl-symaddr.c: New file.
* sysdeps/ia64/dl-fptr.c: New file.
* elf/elf.h: Add IA-64 specific definitions.
2000-04-05 Cristian Gafton <gafton@redhat.com>
* ctype/ctype.h (__isctype_l): Define even if not __OPTIMIZE__
because it is used in generic code.
* wctype/wctrans.c: Define __ctype32_toupper and __ctype32_tolower.
* wcsmbs/wcwidth.h: Declare __ctype32_b.
* intl/gettext.c: Include <locale.h>.
* intl/ngettext.c: Likewise.
2000-04-05 Jakub Jelinek <jakub@redhat.com>
* resolv/inet_ntop.c (inet_ntop4, inet_ntop6, inet_ntop): Use
socklen_t type for size.
* sysdeps/sparc/sparc32/dl-machine.h (RTLD_START): Rewrite for new
init function interface.
* sysdeps/sparc/sparc64/dl-machine.h (RTLD_START): Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Don't include
sys/ucontext.h.
(__jmp_buf): Declare the whole type structure here, don't use
ucontext.
* iconv/skeleton.c (put16u): Fix typo.
Reported by Bruno Haible <haible@ilog.fr>.
2000-01-12 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_32BITUIDS):
Added for Linux 2.3.39+.
* sysdeps/unix/sysv/linux/getresgid.c: Support 32bit UIDs and
32bit GIDs.
* sysdeps/unix/sysv/linux/getresuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
* sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
* sysdeps/unix/sysv/linux/setegid.c: Likewise.
* sysdeps/unix/sysv/linux/arm/chown.c: New file.
* sysdeps/unix/sysv/linux/arm/fchown.c: New file.
* sysdeps/unix/sysv/linux/arm/geteuid.c: New file.
* sysdeps/unix/sysv/linux/arm/getegid.c: New file.
* sysdeps/unix/sysv/linux/arm/getuid.c: New file.
* sysdeps/unix/sysv/linux/arm/getgid.c: New file.
* sysdeps/unix/sysv/linux/arm/lchown.c: New file.
* sysdeps/unix/sysv/linux/i386/fchown.c: New file.
* sysdeps/unix/sysv/linux/i386/getegid.c: New file.
* sysdeps/unix/sysv/linux/i386/geteuid.c: New file.
* sysdeps/unix/sysv/linux/i386/getgid.c: New file.
* sysdeps/unix/sysv/linux/i386/getuid.c: New file.
* sysdeps/unix/sysv/linux/i386/lchown.c: New file.
* sysdeps/unix/sysv/linux/m68k/chown.c: New file.
* sysdeps/unix/sysv/linux/m68k/fchown.c: New file.
* sysdeps/unix/sysv/linux/m68k/getegid.c: New file.
* sysdeps/unix/sysv/linux/m68k/geteuid.c: New file.
* sysdeps/unix/sysv/linux/m68k/getgid.c: New file.
* sysdeps/unix/sysv/linux/m68k/getuid.c: New file.
* sysdeps/unix/sysv/linux/m68k/lchown.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/chown.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/fchown.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/getegid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/geteuid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/getgid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/getuid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/lchown.c: New file.
Based on a patch by Chris Wing <wingc@engin.umich.edu>.
2000-01-14 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sys/procfs.h: New file.
2000-01-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/backtrace.c: Include signal.h which
sigcontextinfo.h headers are used to expect.
* sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h
(register_dump): Fix a typo in the printout.
Avoid using reg_window, so that asm/ptrace.h is not necessary.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
(ADVANCE_STACK_FRAME): Likewise.
* stdlib/longlong.h: Avoid using __sparc_v9__ ifdefs.
* sysdeps/sparc/sparc32/bits/wordsize.h: Likewise.
* sysdeps/sparc/sparc64/bits/wordsize.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Include bits/wordsize.h
to make it clear this file depends on __WORDSIZE.
* sysdeps/unix/sysv/linux/ftruncate64.c (__have_no_truncate64):
Renamed from have_no_truncate64.
* sysdeps/unix/sysv/linux/truncate64.c (__have_no_truncate64):
Likewise.
1999-07-25 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/sparc/sparc32/sparcv8/Makefile: -mv8 is deprecated, use
-mcpu=v8.
* sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise.
* sysdeps/sparc/sparc64/Makefile: Make %g7 register available for
libc's private use (as assembly routine clobber it anyway).
1999-07-26 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* README.template (configurations): The crypt add-on has a new
ftp site.
* manual/install.texi (Installation): Likewise.
1999-05-19 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/generic/bits/elfclass.h: Version common to
wordsize-32 and wordsize-64.
* sysdeps/generic/bits/environments.h: Ditto.
* sysdeps/generic/stdint.h: Ditto.
* sysdeps/generic/inttypes.h: Ditto.
* sysdeps/generic/bits/wordsize.h: New file.
* stdlib/Makefile: Add bits/wordsize.h to headers.
* sysdeps/sparc/sparc64/bits/wordsize.h: New file.
* sysdeps/sparc/sparc64/fpu/bits/fenv.h: Allow the same exported
headers to be used for 32bit and 64bit ABI compilations.
* sysdeps/sparc/sparc64/fpu/fpu_control.h: Ditto.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Ditto.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Ditto.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Ditto.
* sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: Ditto.
* sysdeps/wordsize-64/bits/elfclass.h: Remove.
* sysdeps/wordsize-64/bits/environments.h: Remove.
* sysdeps/wordsize-64/stdint.h: Remove.
* sysdeps/wordsize-64/inttypes.h: Remove.
* sysdeps/wordsize-64/bits/wordsize.h: New file.
* sysdeps/wordsize-32/bits/elfclass.h: Remove.
* sysdeps/wordsize-32/bits/environments.h: Remove.
* sysdeps/wordsize-32/stdint.h: Remove.
* sysdeps/wordsize-32/inttypes.h: Remove.
* sysdeps/wordsize-32/bits/wordsize.h: New file.
1999-05-19 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/sparc/sparc64/memcpy.S (__align_cpy_4, __align_cpy_8,
__align_cpy_16): New functions.
(__align_cpy_2, __align_cpy_1): New aliases to memcpy.
* sysdeps/sparc/sparc32/Versions: New file.
* sysdeps/sparc/sparc64/Versions: New file.
* sysdeps/sparc/Versions: Remove.
1999-05-19 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/unix/sysv/linux/configure.in:
On sparc64-*-linux*, set slibdir to /lib64 if prefix
is /usr, plus set libdir to ${exec_prefix}/lib64.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* config.make.in: Propagate libdir settings from configure
to the Makefiles.
* shlib-versions: sparc64-*-linux* dynamic linker is
/lib64/ld-linux.so.2.
1999-05-18 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/sparc/sparc64/rawmemchr.S: New file.
* sysdeps/sparc/sparc32/sparcv9/rawmemchr.S: New file.
* sysdeps/sparc/sparc64/memchr.S: Fix if the second argument
contains garbage in bits 8-63.
* sysdeps/sparc/sparc64/memset.S: Ditto.
* sysdeps/sparc/sparc64/strchr.S: Ditto.
1999-05-18 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-64/stdint.h (INTPTR_MAX): Add missing ).
1999-05-17 David S. Miller <davem@redhat.com>
* sysdeps/sparc/sparc32/atomicity.h: New file.
* sysdeps/sparc/sparc32/sparcv9/atomicity.h: New file.
* sysdeps/sparc/sparc64/atomicity.h: New file.
* sysdeps/sparc/sparc32/sparcv9/Makefile: Add -Wa,-Av9a to
sysdep-CFLAGS.
1999-04-14 Jakub Jelinek <jj@ultra.linux.cz>
* scripts/config.sub: Allow sparcv[6789]-* and sparcv8plus{,a}-*
architectures.
* sysdeps/sparc/sparc32/sparcv8/Makefile: Use sysdep-CFLAGS
instead of CFLAGS.
* sysdeps/sparc/sparc32/sparcv8/Makefile: Use sysdep-CFLAGS
instead of CFLAGS. For gnulib and string directories use
-Wa,-Av9a gcc ASFLAGS.
* sysdeps/sparc/sparc32/sparcv9/memmove.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: New file.
* shlib-versions: Handle sparcv[6789]-* and sparcv8plus{,a}-*
the same way as sparc-*.
1999-03-29 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/sparc/sparc32/sparcv8/Makefile: New file.
* sysdeps/sparc/sparc32/sparcv8/rem.S: Delay after write %y.
* sysdeps/sparc/sparc32/sparcv8/sdiv.S: Likewise.
* sysdeps/sparc/sparc32/sparcv8/udiv.S: Likewise.
* sysdeps/sparc/sparc32/sparcv8/urem.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/bcopy.c: New file.
* sysdeps/sparc/sparc32/sparcv9/bzero.c: New file.
* sysdeps/sparc/sparc32/sparcv9/memchr.S: New file.
* sysdeps/sparc/sparc32/sparcv9/memcmp.S: New file.
* sysdeps/sparc/sparc32/sparcv9/memcpy.S: New file.
* sysdeps/sparc/sparc32/sparcv9/memset.S: New file.
* sysdeps/sparc/sparc32/sparcv9/stpcpy.S: New file.
* sysdeps/sparc/sparc32/sparcv9/strcat.S: New file.
* sysdeps/sparc/sparc32/sparcv9/strchr.S: New file.
* sysdeps/sparc/sparc32/sparcv9/strcmp.S: New file.
* sysdeps/sparc/sparc32/sparcv9/strcpy.S: New file.
* sysdeps/sparc/sparc32/sparcv9/strcspn.S: New file.
* sysdeps/sparc/sparc32/sparcv9/strlen.S: New file.
* sysdeps/sparc/sparc32/sparcv9/strncpy.S: New file.
* sysdeps/sparc/sparc32/sparcv9/strpbrk.S: New file.
* sysdeps/sparc/sparc32/sparcv9/strrchr.c: New file.
* sysdeps/sparc/sparc32/sparcv9/strspn.S: New file.
* sysdeps/sparc/sparc32/sparcv9/dotmul.S: New file.
* sysdeps/sparc/sparc32/sparcv9/rem.S: New file.
* sysdeps/sparc/sparc32/sparcv9/sdiv.S: New file.
* sysdeps/sparc/sparc32/sparcv9/udiv.S: New file.
* sysdeps/sparc/sparc32/sparcv9/umul.S: New file.
* sysdeps/sparc/sparc32/sparcv9/urem.S: New file.
* sysdeps/sparc/sparc32/sparcv9/Makefile: New file.
* sysdeps/sparc/sparc32/sparcv9/stpncpy.S: New file.
* sysdeps/sparc/sparc32/sparcv9/strncmp.S: New file.
* sysdeps/sparc/sparc32/bcopy.c: New file.
* sysdeps/sparc/sparc32/bzero.c: New file.
* sysdeps/sparc/sparc32/memchr.S: New file.
* sysdeps/sparc/sparc32/memcpy.S: New file.
* sysdeps/sparc/sparc32/memmove.c: New file.
* sysdeps/sparc/sparc32/memset.S: New file.
* sysdeps/sparc/sparc32/stpcpy.S: New file.
* sysdeps/sparc/sparc32/strchr.S: New file.
* sysdeps/sparc/sparc32/strrchr.c: New file.
* sysdeps/sparc/sparc32/strcpy.S: New file.
* sysdeps/sparc/sparc32/strlen.S: New file.
* sysdeps/sparc/sparc32/strcat.S: New file.
* sysdeps/sparc/sparc32/strcmp.S: New file.
* sysdeps/sparc/sparc64/bcopy.c: New file.
* sysdeps/sparc/sparc64/bzero.c: New file.
* sysdeps/sparc/sparc64/memchr.S: New file.
* sysdeps/sparc/sparc64/memcmp.S: New file.
* sysdeps/sparc/sparc64/memcpy.S: New file.
* sysdeps/sparc/sparc64/memset.S: New file.
* sysdeps/sparc/sparc64/stpcpy.S: New file.
* sysdeps/sparc/sparc64/strcat.S: New file.
* sysdeps/sparc/sparc64/strchr.S: New file.
* sysdeps/sparc/sparc64/strcmp.S: New file.
* sysdeps/sparc/sparc64/strcpy.S: New file.
* sysdeps/sparc/sparc64/strcspn.S: New file.
* sysdeps/sparc/sparc64/strlen.S: New file.
* sysdeps/sparc/sparc64/strncpy.S: New file.
* sysdeps/sparc/sparc64/strpbrk.S: New file.
* sysdeps/sparc/sparc64/strrchr.c: New file.
* sysdeps/sparc/sparc64/strspn.S: New file.
* sysdeps/sparc/sparc64/stpncpy.S: New file.
* sysdeps/sparc/sparc64/strncmp.S: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/Makefile (ASFLAGS-.os):
Append -fPIC, don't replace.
* configure.in: Recognize sparcv8plus / sparcv9.
1999-03-11 David S. Miller <davem@redhat.com>
* sysdeps/sparc/sparc32/fpu/fpu_control.h: Add missing trap enable
masks.
* sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise.
* elf/dynamic-link.h (elf_get_dynamic_info): Take new argument with
load address. Relocate d_ptr in DT_DTRTAB, DT_SYMTAB, DT_RELA, DT_REL,
DT_JMPREL, DT_PLTGOT, and DT_VERSYM l_info entry.
(_ELF_DYNAMIC_DO_RELOC): Take extra argument which specifies whether
rel and rela relocations can both happen and skip one test if this
is not possible.
(ELF_DYNAMIC_DO_RELA, ELF_DYNAMIC_DO_REL): Call _ELF_DYNAMIC_DO_RELOC
appropriately.
* elf/dl-addr.c (_dl_addr): DT_SYMTAB and DT_STRTAB entries are
already relocated.
* elf/dl-deps.c (_dl_map_object_deps): DT_STRTAB entry is already
relocated.
* elf/dl-load.c (_dl_init_paths): DT_STRTAB entry is already relocated.
(_dl_map_object_from_fd): Call elf_get_dynamic_info with new argument.
(_dl_map_object): DT_STRTAB entry is already relocated.
* elf/dl-lookup.c (do_lookup): DT_STRTAB and DT_SYMTAB entries are
already relocated.
* elf/dl-reloc.c (_dl_relocate_object): DT_STRTAB entry is already
relocated.
* elf/dl-runtime.c (fixup): DT_SYMTAB, DT_STRTAB, DT_JMPREL, and
DT_VERSYM entries are already relocated.
(profile_fixup): Likewise.
* elf/dl-version.c: Rename VERSTAG macro into VERSYMIDX. Replace
all users.
(match_symbol): DT_STRTAB entry is already relocated.
(_dl_check_map_versions): Likewise. Also fo DT_VERSYM.
* elf/do-rel.h (elf_dynamic_do_rel): reladdr is now assumed to be
relocated already. DT_SYMTAB and DT_VERSYM entries are also relocated.
* elf/rtld.c (_dl_start): Pass extra argument to elf_get_dynamic_info.
(find_needed): DT_STRTAB entry is already relocated.
(dl_main): Pass extra argument to elf_get_dynamic_info.
DT_STRTAB entry is already relocated.
* sysdeps/alpha/dl-machine.h (elf_machine_fixup_plt): DT_JMPREL and
DT_PLTGOT entries are already relocated.
(elf_machine_rela): Likewise for DT_SYMTAB.
* sysdeps/arm/dl-machine.h (elf_machine_rel): DT_STRTAB is already
relocated.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/powerpc/dl-machine.c (__process_machine_rela): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_got_rel): Likewise.
(elf_machine_got_rel): Likewise for DT_SYMTAB and DT_STRTAB.
* grp/initgroups.c (initgroups): If function in current module was
successful don't stop but continue to process to get all the groups.
1999-01-28 David S. Miller <davem@redhat.com>
* sysdeps/sparc/sparc32/__longjmp.S: Rewrite without bogus sanity
checks and aborts, to make longjmp based thread schemes work again.
1998-09-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/mach/hurd/dl-cache.c (_dl_unload_cache): New dummy
function. Reported by okuji@kuicr.kyoto-u.ac.jp [PR libc/789].
1998-09-15 David S. Miller <davem@pierdol.cobaltmicro.com>
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup):
Add profiling support.
(TRAMPOLINE_TEMPLATE): New macro.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that.
(RTLD_START): Prettify, and set __libc_stack_end properly.
(elf_machine_rela) [R_SPARC_COPY]: Remove RTLD_BOOTSTRAP ifndef
and check for sym being NULL instead.
* sysdeps/sparc/sparc64/addmul_1.S: Adjust to allocate 192 bytes
of stack space.
* sysdeps/sparc/sparc64/lshift.S: Likewise.
* sysdeps/sparc/sparc64/mul_1.S: Likewise.
* sysdeps/sparc/sparc64/rshift.S: Likewise.
* sysdeps/sparc/sparc64/submul_1.S: Likewise.
* sysdeps/sparc/sparc64/elf/crtbegin.S: Likewise and remove old
MEDANY code model %g4 usage.
* sysdeps/sparc/sparc64/elf/crtend.S: Likewise and remove old
MEDANY code model %g4 usage.
* sysdeps/sparc/sparc64/elf/start.S: Rework to not use old FULLANY
code model address formation.
* sysdeps/sparc/sparc64/dl-machine.h: Don't include link.h, do
include elf/ldsodefs.h
(DT_SPARC): Remove.
(elf_machine_matches_host): It is now EM_SPARCV9.
(elf_machine_dynamic): Clean up to remove ugly cast.
(elf_machine_fixup_plt): Rework for new V9 ABI, add support for
new PLT formats.
(elf_machine_rela): Don't do anything at all for R_SPARC_NONE.
Prettify rest of function.
[R_SPARC_COPY]: Check for sym being NULL.
[R_SPARC_32]: Handle it.
[R_SPARC_H44, R_SPARC_M44, R_SPARC_L44]: Handle them for the
MEDMID code model.
[R_SPARC_HH22, R_SPARC_HM10, R_SPARC_LM22]: Handle them for the
MEDANY code model.
[R_SPARC_NONE]: Remove this case, as it is now checked earlier.
(elf_machine_runtime_setup): Rewrite for new V9 ABI plt formats.
Add profiling support.
(TRAMPOLINE_TEMPLATE): New macro.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that.
(RTLD_START): Prettify and set __libc_stack_end.
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (SA_SIGINFO):
Define.
* sysdeps/unix/sysv/linux/sparc/bits/signum.h (_NSIG): Set to 64.
(SIGRTMIN, SIGRTMAX, __SIGRTMIN, __SIGRTMAX): Define.
* sysdeps/unix/sysv/linux/sparc/sparc32/brk.c (__brk): Remove
unused variable scratch.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
(__syscall_rt_sigaction, __rt_sigreturn_stub, __sigreturn_stub):
Declare.
(__sigaction): Rewrite rt_sigaction case to pass correct sigreturn
stub to rt_sigaction syscalls. Rewrite non-rt case to use correct
old format kernel sigaction structures.
* sysdeps/unix/sysv/linux/sparc/sparc64/ucontext.h: Move...
* sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: to here.
* sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Remove ucontext.h
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Fix
ucontext include.
(_JMPBUF_UNWINDS): Define.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Declare
statfs64 structure, which is exactly the same as the normal one.
* sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Allocate 192 bytes
of stack. Use correct syscall trap number. Add branch prediction
settings to branch instructions. Remove old MEDANY code model %g4
referneces for non-PIC.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add
__libc_longjmp and __libc_siglongjmp strong aliases.
* sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c (__readdir64):
Also define to __no__readdir64_decl around readdir.c inclusion.
(__readdir64): Add strong alias.
* sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (getrlimit):
Set strong and weak names properly.
1998-09-16 11:25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manual/Makefile (AWK): Default to gawk if standalone.
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (distribute): Undo last change.
* Make-dist (+tsrc) [not subdir]: Also include indirection headers
for sysdep headers.
(+subdir-headers): Removed, unused.
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdio-common/Makefile ($(inst_includedir)/bits/stdio_lim.h): Use
$(do-install).
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules ($(+sysdir_pfx)sysd-Makefile): Don't check for
absolute name in $(config-sysdirs), can never happen.
($(+sysdir_pfx)sysd-rules): Likewise.
* Makeconfig (full-config-sysdirs): Likewise.
(all-Subdirs-files): Prepend $(..).
* configure.in: Don't check for absolute name in $add_ons_pfx, can
not happen. Let --enable-add-ons=yes work if no add-ons actually
exist.
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Rules ($(common-objpfx)bits/stdio_%.h): Remove extra
continuations in command.
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/oldstdfiles.c (_IO_stdin_used): Update declaration.
1998-06-16 David S. Miller <davem@dm.cobaltmicro.com>
* sysdeps/sparc/sparc32/dl-machine.h
(elf_machine_fixup_plt): During rtld bootstrap, always perform
flushes as the kernel will emulate it when the underlying cpu does
not implement flush.
* sysdeps/unix/sysv/linux/sparc/sys/kernel_termios.h: Move...
* sysdeps/unix/sysv/linux/sparc/kernel_termios.h: ...to here.
* sysdeps/unix/sysv/linux/sparc/sparc32/__sigtrampoline.S: Remove.
* sysdeps/unix/sysv/linux/sparc/sparc32/Makefile: No longer build
trampoline code.
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
(__clone): Branch to label .Lerror not __clone_syscall_error.
(.Lerror): Fixup EINVAL setting.
* sysdeps/unix/sysv/linux/sparc/sparc32/getgroups.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/setgroups.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list
(__syscall_getgroups, __syscall_setgroups): Add.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
(__sigaction): Member name is k_sa_handler. Use memcpy to copy
around sa_mask data.
* math/math.h: Include bits/nan.h when compiling for ISO C 9x.