Thu Sep 5 03:20:42 1996 Ulrich Drepper <drepper@cygnus.com>
Change configuration and Makefiles to allow add-ons to have a
sysdeps/ directory hierachy.
* configure.in: Test for sysdeps/ directory in add-ons. Before
all test and searches in these hierachies, too.
* Makeconfig (full-config-subdirs): Define based on $(config-sysdirs).
Extend with $(..) if not absolute path.
Use $(full-config-subdirs) where $(config-sysdirs) was used.
* Makefile ($(objpfx)sysd-dirs): Use config-sysdirs.
* MakeTAGS: Use $(full-config-subdirs).
* Makerules: Change comment to libc.so link script.
(sysdirs): Define based on $(full-config-subdirs).
(sysd-Makefile): Define using config-sysdirs.
(sysd-rules): Likewise.
* sysdeps/unix/Makefile (sysd-syscalls): Define based on +sysdep-dirs.
* sysdeps/unix/make-syscalls.sh: Remove basedir argument.
Wed Sep 4 01:32:21 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/k_cos.c: Rewritten for better accuracy.
* sysdeps/m68k/fpu/k_sin.c: Likewise.
* sysdeps/m68k/fpu/k_tan.c: Likewise.
Thu Sep 5 01:06:09 1996 Richard Henderson <rth@tamu.edu>
* malloc/free.c (free): Protect by using __libc_malloc_lock.
* malloc/malloc-find.c (malloc_find_object_address): Likewise.
* malloc/malloc-size.c (malloc_usable_size): Likewise.
* malloc/malloc-walk.c (malloc_walk): Likewise.
* malloc/memalign.c (memalign): Likewise.
* malloc/realloc.c (realloc): Likewise.
* malloc/malloc.c: Define __libc_malloc_lock.
(_malloc_internal): Don't use `malloc'. Instead look for
`__malloc_hook' or call `_malloc_internal'.
(malloc): Protect by using `__libc_malloc_lock'.
* malloc/malloc.h: Declare `__libc_malloc_lock'.
Mon Sep 2 22:42:59 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/elf/start.S: Use weak_alias for __start
instead of the hard definition.
* sysdeps/alpha/dl-machine.h (RTLD_START): Add type info for
_start and _dl_start_user.
* sysdeps/unix/sysv/linux/alpha/init-first.h (SYSDEP_CALL_INIT):
Make _dl_starting_up weak. Add type info for NAME.
Mon Sep 2 22:15:14 1996 Richard Henderson <rth@tamu.edu>
* Makefile (all): Add extra_solibs pass.
(+subdir_targets): Same.
* Rules (extra_solibs): New phony empty target for subdirs without
extra libs.
* extra-lib.mk: Build lib*.so* in extra_solibs not lib-noranlib.
* manual/Makefile: Add dummy extra_solibs target.
Sun Sep 1 15:41:22 1996 Richard Henderson <rth@tamu.edu>
* Makeconfig (+link): Add $(link-extra-libs).
(link-extra-libs): New variable which expands to the full paths of
the other libraries needed by a program, as controled by LDLIBS-$(@F).
* db/Makefile: Use LDLIBS-makedb to link libdb not a dependency, as
the later attempts to install the library before linking it.
* sysdeps/unix/alpha/sysdep.S: Align errno.
* sysdeps/unix/sysv/linux/alpha/ioperm.c (struct platform): Add
hae_shift entry.
(io): Move bus_memory_base and sparse_bus_memory_base into struct.
(_hae_shift): New function.
* sysdeps/unix/sysv/linux/alpha/sys/io.h: New file. Prototypes
for the bus query functions.
Sat Aug 31 18:14:54 1996 Richard Henderson <rth@tamu.edu>
* elf/dl-close.c (_dl_close): In static executables, map->l_prev
can be NULL when unloading a library.
* elf/dl-open.c (_dl_open): Pass __environ instead of __libc_envp
to the library .init function.
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Since we omitted
part of the COPY reloc processing earlier, omit the rest now --
we'll get into less trouble later when some fool does use a COPY.
* sysdeps/unix/sysv/linux/init-first.c (init): Accept argc et al as
parameters. Move all argc and __libc_multiple_libcs calculation out
to init-first.h. Use __environ not __libc_envp.
* sysdeps/unix/sysv/linux/alpha/init-first.h: Rewrite.
* sysdeps/unix/sysv/linux/i386/init-first.h: Rewrite.
Thu Aug 29 20:26:40 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/posix/profil.c (profil): Don't clobber saved timer and
signal settings when profiling was already turned on.
* csu/gmon-start.c (__gmon_start__) [HAVE_INITFINI]: Protect from
being called twice.
Wed Sep 4 01:31:50 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/mmap.S: Test for
0 < return value < -4096 and not < 0 to decide about failure.
Reported by Andreas Jaeger.
Tue Sep 3 19:04:05 1996 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/vfscanf.c (__vfscanf): Don't count EOF char
in %c format.
Sat Aug 31 18:10:51 1996 Ulrich Drepper <drepper@cygnus.com>
* wcsmbs/wchar.h: Define prototypes for wcstoq and wcstouq only
#ifdef __USE_GNU.
Sat Aug 31 12:34:29 1996 Ulrich Drepper <drepper@cygnus.com>
* version.c: Add missing newline character in banner.
* sysdeps/unix/sysv/linux/alpha/Dist: Correct typo.
* sysdeps/unix/sysv/linux/i386/Dist: Likewise.
Sat Aug 31 03:07:39 1996 Ulrich Drepper <drepper@cygnus.com>
* intl/l10nflist.c (_nl_normalize_codeset): We convert to lower
case, so don't prepend uppercase `ISO' for only numeric arg.
Fri Aug 30 19:55:27 1996 Ulrich Drepper <drepper@cygnus.com>
* libio/genops.c: Make _cleanup an alias of _IO_cleanup.
Reported by Erik Troan.
Fri Aug 30 15:40:04 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/Dist: Add sys/procfs.h and
sys/sysmacros.h. Reported by Curtiss <1CMC3466@IBM.MTSAC.EDU>.
Fri Aug 30 13:53:32 1996 Andreas Jaeger <aj@arthur.pfalz.de>
* sysdeps/unix/mman/syscalls.list: `mmap' has 6 arguments, not 5.
Fri Aug 30 13:01:10 1996 NIIBE Yutaka <gniibe@mri.co.jp>
* sysdeps/i386/fpu/__math.h (tan): Pop 1.0 in ST to get
real result.
Fri Aug 30 03:33:33 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrtl.c: New file. `long double'
implementation.
* sysdeps/unix/sysv/linux/i386/Dist: Add clone.S.
Fri Aug 30 13:39:21 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* Makerules (BUILD_CFLAGS): Use @(common-objpfx) for config.h, not
$(..). Some rules (like sysdeps/posix/Makefile for mk-stdiolim)
do `cd' commands.
(sed-remove-objpfx): Don't substitute for $(objpfx) anymore;
$(common-objpfx) is good enough.
* Rules (common-generated): Provide default (empty) value.
(dummy.o, dummy.c, empty.o, empty.c): Put these in
$(common-generated), not $(generated), and without $(..).
(subdir_echo-distinfo): Treat $(common-generated) just like
$(generated).
(generated): Depend on the (suitably mutated) $(common-generated)
files too.
* Makerules (common-clean): Remove common-generated files too.
* sysdeps/mach/hurd/Makefile (generated): Don't put errnos.d and
stamp-errnos here.
(common-generated): Do put errnos.d and stamp-errnos here.
(rpath-link): Don't use +=; $(rpath-link) is a colon separated list.
* sysdeps/mach/hurd/Makefile (before-compile): Add auth; also add
auth to following rule to get it built.
$(common-objpfx). All uses in dependency lists changed.
Fri Aug 30 01:26:44 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/Dist: Add close.S.
* sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
* sysdeps/unix/sysv/linux/alpha/Dist: Likewise.
* version.c: Add comment about where to report bugs to.
* catgets/gencat.c (usage): Likewise.
* db/makedb.c (usage): Likewise.
* locale/programs/locale.c (usage): Likewise.
* locale/programs/localedef.c (usage): Likewise.
* manual/socket.texi: A little bit better wording.
Thu Aug 29 18:03:06 1996 Ulrich Drepper <drepper@cygnus.com>
* Makerules: Make sure directory exists before generating stamp file.
(BUILD_CFLAGS): Always refer to using $(..).
* manual/Makefile: Make sure directory exists before generating
stamp file.
(make-target-directory): Add macro definition.
* sysdeps/generic/Makefile: Make sure directory exists before
generating stamp file.
* Makefile (distribute): Add autolock.sh. Reported by Fila Kolodny.
Tue Aug 27 10:06:22 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
When compiling in separate directory put objects into
subdirectories matching the source layout.
* Makeconfig (objpfx) [ifdef objdir]: Append $(subdir).
When looking for configparms try in $(common-objpfx).
Use $(common-objpfx)SUBDIR to find objects from other subdirectory
builds.
* Makerules: Add $(objpfx) to vpath list.
(make-dummy-dep): Use $(common-objpfx) to avoid creating dummy.d
more than once. All uses in dependency lists changed.
(+make-deps): Make target directory.
(sed-remove-objpfx): Substitute $(common-objpfx).
(do-ar, build-extra-lib, $(common-objpfx)stub-$(subdir)): Use
$(objpfx) instead of $(objdir) for cd command.
(O%-lib): Always find libc relative to $(..).
(subdir-stamps): Collect stamp files from subdirs.
(common-mostlyclean): Remove stub file in $(common-objpfx).
* MakeTAGS ($P/siglist.pot): Find siglist.c in stdio-common.
* Rules (dep-dummy-lib): Use $(common-objpfx) to avoid creating to
more than once.
($(objpfx)dummy.c, $(objpfx)empty.c): Change target name to use
$(common-objfpx). All uses in dependency lists changed.
(generated): Prepend $(..) to names.
* bare/Makefile ($(objpfx)lib$(config-vendor).a): Remove $(objpfx)
from $@.
* nss/Makefile ($(objpfx)libnss_dns.so, $(objpfx)libnss_db.so):
Use $(common-objpfx) instead of $(..) in dependencies.
* sysdeps/mach/Makefile (mach-objpfx): Unconditionally use
$(common-objpfx) instead of $(..) and (objpfx).
* sysdeps/mach/hurd/Makefile (hurd-objpfx): Likewise.
(rpath-link): Likewise.
(rpcuserlibs): Likewise.
* sysdeps/unix/Makefile [$(subdir) = stdio-common]: Check for
errlist.c in $(objpfx), not $(common-objpfx).
($(common-objpfx)s-proto.d): Special rule not covered by pattern
rule.
* sysdeps/unix/make-syscalls.sh: Make syscall rules depending on
s-proto.d in $(common-objpfx), not $(objpfx).
Thu Aug 29 17:45:49 1996 Ulrich Drepper <drepper@cygnus.com>
* nss/nsswitch.c (nss_dlerror_run): Free returned error
string.
Thu Aug 29 15:53:33 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/e_acoshl.c: New file. `long double'
implementation.
* sysdeps/libm-ieee754/e_atanhl.c: Likewise.
* sysdeps/libm-ieee754/e_remainderl.c: Likewise.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_asinhl.c: Likewise.
* sysdeps/libm-ieee754/s_cosl.c: Likewise.
* sysdeps/libm-ieee754/s_sinl.c: Likewise.
* sysdeps/libm-ieee754/s_tanhl.c: Likewise.
* sysdeps/libm-ieee754/s_tanl.c: Likewise.
* stdio-common/printf_fp.c (__printf_fp): Use default value '.' if
Thu Aug 29 00:28:08 1996 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_fp.c (__printf_fp): Use default value `.` if
`decimal' char is 0.
* C-numeric.c (not_available): New constant.
(_nl_C_LC_NUMERIC): Use `not_available' for grouping value.
* nss/nsswitch.conf: Example configuration file.
* nss/db-Makefile: Example Makefile for generation of databases
for nss_db.
* nss/Makefile (distribute): Add nsswitch.conf and db-Makefile.
1996-08-28 Paul Eggert <eggert@twinsun.com>
* C-messages.c (_nl_C_LC_MESSAGES): Set yesexpr to "^[yY]" and
noexpr to "^[nN]"; this conforms to POSIX.2.
* C-time.c (_nl_C_LC_TIME): Change %d to %e in d_t_format, to
conform to POSIX.2.
1996-08-28 Paul Eggert <eggert@twinsun.com>
* C-monetary.c (not_available): New constant.
(_nl_C_LC_MONETARY): Set mon_decimal_point to "", and set
mon_grouping, int_frac_digits, frac_digits, p_cs_precedes,
p_sep_by_space, n_cs_precedes, n_sep_by_space, p_sign_posn, and
n_sign_posn to CHAR_MAX, as required by the POSIX Standard.
Wed Aug 28 23:12:28 1996 Ulrich Drepper <drepper@cygnus.com>
* nss/nss_db/db-XXX.c: Correct function names. They must be
`_nss_db_*' instead of `_nss_files_*'.
(lookup): `parse_line' returns 1 if succesful.
* nss/nss_files/files-service.c (servbyname): Key for database
must also contain protocol names.
(servbypt): Likewise.
Test must also check for protocol. Add `proto' argument.
Tue Aug 27 09:56:13 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* MakeTAGS ($P/subdirs.pot): Prefix all file names, not only the
first one.
Fri Aug 16 16:11:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* nss/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): Treat
EPFNOSUPPORT and EAFNOSUPPORT as implying NSS_STATUS_UNAVAIL just
like ECONNREFUSED already does.
(_nss_dns_gethostbyaddr_r): Likewise.
* nss/nss_dns/dns-network.c (_nss_dns_getnetbyname_r): Likewise.
(_nss_dns_getnetbyaddr_r): Likewise.
* sysdeps/mach/hurd/socket.c (socket): For message transmission
and RPC errors that indicate that the socket server is not really
present and able to do its job, turn the error into EPFNOSUPPORT.
* sysdeps/generic/sbrk.c (__sbrk): Get kernel brk address
always only if in static libc or if statically linked program
uses libc.so.
Tue Aug 27 17:45:21 1996 Ulrich Drepper <drepper@cygnus.com>
* Makerules: Add some test for correct version of GNU Make.
* io/fcntl.h: Undo change from Mon Aug 26 22:22:17 1996.
* sysdeps/unix/sysv/linux/fcntlbits.h: Place macros here instead.
* sysdeps/generic/dl-sysdep.c: Initialize break address to
avoid overwriting last page (OK, Roland).
Tue Aug 27 16:20:37 1996 Ulrich Drepper <drepper@cygnus.com>
* resolv/resolv.h: Update from BIND-4.9.5-T3A.
* resolv/arpa/nameser.h: Likewise.
* resolv/res_init.c: Likewise.
* resolv/res_debug.c: Likewise.
* resolv/res_mkquery.c: Likewise.
Tue Aug 27 15:47:04 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-error.c (catch): Define errstring element not as const.
(_dl_catch_error): ERRSTRING argument is not const pointer.
Initialize *ERRSTRING and *OBJNAME separately.
* elf/link.h: Change prototype for `_dl_catch_error'.
* elf/dl-load.c (_dl_map_object): Use separate variable for
copied NAME to avoid `const' warning.
* elf/dlerror.c: Make `last_errstring' variable not const pointer.
* elf/rtld.c: Implement reading of /etc/ld.so.preload. This
provides preloading even for SUID binaries.
Add some more casts to avoid signed<->unsigned warnings.
Tue Aug 27 15:40:28 1996 NIIBE Yutaka <gniibe@mri.co.jp>
* posix/sys/types.h: Define loff_t.
* sysdeps/unix/sysv/linux/gnu/types.h: Define __loff_t.
Mon Aug 26 16:31:33 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* sysdeps/mach/hurd/setitimer.c (setitimer_locked): Tolerate NEW
being null; in that case don't touch the timer at all (but do
return something in OLD if necessary).
Mon Aug 26 13:35:16 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* sysdeps/mach/hurd/i386/init-first.c (__libc_multiple_libcs): New
variable.
* sysdeps/i386/init-first.c: Likewise.
* sysdeps/stub/init-first.c: Likewise.
Mon Aug 12 03:31:58 1996 Ulrich Drepper <drepper@cygnus.com>
* nss/nsswitch.c (__nss_configure_lookup): New function.
Allows to specify services.
* nss/XXX-lookup.h: Rename database variable and make global.
* nss/databases.def: New file. Real names of all databases.
* nss/nss.h: New file. Contains declaration useful for users
and service developers.
* nss/nsswitch.h: Move some declarations to nss/nss.h.
* nss.h: New file. Wrapper around nss/nss.h.
* nss/Makefile (headers): Add nss.h.
(distributes): Add databases.h.
Sun Aug 11 16:19:42 1996 Ulrich Drepper <drepper@cygnus.com>
Help the poor people with fast machines by making sure only
one `ar' commands works on the library.
* autolock.sh: New file. Written by Tom Tromey.
* Makerules (do-ar): Call autolock.sh shell script instead of
directly using `ar'.
* config.make.in: Make configuration variable AUTOLOCK which
gets initialized by configure.
* configure.in: Define variable AUTOLOCK to point to autolock.sh
script and mark it to substitute.
* string/Makefile: Add -fno-builtin for tst-strlen.c, too.
* elf/dl-lookup.c (_dl_lookup_symbol): Allow self-referencing.
Patch by David Mosberger-Tang.
Sun Aug 11 01:12:38 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/dl-machine.h (elf_alpha_fix_plt): Optimize LD_BIND_NOW
startup by moving Icache flush from here ...
(ELF_MACHINE_RUNTIME_TRAMPOLINE): ... to here.
(ELF_MACHINE_USER_ADDRESS_MASK): Delete; it is unused.
* sysdeps/alpha/divrem.h: Update comment to reflect the actual
calling conventions. The code is already correct.
Sun Aug 11 01:06:42 1996 Richard Henderson <rth@tamu.edu>
* string/Makefile: Compile tester with -fno-builtin as we want to
test our implementations, not gcc's.
Sat Aug 10 13:17:27 1996 David Mosberger-Tang <davidm@azstarnet.com>
* shadow.h: New file.
* sysdeps/unix/sysv/linux/netinet/in.h: Move
__BEGIN_DECLS/__END_DECLS up so ntohl() et al are bracketed as
well.
* socket/sys/socket.h [__cplusplus]: Use old-style __SOCKADDR_ARG.
g++ 2.7.2 (and earlier) has no transparent unions support.
Fri Aug 9 18:50:06 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/ioperm.c (_bus_base_sparse): New
function to determine the base address of sparse bus memory.
(APECS_*): Rename to CIA_*.
(APECS_SPARSE_MEM, CIA_SPARSE_MEM): New macros.
(platform): Add sparse_bus_memory_base member and initialize.
(sparse_bus_memory_base): New variable.
Tue Aug 6 10:23:18 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/posix/ttyname_r.c (ttyname_r),
sysdeps/posix/ttyname.c (ttyname): Return -1/NULL if
!__isatty(fd) (POSIX.1 says so.)
* sysdeps/unix/getlogin.c (getlogin): Fix to check fd 0 only.
This is not a gross hack, after all---for compatibility,
getlogin() really should check fd 0 only and not try to base its
operation on the controlling tty.
Wed Jul 17 10:54:20 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/getlogin.c (getlogin): Add static variable NAME,
change utmp_data from static to auto.
Sun Aug 11 02:56:08 1996 Ulrich Drepper <drepper@cygnus.com>
* posix/unistd.h [__USE_MISC]: Add prototype for `nice'.
Reported by David Mosberger-Tang.
Fri Aug 9 17:38:58 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sys/timex.h: Include <sys/time.h> to
get `struct timeval'.
* sysdeps/unix/sysv/linux/sys/acct.h: Get time_t from <time.h>.
* sysdeps/unix/sysv/linux/sys/module.h: Get size_t from <stddef.h>.
* sysdeps/unix/sysv/linux/sys/io.h: Get definition of __P.
* sysdeps/unix/sysv/linux/sys/klog.h: Likewise.
* gmon/sys/gmon.h: Include <sys/types.h> to get u_long.
* sysdeps/unix/sysv/linux/direntry.h: Complete types in
<linux/dirent.h>.
* io/fts.h: Include <sys/types.h> to get dev_t.
Reported by Matthias Urlichs.
* sysdeps/posix/tempname.c [USE_IN_LIBIO]: Don't clear
_IO_file_flags. It's the same as _flags.
Reported by Miquel van Smoorenburg <miquels@Q.cistron.nl>.
Wed Aug 7 19:38:47 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/resourcebits.h: Add RLIMIT_AS.
Thu Aug 8 16:17:38 1996 Ulrich Drepper <drepper@cygnus.com>
* pwd/getpwent.c: Define BUFLEN from NSS_BUFLEN_PASSWD.
* pwd/getpwent_r.c: Likewise.
* pwd/getpwnam.c: Likewise.
* pwd/getpwnam_r.c: Likewise.
* pwd/getpwuid.c: Likewise.
* pwd/getpwuid_r.c: Likewise.
* grp/getgrent.c: Define BUFLEN from NSS_BUFLEN_GROUP.
* grp/getgrent_r.c: Likewise.
* grp/getgrgid.c: Likewise.
* grp/getgrgid_r.c: Likewise.
* grp/getgrnam.c: Likewise.
* pwd/fgetpwent_r.c: New file. Reentrant version of fgetpwent.
* pwd/fgetpwent.c: Rewrite to use fgetpwent_r.
* pwd/Makefile (routines): Add fgetpwent_r.
* pwd/pwd.h: Add prototypes for __fgetpwent_r and fgetpwent_r.
* grp/fgetgrent_r.c: New file. Reentrant version of fgetgrent.
* grp/fgetgrent.c: Rewrite to use fgetgrent_r.
* grp/Makefile (routines): Add fgetgrent_r.
* grp/grp.h: Add prototypes for __fgetgrent_r and fgetgrent_r.
Implement shadow password lookup functions. This is no complete
shadow password suite.
* shadow/Makefile: New file.
* shadow/fgetspent.c: New file.
* shadow/fgetspent_r.c: New file.
* shadow/getspent.c: New file.
* shadow/getspent_r.c: New file.
* shadow/getspnam.c: New file.
* shadow/getspnam_r.c: New file.
* shadow/putspent.c: New file.
* shadow/sgetspent.c: New file.
* shadow/sgetspent_r.c: New file.
* shadow/shadow.h: New file.
* shadow/spwd-lookup.c: New file.
* shadow/nss_files/files-spwd.c: New file.
Thu Aug 8 13:33:45 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/ftime.c: New file. Available system
call is only a stub.
Reported by Matthias Urlichs.
* Makeconfig [!default_cflags]: Change default value from `-g'
to `-g -O'.
* configure.in: Recognize i686.
* sysdeps/i386/i686/Implies: Default on i586 optimized code.
Thu Aug 8 12:40:20 1996 Matthias Urlichs <smurf@smurf.noris.de>
* Makeconfig [$(build-omitfp) == yes]: Add to CFLAGS-.so
value of CFLAGS-.o, not CFLAGS-o.
* sysdeps/unix/sysv/linux/init-first.c (init): Add volatile
pointer to ourself. Otherwise `gcc -O3' optimized init away.
sure that all tables in binary file are word-aligned.
Thu Aug 8 01:41:43 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile: Undo change of Tue Aug 6 14:27:11 1996.
* elf/dl-support: Add definition of `_dl_sysdep_read_whole_file'.
Thu Aug 8 01:15:59 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/fpu_control.h (_FPU_DEFAULT, _FPU_IEEE): Set
to 0x137f to allow long double operations.
Sun Aug 4 13:12:05 1996 Richard Henderson <rth@tamu.edu>
Bug Fixes:
* nss/nsswitch.c (_res): Remove redundant variable definition.
The real one is in resolve/res_init.c, and having both prevents
using -fno-common when building the shared library.
* sunrpc/rpc_prot.c (_null_auth): Same. Original is in rpc_common.c.
* sysdeps/unix/sysv/linux/alpha/brk.S: When PIC, define __curbrk as
a .bss object not a COMMON symbol.
* sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S: Must load
$gp before referencing __sigsetjmp symbol. Retain LITUSE for same.
Optimizations:
* sysdeps/alpha/strlen.S: Rearrange first-word setup and thense the
main loop for better dual-issue on EV5. Rearrange binary search to
pipeline better and trim one instruction.
Cosmetic Changes:
* time/localtime.c (localtime_r): Move lock declaration back next to
the comment where it was before the 960724 change.
* INSTALL, manual/maint.texi: alpha-gnu-linux -> alpha-ANYTHING-linux.
The second word is supposed to be the hardware manufacturer.
* sysdeps/alpha/_mcount.S: Retain LITUSE for __mcount.
* sysdeps/alpha/setjmp.S: Retain LITUSE for __sigsetjmp_aux.
* sysdeps/alpha/divrem.h: More local labels, retain LITUSE for _mcount.
* sysdeps/alpha/alphaev5/add_n.S, sysdeps/alpha/alphaev5/lshift.S,
sysdeps/alpha/alphaev5/rshift.S, sysdeps/alpha/alphaev5/sub_n.S:
Same cleanups as with EV4 GMP stuff.
Tue Jul 25 03:30:56 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/unix/sysv/linux/Makefile [misc] (sysdep_routines): Add clone.
* sysdeps/unix/sysv/linux/alpha/clone.S: New file.
* sysdeps/unix/sysv/linux/i386/clone.S: New file.
Sun Aug 4 00:12:41 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/gnu/types.h: Declare __fd_mask as
`unsigned long'.
* misc/sys/select.h: Declare fd_mask as alias of __fd_mask.
Sat Aug 3 16:20:02 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/ioperm.c (platform): Add entry for
Mikasa.
* socket/sys/socket.h (send, __send, sendto): Declare buffer
pointer as __const.
* string/tester.c (main): Test stpncpy.
* sysdeps/generic/stpncpy.c (__stpncpy): Fix so it works without
segfault when called with an N that is not a multiple of four and
src[N-1]=='\0'.
* misc/syslog.c (LogType): New variable.
(openlog): If connect() with SOCK_DGRAM fails with EPROTOTYPE,
try again with SOCK_STREAM (the Linux syslogd uses a socket of the
latter type).
(vsyslog): When LogType==SOCK_STREAM, also send ASCII NUL
terminator as a record-delimiter. If __send(LogFile) fails,
call closelog() so logfile gets re-opened next time.
Wed Aug 7 15:15:14 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-open (_dl_open): Add cast to avoid warning.
* manual/memory.texi: Improve some examples to give readers better
advice: Use `stpcpy' instead of `strcat' if possible.
* manual/string.texi: Document `strtok_r' and `strtok'.
* sunrpc/Makefile: Move `+gccwarn' definition before inclusion
of Makeconfig.
[$(cross-compiling)=no]: Change test before making librpcsvc
to this from $(cross-compile).
Reported by Andreas Schwab.
Tue Aug 6 14:27:11 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile (routines): Move dl-sysdep to here...
(rtld-routines): ...from here. This should make static linking
work again.
* locale/setlocale.c: Add local variable `lock' and add code to
`setlocale' to avoid simultaneous changing of global data.
* catgets/catgets.c (catopen): Use `__strdup' instead of `strdup'.
* catgets/open_catalog (__open_catalog): Use `__stpcpy', `__open',
`__fstat', `__read', `__mmap', `__munmap' and `__close' instead
of unprotected names.
* sunrpc/rpc/rpc_msg.h: Fix botched patch for multiple inclusion
protection.
* configure.in: Grok `--enable-add-ons=DIR1,DIR2,...', and configure
in those directories.
* config.make.in (add-ons): New varaible, set from @subdirs@.
* Makefile (subdirs): Added $(add-ons) at the end.
* time/strftime.c (strftime: do_number): Initialize PRINTED to
MAXDIGITS in case P is null and so sprintf is never actually called.
Mon Jul 29 02:46:23 1996 Ulrich Drepper <drepper@cygnus.com>
Add support for the to-be-written internationalized regexp.
This code must be able to use collation symbols and collation
equivalent classes.
* locale/C-collate.c (_nl_C_LC_COLLATE_symbol_hash,
_nl_C_LC_COLLATE_symbol_strings, _nl_C_LC_COLLATE_symbol_classes):
New global variables for collation classes.
* locale/categories.def: Add new descriptions for collation symbols
and collation classes.
* locale/langinfo.h: Add constants for collation symbols and
collation classes.
* locale/lc-collate.c: Add new global variables for collation symbols
and collation classes.
(_nl_postload_collate): Initialize new variables.
* locale/programs/ld-collate.c: Add code to emit tables for
collation symbols and collation classes.
* locale/programs/locales.h: Change prototype for `collate_output'.
* locale/programs/locfile.c (write_all_categories): Call
`collate_output' with new argument.
* locale/localeinfo.h: Add declaration for new global vars.
(union locale_data_value): New member wstr for `wchar_t' strings.
* locale/programs/locale-spec.c: Handle `collate-classes'
keyword and print information about available collation classes.
* locale/strlen-hash.h: New file. Simple hashing function which
takes a string with known length.
* locale/Makefile (distribute): Add strlen-hash.h.
(locale-modules): New var. Additional files for `locale' program.
* locale/C-ctype.c: Rewrite to avoid using string for giving values
which are of type `u_int32_t'.
Correct entry for EOF in toupper and tolower tables.
* locale/loadlocale.c (_nl_load_locale): Add cast to prevent
warning.
* locale/programs/ld-ctype.c (ctype_output): Add code to make
sure that all tables in binary file are words aligned.
* locale/programs/locfile.c (write_locale_data): Correct handling
of LC_MESSAGES locale. Create directory if necessary.
* locale/setlocale.c (setlocale): Add cast to avoid warning.
* string/string.h: Add prototype for `__strndup'.
Wed Jul 24 19:10:00 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* wcsmbs/mbrtowc.c: Remove unused variable.
Sun Jul 28 22:40:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/configure.in (LIBC_LINUX_VERSION): Update to
2.0.10; some problems were reported with an earlier version, and this
one is known to work.
* sysdeps/generic/dl-sysdep.c (__libc_enable_secure): New variable.
* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
* sysdeps/mips/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
Declare _dl_runtime_resolve with __attribute__ ((unused)) so the
compiler doesn't elide it.
(elf_machine_rel): Follow Jul 14 change in sysdeps/i386/dl-machine.h.
* intl/libintl.h: Define optimizing macros if __OPTIMIZE__ is
defined, not __OPTIMIZED.
(_nl_msg_cat_cntr): Move declaration outside macro definition
to prevent "nested extern" warning.
(dcgettext): Rename local variable `result' to `__result'.
Thu Jul 25 22:46:30 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* locale/programs/localedef.c (__progname): Remove decl.
(main): Use program_invocation_short_name instead of __progname.
(usage): Use program_invocation_name instead of __progname.
Fri Jul 26 03:46:08 1996 Ulrich Drepper <drepper@cygnus.com>
* catgets/gencat.c: Use "libc" instead of PACKAGE.
* locale/localedef.c: Ditto.
* locale/locale.c: Ditto.
* locale/findlocale.c (_nl_find_locale): Little optimization.
Use new function `strndup'.
* locale/loadlocale.c: Little optimization. Use constant value
from `_nl_category_num_items' instead of byte-order dependend
value from file.
* locale/programs/ld-time.c (time_add): Correct string constant.
* locale/programs/locale-spec.c: New file.
* locale/programs/locale.c: Call `locale_special' function if
no other field matches.
* locale/programs/localedef.c: No need to define `program_name'.
Use global variable `__progname'.
* locale/programs/locfile.c (write_locale_data): Always write
LC_MESSAGES data in LC_MESSAGES/SYS_LC_MESSAGES file. This is
necessary since message catalogs are also installed in the
LC_MESSAGES/ directory.
* locale/programs/stringtrans.c (ADDC): Correctly use `encode_char'
function instead of writing single bytes.
(encode_char): Also handle little endian.
* locale/setlocale.c (new_composite_name): Little optimization.
Use return value of `memcpy'.
* misc/ttyent.h: Pretty print prototypes, add missing parameter
names, prepend parameter names with __ and use `__const' instead
of `const'.
* posix/unistd.h: Ditto.
* stdlib/stdlib.h: Ditto.
* string/string.h: Ditto.
* posix/getconf.c: De-ASNI-fy. Recognize POSIX.2 constant names.
Use `error' function instead of doing it by hand.
* sysdeps/posix/sysconf.c: De-ANSI-fy.
Handle _SC_COLL_WEIGHTS_MAX.
* sysdeps/stub/sysconf.c: Handle _SC_CHARCLASS_NAME_MAX,
_SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_2_LOCALEDEF
since these do depend on the platform.
Add POSIX.4 symbols.
* posix/posix2_lim.h: Add missing definition of
_POSIX2_COLL_WEIGHTS_MAX.
Change _POSIX2_EQUIV_CLASS_MAX and _POSIX2_CHARCLASS_NAME_MAX
to high values since we have no fixed limit.
* sysdeps/generic/confname.h: Add _SC_PAGE_SIZE as alias for
_SC_PAGESIZE for buggy systems (= HP UX) out there.
* wcsmbs/Makefile (routines): Add mbsnrtowcs and wcsnrtombs.
* wcsmbs/mbsnrtowcs.c: New file. Non-standard implementation.
* wcsmbs/wcsnrtombs.c: Ditto.
* wcsmbs/wchar.h [__USE_GNU]: Add prototypes for mbsnrtowcs and
wcsnrtombs.
Thu Jul 25 00:25:54 Richard Henderson <rth@tamu.edu>
* nss/nss_db/db-XXX.c: Kill trailing ; from lock defn as a matter of
course.
* nss/getXXent_r.c: Likewise.
* nss/nsswitch.c: Likewise.
* nss/nss_files/files-XXX.c: Likewise.
* sysdeps/mach/hurd/dirstream.h (struct __dirstream): Likewise.
* sysdeps/unix/bsd/telldir.c (struct record): Likewise.
* sysdeps/unix/dirstream.h (struct __dirstream): Likewise.
Sat Jul 20 21:55:31 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
Win32 hacks from <Rob_Tulloh@tivoli.com>.
* posix/glob.c [WIN32]: Don't include <pwd.h>; don't use d_ino;
use void * for my_realloc; include <malloc.h> for alloca.
(glob) [WIN32]: Use "c:/users/default" for ~ if no HOME variable.
* posix/fnmatch.h [WIN32]: Use prototypes even if [!__STDC__].
* posix/glob.h: Likewise.
Fri Jul 19 16:56:41 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* posix/glob.h [!_AMIGA && !VMS]: Check this instead of just [!_AMIGA]
for `struct stat;' forward decl.
* sysdeps/unix/sysv/linux/configure.in (LIBC_LINUX_VERSION): New
macro, now put the needed Linux version just once, here; update to
needing linux-2.0.3 headers.
(libc_cv_linuxVER): New macro derived from that.
(kernel header check): Use those macros and some m4 magic to replace
hard-coded `201' and `2.0.1' in several places.
* Makerules ($(libdir)/libc.so): Fix typos in generated comment.
Wed Jul 24 17:02:30 1996 Ulrich Drepper <drepper@cygnus.com>
* time/localtime.c: Move lock variable declaration to end of
variable declarations since if is a dummy macro the ; at the
end terminates the variable section of the function.
* time/tzset.c: Undefine `tzset' before function declaration.
Use `weak_function' macro instead of `weak_symbol'.
Wed Jul 24 18:57:33 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtouq.c: Additional weak alias is `strtoull', not
`strotull'.
Wed Jul 24 18:26:23 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-ctype.c: Increment number of fields after change
from Wed Jun 19 03:24:58 1996.
* sysdeps/mach/hurd/Makefile (rpcuserlibs): New variable.
($(common-objpfx)libc.so): Move deps into that, use it.
[$(subdir) = elf] ($(objpfx)librtld.so): Depend on
$(rpcuserlibs:.so=_pic.a).
* elf/Makefile ($(objpfx)librtld.so): Just depend on libc_pic.a; don't
use $(LDLIBS-c.so).
Thu Jul 18 21:41:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/stpncpy.c: Fix semantics to make `stpncpy (d, s,
n)' equivalent to `strncpy (d, s, n), d += strnlen (d, n)'.
* locale/iso-4217.def: Add India to comment for symbol "INR ".
Reported by Raja R Harinath <harinath@cs.umn.edu>.
Sat Jul 20 14:03:45 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Remove bogus
#undef RESOLVE.
* time/tzset.c: Include <libc-lock.h>.
(__tzset_lock): New lock variable.
(tzset): New function (weak defn), no longer weak alias for __tzset.
Call __tzset while holding __tzset_lock.
* time/localtime.c: Include <libc-lock.h>.
(__localtime_r): Hold __tzset_lock while doing the work.
* sysdeps/generic/setenv.c (__environ): Change conditional for #define
from [!HAVE_GNU_LD] to [!_LIBC].
[_LIBC]: Include <libc-lock.h> and define a lock.
(LOCK, UNLOCK): New macros, no-ops for [! _LIBC].
(setenv, unsetenv): Use them.
* locale/programs/locfile.c (write_locale_data): Deal with missing
UIO_MAXIOV.
* sysdeps/mach/hurd/socket.c (socket): Make TYPE an int.
* sysdeps/mach/hurd/socketpair.c (socketpair): Likewise.
* sysdeps/mach/hurd/errnos.awk: Move EWOULDBLOCK check before errno==0
check. mib's clueless hacking broke it.
Thu Jul 18 04:27:21 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Makerules ($(libdir)/libc.so): Add missing / after $(cryptobjdir).
Wed Jul 17 10:54:20 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/start.S: Move to ...
* sysdeps/alpha/elf/start.S: here.
* misc/sys/ustat.h: New file.
* misc/ustat.h: Ditto.
* sysdeps/generic/ustatbits.h: Ditto.
* libc-orig/sysdeps/stub/ustat.c: Ditto.
* sysdeps/unix/sysv/linux/ustatbits.h: Ditto.
* misc/Makefile (headers): Mention ustat.h, sys/ustat.h, and
ustatbits.h.
(routines): Mention ustat.
* sysdeps/unix/sysv/linux/syscalls.list: Mention klogctl in
alphabetically correct place. Mention ustat.
* sysdeps/unix/alpha/sysdep.S: Make errno a bss symbol, not a
common symbol (makes errno accessible from gdb).
* login/pututline_r.c (pututline_r): Test ut_id in repositioning
test, not ut_type.
* login/logwtmp.c (logwtmp): Reimplemented. Must ensure that a
record always gets appended at end of file (wtmp is a log file,
after all). Set ut_type to DEAD_PROCESS if name is empty.
* login/getutid_r.c (getutid_r): Handle search for UT_TYPE in
separate loop from search for UT_ID. Fix code so it is in
sync with Unix man page.
* login/getutline_r.c (getutline_r): Stop searching only if
ut_line matches and type is either USER_PROCESS or LOGIN_PROCESS.
Tue Jul 16 15:06:18 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/netinet/in.h: Base on <linux/in.h> to
avoid duplicate declarations.
Sun Jul 14 19:08:55 1996 David Mosberger-Tang <davidm@azstarnet.com>
* manual/maint.texi (Supported Configurations): Add alpha-gnu-linux
and alpha-gnu-linuxecoff targets.
Fri Jul 12 16:58:44 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/netinet/in.h: Declare bindresvport().
Sat Jun 22 23:30:07 1996 David Mosberger-Tang <davidm@azstarnet.com>
* resolv/res_send.c (res_send): Declare FROMLEN as size_t instead
of int.
* resolv/res_comp.c (res_hnok): Use empty statement in place
of NULL (which generates a "useless expression" warning in
gcc).
* stdio-common/vfscanf.c: Major change. Now read character
from stream only if needed. Before it was read after the
previous character was used.
Bug reported by Martin Goik <goma0002@FH-Karlsruhe.DE>
* stdio-common/tstscanf.c: Change test program so that return
value is != 0 if one test failed.
* sysdeps/m68k/Makefile (crypt): Variable removed.
* sysdeps/sparc/Makefile: Likewise.
* sysdeps/mach/hurd/mmap.c: Use same inheritance arg in second vm_map
call as in first.
* Makerules (make-link): Install the new link with atomic mv -f in
case ln itself requires the library being installed.
* sysdeps/alpha/dl-machine.h: Mirror Roland's changes to
i386/dl-machine.h of 960713.
* sysdeps/generic/dl-sysdep.c: Include <sys/mman.h>.
(_dl_sysdep_read_whole_file): Fix result variable declaration.
Tue Jul 16 00:53:57 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/uname.c: Call __gethostname to fill in the
`nodename' member.
Mon Jul 15 17:23:53 1996 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/vfprintf.c (vfprintf): Call parse_one_spec
with pointer to local variable instead of NULL.
1996-07-15 Paul Eggert <eggert@twinsun.com>
* time/strftime.c (strftime): Don't pass empty macro argument to `add'.
Sat Jul 13 09:53:39 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove names
that are already added by other means.
* sysdeps/unix/sysv/linux/syscalls.list: Add more EXTRA's in the
caller column to get those syscalls added automagically.
* elf/rtld.c (dl_main) [ELF_MACHINE_DEBUG_SETUP]: Use this macro
instead of setting the DT_DEBUG pointer.
* csu/initfini.c (_init, _fini): Generate .end directives after
standalone prologues and filter them out from epilogues.
* elf/rtld.c: Include <string.h>.
* elf/dynamic-link.h (ELF_DYNAMIC_DO_REL, ELF_DYNAMIC_DO_RELA,
ELF_DYNAMIC_RELOCATE): No longer take RESOLVE argument.
Conditionalize defns on [RESOLVE].
* elf/do-rel.h (elf_dynamic_do_rel): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
Instead use RESOLVE macro with same args.
(elf_machine_rel): Conditionalize defn on [RESOLVE].
* elf/dl-reloc.c (RESOLVE): New macro, define before including
"dynamic-link.h". It replaces `resolve' local function.
* elf/dl-runtime.c: Likewise.
* elf/rtld.c: Likewise.
* elf/dl-open.c (_dl_open): Force an indirect call for
_dl_relocate_object so there is no chance a PLT fixup will be done
and clobber _dl_global_scope before our call happens.
* sysdeps/i386/fpu/__math.h (tan): Correct output constraint from =u
to =t; must operate on top of fp reg stack, not second from top.
Correct input constraint to 0 from t; must be explicit when input and
output are the same register.
(floor): Use __volatile instead of volatile.
(ceil): Likewise.
* manual/Makefile ($(objpfx)stamp%-$(subdir)): Separate rule from
other targets.
* manual/Makefile (glibc-targets): Variable and targets removed.
Sat Jul 13 23:50:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* manual/Makefile (lib): New phony target. Depend on stamp files.
($(objpfx)stamp%-$(subdir)): New rule to create them when necessary.
1996-07-13 Paul Eggert <eggert@twinsun.com>
* time/strftime.c (strftime): Use space padding for %e, %k, %l,
to match Emacs format-time-string specification.
(DO_NUMBER_SPACEPAD): Renamed from DO_NUMBER_NOPAD.
Sat Jul 13 20:17:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-deps.c (_dl_map_object_deps): Take new args PRELOADS and
NPRELOADS, vector of `struct link_map *'s; add them to the searchlist
between MAP and its deps.
* elf/link.h: Fix decl.
* elf/rtld.c (dl_main): If not secure, parse LD_PRELOAD for
colon-separated list of names, map those and pass vector of ptrs as
PRELOADS list to _dl_map_object_deps.
* elf/dl-runtime.c (_dl_object_relocation_scope): Pass new args to
_dl_map_object_deps with empty preload list.
* elf/dl-open.c (_dl_open): Likewise.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_open_zero_fill): Function
removed.
(__mmap): Pass MACH_PORT_NULL for memobj port when (flags & MAP_ANON).
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill):
Conditionalize defn on [! MAP_ANON].
* elf/dl-minimal.c (malloc): Conditionalize use of _dl_zerofd
on [! MAP_ANON].
* elf/rtld.c (dl_main): Likewise.
* elf/dl-load.c (_dl_zerofd): Conditionalize defn on [! MAP_ANON].
(_dl_map_object_from_fd): Conditionalize initialization of _dl_zerofd.
* elf/dl-fini.c (_dl_fini): Skip finalizer for executable itself.
Sat Jul 13 02:47:53 1996 David Mosberger-Tang <davidm@azstarnet.com>
* stdlib/random.c (__random): Declare as int32_t to be in sync
with declaration.
* socket/Makefile (headers): Add socketbits.h.
* misc/mntent.c (endmntent): Allow for NULL stream. SunOS does
it that way.
* grp/initgroups.c (initgroups): Add groups that user is a member
of, not the ones he is _not_ a member of.
* nss/nsswitch.c (known_compare): Make known_compare() a static
instead of a local function. The latter are difficult to debug
and slow to execute on certain platforms.
* sysdeps/posix/ttyname_r.c (ttyname_r): Use sizeof (dev) - 1 in
place of sizeof (dev). The size of a literal string includes the
NUL byte.
* sysdeps/unix/getlogin.c (getlogin): Initialize ut_fd with -1.
Thu Jul 11 16:59:10 1996 David Mosberger-Tang <davidm@azstarnet.com>
* misc/mntent.c (addmntent): Seek to end of file before writing
entry. Return 1 on error, not -1.
Tue Jul 9 19:08:05 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/syscalls.list: Mark bdflush as EXTRA
syscall.
Fri Jul 5 18:44:55 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/ioperm.c (port_to_cpu_addr): Size
shift amount for Jensen must be 5 not 4.
Sat Jul 13 20:04:28 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* socket/sys/socket.h (struct osockaddr): New type.
Sat Jul 13 03:50:53 1996 Ulrich Drepper <drepper@cygnus.com>
* misc/Makefile (routines): Add qefgcvt and qefgcvt_r.
* misc/efgcvt.c, misc/efgcvt_r.c: Change code so that the `double'
and `long double' versions can be generated.
* misc/qefgcvt.c, misc/qefgcvt_r.c: New files. Define macros
so that included efgcvt{,_r}.c file generate `long double'
versions.
* stdlib/stdlib.h: Add prototypes for q[efg]cvt() and q[ef]cvt_r()
functions.
* manual/startup.texi: Document new getsubopt function.
* manual/examples/subopt.c: New example program for documenting
getsubopt function.
Fri Jul 12 23:58:37 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/Makefile (routines): Add getsubopt.
* stdlib/stdlib.h: Add prototype for getsubopt.
* stdlib/getsubopt.c: New file. Implement getsubopt function
to handle suboption parsing.
(routines): Remove them and &f from here.
* sys/socket.h: New file, wrapper for socket/sys/socket.h.
Thu Jul 11 00:22:40 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_frexpl.c: New file. `long double'
implementation of frexp() function.
* sysdeps/libm-ieee754/s_ldexpl.c: New file. `long double'
implementation of ldexp() function.
* sysdeps/libm-i387/s_isnanl.c (isnanl): Mask explicit one
out before or'ing.
* sysdeps/m68k/dl-machine.h (RESOLVE): New macro, defined
differently based on [RTLD_BOOTSTRAP].
(elf_machine_rela): Use it instead of the fn ptr arg directly.
__glob_closedir_hook): Remove decls.
* sysdeps/generic/machine-gmon.h: Declare mcount_internal.
* sysdeps/unix/inet/syscalls.list: Define __ names with weak aliases
for send and connect syscalls.
* socket/sys/socket.h: New file, taken from non-sysdep parts of
linux/sys/socket.h; break sysdeps parts out into socketbits.h.
Declare __ names for send and connect.
* sysdeps/generic/socketbits.h: New file.
* sysdeps/unix/sysv/linux/socketbits.h: New file.
* sysdeps/unix/sysv/linux/sys/socket.h: File removed.
* sysdeps/generic/sys/socket.h: File removed.
* sysdeps/mach/hurd/connect.c: Define __ name and weak alias.
* sysdeps/mach/hurd/send.c: Likewise.
* sysdeps/mach/libc-lock.h: New file.
* sysdeps/unix/readdir.c: Do locking.
* sysdeps/unix/seekdir.c: Likewise.
* sysdeps/unix/rewinddir.c: Likewise.
* sysdeps/unix/closedir.c: Likewise.
* sysdeps/unix/bsd/telldir.c: Likewise.
* sysdeps/mach/hurd/seekdir.c: Likewise.
* sysdeps/mach/hurd/readdir.c: Likewise.
* sysdeps/mach/hurd/closedir.c: Likewise.
* sysdeps/mach/hurd/opendir.c: Initialize the lock.
* sysdeps/unix/opendir.c: Likewise.
* sysdeps/mach/hurd/dirstream.h: Include <libc-lock.h>.
(struct __dirstream): Add lock member using __libc_lock_define.
* sysdeps/unix/dirstream.h: Likewise.
* sysdeps/stub/libc-lock.h (__libc_lock_fini): New macro.
* stdlib/mbstowcs.c: Pass address of pointer to mbsrtowcs.
* stdlib/wcstombs.c: Use wcsrtombs instead of mbsrtowcs.
Thu Jul 4 01:34:04 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/stringtrans.c: Fix typo in copyright.
* stdio-common/printf-prs.c: Add casts to prevent
signed<->unsigned warnings.
* stdio-common/printf-parse.h: Initialize state variable before
calling mbrlen.
* stdio-common/printf-prs.c: Don't initialize state variable here.
* stdio-common/vfprintf.c: Don't initialize state variable.
(vfprintf): While determining length of multibyte string don't
try to be clever in determining characters to use for first
call.
Add real implementation of multibyte<->wide char conversion
functions. The functions always convert between the fixed wide
char format (ISO 10646 in UCS4) and the UTF8 representation of
this character set. Conversion between the currently used
8bit character set and ISO 10646 will not take place. This is
what iconv() is for.
* wcsmbs/wchar.h (mbstate_t): Define as structure to replace
dummy definition.
Add optimized version of `mbrlen' function.
* wcsmbs/btowc.c (btowc): Restrict range of legal characters
to 0...0x7f.
* wcsmbs/wctob.c (wctob): Restrict range of legal characters
to 0..0x7f.
* wcsmbs/mbrlen.c: Make mbrlen a weak alias of __mbrlen.
This is needed in the wchar.h header.
* wcsmbs/mbrtowc.c: Replace dummy implementation. Convert UTF8
encoded character to UCS4.
* wcsmbs/mbsinit.c: Replace dummy implementation. Test COUNT
element of `mbstate_t' for initial state.
* wcsmbs/mbsrtowcs.c: Replace dummy implementation. Convert UTF8
encoded string to UCS4 string.
* wcsmbs/wcrtomb.c: Replace dummy implementation. Convert UCS4
character to UTF8 encoded form.
* wcsmbs/wcsrtombs.c: Replace dummy implementation. Convert UCS4
encoded string to UTF8 encoded form.
* sysdeps/generic/machine-gmon.h [NO_UNDERSCORES]: Declare _mcount
before using it in lhs of weak_alias.
* nss/getXXent_r.c (setup): New function, broken out of SETFUNC_NAME.
Call __nss_lookup when not setting STARTP.
(SETFUNC_NAME, ENDFUNC_NAME, REENTRANT_GETNAME): Call it to set up for
function-calling loop.
Tue Jul 9 00:14:52 1996 Michael I. Bushnell p/BSG <mib@gnu.ai.mit.edu>
* sysdeps/mach/hurd/ioctls.h (MDMBUF, ECHO, TOSTOP, FLUSHO,
PENDIN, NOFLSH): Undefine these at start if they are already
defined to avoid collision with termbits.h.
* sysdeps/generic/termbits.h (ECHO, TOSTOP, NOFLSH): Likewise.
(MDMBUF, FLUSHO, PENDIN) [__USE_BSD]: Likewise.
Mon Jul 8 13:10:50 1996 Michael I. Bushnell p/BSG <mib@gnu.ai.mit.edu>
* sysdeps/mach/hurd/errnos.awk: Skip entries where the
error is 0. The "placeholder" entries recently added to
errno.texi convert to zero since `???/' is at the front of them.
* sysdeps/gnu/errlist.awk (errnoh): Likewise.
* sysdeps/stub/setdomain.c (setdomainname): Declare NAME parm
__const to conform with unistd.h.
* posix/regex.c (re_comp, re_exec): Use weak_function as
keyword in function defns instead of weak_symbol (NAME) after
the defn.
* stdlib/stdlib.h (random): Declare return type to be int32_t.
* libc-symbols.h [GCC >= 2.7] (strong_alias, weak_alias): Use extern
storage class. GCC gives an error for non-extern data defns with the
alias attribute.
Mon Jul 8 00:11:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* libc-symbols.h (weak_function): New macro.
For GCC 2.7+ define as __attribute__ ((weak)).
* elf/dl-minimal.c: Use weak_function as keyword in function defns
instead of weak_symbol (NAME) after the defn.
* stdlib/strtol.c: Likewise.
* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
* sysdeps/alpha/dl-machine.h (elf_machine_rela) [RTLD_BOOTSTRAP]:
If this is defined, don't declare _dl_rtld_map as weak, and
don't check for MAP pointing to it. RESOLVE is always null in this
case, so test with #ifdef instead of if.
* libc-symbols.h (symbol_set_declare): Use weak_extern instead of
weak_symbol.
* csu/initfini.c (_init): Likewise.
* locale/setlocale.c (DEFINE_CATEGORY): Likewise.
* misc/efgcvt_r.c: Likewise.
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
* libc-symbols.h [ASSEMBLER] (weak_symbol): Macro removed.
It was not used in any assembler code.
(weak_symbol_asm): Renamed to weak_extern_asm.
(weak_extern): New macro replaces weak_symbol for weak extern refs;
define to weak_extern_asm for [!ASSEMBLER].
* libc-symbols.h [! ASSEMBLER] [HAVE_WEAK_SYMBOLS] (weak_symbol_asm,
weak_alias_asm): New macros, renamed from weak_symbol/weak_alias;
define those now as aliases.
Change conditional to use __attribute__ syntax for GCC 2.7+, not 2.8+
[GCC >= 2.7] [HAVE_WEAK_SYMBOLS] (weak_symbol): Do weak_symbol_asm
after GCC weak attribute decl.
* sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Don't unlock the
critical section lock before unlinking dying active resources.
The unlock just before return is right (i.e. old code unlocked twice).
* elf/rtld.c: Define RTLD_BOOTSTRAP before #include "dynamic-link.h".
* sysdeps/i386/dl-machine.h (elf_machine_rel): Remove weak decl for
_dl_rtld_map.
(RESOLVE): New macro, defined differently based on [RTLD_BOOTSTRAP].
(elf_machine_rel): Use it instead of testing fn ptr arg at runtime.
(elf_machine_rel: case R_386_32) [! RTLD_BOOTSTRAP]: Declare
_dl_rtld_map weak only here.
* posix/unistd.h [__USE_BSD]: Declare getdomainname, setdomainname.
* nss/getXXbyYY_r.c (REENTRANT_NAME): Cast FCT in __nss_next call.
* sysdeps/generic/sbrk.c: Always call __brk (0) to update __curbrk.
* malloc/malloc-size.c (malloc_usable_size): Renamed from
malloc_object_allocation_size.
* malloc/malloc.h: Fix decl.
* sys/select.h: New file, wrapper header.
* posix/sys/types.h [__USE_BSD]: Include <sys/select.h>; remove
fd_set, associated macros, and select decl.
* sysdeps/posix/isfdtype.c: New file.
Tue Jul 2 23:45:14 1996 Ulrich Drepper <drepper@cygnus.com>
The latest Japanese proposal for POSIX locales renames the
CHARMAP keyword in locale definition files to CHARCONV.
* locale/programs/ld-ctype.c, locale/programs/locales.h: Rename
function ctype_is_charmap to ctype_is_charconv.
* locale/programs/locfile-kw.gperf: Replace charmap keyword with
charconv.
* locale/programs/locfile-token.h: Add definition of token
charconv.
* locale/programs/locfile.c: Recognize charconv keyword. Rename
lables according to this.
* locale/weight.h (get_weight): Cast constants to prevent
warnings.
* stdlib/strtod.c, stdlib/strtol.c, string/strcoll.c,
string/strxfrm.c: Add some more casts to prevent signed<->unsigned
warnings.
New stuff described in P1003.1g.
* misc/Makefile (headers): Add sys/select.h.
(routines): Add pselect.
* misc/sys/select.h: New file. Declare select functions and
needed data types and macros.
* sysdeps/generic/pselect.c: New file. Add generic implementation
of pselect() function which uses select().
* posix/getconf.c: Recognize new variables from P1003.1g.
* posix/posix1_lim.h: Define _POSIX_FD_SETSIZE, _POSIX_QLIMIT,
_POSIX_HIWAT, and _POSIX_UIO_MAXIOV.
* posix/unistd.h: Add description of the P1003.1g variables.
* sysdeps/generic/confname.h: Define _SC_* values for new
variables.
* sysdeps/posix/fpathconf.c (fpathconf): Add handling of
_PC_SOCK_MAXBUF.
* sysdeps/stub/fpathconf.c (fpathconf): Ditto.
* sysdeps/posix/sysconf.c (sysconf): Add handling of new
P1003.1g variables.
* sysdeps/stub/sysconf.c (sysconf): Ditto.
* sysdeps/unix/sysv/linux/posix_opt.h: Define _POSIX_POLL and
_POSIX_SELECT since Linux has this.
* socket/Makefile (routines): Add isfdtype.
* sysdeps/generic/sys/socket.h: Add prototype for isfdtype.
* sysdeps/stub/isfdtype.c: New file. Stub implementation of
isfdtype.
* wcsmbs/wcrtomb.c (wcrtomb): Fix typo.
* time/strftime.c (strftime: do_number): Adjust P and I after sprintf
in case it wrote fewer than MAXDIGITS chars.
* stdio/fwrite.c (fwrite: fill_buffer): Separate flushing for last
newline from flushing full buffer in loop, fix test so no fflush is
done when last byte written exactly fills the buffer.
* nss/Makefile ($(services:%=$(objpfx)libnss_%.so)): Depend on libc.so.
* sysdeps/mach/hurd/Makefile (LDLIBS-c.so): Variable removed.
(libc.so): Instead, give this deps on lib{mach,hurd}user.so.
* elf/dl-debug.c (_dl_debug_initialize): Use LDBASE arg instead of
extracting _dl_rtld_map.l_addr.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Declare _dl_rtld_map as
weak.
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
* shlib-versions (*-*-*): Set libnss_db=1.
* elf/rtld.c (dl_main): Set _dl_rtld_map's DT_DEBUG location too.
* pwd/fgetpwent.c: Don't include ../nss/nss_files/files-parse.c to
define parse_line function.
(parse_line): #define to _nss_files_parse_pwent and
add extern decl for that.
* nss/nss_files/files-XXX.c (internal_getent): Return
NSS_STATUS_TRYAGAIN for ERANGE error.
* sysdeps/i386/strtok.S (LreturnNULL): Save current state ptr instead
of null, so next round returns null again instead of bombing. Fix
from drepper.
* nss/nss_files/files-parse.c (LINE_PARSER): Take new first arg EOLSET.
Remove ; after `ENTDATA_DECL (data)'.
Truncate line at strpbrk (line, EOLSET "\n").
(ENTDATA_DECL): Put ; at end.
(MIDLINE_COMMENTS): Macro removed.
* nss/nss_files/files-ethers.c: Pass new argument.
* nss/nss_files/files-hosts.c: Likewise.
* nss/nss_files/files-network.c: Likewise.
* nss/nss_files/files-parse.c: Likewise.
* nss/nss_files/files-proto.c: Likewise.
* nss/nss_files/files-rpc.c: Likewise.
* nss/nss_files/files-service.c: Likewise.
* grp/fgetgrent.c: Likewise.
* pwd/fgetpwent.c: Likewise.
* nss/nss_files/files-pwd.c: Get parse_line with extern decl, since
fgetpwent.c already defines it.
* nss/nss_files/files-grp.c: Likewise.
* elf/dl-load.c (_dl_map_object): Use any object with matching l_name
as well as any matching with l_libname. Fix DT_SONAME lookup to use
string table properly.
* elf/rtld.c (dl_main): Set _dl_rtld_map.l_name from _dl_argv[0] when
invoked directly, and l_libname from that if PT_INTERP missing.
Set l_name from l_libname only if not set from argv.
* time/europe, time/northamerica: Updated from ADO 96i.
* stdio-common/tst-ungetc.c: Include unistd.h.
* inet/Makefile (routines): Change getnetbypt to getnetbyad.
Mon Jul 1 12:29:50 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* nss/Makefile (databases): Change host to hosts.
* nss/host-lookup.c: Renamed to nss/hosts-lookup.c.
* nss/nsswitch.c (nss_parse_service_list): Use const for NAME.
* nss/nss_files/files-parse.c (parse_list): Correct alignment fixup.
* string/string.h (strndupa): Pass missing arg to strnlen.
* inet/getnetbypt_r.c: Renamed to ...
* inet/getnetbyad_r.c: this; fixed function name.
* inet/getnetbypt.c: Renamed to ...
* inet/getnetbyad.c: this; fixed function name.
Sat Jun 29 01:08:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* grp/getgrgid_r.c (LOOKUP_TYPE): Define to struct group, not
struct passwd.
Fri Jun 28 16:53:01 1996 David Mosberger-Tang <davidm@azstarnet.com>
* resolv/res_hconf.c (strndup): Remove function.
* nss/nsswitch.c (nss_lookup_function): Declare loadbase and ref
using ElfW() instead of Elf32_*.
* sysdeps/unix/sysv/linux/alpha/init-first.h,
sysdeps/unix/sysv/linux/m68k/init-first.h,
sysdeps/unix/sysv/linux/i386/init-first.h: New files.
* sysdeps/unix/sysv/linux/init-first.c: Use platform-dependent
init-first.h to make abstract machine dependent parts of
initialization.
* sysdeps/unix/alpha/sysdep.h: Undo PIC-optimization of syscall
error handling. It's safer that way.
* sysdeps/unix/alpha/sysdep.S: Make ldgp part of the prologue.
Fix by Richard Henderson.
* sysdeps/alpha/dl-machine.h (elf_alpha_fix_plt): Fix
typo/extraneous whitespace.
* sunrpc/xdr.c (xdr_int, xdr_u_int): Use <limits.h> to test
determine what integer sizes we're dealing with.
* hurd/hurdsig.c (_hurd_internal_post_signal): In pending signal
check for signal zero, repair logical sense of test by
parenthesizing correctly.
Thu Jun 27 04:04:27 1996 David Mosberger-Tang <davidm@azstarnet.com>
* configure.in (config_machine): Make ELF the default even for
Linux/Alpha unless a configuration of the form *-*-linux*ecoff
is specified.
* nss/nss_files/files-hosts.c (ENTDATA): Define it.
* nss/nss_files/files-parse.c (struct parser_data): Define entdata
member only #ifdef ENTDATA.
(ENTDATA_DECL): New macro.
(LINE_PARSER): Use it for entdata decl.
(parse_list): Find the space for LIST from DATA->linebuffer instead of
from the input LINE, which might not be writable buffer space.
(LINE_PARSER): Use `parser_stclass' in place of `static inline'.
[ENTDATA] (parser_stclass): #define to `static inline'.
[!ENDATA] (parser_stclass): #define to empty.
[!ENTDATA] (parse_line): #define to _nss_files_parse_ENTNAME; the
function is exported to -lnss_files users.
* string/strndup.c: Add missing arg.
* string/strndup.c (strndup): Always terminate the string.
* nss/Makefile (databases): New variable.
(routines, libnss_files-routines): Use it.
(subdir-dirs): Compute from $(services).
* sysdeps/unix/sysv/linux/syscalls.list (create_module, delete_module,
init_module, klogctl): Use EXTRA in the "caller" column so these get
added to unix-extra-syscalls and thus compiled in misc.
* string/Makefile (routines): Add strndup.
* string/strndup.c: New file.
* string/string.h: Declare strndup.
(strndupa): New macro.
* string/string.h: Declare __strdup.
* string/strdup.c: Deansideclized. Define __ name and weak alias.
* string/string.h: Don't define memccpy as macro for [__OPTIMIZE__].
Thu Jun 27 23:43:22 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/dl-machine.h (elf_machine_rela): The Alpha's
address-of operation and plt format conspire to require all
dynamic relocs to be resolved to actual symbols not plt entries.
Thu Jun 27 02:49:28 1996 Ulrich Drepper <drepper@cygnus.com>
* catgets/gencat.c: Add casts to avoid signed<->unsigned warnings.
* grp/initgroups.c (initgroups): De-ansi-fy.
Move declaration of NGROUPS and GROUPS outside #if so that
the code compiles for NGROUPS_MAX != 0.
* inet/Makefile (headers): Add netinet/ether.h and netinet/if_ether.h.
(routines): Add ether_aton, ether_aton_r, ether_hton, ether_line,
ether_ntoa, ether_ntoa_r, and ether_ntoh.
* inet/ether_aton.c, inet/ether_aton_r.c, inet/ether_hton.c,
inet/ether_line.c, inet/ether_ntoa.c, inet/ether_ntoa_r.c,
inet/ether_ntoh.c: New files. Implementation of functions to
handle Ethernet address to host mapping.
* inet/netinet/ether.h: New file. Declare ether_* functions.
* netinet/ether.h: Wrapper around inet/netinet/ether.h for glibc
compilation.
* nss/ethers-lookup.c: New file. Lookup function for ethers database.
* nss/Makefile (routines): Add ethers-lookup.
(libnss_files-routines): Add files-ethers.
* nss/getXXent_r.c: Don't define set*ent and end*ent function
with _r suffix.
* nss/nss_files/files-XXX.c (internal_endent): Don't reset
KEEP_STREAM every time called.
(_nss_files_end): Reset KEEP_STREAM here instead.
(internal_getent): If STREAM == NULL try to open instead of
signalling error.
Use cast to prevent warning.
Terminate read line in case the buffer is too small.
* nss/nss_files/files-ethers.c: New file. Implementation of
Ethernet adress<->hostname lookup through files interface.
* stdlib/mbstowcs.c: Define based on mbsrtowcs().
* stdlib/mbtowc.c: Define based on mbrtowc().
* stdlib/wcstombs.c: Define based on wcsrtombs().
* stdlib/wctomb.c: Define based on wcrtomb().
* sunrpc/xdr.c (xdr_u_int): Avoid bogus call to
unexpected_sizes_in_xdr_u_int.
* sysdeps/generic/netinet/if_ether.h: New file. Generic declaration
of `struct ether_addr'.
* sysdeps/unix/sysv/linux/netinet/if_ether.h: New file. Linux specific
declaration of `struct ether_addr'.
* wcsmbs/mbrtowc.c: Handle case where argument PS is NULL.
* wcsmbs/mbsrtowcs.c: Ditto.
* wcsmbs/wcrtomb.c: Ditto.
* wcsmbs/wcsrtombs.c: Ditto.
* wcsmbs/mbsinit.c: Prepare for PS being NULL.
* sysdeps/alpha/dl-machine.h (elf_machine_rela): The Alpha's
address-of operation and plt format conspire to require all
dynamic relocs to be resolved to actual symbols not plt entries.
* nss/nss_files/files-parse.c (parse_list): Count null in EOL calc.
Move DB code into separate -ldb library.
* db/Makefile (extra-libs): New variable, list libdb.
(routines): Renamed to libdb-routines.
* shlib-versions: Add libdb=2.
* nss/network-lookup.c (DEFAULT_CONFIG): New macro.
* nss/host-lookup.c (DEFAULT_CONFIG): New macro.
* nss/nsswitch.c (nss_parse_service_list): Use __strncasecmp instead
of strncasecmp. Extend syntax to grok [!foo=bar].
* sysdeps/generic/strncase.c: Define __strncasecmp with strncasecmp as
weak alias.
* string/string.h: Declare __strncasecmp.
* nss/nsswitch.c (nss_parse_file): Call __getline, not getline.
(service_alias): Variable removed.
(nss_parse_service_list): New function, broken out of nss_getline.
Remove alias conversion; we will just use symlinks.
(__nss_database_lookup): Take new string arg DEFCONFIG.
If no entry exists, make one with service list parsed from that.
* nss/nsswitch.h: Update protocol for __nss_database_lookup.
* nss/XXX-lookup.c (DEFAULT_CONFIG): New macro, set to 0 if undefined.
(DB_LOOKUP_FCT): Pass it to _nss_database_lookup.
* grp/initgroups.c: Rewritten using getgrent. Handle unlimited group
list size.
* sunrpc/xdr.c (xdr_int): #if 0 out unresolved references in dead code.
Wed Jun 26 01:56:50 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/locale.c (long_options): Short form of
--version option is `-V'.
(main): Recognize `-V' as option, not `-v'.
Call `usage' instead of printing error message for illegal
option.
(usage): Document `-V'.
* 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.
* sysdeps/sparc/dl-machine.h: New file.
* posix/fnmatch.c (fnmatch): Fix \*[*?]+ case to increment name ptr
only for ?s, not for *s. Fix from Chet Ramey.
Fixes thanks to Raja R Harinath <harinath@cs.umn.edu>:
* sysdeps/unix/sysv/utmpbits.h: Define _HAVE_UT_{TYPE,ID,TV,HOST}.
Use __{BEGIN,END}_DECLS.
(_PATH_WTMP, _PATH_UTMP, _PATH_LASTLOG): New macros.
* login/utmp.h (UTMP_FILE, UTMP_FILENAME, WTMP_FILE, WTMP_FILENAME):
New macros, moved here from sysdeps/gnu/utmpbits.h.
* sysdeps/generic/utmpbits.h (_HAVE_UT_HOST): Define it.
* sysdeps/gnu/utmpbits.h (_HAVE_UT_HOST): Likewise.
* login/logout.c: Use ut_host only #if _HAVE_UT_HOST.
Use sizeof instead of UT_*SIZE.
* login/logwtmp.c: Likewise.
* misc/tsearch.c (tdelete): Define as weak alias to __tdelete.
* version.c (banner): Add trailing newline.
* sysdeps/alpha/dl-machine.h (elf_alpha_fix_plt):
Changed to a 12-byte PLT entry to remove dependency on $gp.
Take a new got_addr parameter.
(elf_machine_rela): Pass the new parameter.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Do arithmetic for 12-byte PLT.
(RTLD_START): Do normal linkage with program entry.
* 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).
* sysdeps/mach/hurd/brk.c (___brk_addr): Define as weak alias for
_hurd_brk.
* libio/stdio.h [__USE_SVID]: Declare tempnam.
Fri Jun 14 19:28:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/syscalls.list: Add swapon with two
parameters.
Wed Jun 12 20:40:51 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/dl-machine.h (RTLD_START): Fix access to
_dl_default_scope.
* sysdeps/stub/elfclass.h: New file.
* shlib-versions (*-*-*): Add libutil=1.
* rpm/Makefile (install-lib): Add libc.a et al.
(install-others): Only add libc.so if $(build-shared) is yes.
* math/Makefile (install-lib): New variable, list libieee.a.
(non-lib.a): Likewise.
(extra-objs): Likewise, and ieee-math.o.
($(objpfx)libieee.a): New target, link to ieee-math.o.
* math/ieee-math.c: New file.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)=math]: Remove setfpucw
and libieee.a stuff.
* sysdeps/unix/sysv/linux/ieee-fpucw.c: File removed.
* sysdeps/unix/sysv/linux/i386/ieee_fpu.c: File removed.
* sysdeps/unix/sysv/Makefile (sysdep_headers): Make append of termio.h
and rule for it conditional on termio.h not already being in
sysdep_headers.
* rpm/Makefile (install-others) [libc.so-version]: Get libc.so from
$(libdir), only the versioned named from $(slibdir).
(instfiles): New variable.
(glibc-$(version).$(config).rpm): New target. Run rpm -bb.
* rpm/rpmrc: New file. A third of the options controlling rpm can
only be given here (another third is on the command line, and a third
cannot be specified in any way shape or form).
* rpm/template: New file.
* rpm/Makefile: New file.
* Makeconfig (sysdep-configures): Remove empty variable.
* Makerules (distinfo-vars): Write defns for $(install-lib.so) and
$(versioned).
* manual/Makefile (subdir_%): Add new rule with no deps, secondary to
to rule w/dep on %, with no-op commands.
* Makerules (subdir_distinfo): New phony target; depend on distinfo.
* Makefile (rpm/%): New rule.
(+subdir_targets): Add subdir_distinfo.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Don't add
fpu_control.h here.
(distribute): Add hurdhost.h.
* hurd/hurdhost.h: New file.
* sysdeps/mach/hurd/gethostname.c: Use _hurd_get_host_config.
* sysdeps/mach/hurd/gethostid.c: Likewise.
* sysdeps/mach/hurd/sethostname.c: Use _hurd_set_host_config.
* sysdeps/mach/hurd/sethostid.c: Likewise.
* hurd/get-host.c: New file.
* hurd/set-host.c: New file.
* math/Makefile (headers): Add fpu_control.h.
(aux): New variable, list fpu_control and setfpucw.
* sysdeps/generic/fpu_control.c: New file.
* sysdeps/stub/fpu_control.h: New file.
* sysdeps/unix/sysv/linux/m68k/fpu_control.h: Moved to ...
* sysdeps/m68k/fpu_control.h: here.
* sysdeps/unix/sysv/linux/i386/fpu_control.h: Moved to ...
* sysdeps/i386/fpu_control.h: here.
* sysdeps/unix/sysv/linux/alpha/fpu_control.h: Moved to ...
* sysdeps/alpha/fpu/fpu_control.h: here. Fixed copyright.
* sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove
setfpucw, fpu_control.
* sysdeps/unix/sysv/linux/alpha/fpu_control.c: File removed.
* sysdeps/unix/sysv/linux/setfpucw.c: Moved to ...
* sysdeps/generic/setfpucw.c: here.
(__fpu_control): Variable removed.
(__setfpucw): Use SET even if zero.
* sysdeps/unix/sysv/linux/Dist: Add sys/klog.h.
* elf/dl-open.c (_dl_open): Remove PARENT argument, pass null.
* elf/link.h: Update prototype.
* elf/dl-load.c (_dl_map_object): If dependents' DT_RPATHs don't find
NAME, try the DT_RPATH of the executable itself if dynamic.
* elf/dlopen.c (dlopen): Don't pass first arg to _dl_open.
* elf/dl-load.c (_dl_map_object): Exit DT_RPATH checking loop when an
open succeeds.
* Makerules (build-shlib): Give -L opts for each elt of $(rpath-link).
* sysdeps/mach/hurd/Makefile (sysdep-LDFLAGS): Variable removed.
(rpath-link): Append to this instead.