* malloc/malloc.h: Declare malloc_object_allocated_size, malloc_walk.
* malloc/Makefile (dist-routines): Add malloc-size, malloc-walk.
* malloc/malloc-size.c: New file.
* malloc/malloc-walk.c: New file.
* malloc/malloc-find.c (malloc_find_object_address): Return null if
PTR is outside the heap.
* elf/dl-load.c (_dl_map_object): If the requested name matches the
soname of a loaded object, use that object.
Mon Jun 24 19:57:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Makefile (subdirs): Add nss.
* inet/Makefile (routines): Add getrpcent, getrpcbyname,
getrpcbynumber, getrpcent_r, getrpcbyname_r, getrpcbynumber_r.
* inet/getrpcbynumber_r.c: New file.
* inet/getrpcbynumber.c: New file.
* inet/getrpcbyname.c: New file.
* inet/getrpcbyname_r.c: New file.
* inet/getrpcent_r.c: New file.
* inet/getrpcent.c: New file.
* nss/rpc-lookup.c: New file.
* nss/nss_files/files-rpc.c: New file.
* nss/Makefile (routines): Add rpc-lookup.
(libnss_files-routines): Add files-rpc.
* sunrpc/Makefile (routines): Remove getrpcent.
* sunrpc/getrpcent.c: File removed.
* nss/getXXent_r.c (REENTRANT_GETNAME): Clear NO_MORE when NIP is
non-null on entry.
* Makeconfig (rpath-link): Add $(nssobjdir).
(nssobjdir): New variable.
* Makerules: Move shared library building before objects rules, so
versions are known before extra-lib.mk gets included.
* extra-lib.mk (lib-noranlib): Depend on the shared object too.
* pwd/getpwuid.c: Rewritten using nss.
* pwd/getpwnam.c: Likewise.
* pwd/getpwent.c: Likewise.
* grp/getgrnam.c: Likewise.
* grp/getgrgid.c: Likewise.
* grp/getgrent.c: Likewise.
* pwd/Makefile (routines): Add getpwent_r, getpwnam_r, getpwuid_r.
* pwd/getpwent_r.c: New file.
* pwd/getpwnam_r.c: New file.
* pwd/getpwuid_r.c: New file.
* grp/Makefile (routines): Add getgrent_r, getgrgid_r, getgrnam_r.
* grp/getgrnam_r.c: New file.
* grp/getgrgid_r.c: New file.
* grp/getgrent_r.c: New file.
* grp/Makefile (routines): Remove grpopen, grpread.
* pwd/Makefile (routines): Remove pwdopen, pwdread.
* grp/grpopen.c, grp/grpread.c, pwd/pwdopen.c, pwd/pwdread.c: Removed.
* pwd/fgetpwent.c: Rewritten using files-parse.c.
* grp/fgetgrent.c: Likewise.
* nss/Makefile (routines): Add grp-lookup and pwd-lookup.
* nss/pwd-lookup.c, nss/grp-lookup.c: New files.
* nss/nss_files/files-grp.c: New file.
* nss/nss_files/files-pwd.c: New file.
* nss/Makefile (subdir-dirs): New variable; use it in vpath.
* nss/nss_files/files-parse.c: New file.
* nss/nss_files/files-XXX.c: New file.
* nss/nss_files/files-hosts.c, nss/nss_files/files-proto.c,
nss/nss_files/files-service.c, nss/nss_files/files-network.c:
Rewritten using them.
* nss/Makefile (libnss_files-routines): Remove files-host.
Add files-hosts, files-grp, files-pwd.
* nss/nss_dns/dns-network.c: Don't include <pthread.h>.
Mon Jun 24 22:39:12 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
A .plt entry now loads the .rela.plt offset directly rather
than making us calculate it.
Sun Jun 23 15:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* time/Makefile ($(installed-localtime-file) rule): Do
$(make-target-directory) first.
* resolv.h: Fix wrapper for resolv/resolv.h.
* configure.in (ld --no-whole-archive check): Use AC_TRY_COMMAND.
Compile dummy file and pass -nostdlib -nostartfiles so as not to
require installed libraries.
* shlib-versions (*-*-*): Set libresolv=2, libnss_files=1,
libnss_dns=1.
Sun Jun 23 19:42:05 1996 Ulrich Drepper <drepper@cygnus.com>
* resolv/netdb.h (_PATH_NSSWITCH_CONF): New macro.
* inet/herrno.c: New file.
* resolv/res_init.c: Remove res_hconf calls.
* nss/Makefile, nss/XXX-lookup.c, nss/file-lookup.c,
nss/getXXbyYY.c, nss/getXXbyYY_r.c, nss/getXXent.c,
nss/getXXent_r.c, nss/host-lookup.c, nss/network-lookup.c,
nss/nsswitch.c, nss/nsswitch.h, nss/proto-lookup.c,
nss/service-lookup.c: New files. Implementation of name
service switch, following the approach in Solaris.
Interface specification and general structure inspired by Peter
Eriksson <pen@lysator.liu.se>.
* nss/nss_files/files-host.c, nss/nss_files/files-network.c,
nss/nss_files/files-proto.c, nss/nss_files/files-service.c:
Implementation of libnss_files.so module for file based databases
in NSS service.
* nss/nss_dns/dns-host.c, nss/nss_dns/dns-network.c: Implementation
if libnss_dns.so module for DNS name lookup in NSS service.
* inet/getproto.c, inet/getprtent.c, inet/getprtname.c,
inet/getservent.c, inet/getsrvbynm.c, inet/getsrvbypt.c:
Changed to serve as interface to NSS.
* inet/gethstbyad.c, inet/gethstbyad_r.c, inet/gethstbynm.c,
inet/gethstbynm2.c, inet/gethstbynm2_r.c, inet/gethstbynm_r.c,
inet/gethstent.c, inet/gethstent_r.c, inet/getnetbynm.c,
inet/getnetbynm_r.c, inet/getnetbypt.c, inet/getnetbypt_r.c,
inet/getnetent.c, inet/getnetent_r.c, inet/getproto_r.c,
inet/getprtent_r.c, inet/getprtname_r.c, inet/getservent_r.c,
inet/getsrvbynm_r.c, inet/getsrvbypt_r.c: New files. Implement
interfaces to NSS, including reentrant functions.
* resolv/getnetbyaddr.c, resolv/getnetbyname.c, resolv/getnetent.c,
resolv/sethostent.c: Removed: Obsoleted by NSS.
* resolv/mapv4v6addr.h, resolv/mapv4v6hostent.h: Extracted from
gethnamaddr.c. These private functions are now used in more
than one file.
* resolv/inet_pton.c, resolv/gethnamaddr.c: Updated to bind-4.9.4-T5B.
Sat Jun 22 16:49:47 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile ($(config)): Make sure the word list in the for
loop is syntactically non-empty.
* Version 1.92 test release.
Sat Jun 22 23:30:07 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/syscalls.list (ksyslog_ctl): Rename
to klogctl to match prototype in sys/klog.h.
* sysdeps/posix/libc_fatal.c: Add include of <string.h>.
* sysdeps/unix/sysv/linux/gethostid.c: Ditto.
* sysdeps/posix/getcwd.c (__canonicalize_directory_name_internal):
Remove. Code is now part of __getcwd again. The old function
never really worked for anything but THISDIR==".".
* sysdeps/alpha/Makefile (CFLAGS-rtld.c): Add -mbuild-constants
only when building ELF version of library.
* libio/libioP.h (_IO_vscanf): Add prototype.
* posix/unistd.h (syscall): Change sysno arg and return value
to int long.
* version.h (VERSION): Updated to 1.92.
Sat Jun 22 10:44:09 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* posix/glob.c: Include <alloca.h> only [HAVE_ALLOCA_H], not [sparc].
Fri Jun 21 00:27:51 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* posix/fnmatch.c (fnmatch): Fix \*[*?]+ case to increment name ptr
only for ?s, not for *s. Fix from Chet Ramey.
Wed May 22 17:22:14 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* posix/glob.c [VMS]: Don't include <pwd.h>.
[HAVE_VMSDIR_H]: Include "vmsdir.h".
(glob) [VMS]: Don't grok ~.
* posix/glob.h [_AMIGA]: Remove `struct stat;' forward decl.
* sysdeps/generic/memcmp.c: Add prototype decls for internal fns.
* locale/programs/locale.c: Include string.h.
* sunrpc/xdr_stdio.c (xdrstdio_getlong), sunrpc/xdr_rec.c
(xdrrec_getlong), sunrpc/xdr_mem.c (xdrmem_getlong): Make sure
appropriate sign-extension is performed on machines with
sizeof(long) > 4.
* sunrpc/xdr.c (xdr_int, xdr_u_int): If sizeof(long)==8 and
sizeof(int)<sizeof(long), we need to go through a temporary
variable.
* locale/programs/ld-numeric.c: Include <alloca.h>
* libio/stdio.h (__libc_fatal): Add prototype.
* libio/cleanup.c: Use __P() to declare prototype when __STDC__ is
in efect.
* libio/iopopen.c (read_or_write, parent_end, child_end): Declare
volatile to avoid "might get clobbered by longjmp" warning.
* features.h (__KERNEL_STRICT_NAMES): Define __KERNEL_STRICT_NAMES
unless _LOOSE_KERNEL_NAMES is in effect (which, with high
probability is a sure loser).
* sysdeps/unix/sysv/linux/gnu/types.h (__KERNEL_STRICT_NAMES): Remove.
* sysdeps/unix/bsd/osf/alpha/start.S (errno): Removed.
* sysdeps/unix/sysv/linux/alpha/start.S: Ditto.
* misc/paths.h (_PATH_MAN): Change from /usr/share/man to /usr/man
to be Linux FSSTND compliant.
Mon Jun 10 17:50:31 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/pipe.S: Use PSEUDO.
* sysdeps/unix/sysv/linux/alpha/sysdep.S,
sysdeps/unix/sysv/linux/alpha/brk.S,
sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
sysdeps/unix/sysv/linux/alpha/llseek.S,
sysdeps/unix/sysv/linux/alpha/sigsuspend.S,
sysdeps/unix/sysv/linux/alpha/syscall.S: Rename syscall_error to
__syscall_error to avoid intruding application name space.
* sysdeps/unix/sysv/linux/alpha/sysdep.h: Rename __NR_get?id
to SYS_get?id so that syscall stubs in sysdeps/unix define
these syscalls in terms of getxpid/getxuid/getxgid.
* sysdeps/unix/_exit.S, sysdeps/unix/getegid.S,
sysdeps/unix/geteuid.S, sysdeps/unix/getppid.S,
sysdeps/unix/execve.S, sysdeps/unix/fork.S,
sysdeps/unix/syscall.S: Terminate syscall with PSEUDO_END.
* sysdeps/unix/make-syscalls.sh, sysdeps/unix/sysdep.h
(PSEUDO_END): Rename END() to PSEUDO_END().
* sysdeps/unix/alpha/sysdep.h: Move error-handling code in PSEUDO
to PSEUDO_END to improve branch-prediction. Include .frame
directive to make syscalls debugabble.
(PSEUDO_END): New macro.
* sysdeps/unix/alpha/sysdep.h, sysdeps/alpha/bb_init_func.S,
sysdeps/unix/sysv/linux/alpha/brk.S: Use ldiq instead of ldi since
latter is illegal under DEC Unix.
* sysdeps/unix/alpha/sysdep.S: Renamed from
sysdeps/unix/sysv/linux/alpha/sysdep.S. This file works for OSF/1
as well.
* sysdeps/unix/bsd/osf/alpha/sysdep.S: Remove (note that the
EWOULDBLOCK -> EAGAIN mapping was unnecessary since
EWOULDBLOCK==EAGAIN under DEC Unix and Linux/Alpha).
* sysdeps/alpha/divrem.h: Use retaddr instead of ra as the return
address register in the .frame directive.
* sysdeps/alpha/copysign.c: Remove.
* sunrpc/rpc/types.h: Include <sys/param.h> and <netinet/in.h> to
avoid RPC definitions of INADDR_LOOPBACK and/or MAXHOSTNAMELEN.
* errno.h: Move __END_DECLS to correct place to make file
compilable under c++.
* dirent/dirent.h: Document _DIRENT_HAVE_D_OFF macro. Define
d_ino only if <direntry.h> hasn't defined d_fileno.
* configure.in (HAVE_ASM_WEAKEXT_DIRECTIVE): Reverse order of
arguments to weakext to make .weakext detection work on ECOFF systems.
* FAQ: Add Linux/Alpha to list of supported platforms. Mention
that _validuser() has been replaced by __ivaliduser().
Thu Jun 6 21:39:38 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/bsd/sun/sunos4/tcsetattr.c (tcsetattr): Declare cmd
as unsigned long, not as int (to avoid incorrect int->long
promotion).
Set mark bits of deps as opened, instead of as scanned.
* elf/rtld.c (dl_main): Remove _dl_rtld_map from chain unconditionally.
Then if it has a nonzero l_opencount, add it back in search order.
* elf/dl-load.c (_dl_map_object): Don't use _dl_loaded's DT_RPATH if
it ain't got one!
* login/pututline_r.c: Fix typo in sizeof for DATA_TMP alloca.
* sysdeps/generic/gnu/types.h (__clock_t): New type.
* sysdeps/unix/sysv/linux/gnu/types.h (__clock_t, __fsid_t): Define
using kernel types.
* time/time.h (clock_t): Include <gnu/types.h> and define using
__clock_t.
(extra-objs): Remove it from here.
Include the z.* files directly instead of including zonenames; use
`-include' to not complain befre they exist.
* sysdeps/unix/Makefile: Find sysd-syscalls and s-proto.d with
$(common-objpfx) instead of $(objpfx).
parts of o-iterator-doit defns.
(unversioned libraries install rule): Fix pattern.
* mach/Makefile (mach-src-headers): Use $(base-machine) instead of
$(config-machine).
($(includedir)/machine): Likewise.
* config.make.in (base-machine): New variable.
* configure.in (machine): Move case stmt to set $machine out of sysdep
dirs AC_CACHE_CHECK.
(base_machine): New variable, set in that switch and AC_SUBST'd.
* Makerules (stub-$(subdir)): Use file name in directory as output,
since cmd is cd'd.
* locale/nl_langinfo.c (nl_langinfo): Use DATA->values instead of
DATA->strings.
* Makerules (BUILD_CFLAGS): Remove $(common-objpfx) from config.h.
* configure.in (.weakext check): Fix asm code to use .weakext instead
of .weak! Fix bogus test calls.
* configure: Regenerated.
* hurd/hurdsig.c (_hurd_internal_post_signal): For SIGNO == 0,
skip straight to pending check. When UNTRACED, resume process
from suspension first.
* intl/Makefile (headers): New variable, libintl.h.
[gettext-srcdir]: New rules to copy source from $(gettext-srcdir)/intl.
* configure.in: Check for --with-gettext arg.
Fri Nov 10 13:51:30 1995 Richard Stallman <rms@gnu.ai.mit.edu>
* malloc/malloc.c (get_contiguous_space): New function.
(morecore): Rewrite allocating new malloc info table.
(_malloc_internal): Use get_contiguous_space.
Fri Nov 10 13:03:40 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* hurd/hurdexec.c (_hurd_exec): If exec'ing self, pass
_hurd_msgport to be destroyed.
* Makerules (installed-libcs): Filter out %_pic.a.
* hurd/hurdinit.c (_hurd_proc_init): When traced, use msg_sig_post
to our msgport to take SIGTRAP, instead of _hurd_raise_signal.
* hurd/Makefile (user-interfaces): Add hurd/process_request.
* sysdeps/mach/hurd/group_member.c: New file.
* sysdeps/generic/group_member.c: New file.
* Makerules (lib-noranlib): Don't depend on $(install-lib).
(others): Do.
* extra-lib.mk: Fix test of $(lib)-no-lib-dep.
Mon Oct 30 12:33:10 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Rules (others): Depend on $(extra-objs).
* posix/unistd.h [__USE_GNU]: Declare group_member, __group_member.
* posix/Makefile (routines): Add group_member.
* sysdeps/posix/euidaccess.c: New file, adapted from fileutils.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Tighten constraint for
SIG operand in asm so it must be a register.
Add dead return to quiet gcc warning.
* Makerules (sysd-rules): Write a defn for sysd-rules-done.
[! sysd-rules-done]: Inhibit deps.
* hurd/hurdlookup.c (__file_name_lookup_under): New function.
(__hurd_file_name_lookup, __hurd_file_name_lookup_retry,
__hurd_file_name_split): Rewritten to take callback functions for
using any needed init or dtable port, instead of passing in crdir
and cwdir ports.
(__file_name_lookup, __file_name_split): Use new calling
convention; pass _hurd_ports_use and __getdport as the callback
functions.
* sysdeps/mach/hurd/chroot.c: Use __file_name_lookup_under instead
of __hurd_file_name_lookup.
* sysdeps/mach/hurd/chdir.c: Likewise.
* sysdeps/mach/hurd/fchdir.c: Likewise.
* hurd/fchroot.c: Likewise.
[$(have-initfini)=yes]: Test this rather than $(elf) for crtstuff.
[start-installed-name-rule]: If this is defined, elide rule for
$(objpfx)$(start-installed-name).
* sysdeps/unix/sysv/sco3.2.4/Makefile [$(subdir)=csu]
(start-installed-rule, start-installed-name-rule): New variables;
specify crt1.o, created by our own rule.
($(objpfx)crt1.o): New rule.
* configure.in: Require autoconf 2.4.2 or later. Change all
AC_CACHE_VAL uses to use new AC_CACHE_CHECK macro instead;
prettify some messages.
[$elf!=yes] (libc_cv_have_initfini): New test for `.init' and `.fini'
sections.
* munch-tmpl.c [HAVE_INITFINI]: Call _init and atexit (_fini) in
this case rather than #ifdef HAVE_ELF.
* config.h.in (HAVE_INITFINI): New macro.
Merged 1003.2 locale and localedef programs by Ulrich Drepper.
* locale/charmap.c: New file.
* locale/collate.c: New file.
* locale/config.h: New file.
* locale/ctype.c: New file.
* locale/ctypedump.c: New file.
* locale/hash.c: New file.
* locale/hash.h: New file.
* locale/iso-4217.def: New file.
* locale/keyword.gperf: New file.
* locale/keyword.h: New file.
* locale/libintl.h: New file.
* locale/locale.c: New file.
* locale/localedef.c: New file.
* locale/localedef.h: New file.
* locale/locfile-lex.c: New file.
* locale/locfile-parse.c: New file.
* locale/messages.c: New file.
* locale/monetary.c: New file.
* locale/numeric.c: New file.
* locale/token.h: New file.
* posix/regex.c, posix/regex.h: New files, incorporated from GNU regex.
* posix/Makefile (headers): Add regex.h.
(routines): Add regex.
(gpl2lgpl): Add regex.c and regex.h.
Tue May 16 17:35:07 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* locale/loadlocale.c: Expect macro LOCALE_PATH to be defined,
instead of hard-coding "/share/locale".
* malloc/malloc.h (_malloc_internal, _realloc_internal): Declare these.
* malloc/realloc.c (_realloc_internal): Renamed from realloc;
don't use __realloc_hook.
(realloc): New function; call __realloc_hook ?: _realloc_internal.
* malloc/malloc.c (_malloc_internal): Renamed from malloc;
don't use __malloc_hook.
(malloc): New function; call __malloc_hook ?: _malloc_internal.
(initialize): Set up _heaplimit to cover the _heapinfo table.
(morecore_recursing): New static variable.
(morecore): If that is set, return null immediately.
When growing the info table, before getting new core from the
system for it, set morecore_recursing and try moving _heapinfo
with _realloc_internal. When that fails and we get new core, set
_heaplimit to cover the core for the new _heapinfo table.
(register_heapinfo): New function. Record the _heapinfo table's
own blocks in that table and in the statistics variables.
(initialize, _malloc_internal): Use it after allocating new table.
Fri Mar 10 22:26:28 1995 Jim Meyering (meyering@comco.com)
* sysdeps/generic/memchr.c: Remove ansidecl.h and clean up for use
by other packages.
[LONG_MAX <= LONG_MAX_32_BITS]: Don't compile 64-bit code.
* mach/errorlib.h (errors): Use const for decl.
* time/tzfile.c (uc2ul, _uc2ul): Macros removed.
(decode): New inline function; decode signed 32-bit integers, and
sign-extend properly when long is longer than 32 bits.
(__tzfile_read): Changed all uses of uc2ul to decode.
Decode the transition times properly when sizeof (time_t) > 4.
* stdio/vfprintf.c [USE_IN_LIBIO] (PAD): Use return value of _IO_padn.
(buffered_vfprintf): Remove line buffer when flush failed.