2000-08-02 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/socketpair.c (__socketpair): Renamed from
socketpair. Made socketpair a weak alias.
* sysdeps/mach/hurd/pipe.c (__pipe): Reimplemented using
__socketpair. Use S_IFIFO protocol to make pipes POSIX
conforming, but fall back on the old protocol if the socket server
doesn't support it.
* include/sys/socket.h: Add prototype for __socketpair.
frame pointer early so that we save caller's frame pointer.
* sysdeps/i386/elf/setjmp.S: Likewise.
* sysdeps/i386/setjmp.S (__sigsetjmp): Pop our
frame pointer early so that we save caller's frame pointer.
* sysdeps/i386/elf/setjmp.S: Likewise.
2000-08-02 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/s390/Dist: New file.
* sysdeps/unix/sysv/linux/s390/sysdep.h: New file.
* sysdeps/unix/sysv/linux/s390/sysdep.S: New file.
* sysdeps/unix/sysv/linux/s390/syscall.S: New file.
* sysdeps/unix/sysv/linux/s390/sys/user.h: New file.
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h: New file.
* sysdeps/unix/sysv/linux/s390/sys/ptrace.h: New file.
* sysdeps/unix/sysv/linux/s390/sys/elf.h: New file.
* sysdeps/unix/sysv/linux/s390/socket.S: New file.
* sysdeps/unix/sysv/linux/s390/sigcontextinfo.h: New file.
* sysdeps/unix/sysv/linux/s390/shmctl.c: New file.
* sysdeps/unix/sysv/linux/s390/setreuid.c: New file.
* sysdeps/unix/sysv/linux/s390/setresuid.c: New file.
* sysdeps/unix/sysv/linux/s390/setresgid.c: New file.
* sysdeps/unix/sysv/linux/s390/setregid.c: New file.
* sysdeps/unix/sysv/linux/s390/setgroups.c: New file.
* sysdeps/unix/sysv/linux/s390/setgid.c: New file.
* sysdeps/unix/sysv/linux/s390/setfsuid.c: New file.
* sysdeps/unix/sysv/linux/s390/setfsgid.c: New file.
* sysdeps/unix/sysv/linux/s390/seteuid.c: New file.
* sysdeps/unix/sysv/linux/s390/setegid.c: New file.
* sysdeps/unix/sysv/linux/s390/semctl.c: New file.
* sysdeps/unix/sysv/linux/s390/register-dump.h: New file.
* sysdeps/unix/sysv/linux/s390/putpmsg.c: New file.
* sysdeps/unix/sysv/linux/s390/putmsg.c: New file.
* sysdeps/unix/sysv/linux/s390/profil-counter.h: New file.
* sysdeps/unix/sysv/linux/s390/msgctl.c: New file.
* sysdeps/unix/sysv/linux/s390/mmap.S: New file.
* sysdeps/unix/sysv/linux/s390/getuid.c: New file.
* sysdeps/unix/sysv/linux/s390/getresuid.c: New file.
* sysdeps/unix/sysv/linux/s390/getresgid.c: New file.
* sysdeps/unix/sysv/linux/s390/getpmsg.c: New file.
* sysdeps/unix/sysv/linux/s390/getmsg.c: New file.
* sysdeps/unix/sysv/linux/s390/getgroups.c: New file.
* sysdeps/unix/sysv/linux/s390/getegid.c: New file.
* sysdeps/unix/sysv/linux/s390/geteuid.c: New file.
* sysdeps/unix/sysv/linux/s390/fchown.c: New file.
* sysdeps/unix/sysv/linux/s390/clone.S: New file.
* sysdeps/unix/sysv/linux/s390/brk.c: New file.
* sysdeps/unix/sysv/linux/s390/bits/time.h: New file.
* sysdeps/unix/sysv/linux/s390/bits/resource.h: New file.
* sysdeps/unix/sysv/linux/s390/bits/mman.h: New file.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: New file.
* sysdeps/unix/sysv/linux/s390/Makefile: New file.
* sysdeps/s390/sysdep.h: New file.
* sysdeps/s390/sys/ucontext.h: New file.
* sysdeps/s390/sub_n.S: New file.
* sysdeps/s390/strncpy.S: New file.
* sysdeps/s390/strcpy.S: New file.
* sysdeps/s390/stackinfo.h: New file.
* sysdeps/s390/setjmp.S: New file.
* sysdeps/s390/s390-mcount.S: New file.
* sysdeps/s390/mul_1.S: New file.
* sysdeps/s390/memusage.h: New file.
* sysdeps/s390/memset.S: New file.
* sysdeps/s390/memcpy.S: New file.
* sysdeps/s390/memchr.S: New file.
* sysdeps/s390/machine-gmon.h: New file.
* sysdeps/s390/ldbl2mpn.c: New file.
* sysdeps/s390/gmp-mparam.h: New file.
* sysdeps/s390/fpu/fpu_control.h: New file.
* sysdeps/s390/fpu/fesetround.c: New file.
* sysdeps/s390/fpu/fegetround.c: New file.
* sysdeps/s390/fpu/fclrexcpt.c: New file.
* sysdeps/s390/fpu/bits/fenv.h: New file.
* sysdeps/s390/ffs.c: New file.
* sysdeps/s390/elf/start.S: New file.
* sysdeps/s390/elf/setjmp.S: New file.
* sysdeps/s390/elf/bsd-setjmp.S: New file.
* sysdeps/s390/elf/bsd-_setjmp.S: New file.
* sysdeps/s390/dl-machine.h: New file.
* sysdeps/s390/bzero.S: New file.
* sysdeps/s390/bsd-setjmp.S: New file.
* sysdeps/s390/bsd-_setjmp.S: New file.
* sysdeps/s390/bits/string.h: New file.
* sysdeps/s390/bits/setjmp.h: New file.
* sysdeps/s390/bits/huge_val.h: New file.
* sysdeps/s390/bits/endian.h: New file.
* sysdeps/s390/bits/byteswap.h: New file.
* sysdeps/s390/bcopy.S: New file.
* sysdeps/s390/backtrace.c: New file.
* sysdeps/s390/atomicity.h: New file.
* sysdeps/s390/asm-syntax.h: New file.
* sysdeps/s390/addmul_1.S: New file.
* sysdeps/s390/add_n.S: New file.
* sysdeps/s390/abort-instr.h: New file.
* sysdeps/s390/__longjmp.c: New file.
* sysdeps/s390/Makefile: New file.
* sysdeps/s390/Implies: New file.
* sysdeps/s390/Dist: New file.
Patches by Martin Schwidefsky <schwidefsky@de.ibm.com>.
* sysdeps/ia64/bits/byteswap.h: New file.
Patch by Dan Pop <Dan.Pop@cern.ch>.
* misc/sys/cdefs.h: Define __attribute_format_arg__.
* intl/libintl.h: Use it here instead of using __attribute__ directly.
2000-07-13 H.J. Lu <hjl@gnu.org>
* posix/regex.c (re_max_failures): Set to 4000.
2000-08-01 Ulrich Drepper <drepper@redhat.com>
2000-07-29 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Take into
acount that elf/rtld's main program might remove some varibales
from the environment if we're trying to be secure. Move the Hurd
startup data if necessary, or, if we there is no startup data,
make sure the magical convention that ARGV[0] is stored just after
the environment list.
2000-08-01 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/Makefile [subdir=resource]
(sysdep_routines): Add oldgetrlimit, oldsetrlimit.
* sysdeps/unix/sysv/linux/arm/syscalls.list: Add oldgetrlimit,
oldsetrlimit for GLIBC_2.0.
(LINE_PARSER): Allow any number of spaces between ip address and
number. Fixes PR libc/1833, reported by rp010gf@voruta.vu.lt.
* nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_getipnodebyname_r):
Likewise.
* Make-dist (dist): Resolve `..' in file names.
2000-07-31 Jes Sorensen <jes@linuxcare.com>
* sysdeps/ia64/elf/initfini.c: Kill dummy section since align and
endp statements have already been added.
2000-04-18 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/sysdep.h: Include
<sysdeps/ia64/sysdep.h>.
* sysdeps/ia64/_mcount.S: New file.
* sysdeps/ia64/elf/initfini.c (_init): Preserve gp around call to
__gmon_start__. Fix up extraneous whitespace.
2000-01-12 H.J. Lu <hjl@gnu.org>
* sysdeps/ia64/elf/initfini.c: New file.
2000-07-31 Jes Sorensen <jes@linuxcare.com>
* sysdeps/unix/sysv/linux/ia64/clone.S: Add stop bit to avoid WAW
dependency between branch and ar.pfs write.
2000-07-26 Philip Blundell <philb@gnu.org>
* sysdeps/arm/dl-machine.h (fix_bad_pc24): New function.
(elf_machine_rel): Use it for out-of-range PC24 relocs.
2000-07-28 Philip Blundell <philb@gnu.org>
* math/test-fpucw.c: Ignore reserved bits in control word.
2000-07-28 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_RET): New macro.
(ret): Redefine to PSEUDO_RET.
(PSEUDO): Remove jump to syscall_error.
2000-07-29 Mark Kettenis <kettenis@gnu.org>
* resolv/README: Add some information about using the resolver in
multi-threaded code and with C++. Spelling fixes.
2000-07-29 Mark Kettenis <kettenis@gnu.org>
* resolv/resolv.h (struct __sockaddr_in): Remove.
(struct __res_state) [!_LIBC]: Remove reference to __sockaddr_in.
* sysdeps/powerpc/backtrace.c (struct layout): Make pointers
__unbounded.
2000-07-27 Jakub Jelinek <jakub@redhat.com>
* locale/indigits.h (indigit_value): Correct.
* locale/indigitswc.h (indigitwc_value): Correct.
* stdio-common/vfscanf.c (__vfscanf): Fix I18N number
conversion, add GROUP checking for it, fix GROUP number
conversion with strlen(thousands) > 1.
Honour width correctly in the presence of floating
decimal points and thousands separators.
* stdio-common/tst-sscanf.c: New test.
* stdio-common/Makefile: Add it to tests.
* sysdeps/generic/strtol.c (strtol): Fix conversion if there are
thousands separators and group argument is non-zero.
Reported by Andi Kleen <ak@suse.de>.
2000-07-12 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* sysdeps/unix/sysv/linux/mips/Dist: Add sys/tas.h.
* sysdeps/unix/sysv/linux/mips/Makefile (sysdep_routines): Add
_test_and_set.
(headers): Add sys/tas.h.
* sysdeps/unix/sysv/linux/mips/Versions: Export _test_and_set for
GLIBC_2.2 from libc.
* sysdeps/unix/sysv/linux/mips/_test_and_set.c: New file.
* sysdeps/unix/sysv/linux/mips/sys/tas.h: New file for
_test_and_set.
2000-07-27 Jes Sorensen <jes@linuxcare.com>
* sysdeps/unix/sysv/linux/ia64/fork.c: Make __libc_fork the strong
name and add weak alias for __fork.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Change llseek, pread
& pwrite to use __libc_<name> as strong names instead of
__syscall_<name>.
* include/sched.h: Add clone2 prototype.
2000-07-26 Jes Sorensen <jes@linuxcare.com>
* sysdeps/unix/sysv/linux/ia64/sysdep.h (ENTRY): Don't declare the
procedure name twice.
2000-07-27 Philip Blundell <philb@gnu.org>
* malloc/malloc.c (HAVE_MREMAP): Undo change of 1997-12-04.
* sysdeps/unix/sysv/linux/bits/socket.h: Rename MSG_URG TO
MSG_CONFIRM following kernel 2.4.0 (MSG_URG was never used).
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.
Reported by Andi Kleen <ak@suse.de>.
* sysdeps/generic/bp-semctl.h (check_semctl): Fix syntax error
in union init. Pass zero for ignored semnum arg to semctl.
* sysdeps/unix/sysv/linux/shmat.c (shmat): Fix typo.
2000-07-27 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h (BOUNDED_N): Make it work for void*.
* sysdeps/generic/bp-semctl.h (check_semctl): Fix syntax error
in union init. Pass zero for ignored semnum arg to semctl.
* sysdeps/unix/sysv/linux/shmat.c (shmat): Fix typo.
2000-07-26 Andreas Jaeger <aj@suse.de>
* rt/tst-aio4.c: New file, slighlty modified version of tst-aio2.
* rt/tst-aio5.c: New file, slighlty modified version of tst-aio2.
* rt/Makefile: Add rules to build and run tst-aio4 and tst-aio5.
* rt/tst-aio.c (test_file): Fix typo.
* rt/tst-aio64.c (test_file): Likewise.
* rt/tst-aio3.c: New file, slightly modified version of tst-aio2.
* rt/Makefile: Add rules to build and run tst-aio3.
* sysdeps/unix/sysv/linux/netinet/ip.h: Removed ip_options since
it's not needed and confuses only.
2000-07-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* sysdeps/mips/dl-machine.h (_RTLD_PROLOGUE): Stringify using
__STRING(entry) and not #entry.
(_RTLD_EPILOGUE): Likewise.
* sysdeps/mips/mips64/dl-machine.h: Likewise.
2000-07-25 Andreas Jaeger <aj@suse.de>
* stdio-common/Makefile ($(objpfx)tst-unbputc.out): Change parameter
according to changes in test program, run also with static only
builds.
($(objpfx)tst-printf.out): Likewise.
* stdio-common/tst-unbputc.sh: Likewise.
* stdio-common/tst-printf.sh: Likewise.
2000-07-22 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/brk.c (_hurd_set_brk): When shrinking the
program's data space, reallocate only the space that was just
deallocated to release its backing space.
* sysdeps/powerpc/bits/setjmp.h (JB_SIZE): New constant.
* sysdeps/powerpc/elf/libc-start.c (__libc_start_main):
Wrap bounds around argv & envp and each of their string members.
* sysdeps/powerpc/elf/start.S: Designate BP symbols.
* sysdeps/unix/sysv/linux/powerpc/brk.S: Wrap entry-point
symbol in BP_SYM (). Discard bounds of address arg.
* sysdeps/unix/sysv/linux/powerpc/clone.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/mmap64.c (__mmap64):
Discard bounds on address arg, add bounds to return value.
2000-07-21 Greg McGary <greg@mcgary.org>
* sysdeps/powerpc/bp-asm.h (DISCARD_BOUNDS): Rename from UNCHECK_BOUNDS.
* sysdeps/powerpc/bits/setjmp.h (JB_SIZE): New constant.
* sysdeps/powerpc/elf/libc-start.c (__libc_start_main):
Wrap bounds around argv & envp and each of their string members.
* sysdeps/powerpc/elf/start.S: Designate BP symbols.
* sysdeps/unix/sysv/linux/powerpc/brk.S: Wrap entry-point
symbol in BP_SYM (). Discard bounds of address arg.
* sysdeps/unix/sysv/linux/powerpc/clone.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/mmap64.c (__mmap64):
Discard bounds on address arg, add bounds to return value.
* elf/Makefile (tests): Add nodlopen. Add rules to generate nodlopen.
* include/dlfcn.h: Define __RTLD_DLOPEN.
* elf/dl-load.c (_dl_map_object_from_fd): If DF_1_NOOPEN is set
and this is a dlopen() call, do not load the binary.
* dlfcn/dlopen.c: Add __RTLD_DLOPEN to mode passed down to _dl_open.
* dlfcn/dlopenold.c: Likewise.
* configure.in: Add test for -z nodelete option.
* config.make.in: Define have-z-nodelete with libc_cv_z_nodelete.
2000-07-20 Mark Kettenis <kettenis@gnu.org>
Make Hesiod NSS module thread-safe.
* hesiod/README.hesiod: Update.
* hesiod/Versions [GLIBC_2.2]: Add _nss_hesiod_getservbyport_r,
_nss_hesiod_setprotoent, _nss_hesiod_endprotoent,
_nss_hesiod_getprotobyname_r, and _nss_hesiod_getprotobynumber_r.
* hesiod/Makefile (libnss_hesiod-routines): Add hesiod-init and
hesiod-proto.
* hesiod/nss_hesiod/hesiod-init.c: New file.
* hesiod/nss_hesiod/hesiod-pwd.c: Rewritten for thread-safeness.
* hesiod/nss_hesiod/hesiod-grp.c: Likewise.
* hesiod/nss_hesiod/nss_hesiod.h: New file.
* hesiod/nss_hesiod/hesiod-service.c
(_nss_hesiod_getservbyport_r): New function. Provide support for
looking up services by port number.
* hesiod/nss_hesiod/hesiod-proto.c: New file.
* hesiod/hesiod.c: Update from BIND 8.2.3-T5B.
* hesiod/hesiod.h: Likewise.
* hesiod/hesiod_p.h: Likewise.
2000-07-20 Mark Kettenis <kettenis@gnu.org>
Fix problems with `struct __res_state' getting too big.
* resolv/resolv.h (struct __sockaddr_in): New definition.
(struct __res_state): Use __sockaddr_in instead of sockaddr_in in
the private parts of the structure to save some space.
* resolv/res_send.c (res_nsend): Cast &EXT(statp).nsaddrs[ns] to
(struct sockaddr_in *) in call to sock_eq.
Use memcpy to copy statp->nsaddr_list[ns] to &EXT(statp).nsaddrs[ns].
2000-07-20 Ulrich Drepper <drepper@redhat.com>
* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
* elf/elf.h: Add various DF_1_*, DTF_1_*, and DF_P1_* entries.
* elf/dl-close.c (_dl_close): Don't close an object if it is marked
with nodelete.
* elf/dl-open.c (dl_open_worker): Pass RTLD_NOLOAD as new parameter
to _dl_map_object. Return immediately if no object loaded.
Set DF_1_NODELETE bit in l_flags_1 if RTLD_NODELETE was passed.
* elf/dynamic-link.h (elf_get_dynamic_info): Copy DT_FLAGS_1 entry
if it exists into l_flags_1 word.
* elf/dl-load.c (_dl_map_object_from_fd): Take no parameter and use
it to determine whether loading is wanted or not.
(_dl_map_object): Likewise.
Call _dl_map_object_from_fd with new parameter.
* sysdeps/generic/ldsodefs.h: Update prototype.
* elf/dl-deps.c: Add new parameter to _dl_map_object calls.
* elf/rtld.c: Likewise.
* elf/Makefile (tests): Add noload. Add rules to generate noload.
* elf/noload.c: New file.
* include/link.h (struct link_map): Add l_feature_1 and l_flags_1.
* sysdeps/generic/bits/dlfcn.h: Define RTLD_NOLOAD and RTLD_NODELETE.
* sysdeps/mips/bits/dlfcn.h: Likewise.
2000-07-18 Kaz Kylheku <kaz@ashi.footprints.net>
* spinlock.c (__pthread_alt_lock, __pthread_alt_timedlock): Fixed
bug whereby thr field of waitnode structure would not be correctly
set unless a null self pointer is passed to the functions.
Eliminated redundant calls to thread_self().
(profile_fixup): Don't define for __BOUNDED_POINTERS__.
* sysdeps/i386/dl-machine.h: Don't use regparm attribute for
__BOUNDED_POINTERS__.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Use non-regparm version
for __BOUNDED_POINTERS__.
* iconv/gconv_trans.c: Add #include <stdlib.h> to get malloc decl.
* elf/dl-runtime.c (fixup): Trampoline passes unbounded pointer.
(profile_fixup): Don't define for __BOUNDED_POINTERS__.
* sysdeps/i386/dl-machine.h: Don't use regparm attribute for
__BOUNDED_POINTERS__.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Use non-regparm version
for __BOUNDED_POINTERS__.