Thu Oct 17 01:55:34 1996 Ulrich Drepper <drepper@cygnus.com>
* sunrpc/Makefile ($(objpfx)rpcsvc/%.h, $(objpfx)x%.c): Write
output to $@T and move to $@ later since the new rpcgen will not
overwrite existing files.
* po/Makefile (libc.pot): Fix typo.
Sun Oct 13 20:52:07 1996 Thorsten Kukuk <kukuk@weber.uni-paderborn.de>
Update rpcgen program to TI-rpc code.
* sunrpc/Makefile (rpcgen-objs): Add rpc_tblout.o and rpc_sample.o.
(distribute): Add proto.h.
* sunrpc/proto.h: New file. Prototypes for all the RPC functions.
* sunrpc/rpc_clntout.c: Change to allow generation of ISO C code.
* sunrpc/rpc_cout.c: Likewise.
* sunrpc/rpc_hout.c: Likewise.
* sunrpc/rpc_main.c: Likewise.
* sunrpc/rpc_parse.c: Likewise.
* sunrpc/rpc_parse.h: Likewise.
* sunrpc/rpc_scan.c: Likewise.
* sunrpc/rpc_scan.h: Likewise.
* sunrpc/rpc_svcout.c: Likewise.
* sunrpc/rpc_util.c: Likewise.
* sunrpc/rpc_util.h: Likewise.
* sunrpc/rpc_tblout.c: New file.
* sunrpc/rpc_sample.c: Likewise.
Thu Oct 17 00:26:20 1996 NIIBE Yutaka <gniibe@mri.co.jp>
* sysdeps/unix/opendir.c: Add semicolon for consistency.
Wed Oct 16 12:26:53 1996 Sven Verdoolaege <skimo@breughel.ufsia.ac.be>
* locale/progams/localedef.c (main): Test with -1 to find out
whether read failed.
Wed Oct 16 14:54:59 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/clone.S: Use JUMPTARGET and
PSEUDO_END macro.
Tue Oct 15 21:27:42 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/sigcontext.h: Removed.
Tue Oct 15 15:52:29 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/clone.S: Add CALL_MCOUNT.
* sysdeps/unix/sysv/linux/m68k/mmap.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/sigreturn.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/socket.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/sysdep.S (__errno_location):
Likewise.
* sysdeps/unix/sysv/linux/m68k/syscall.S: Likewise.
Correct generation of system call.
Tue Oct 15 15:13:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (sysd-Makefile): Fix command so that it works in the
subdirectories.
(BUILD_CFLAGS): Change back using $(..) instead of
$(common-objpfx), the latter fails in the toplevel directory when
$(objdir) is relative.
(common-objdir-compile): Run compiler in $(objdir).
* sysdeps/posix/Makefile (mk-stdiolim): Likewise.
Tue Oct 15 23:39:48 1996 Ulrich Drepper <drepper@cygnus.com>
* string/string.h [__USE_SVID]: Add prototype for swab.
* time/sys/time.h [__USE_BSD]: Add prototype for ualarm.
Reported by Andreas Jaeger.
The available nlist implementation is not generally usable.
Especially on the currently supported ELF systems the nlist
function comes with the libelf.
* misc/Makefile (headers): Remove nlist.h.
(routines): Remove nlist.
* Makefile ($(objpfx)version-info.h): Include information about
system the libc is built on in version-info.h file.
* po/Makefile (distribute): Add header.pot.
Tue Oct 15 16:34:15 1996 Andreas Jaeger <aj@arthur.pfalz.de>
* sysdeps/unix/sysv/linux/sleep.c: Include file with prototype.
* sysdeps/unix/sysv/linux/reboot.c: Likewise.
* misc/error.c: Likewise.
Tue Oct 15 22:41:27 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/syscalls.list: Add {get,set}resuid.
Tue Oct 15 08:06:02 1996 Andreas Jaeger <aj@arthur.pfalz.de>
* crypt/Makefiel (rpath-link): Extend search path to current directory.
Fri Oct 11 09:18:06 1996 Sven Verdoolaege <skimo@breughel.ufsia.ac.be>
* sysdeps/i386/i586/strlen.S: Correct handling of prolog for
aligning pointer.
Tue Oct 15 02:13:21 1996 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/vfprintf.c: Don't declare __flockfile as weak.
* crypt/md5-crypt.c (md5_crypt_r): Add cast to prevent warning.
Sun Oct 13 19:16:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/sysdep.h (POUND): Macro removed,
replaced by `&'.
(PSEUDO_END): Provide definition to use .size directive.
(PSEUDO): Don't interpret negative return values less than -128 as
syscall error.
* sysdeps/unix/sysv/linux/m68k/syscall.S (syscall): Likewise.
* sysdeps/m68k/bsd-_setjmp.S: Use PSEUDO_END macro to provide
.size directive.
* sysdeps/m68k/bsd-setjmp.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/clone.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/mmap.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/sigreturn.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/socket.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/syscall.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/sysdep.S: Use PSEUDO_END instead of
explicit .size directive.
* libio/iogets.c: Warn when gets is used.
cd * time/strptime.c: Recognize %s, %u, %g, and %G format.
* Makerules (sysd-Makefile): Look for sysdep Makefiles using $(..)
so that it still works right if we happen to get called in a
subdir it still works.
Thu Oct 10 17:25:55 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* Makerules (sysd-Makefile): Look for sysdep Makefiles using $(..)
so that it still works right if we happen to get called in a
subdir it still works.
* sysdeps/mach/hurd/fcntlbits.h (O_SHLOCK, O_EXLOCK): Redesignate
as file name translation flags.
* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Don't pretend
to do anything for O_SHLOCK or O_EXLOCK. Those are now file name
translation flags.
* Makerules ($(libdir)/libc.so): Mention the actual libc.a archive
name (changed according to libc-name) to avoid getting the
Hurd-ish linker script for libc.a when we only want the archive
library.
Thu Sep 12 03:35:27 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/Dist: Remove init-first.h.
* sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
* sysdeps/unix/sysv/linux/Dist: Add init-first.h.
1996-09-11 Paul Eggert <eggert@twinsun.com>
* strftime.c (strftime):
Handle E and O modifiers, required for POSIX.2 and XPG4.
Don't use sprintf to format numbers; this way, we can handle time_t
correctly regardless of whether it's signed.
Don't dump core if format ends in %.
In default %c format, use %e instead of %d, for POSIX.2 compatibility.
For %z:
Use tm_gmtoff if available.
Output nothing if tm_isdst is negative.
Output correct value even if arg is 1969-12-31 23:59:59 UTC.
Don't assume that UTC offset is less than 24 hours;
Posix requires support for 24 hours, and there's no point
limiting it at all.
(HAVE_TM_GMTOFF, TYPE_SIGNED, INT_STRLEN_BOUND): New macros.
(CHAR_BIT): Define if <limits.h> doesn't.
(tm_diff): New function.
(fmt, <stdio.h>): Remove; no longer used.
Thu Sep 12 02:21:44 1996 Ulrich Drepper <drepper@cygnus.com>
* db/Makefile: Add extra-libs-others variable so that shared
library is built in `others' pass.
* elf/Makefile: Likewise.
* math/Makefile: Likewise.
* resolv/Makefile: Likewise.
* Makefile (generated): Add version.info.h.
* time/checktab.awk: New file. From ADO 96k.
* time/iso3166.tab: Likewise.
* time/tzselect.ksh: Likewise.
* time/zone.tab: Likewise.
* stdio-common/vfprintf.c: Correct cleanup registration. We
cannot use a macro
1996-09-11 Paul Eggert <eggert@twinsun.com>
* time/time.h (tm_gmtoff, tm_zone): Prefix with `__' unless
__USE_BSD; this is required for ANSI C compatibility.
* manual/time.texi: Replace GMT by UTC, daylight savings by
daylight saving, timezone by time zone.
Rewrite description of %V to match ISO 8601.
Fix TZ Posix string example for US Eastern time.
Explain tzname[1] when DST isn't used.
Explain tzname when multiple abbreviations used (e.g. EST/EWT/EDT).
Explain that timezone's sign is opposite from tm_gmtoff, and that
timezone lacks DST adjustment whereas tm_gmtoff has it.
Deprecate tzname and timezone.
Tue Sep 10 14:46:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
Implement Roland McGrath's idea of how to put an .interp into
shared libraries.
* interp.c: New file.
* Makerules (interp-obj): New object, linked into every shared
library.
(common-generated): Add interp.so.
(CFLAGS-interp.c): Pass name of interpreter.
Tue Sep 10 21:09:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* db/Makefile: Fix typo.
Tue Sep 10 19:29:53 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/db-Makefile ($(VAR_DB)/passwd.db): Look for multiple
occurences of the same uid, and only generate a mapping for the
first one.
Tue Sep 10 03:14:59 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/system.c: New file, to override
sysdeps/unix/system.c.
Tue Sep 10 15:05:40 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (before-compile): Add version-info.h, needed to build
version.d.
Tue Sep 10 14:14:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/sysdep.S: Remove check for
EWOULDBLOCK, never true on Linux.
(__errno_location): New function.
[_LIBC_REENTRANT]: Set errno using __errno_location function.
* sysdeps/unix/sysv/linux/m68k/sysdep.h [PIC]: Add second
syscall_error handler for reentrant libc.
Tue Sep 10 13:27:49 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/Makefile (extra-objs): Add eval.so to get dependencies.
Wed Sep 11 04:40:57 1996 Ulrich Drepper <drepper@cygnus.com>
* time/tzset.c (__tzname_cur_max): Use type `size_t' to avoid
warning.
* time/tzfile.c (compute_tzname_max): Likewise.
Sat Sep 7 14:00:33 1996 David Mosberger-Tang <davidm@azstarnet.com>
* catgets/catgets.c (catopen): Allocate sizeof(*result) bytes
instead of sizeof(nl_catd) (which is just a pointer!).
Sat Sep 7 19:39:19 1996 Ulrich Drepper <drepper@cygnus.com>
* Makefile ($(objpfx)version-info.h): Generate from Banner files.
* version.c (banner): Add contents of version-info.h to string.
* Makerules: If $($(subdir)-version) is available name versioned
shared library according to this value instead of glibc's version.
* libio/Banner: New file.
* elf/eval.c (funcall): Write error message in case function is
not found.
(eval): Recognize `_' in names.
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 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.
Wed Aug 14 21:36:16 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtod.c (STRTOD): Correct assertion about size of
wint_t and wchar_t. Reported by David Mosberger-Tang.
Mon Aug 12 22:40:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/dl-lookup.c (_dl_lookup_symbol): Remove fifth parameter
RELOC_ADDR and make NOPLT a set of flags. All callers
changed. Delete condition that checks for resolving to the
location being filled in. Add condition to skip the
executable's symbols if requested.
* elf/link.h: Change declaration of _dl_lookup_symbol
accordingly.
(DL_LOOKUP_NOEXEC, DL_LOOKUP_NOPLT): New definitions.
* elf/dl-reloc.c (RESOLVE): Remove second parameter and rename
NOPLT to FLAGS.
* elf/dl-runtime.c (RESOLVE): Likewise.
* elf/rtld.c (RESOLVE): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Pass
DL_LOOKUP_NOEXEC as second argument to the RESOLVE macro if
processing a copy reloc, DL_LOOKUP_NOPLT for a jump slot
reloc, zero otherwise.
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_rel): Likewise.
Wed Aug 14 17:57:08 1996 Ulrich Drepper <drepper@cygnus.com>
* MakeTAGS: Clean up use of --omit-header and -n for xgettext.
* po/header.pot: Add empty line at end.
Sun Aug 11 13:45:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* MakeTAGS (all-pot): Remove $P/errlist.pot, all error messages
are now in $P/stdio-common.pot.
(XGETTEXTFLAGS-errlist.pot): Variable removed.
Mon Aug 12 19:25:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (do-ar, o-iterator-doit): Compute path to autolock
script at run time, not configure time.
* config.make.in, configure.in: Undo previous change.
Wed Aug 14 13:20:02 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/close.S: Push return value of thread
on stack as argument for `_exit'. Reported by Andreas Schwab.
Mon Aug 12 19:36:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/clone.S: New file.
Wed Aug 14 04:22:35 1996 Richard Henderson <rth@tamu.edu>
* elf/dl-load.c (_dl_map_object): Save name in malloced memory.
(_dl_map_object_from_fd): Free name on error.
Wed Aug 14 13:00:09 1996 Ulrich Drepper <drepper@cygnus.com>
* string/strdup.c: Use result of memcpy to avoid reloading.
Tue Aug 13 00:55:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* shadow/sgetspent_r.c (__sgetspent_r): Copy string to buffer, not
the other way round.
* resolv/Makefile (libresolv-routines): Add base64, inet_net_ntop,
inet_net_pton, inet_net.
* resolv/arpa/nameser.h (__BIND): Update version number.
Mon Aug 12 19:03:22 1996 Thomas Bushnell n/BSG <thomas@psilocin.gnu.ai.mit.edu>
* sysdeps/generic/gnu/types.h: Declare __fd_mask as `unsigned long'.
* mach/Makefile (mach/mach_host.uh): Depend on
$(objpfx)/mach-syscalls.mk.
($(objpfx)mach-shortcuts.h): Depend on $(objpfx)mach/mach_host.h.
(This fixes a make loop; thanks to Marcus Daniels
<marcus@sysc.pdx.edu> for the patch.)
* 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.
* crypt/Makefile, crypt/nocrypt.c: Removed. It is illegal to export
from the USA any software that even makes it easy to drop in an
encryption module of foreign origin.
* Makerules (cryptobjdir): Variable removed.
($(libdir)/libc.so): Remove dep on libcrypt.so$(libcrypt.so-version).
* Makefile (subdirs): Remove crypt.
Fri Jul 19 15:10:37 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sunrpc/xdr_mem.c (xdrmem_putlong): Don't cast LP to int32 (the
old code would have failed on a big-endian 64-bit architecture).
* sunrpc/xdr_stdio.c (xdrstdio_putlong): Ditto.
* sunrpc/xdr.c (xdr_int): Handle XDR_FREE case.
(xdr_u_long): Use switch instead of chain of if-statements.
Remove gratitous parentheses around return expressions.
(xdr_enum): Open code case where INT_MAX<LONG_MAX.
* sunrpc/svc.c (svc_getreqset): Increment SOCK by 32, not NFDBITS.
* sunrpc/portmap.c (reg_service): Declare ANS and PORT as long,
not int.
Fri Jul 19 16:56:41 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* dlfcn.h, db.h: New wrapper headers.
* posix/glob.h [!_AMIGA && !VMS]: Check this instead of just [!_AMIGA]
for `struct stat;' forward decl.
Fri Jul 19 22:25:19 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/iso-4217.def: Add some more standardized currency
symbols.
* 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).
* version.h (VERSION): Update to 1.93.
* Makerules ($(libdir)/libc.so): Depend on
$(common-objpfx)libcrypt.so$(libcrypt.so-version).
* crypt/nocrypt.c: New file.
* Makefile (subdirs): Add crypt.
* crypt/Makefile: New file.
* Makerules (soversions.mk): Move this target, include of it, and
include of version.mk to ...
* Makeconfig: ... here.
(soversions.mk): Depend on Makeconfig instead of Makerules.
* shlib-versions (*-*-*): Set libcrypt=0.
Wed Jul 17 02:43:28 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* shlib-versions (*-*-gnu*): Set libc=0.0
Tue Jul 16 01:52:42 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/dl-machine.h: Follow Jul 14 change in
sysdeps/i386/dl-machine.h.
Tue Jul 16 00:14:07 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/inet/syscalls.list (connect, send): Add underscores
to the strong name, not the file name.
* csu/initfini.c: More magic. Detect if .end is produced and put it
in the output iff the compiler does.
* 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.
* catgets/gencat.c (write_out): Use %Zu to print variables of type
size_t.
* resolv/res_debug.c (__p_rr): Print size_t variable as %lu and
cast it to (unsigned long) to make it work both on 32 and 64
bit architectures.
Sat Jun 22 13:05:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* locale/Makefile (distribute): Add `programs/' prefix to all
files in that directory.
* Makerules (distinfo-vars): Assign subdir directly so that `ifdef
subdir' works.
* MakeTAGS (sources, headers): Make them simply expanded variables
so that all-dist is expanded before it is changed.
* 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.
* misc/Makefile (headers): Add ar.h.
* misc/ar.h: New file.
* config.make.in (BUILD_CC): New variable.
* configure.in: Check for BUILD_CC if $host != $build.
* posix/glob.c: Include <alloca.h> only [HAVE_ALLOCA_H], not [sparc].
* Makerules [! objects] (subdir_lib): Depend on the stamp$o files.
(stamp$o files): New targets, create them empty, no deps.
Update from bind-4.9.4-T3B.
* 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.
* 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.
* elf/dl-lookup.c (_dl_lookup_symbol): If no value and *REF is
null, consider it a strong reference and give the error.
Wed Jun 12 15:52:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-open.c (_dl_open): Correctly terminate relocating loop
after relocating NEW when it's the only new object.
* elf/dl-init.c (_dl_init_next): When out of initializers, set
_r_debug.r_state to RT_CONSISTENT and call _dl_debug_state just
before return.
* elf/rtld.c (dl_main): Move _dl_debug_initialize call after
relocation. Call it unconditionally and only fill in DT_DEBUG
if it's present. Then call _dl_debug_state with r_state RT_ADD
before running initializers.
* elf/dl-open.c (_dl_open): Call _dl_debug_initialize and then call
_dl_debug_state with r_state RT_ADD before running initializers
* elf/dl-close.c (_dl_close): Call _dl_debug_state with r_state
RT_DELETE before running finalizers and with RT_CONSISTENT just
before return.
* elf/Makefile (dl-routines): Add dl-debug.
* elf/dl-debug.c: New file.
* elf/rtld.c (_dl_r_debug): Rename to _r_debug and move to dl-debug.c.
(_dl_r_debug_state): Rename to _dl_debug_state and likewise move.
(dl_main): Use _dl_debug_initialize.
* elf/link.h: Fix name to _dl_debug_state in decl.
(_dl_debug_initialize): Declare new function from dl-debug.c.
(_r_debug): Declare it.
* Makerules (distinfo-vars): Add install-{lib,data,bin,sbin,others}.
In distinfo set $(subdir)-VAR and then set VAR to $($(subdir)-VAR).
* Makeconfig (rpath-link): New variable; add $(elfobjdir).
(default-rpath): Use it.
(built-program-cmd): Use it in LD_LIBRARY_PATH.
* Makeconfig (sysdep-configures): Prepend $(sysdep_dir) to names tried.
* sysdeps/unix/Dist: Add make-syscalls.sh.
* misc/Makefile (headers): Add sys/swap.h.
* posix/unistd.h: Remove decls for swapon, swapoff.
* sysdeps/generic/sys/swap.h: New file.
* sysdeps/unix/sysv/linux/sys/swap.h: New file.
* sysdeps/unix/sysv/linux/gnu/types.h: Remove temporary hack #define
of __kernel_fsid_t. It is correctly defines in <linux/types.h> now.
* Makerules (LDFLAGS-c.so): Use __libc_main instead of
__libc_print_version as entry point for shared object.
* version.c [HAVE_ELF] (__libc_main): New function.
* elf/dl-load.c (_dl_map_object_from_fd): Relocate l_entry with the
load address.
* elf/Makefile (routines): Remove init-first.
* csu/Makefile (routines): New variable; put it here instead.
* config.make.in (CFLAGS): New variable.
* io/sys/stat.h (S_ISLNK, S_ISSOCK): Make conditional on __USE_BSD,
not __USE_GNU.
* string/string.h (strncasecmp): Likewise.
link to ld.so if that is not the installed name.
(lib-noranlib): Depend on the installed name in the build directory
instead of on ld.so.
* Makeconfig (link-libc): Include $(elfobjdir)/$(rtld-installed-name)
between libc.so and libc.a, because with libc.so's DT_NEEDED for ld.so
ld searches libc.a before ld.so (is that an ld bug?).
Add $(elfobjdir) to -rpath-link.
* Makerules (elfobjdir): Define as . when $(subdir) is elf.
* sysdeps/i386/dl-machine.h (elf_machine_rel): In R_386_32 case when
relocating _dl_rtld_map, subtract SYM's value from final reloc value,
but don't change *RELOC_ADDR before calling *RESOLVE, because it might
call the function we are relocating!
* elf/dl-close.c: New file.
* elf/link.h: Declare _dl_close.
* elf/Makefile (routines): Add dl-close.
* elf/dlclose.c (dlclose): Use _dl_close.
* elf/Makefile ($(objpfx)librtld.so): Remove libelf from deps.
* elf/dl-runtime.c (_dl_global_scope): New variable.
(_dl_object_relocation_scope): New function.
(fixup): Use it.
* elf/rtld.c (dl_main): Use it.
* elf/dl-open.c (_dl_open): Use it. If (MODE & RTLD_GLOBAL), set the
l_global bit and append the new map to _dl_global_scope.
* elf/link.h: Declare _dl_global_scope, _dl_global_scope_alloc,
and _dl_object_relocation_scope.
* elf/link.h (struct link_map): Add l_loader member.
Remove _dl_map_object_from_fd decl.
* elf/dl-load.c (_dl_map_object): Pass LOADER to ...
(_dl_map_object_from_fd): Take new arg LOADER and set l_loader member.
(_dl_map_object): Try DT_RPATH from all loaders up the chain.
* elf/dl-object.c (_dl_loaded): Variable removed.
(_dl_default_scope): New variable replaces it.
* elf/link.h (_dl_loaded): Remove variable decl; instead define as
macro for _dl_default_scope[2].
(_dl_default_scope): Declare it.
* sysdeps/i386/dl-machine.h (RTLD_START): Use _dl_default_scope[2]
instead of _dl_loaded.
* sysdeps/m68k/dl-machine.h (RTLD_START): Likewise.
* elf/rtld.c (dl_main): Use _dl_default_scope for symbol lookups.
* elf/dl-reloc.c (_dl_relocate_object): Remove check for _dl_rtld_map.
* elf/rtld.c (dl_main): Pass 0 for LAZY flag when re-relocating self.
* elf/link.h (struct link_map.l_type): Remove lt_interpreter.
(struct link_map): Add new flag member l_global.
* elf/dl-reloc.c (_dl_relocate_object): Check for _dl_rtld_map
directly instead of looking for lt_interpreter.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
* elf/rtld.c (_dl_start): Don't bother setting BOOTSTRAP_MAP.l_type.
(dl_main): Set _dl_rtld_map.l_type to lt_library.
* elf/dl-deps.c (_dl_map_object_deps): Propagate MAP->l_type to
dependencies loaded, downgrading lt_executable -> lt_library.
* elf/dl-load.c (_dl_map_object_from_fd): Take new arg TYPE and set
l_type from that, translating lt_library->lt_executable based on the
file's ELF type.
(_dl_map_object): Likewise.
* elf/link.h: Update prototypes.
* elf/dl-open.c: Pass type lt_loaded.
* elf/rtld.c: Pass type lt_library.
* elf/dl-load.c (_dl_map_object_from_fd): Handle null return from
_dl_new_object.
(_dl_map_object_from_fd: lose): Unchain and free L if it's not null.
Free REALNAME, and just use NAME in error message.
* elf/dl-object.c (_dl_new_object): If malloc fails, return null
instead of calling _dl_signal_error.
* elf/dl-load.c (_dl_map_object_from_fd): Close FD before signalling
error for _dl_zerofd setup failure.
* elf/dl-object.c (_dl_startup_loaded): Variable removed.
* elf/link.h: Remove its decl.
* elf/dl-reloc.c (_dl_relocate_object): Take new SCOPE arg and pass it
through to _dl_lookup_symbol.
* elf/link.h (_dl_relocate_object): Update comment and prototype.
* elf/rtld.c (dl_main): Pass scope vector to _dl_relocate_object.
* elf/dl-lookup.c (_dl_lookup_symbol): Arg SYMBOL_SCOPE is now a
null-terminated vector of pointers, no longer a vector of exactly two.
* elf/link.h (_dl_lookup_symbol): Update comment and prototype.
* elf/dl-runtime.c (fixup): Set up scope for symbol lookup properly as
done in _dl_relocate_object.
* elf/dlopen.c: Pass "" to _dl_open when FILE is null.
* sysdeps/unix/sysv/linux/configure.in: New file, start with configure.
Add check for installed <linux/version.h> being v2.0 or later.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill): Call __open
instead of open.
(_dl_sysdep_fatal): Call __write instead of write.
(_dl_sysdep_message): Likewise.
Sun Jun 9 20:40:00 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_acosl.c: New file.
* Makerules (o-objects): New variable. Use it in place of
$(objects:.o=$o); it filters out $(elide-routines$o).
Use o-iterator for ar and ranlib rules so they use the per-type object
list.
* sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
* Makerules (make-target-directory): Use ./mkinstalldirs so we do not
assume . is in PATH.
Sat Jun 8 22:05:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* math/Makefile (distribute): Comment out addition of
$(long-m-routines) sources until they are all written.
* math/Makefile (distribute): Append long double source names to this
instead of using elided-routines.
Sat Jun 8 15:15:07 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* mach/mach_shortcuts.c: Obsolete file removed.
* mach/mach_syscalls.h: Likewise.
* hurd/Makefile (distribute): Consolidate defns into one.
* time/Makefile (tzfiles): Add solar87 solar88 solar89.
* version.h (VERSION): Set to 1.90.
* Makerules (distinfo-vars): Write extra-libs and *-routines for each
of its elts.
* MakeTAGS (sources): Add those sources.
* MakeTAGS (all-sources): Add $(others:=.c) and $(tests:=.c).
Wed May 29 08:53:08 1996 Miles Bader <miles@gnu.ai.mit.edu>
* hurd/report-wait.c (_S_msg_report_wait): Return `itimer' for the
itimer thread.
* hurd/hurdinit.c (_hurd_init): Set _HURDSIG_TRACED before calling
_hurd_proc_init.
* string/tester.c (main): Fix strsep tests 6, 7, 20 to expect null
token instead of it being implicitly skipped.
* Makerules (sed-remove-objpfx): Avoid extra space in regexp due to
continuation line.
* sysdeps/unix/sysv/linux/i386/socket.S: Fix off-by-one error in
setting %ecx to 2nd syscall arg: we have pushed nothing, so function
args are found at 4(%esp), not 8(%esp).
* libc-symbols.h (lint): Macro removed. The sunrpc code does some
really stupid things #ifdef lint.
* sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter): Fix
struct member name: sc_eip -> eip.
* mach/Machrules (%.udeps rule): Write deps for %_server.[ch] too.
(%_server.[ch] rule): Don't depend on %.defs; use #include to get
installed .defs file.
* stdio-common/vfprintf.c (flockfile, funlockfile): Define to
nothing for stdio. Fix fUNlockfile -> funlockfile for libio.
* stdio-common/vfscanf.c: Likewise.
Sat May 11 13:43:41 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* hurd/hurdfault.c: Include faultexc_server.h instead of faultexc.h.
* mach/Machrules (%.ir rule): Don't produce deps for imports.
* elf/dl-fini.c (_dl_fini): Clear L->l_init_called after calling fn.
* Makerules (install): Depend on $(slibdir)/libc.so$(libc.so-version).
[!subdir] ($(libdir)/libc.so, $(common-objpfx)/libc-syms.so): Protect
these targets and install dep on $(libdir)/libc.so with this.
* hurd/Makefile: Removed all rules and defns for using code from Hurd
sources and installing headers from there.
* sysdeps/mach/hurd/errnos.awk: Set in_mach_errors to FILENAME when we
set it. In Mach error matching clause, only match if FILENAME is
still the same value.
* sysdeps/mach/hurd/Makefile: Don't include sysdeps/mach/Makefile;
$(mach-srcdir) no longer exists.
(hurd-srcdir): Variable removed.
(includes): Don't append -I$(hurd-srcdir).
(last-includes): Variable removed.
Remove vpath specs using $(hurd-srcdir).
(mach-errno-h): New canned sequence.
($(common-objpfx)errnos.d): New target, generated included makefile
to determine absolute file names of Mach headers to search for error
codes and set variable mach-errnos-deps.
($(common-objpfx)stamp-errnos): Depend on $(mach-errnos-deps) instead
of prior explicit list.
(generated): Add errnos.d, stamp-errnos.
* mach/Machrules (some-if-rtn): New variable and target; compute deps
of some if routine and make all if routines depend on that .d file
instead of static list of .h files.
* mach/Makefile (mach/mach_interface.defs,
mach/memory_object_user.defs): Targets removed.
($(objpfx)mach-syscalls.mk): Tweak this kludge so it doesn't depend
directly on Mach sources.
* sysdeps/mach/Makefile (mach-srcdir): Variable removed.
(includes): Don't append -I$(mach-srcdir).
Remove vpath specs using $(mach-srcdir).
* hurd/Makefile (server-interfaces): Add faultexc.
(sig): Remove it from here.
(fault%.[ch]): Rule removed.
(MIGFLAGS-faultexc): New variable.
* hurd/faultexc.defs: New file.
* mach/Machrules (%.ustamp rule): Pass $(MIGFLAGS-$*) to mig.
(%_server.[ch] rule): Likewise.
* mach/Makefile: Removed all rules and defns for using code from Mach
sources and installing headers from there.
* Makeconfig [$(build-shared)=yes] (link-libc): Append
$(libc.so-version) to libc.so.
* mach/Machrules (%.ustamp rule): Don't depend on %.defs.
(%.udeps): New rule parallel to that one, generating included
makefiles with -M output from `#include <%.defs>'.
* Makerules (sed-remove-objpfx): Remove space before \ at eol.
* Rules (static-only-routines rule): Remove spurious space in dep.
* misc/getusershell.c: Undo changes of 7 May 96 (rev 1.6).
Cast string constants to char *.
* posix/glob/SMakefile, posix/glob/SCOPTIONS, posix/glob/Makefile.ami:
New files, AmigaDOS support from Aaron Digulla.
* posix/Makefile (glob.tar): Add AmigaDOS support files.
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.