1997-03-25 02:15 Ulrich Drepper <drepper@cygnus.com>
* gmon/gmon.c: Optimize a bit by using more sets of records to
write in a single writev call.
* math/math.h: Add definitions of macros __MATHCALLX and __MATHDECLX.
* math/mathcalls.h: Use __MATHCALLX for fabs, infnan, copysign,
nan, isnan, nextafter, trunc, __fpclassify and signbit to mark as
`const'.
Use __MATHDECLX for isinf and finite.
* sysdeps/generic/setenv.c [_LIBC]: Define __clearenv and make
clearenv a weak alias.
Implement complex exponential function.
* sysdeps/libm-ieee754/s_cexp.c: New file.
* sysdeps/libm-ieee754/s_cexpf.c: New file.
* sysdeps/libm-ieee754/s_cexpl.c: New file.
* sysdeps/libm-ieee754/s_nan.c: Define function as __nan and make
nan a weak alias.
* sysdeps/libm-ieee754/s_nanf.c: Likewise for nanf.
* sysdeps/libm-ieee754/s_nanl.c: Likewise for nanl.
* sysdeps/unix/sysv/linux/iovec.h: Don't use kernel header because
of type clashes. Add all definitions here.
* sysdeps/unix/sysv/linux/shmat.c: Likewise. Correct types according
to XPG4.2.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysvipc/sys/shm.h (shmat, shmdt): Correct types.
* sysdeps/unix/sysv/linux/sys/kd.h: Define _LINUX_TYPES_H to avoid
use of kernel types.
1997-03-25 00:00 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/netinet/ip.h (struct ip_timestamp):
Correct typos. Reported by a sun <asun@zoology.washington.edu>.
1997-03-20 21:58 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_asinhl.c: Fix sign of result.
1997-03-20 16:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/e_atan2l.c: Fix typo.
1997-03-20 14:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h (__logb, logb): Don't define.
* sysdeps/m68k/fpu/s_logb.c: Removed.
* sysdeps/m68k/fpu/s_logbf.c: Removed.
* sysdeps/m68k/fpu/s_logbl.c: Removed.
* sysdeps/m68k/fpu/__math.h (__ieee754_atan2, __ieee754_pow):
Don't define here.
* sysdeps/m68k/fpu/e_atan2.c: Rewritten.
* sysdeps/m68k/fpu/e_pow.c: Likewise.
* sysdeps/m68k/fpu/e_atan2f.c: Based on e_atan2.c.
* sysdeps/m68k/fpu/e_atan2l.c: Likewise.
* sysdeps/m68k/fpu/e_powf.c: Based on e_pow.c.
* sysdeps/m68k/fpu/e_powl.c: Likewise.
* sysdeps/m68k/fpu/s_log2.c: New file.
* sysdeps/m68k/fpu/s_log2f.c: New file.
* sysdeps/m68k/fpu/s_log2l.c: New file.
* sysdeps/m68k/fpu/s_exp2.c: New file.
* sysdeps/m68k/fpu/s_exp2f.c: New file.
* sysdeps/m68k/fpu/s_exp2l.c: New file.
1997-03-20 14:46 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig (all): Make sure this is always the default goal.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c: Increase epsilon in many places. Fix many
typos. Allow optinal argument also for short option.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile ($(objpfx)$(tests)): Link against libm.
1997-03-24 23:14 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_fpclassifyl.c: Correct recognition of
denormalized numbers.
* sysdeps/i386/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-19 15:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-24 23:09 Ulrich Drepper <drepper@cygnus.com>
* inet/rcmd.c (iruserok): Use access instead of euidaccess.
1997-03-15 18:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/cmathcalls.h: Remove whitespace before function name in use
of __MATHDECL macro, to make it compilable with a traditional
preprocessor.
1997-03-24 15:31 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Use AC_PROG_CC instead of AC_PROG_TOOL to find
compiler.
1997-03-24 02:34 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_finitel.c (__finitel): Shift return value
by 31 positions to get 0/1 result.
Patch by Joe Keane <jgk@jgk.org>.
1997-03-23 12:15 H.J. Lu <hjl@gnu.ai.mit.edu>
* posix/getopt.c (__getopt_nonoption_flags): Make it extern
to prevent from ld linking in getopt.o even if there is another
incompatible one.
* posix/getopt_init.c (__getopt_nonoption_flags): Remove extern.
1997-03-23 23:30 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c (__do_niscall): Print message if cold start file
does not exist.
* nis/nis_file.c: Don't print error messages.
* nis/nis_local_name.c (nis_local_host): Fix pointer errors.
* nis/rpcsvc/ypclnt.h: Fix copyright and prototypes.
* nis/rpcsvc/nis.h: Likewise.
* nis/ypclnt.c: Fix prototypes.
1997-03-24 01:36 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-i387/e_scalb.S: Pop additional result before
returning.
* sysdeps/libm-i387/e_scalbf.S: Likewise.
* sysdeps/libm-i387/e_scalbl.S: Likewise.
Reported by Andreas Jaeger <aj@arthur.pfalz.de>.
* elf/rtld.c (dl_main): Set main_map->l_opencount to 1 also if
dynamic linker was called implicitly by the kernel.
Reported by Eric Youngdale <eric@andante.jic.com>.
* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
CFLAGS-test-longdouble.c): New variables. Set to -fno-inline to
prevent clever optimizations which corrupt the tests.
1997-03-23 21:33 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (scalb_test): New function.
(sqrt_test): New function.
(scalbn_test): New function.
(ilogb_test): New function.
(main): Added calls for new test functions.
(ldexp_test): Add another test for ldexp(x,0).
1997-03-23 12:35 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (remquo_test): Correct messages so that they
match the tests.
(copysign_test): Likewise.
1997-03-23 16:28 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/Makefile (routines): Add printf_size.
* stdio-common/printf.h: Add declarations for printf_size and
printf_size_info.
* stdio-common/printf-parse.h (__printf_arginfo_table): Correct
declaration.
(parse_one_spec): Test whether __printf_function_table is not NULL
before using registered handlers and don't test
__printf_arginfo_table. Update nargs also when handler is
registered.
* stdio-common/vfprintf.c (vfprintf): Count number of specifiers
processed in fast loop.
* stdio-common/printf_size: New file.
1997-03-22 04:53 Ulgmon_out_readrich Drepper <drepper@cygnus.com>
1997-03-23 02:11 Ulrich Drepper <drepper@cygnus.com>
* time/sys/time.h: Make values ITIMER_* also available as macros.
* elf/dl-support.c (_dl_sysdep_read_whole_file): Don't call
__fstat but instead __fxstat directly to avoid dependency on
libc.a when inline failed.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_read_whole_file): Likewise.
* math/Makefile (libm-routines): Add s_remquo.
* sysdeps/libm-i387/s_remquo.S: New file.
* sysdeps/libm-i387/s_remquof.S: New file.
* sysdeps/libm-i387/s_remquol.S: New file.
* sysdeps/libm-ieee754/s_remquo.c: New file.
* sysdeps/libm-ieee754/s_remquof.c: New file.
* sysdeps/libm-ieee754/s_remquol.c: New file.
* math/libm-test.c (remquo_test): New function.
* sysdeps/libm-ieee754/s_rintl.c: Handle implicit leading one
correctly.
1997-03-22 14:06 Ulrich Drepper <drepper@cygnus.com>
* math/Makefile (libm-calls): Add s_nan.
* sysdeps/libm-ieee754/s_nan.c: New file. Implement `nan' function.
* sysdeps/libm-ieee754/s_nanf.c: New file. Implement `nanf' function.
* sysdeps/libm-ieee754/s_nanl.c: New file. Implement `nanl' function.
* math/libm-test.c (basic_tests): Add tests for `nan' function.
* math/libm-test.c (copysign_test): New function.
(main): Call copysign_test.
1997-03-22 06:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_nextafter.c: Return y if x == y.
* sysdeps/libm-ieee754/s_nextafterf.c: Likewise.
* sysdeps/libm-ieee754/s_nextafterl.c: Likewise.
* sysdeps/libm-i387/s_nextafterl.c: Likewise.
* math/libm-test.c (fdim_test, fmin_test, fmax_test, nextafter_test):
New functions. Test these functions.
(main): Call above new functions.
1997-03-22 04:53 Ulrich Drepper <drepper@cygnus.com>
* Net release 2.0.2.
1997-03-22 04:37 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/termbits.h (OXTABS): Define as alias for
XTABS.
* sysdeps/unix/sysv/linux/alpha/termbits.h (OXTABS): Likewise.
* termios/sys/ttydefaults.h: Partly revert patch by Andreas Schwab
of Sun Dec 15 16:33:44 1996.
Proposed by Thomas Bushnell <thomas@gnu.ai.mit.edu>.
1997-03-21 13:41 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/sparc/dl-machine.h (elf_machine_rel): Rewritten as for i386.
Check here for non-SHN_UNDEF STB_LOCAL symbols don't do any lookup or
consult their values.
(elf_machine_lookup_noexec_p, elf_machine_lookup_noplt_p,
ELF_MACHINE_RELOC_NOPLT): New macros.
* elf/rtld.c (dl_main): Pass ELF_MACHINE_RELOC_NOPLT to
_dl_lookup_symbol in place of DL_LOOKUP_NOPLT.
* sysdeps/i386/dl-machine.h (ELF_MACHINE_RELOC_NOPLT): New macro.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Rewritten to do the
symbol lookup before checking reloc type except for R_386_RELATIVE.
(elf_machine_lookup_noexec_p, elf_machine_lookup_noplt_p): New macros.
* elf/dl-reloc.c (RESOLVE): Remove STB_LOCAL check; let it be
per-machine since it supposedly can't happen on i386.
* elf/dl-lookup.c (do_lookup): Change arg FLAGS to RELOC_TYPE. Use
elf_machine_lookup_{noexec,noplt}_p macros on it. Remove gratuitous
indirection from REF arg; change callers.
(_dl_lookup_symbol, _dl_lookup_versioned_symbol): Change arg name.
(_dl_lookup_symbol_skip, _dl_lookup_versioned_symbol_skip): Remove
FLAGS arg altogether.
* elf/dlsym.c: Remove argument of FLAGS parameter.
* elf/dlvsym.c: Likewise.
* elf/link.h: Update decls.
* Makefile (distribute): Add BUGS.
1997-03-19 01:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/sco3.2.4/Dist: New file.
* sysdeps/unix/sysv/sysv4/Dist: Add __getpgid.c and __setpgid.c.
* sysdeps/unix/bsd/Dist: Add bsdstat.h, setrgid.c, and setruid.c.
* sysdeps/unix/sysv/Dist: Add direct.h.
* sysdeps/unix/sysv/linux/Dist: Add netinet/tcp.h.
* Make-dist ($(tardir).tar): Prefer writing temporary file to
$TMPDIR is available. The default is /tmp.
* sysdeps/generic/ip.h: Move to...
* sysdeps/generic/netinet/ip.h: ...here.
* Makefile (tests): Quote $(CC) argument to isomac program.
Patch by H.J. Lu <hjl@gnu.ai.mit.edu>.
* sysdeps/i386/setjmp.S (__setjmp): Fix fatal bug where 0 argument
is placed in wrong place on the stack.
Reported by Marc Lehmann <mlehmann@hildesheim.sgh-net.de>.
* sysdeps/tst-setjmp.c: Add new test for above problem.
* sysdeps/libm-i387/e_pow.S: Compute PIC addres early.
* sysdeps/libm-i387/e_powf.S: Likewise.
* sysdeps/libm-i387/e_powl.S: Likewise.
1997-03-18 23:18 Ulrich Drepper <drepper@cygnus.com>
* time/offtime.c (__offtime): Change type of `yg' to long int.
Reported by a sun <asun@zoology.washington.edu>.
1997-03-18 23:08 a sun <asun@zoology.washington.edu>
* sysdeps/unix/sysv/linux/net/if_ppp.h (PPP_VERSION): Define to
2.2.0 to prevent version mismatch.
1997-03-17 19:26 Andreas Jaeger <aj@arthur.pfalz.de>
* stdio-common/printf_fphex.c (MIN): Only define MIN if not
already defined.
1997-03-14 23:34 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/unix/sysv/linux/powerpc/termbits.h: Leave ioctl numbers
in ioctls.h.
* elf/rtld.c (_dl_start): Call elf_machine_runtime_setup when the
loader first relocates itself.
* sysdeps/powerpc/elf/start.c (__start1): Fix bug for static objects.
* sysdeps/powerpc/dl-machine.h (elf_machine_rela): Fix bugs in
jump slot relocation. Prefer relative branches (some PowerPC chips
don't predict absolute branches).
(elf_machine_runtime_setup): Simplify and correct expressions.
(RTLD_START): Fix bug changing _dl_starting_up.
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Added. Deal with
strange Linux/PPC padding of initial stack.
1997-03-11 04:14 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/unix/sysv/linux/powerpc/termbits.h: Increase NCCS to 39,
for future expansion.
* sysdeps/unix/sysv/linux/powerpc/sys/kernel_termios.h: Added.
* sysdeps/powerpc/dl-machine.h (elf_machine_rela): Explain why it
can't have a switch statement.
* sysdeps/powerpc/elf/start.c (__start1): Explain why it can't be
static.
* sysdeps/powerpc/elf/start.c (_start): Use .previous to avoid
confusing gcc's idea of the current section.
* sysdeps/powerpc/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE,
RTLD_START): Likewise.
1997-03-08 09:10 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/dl-machine.h (elf_machine_rela,
elf_machine_runtime_setup): Flush data & instruction caches when
necessary, for 603/604 support. Add better support for large PLTs.
(elf_machine_rela): Remove relocations that wouldn't work if
anyone ever used them. Use memcpy for copy reloc, it'll be safe.
Never target branch relocations at a PLT entry.
* sysdeps/powerpc/bsd-setjmp.S: Make jump to PLT entry if we are
generating PIC.
* sysdeps/powerpc/bsd-_setjmp.S: Likewise.
* sysdeps/powerpc/setjmp.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/clone.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/socket.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscall.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Likewise.
* sysdeps/powerpc/elf/start.c: Clean up.
* sysdeps/powerpc/__longjmp.S: Return 'value' as result from
setjmp call.
* sysdeps/unix/sysv/linux/powerpc/statbuf.h: New file.
1997-03-09 12:36 H.J. Lu <hjl@gnu.ai.mit.edu>
* Make-dist (srcs): Add $(test-srcs).
* MakeTAGS (all-sources): Likewise.
* Makerules (depfiles, common-mostlyclean): Likewise.
* Rules (tests): Likewise.
1997-03-18 05:28 Roland McGrath <roland@frob.com>
* elf/dl-reloc.c (RESOLVE): Don't try to resolve ocal symbols.
1997-03-17 21:39 Philip Blundell <phil@london.uk.eu.org>
* nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): Allow
protocol=NULL to match any protocol rather than returning an
error.
1997-03-17 19:00 Philip Blundell <phil@london.uk.eu.org>
* nss/nss_files/files-service.c (servbyname): Match any protocol
if proto==NULL.
1997-03-18 05:17 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/fcntlbits.h: Don't define O_NORW.
* sysdeps/unix/sysv/linux/fcntlbits.h: Likewise.
Proposed by Thomas Bushnell, n/BSG.
1997-03-18 07:53 H.J. Lu <hjl@gnu.ai.mit.edu>
* sysdeps/generic/setenv.c (setenv): Don't copy name when we reuse
the buffer for replacement.
1997-03-16 19:30 H.J. Lu <hjl@gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/syscalls.list: Add sys_fstat,
sys_lstat and sys_stat.
1997-03-17 12:43 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
Add NIS+ functions
* shlib-versions: Add libnss_nisplus.
* nis/Makefile: Add NIS+ source files.
* nis/nis_call.c: New file.
* nis/nis_clone.c: New file.
* nis/nis_error.c: New file.
* nis/nis_file.c: New file.
* nis/nis_free.c: New file.
* nis/nis_intern.c: New file.
* nis/nis_intern.h: New file.
* nis/nis_local_names.c: New file.
* nis/nis_names.c: New file.
* nis/nis_print.c: New file.
* nis/nis_server.c: New file.
* nis/nis_subr.c: New file.
* nis/nis_table.c: New file.
* nis/nis_xdr.c: New file.
* nis/nss-nisplus.h: New file.
* nis/nss_nisplus/nisplus-alias.c: New file.
* nis/nss_nisplus/nisplus-ethers.c: New file.
* nis/nss_nisplus/nisplus-grp.c: New file.
* nis/nss_nisplus/nisplus-hosts.c: New file.
* nis/nss_nisplus/nisplus-netgrp.c: New file.
* nis/nss_nisplus/nisplus-network.c: New file.
* nis/nss_nisplus/nisplus-proto.c: New file.
* nis/nss_nisplus/nisplus-publickey.c: New file.
* nis/nss_nisplus/nisplus-pwd.c: New file.
* nis/nss_nisplus/nisplus-rpc.c: New file.
* nis/nss_nisplus/nisplus-service.c: New file.
* nis/nss_nisplus/nisplus-spwd.c: New file.
* nis/rpcsvc/nis.h: New file.
* nis/rpcsvc/nis.x: New file.
* nis/rpcsvc/nis_object.x: New file.
* nis/rpcsvc/nis_tags.h: New file.
* nis/rpcsvc/nislib.h: New file.
1997-03-17 12:52 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* mach/devstream.c (output/write_some): Don't try and write more
than IO_INBAND_MAX in a single call to device_write_inband.
* sysdeps/libm-ieee754/w_atan2.c: Don't ignore exception if library
* sysdeps/libm-ieee754/w_atan2f.c: Likewise.
* sysdeps/libm-ieee754/w_atan2l.c: Likewise.
* sysdeps/unix/sysv/linux/sys/mman.h (msync): Add description for
* stdlib/atoll.c: Undefine atoll, not atol.
1997-03-16 18:43 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Add documentation for scandir and alphasort.
* math/math.c (fpclassify): Correct stupid typos.
* math/libm-test.c: New file. libm test suite by Andreas Jaeger.
* nss/nss_files/files-hosts.c: Add gethostbyname2 imlementation.
* posix/Makefile (routines): Add bsd-getpgrp.
* posix/bsd-getpgrp.c: New file.
* posix/unistd.h [__FAVOR_BSD]: Define macro getpgrp which maps
calls to __bsd_getpgrp.
* sysdeps/generic/getpgrp.c: De-ANSI-declfy.
* sysdeps/i386/huge_val.h: New file. ix87 specific infinity values.
* sysdeps/m68k/huge_val.h: New file. m68k specific infinity values.
* sysdeps/generic/huge_val.h: Remove definition of long double
definition. Make it the same as the double definition.
* sysdeps/libm-i387/e_acos.S: Fix bug in FPU stack handling.
* sysdeps/libm-i387/e_acosf.S: Likewise.
* sysdeps/libm-i387/e_acosl.S: Likewise.
* sysdeps/libm-i387/e_asin.S: Likewise.
* sysdeps/libm-i387/e_asinf.S: Likewise.
* sysdeps/libm-i387/e_asinl.S: Likewise.
* sysdeps/libm-i387/e_exp.S: Likewise.
* sysdeps/libm-i387/e_expf.S: Likewise.
* sysdeps/libm-i387/e_expl.S: Likewise.
* sysdeps/libm-i387/e_scalbn.S: Likewise.
* sysdeps/libm-i387/e_scalbnf.S: Likewise.
* sysdeps/libm-i387/e_scalbnl.S: Likewise.
* sysdeps/libm-i387/e_log.S: Optimize branch code.
* sysdeps/libm-i387/e_logf.S: Likewise.
* sysdeps/libm-i387/e_logl.S: Likewise.
* sysdeps/libm-i387/e_log10.S: Likewise.
* sysdeps/libm-i387/e_log10f.S: Likewise.
* sysdeps/libm-i387/e_log10l.S: Likewise.
* sysdeps/libm-i387/e_pow.S: Major rewrite to handle special cases.
* sysdeps/libm-i387/e_powf.S: Likewise.
* sysdeps/libm-i387/e_powl.S: Likewise.
* sysdeps/libm-i387/e_expm1.S: Change return value for -inf
argument to -1.0.
* sysdeps/libm-i387/e_expm1f.S: Likewise.
* sysdeps/libm-i387/e_expm1l.S: Likewise.
* sysdeps/libm-i387/e_isinfl.c: Return -1 for -inf.
* sysdeps/libm-i387/e_logbl.S: Correct return value. Discard first
stack element after fxtract.
* sysdeps/libm-ieee754/e_atan2l.c: New file. `long double'
implementation for atan2 function.
* sysdeps/libm-ieee754/k_standard.c: Return NAN for libm not in
_SVID_ mode when acos, asin, atan2, log, log10 is called with
argument out of range.
Add new error case for pow(+0,neg).
* sysdeps/libm-ieee754/s_fpclassifyf.c: Correct recognition of
NaN and +-inf.
* sysdeps/libm-ieee754/s_fpclassifyl.c: Mask out explicit leading
digit in stupid 80 bit formats.
* sysdeps/libm-ieee754/s_isinf.c: Rewrite to return -1 for -inf.
* sysdeps/libm-ieee754/s_isinff.c: Likewise.
* sysdeps/libm-ieee754/s_isinfl.c: Likewise.
* sysdeps/libm-ieee754/s_scalbnl.c (huge, tiny): Adapt values for
long double type.
* sysdeps/libm-ieee754/w_atan2.c: Do not raise exception expect when
in SVID mode.
* sysdeps/libm-ieee754/w_atan2f.c: Likewise.
* sysdeps/libm-ieee754/w_atan2l.c: Likewise.
* sysdeps/libm-ieee754/w_pow.c: Distinguish error cases for x is +0
or -0.
* sysdeps/posix/isfdtype.c: Add cast to prevent warning.
* sysdeps/stub/fcntlbits.h: Update copyright.
* sysdeps/unix/bsd/fcntlbits.h: Likewise.
* sysdeps/unix/bsd/bsd4.4/fcntlbits.h: Likewise.
* sysdeps/unix/bsd/sun/sunos4/fcntlbits.h: Likewise.
* sysdeps/unix/bsd/ultrix4/fcntlbits.h: Likewise.
* sysdeps/unix/common/fcntlbits.h: Likewise.
* sysdeps/unix/sysv/fcntlbits.h: Likewise. Define O_FSYNC as alias
of O_SYNC. Add BSD compatibility macros FAPPEND, FFSYNC, FNONBLOCK,
and FNDELAY.
* sysdeps/unix/sysv/irix4/fcntlbits.h: Likewise.
* sysdeps/unix/readdir_r.c: Don't copy whole `struct dirent' record,
only reclen bytes.
* sysdeps/unix/sysv/linux/fcntlbits.h [__USE_GNU]: Add O_READ, O_WRITE
and O_NORW.
* sysdeps/unix/sysv/linux/alpha/fcntlbits.h: Likewise.
* sysdeps/unix/sysv/linux/init-first.h: Add copyright.
* sysdeps/unix/sysv/linux/fxstat.c: New file. Rewrite kernel-level
struct stat to user-level form.
* sysdeps/unix/sysv/linux/lxstat: New file.
* sysdeps/unix/sysv/linux/xstat: New file.
* sysdeps/unix/sysv/linux/kernel_stat.h: Define struct stat used in
kernel.
* sysdeps/unix/sysv/linux/statbuf.h (struct stat): Change definition
to use prescribed types for elements.
(_STAT_VER): Change to value 3.
* sysdeps/unix/sysv/linux/alph/statbuf.h: Likewise.
* sysdeps/unix/sysv/linux/Dist: Add kernel_stat.h.
* sysdeps/unix/sysv/linux/alpha/Dist: Likewise.
* time/Makefile: Correct dependencies for test-tz.
1997-03-16 14:59 Philip Blundell <phil@london.uk.eu.org>
* resolv/netdb.h: Add prototypes for gai_strerror and getnameinfo
(needed for IPv6 basic sockets API).
1997-03-16 15:02 a sun <asun@zoology.washington.edu>
* sysdeps/unix/sysv/linux/net/if_ppp.h: Don't use incompatible
kernel header.
* sysdeps/unix/sysv/linux/net/ppp_defs.h: Likewise.
1997-03-14 17:15 Ulrich Drepper <drepper@cygnus.com>
* db/hash/hash_bigkey.c (__big_delete): Don't call __free_ovflpage
without testing for last_bfp to be NULL.
Reported by fabsoft@fabserver1.zarm.uni-bremen.de.
1997-03-13 11:42 Jim Meyering <meyering@asic.sc.ti.com>
* time/mktime.c (TIME_T_MIN): Work around a bug in Cray C 5.0.3.0.
1997-03-14 04:00 Kurt Garloff <garloff@kg1.ping.de>
* sysdeps/unix/sysv/linux/fcntlbits.h (O_FSYNC): Make alias for O_SYNC.
(FASYNC): Move to __USE_BSD section. Create new macro O_ASYNC.
1997-03-14 02:50 Ulrich Drepper <drepper@cygnus.com>
* nis/nss_nis/nis-hosts.c (_nss_nis_gethostbyname2_r): New
functions. Compare result for correct address type.
(_nss_nis_gethostbyname_r): Use _nss_nis_gethostbyname2_r.
Reported by Mirko Streckenbach <mirko@marian.hil.de>.
1997-02-17 01:40 Zlatko Calusic <zcalusic@srce.hr>
* time/strptime.c (recursive): Return rp to caller.
(strptime_internal): First check for long names, then abbreviated
(month & weekday).
1997-03-10 19:44 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig: Remove useless definitions of ASFLAGS-%.
* config.make.in (ASFLAGS-.so): Remove.
* configure.in: Don't substitute ASFLAGS_SO.
* sysdeps/sparc/configure.in: Remove file.
* sysdeps/sparc/Makefile (ASFLAGS-.so): Define.
1997-03-11 17:00 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* time/strptime.c (strptime_internal) [case 'Y']: Always subtract
1900 from year, regardless of century.
1997-03-12 05:43 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtod.c (_tens_in_limb) [BITS_PER_MP_LIMB > 32]: Make
all numbers unsigned to make buggy gccs happy.
Patch by Bryan W. Headley <bheadley@interaccess.com>.
* sysdeps/unix/sysv/linux/netinet/ip.h: Add backward-compatibility
definitions. Patch by a sun <asun@zoology.washington.edu>.
Pretty print header.
* Makerules (build-shlib): Also create symlink if library is versioned.
based on a patch by H.J. Lu <hjl@gnu.ai.mit.edu>.
Remove special rule to libc.so symlink.
1997-03-11 20:16 Andreas Jaeger <aj@arthur.pfalz.de>
* manual/math.texi (Domain and Range Errors): Change descriptions
according to recent changes for ISO C 9X.
1997-03-11 22:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/k_standard.c (__kernel_standard): Correct
return values for acos, asin, and atan2.
Reported by Andreas Jaeger <aj@arthur.pfalz.de>.
1997-03-10 18:16 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* ypclnt.c (__yp_bind): Fix possible buffer overflow.
1997-03-10 18:06 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
* dirent/alphasort.c (alphasort): Interpret arguments as pointers
to pointers to directory entries so that alphasort really can be
used as argument for scandir.
1997-03-09 23:33 Andreas Jaeger <aj@arthur.pfalz.de>
* string/strdup.c: Declare memcpy if !(_LIBC || STDC_HEADERS)
instead of strcpy.
1997-03-10 03:34 Ulrich Drepper <drepper@cygnus.com>
* catgets/catgets.c (catopen): Always add NLSPATH to search path for
catalogs, not only if the envvar NLSPATH is not available.
Reported by Andries.Brouwer@cwi.nl.
1997-03-10 02:46 Ulrich Drepper <drepper@cygnus.com>
* Makeconfig (localtime-file): Don't define using installation
directory.
(inst_localtime-file): New variable.
* time/Makefile (installed-localtime-file): Use inst_localtime-file.
Reported by Edward Seidl <seidl@janed.com>.
1997-03-10 02:31 H.J. Lu <hjl@gnu.ai.mit.edu>
* time/Makefile: Add source files to dependencies for test data.
1997-03-09 22:53 Thorsten Kukuk <kukuk@weber.uni-paderborn.de>
* nis/nss_nis/nis-ethers.c: Don't ignore return value of yp_all.
* nis/nss_nis/nis-proto.c: Likewise.
* nis/nss_nis/nis-rpc.c: Likewise.
* nis/nss_nis/nis-service.c: Likewise.
1997-03-08 14:37 Miguel de Icaza <miguel@nuclecu.unam.mx>
* sysdeps/sparc/dl-machine.h (elf_machine_rela): Upgrade to
versioning; Added missing R_SPARC_WDISP30 handling.
(RTLD_START): Implement it.
* sysdeps/unix/sysv/linux/sparc/brk.c: Fix.
* sysdeps/unix/sysv/linux/sparc/start.c: Startup code for
Linux/SPARC.
1997-03-02 18:06 Miguel de Icaza <miguel@nuclecu.unam.mx>
* sysdeps/sparc/dl-machine.h (RTLD_START): Make arg as expected by
the dynamic linker instead of having a new conditional define.
Thanks to Richard Henderson for pointing this out.
* elf/rtld.c: Remove usage of ELF_ADJUST_ARG.
1997-03-20 20:44 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* sysdeps/mach/hurd/euidaccess.c: Define as __euidaccess and make
euidaccess weak alias.
1997-03-07 10:30 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* stdio-common/printf_fphex.c (MIN): New macro.
* sysdeps/generic/netinet/in.h: Include <sys/types.h>.
* sysdeps/generic/sys/mman.h (msync): Mention third arg.
* sysdeps/generic/netinet/in.h: Add definitions for IPv6 basic
API. (See change by Philip Blundell on Feb 16, 1997.)
1997-03-05 10:40 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* hurd/hurd.h (vpprintf): Include <stdarg.h>. New declaration.
* hurd/set-host.c (_hurd_set_host_config): Cast second arg to
__file_name_split.
* mach/mach_error.c (mach_error_string_int): Give full prototype.
* mach/errstring.c (mach_error_string_int): Likewise.
* mach/error_compat.c (__mach_error_map_compat): Likewise.
* hurd/vpprintf.c (pwrite, vpprintf): Likewise.
* stdio/vasprintf.c (vasprintf): Likewise.
* mach/mach/mach_traps.h: Include <mach/kern_return.h>.
* mach/spin-solid.c: Include <mach/mach_traps.h>.
* mach/spin-solid.c (__spin_lock_solid): Provide arg to
swtch_pri.
* mach/mach_init.c: Include <mach/mig_support.h>.
* mach/mach_error.h (mach_error_string, mach_error,
mach_error_type): Always provide prototypes.
* mach/mach/error.h (mach_error_fn_t): Comment out declaration; it
appears to be entirely unused dead code.
* stdio/stdio.h (freopen): Fix spelling error.
1997-03-02 13:38 Miles Bader <miles@gnu.ai.mit.edu>
* string/argz.h (__need_error_t): New macro, before including <errno.h>
[!__const] (__const): New macro.
[!__error_t_defined] (error_t): New typedef.
* sysdeps/generic/socketbits.h: Add PF_FILE as synonym for PF_LOCAL
* sysdeps/unix/sysv/linux/socketbits.h: Likewise.
1997-02-27 05:12 Ulrich Drepper <drepper@cygnus.com>
* manual/Makefile: Add rules to run and distribute xtract-typefun.
* manual/xtract-typefun.awk: New file. Script to extract function,
variable, macro anchor to put into the `dir' file.
* manual/signal.texi: Document difference between SysV and BSD
signal(3) function and add documentation for sysv_signal.
* sysdeps/libm-i387/e_acoshl.c: Clear upper half of word containing
exponent before comparing.
1997-02-27 01:13 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/netinet/in.h (htonl, htons, ntohl, ntohs): Change
prototypes to use types with explicit width. `unsigned long' is
different on 64 bit systems.
* sysdeps/unix/sysv/linux/netinet/in.h: Likewise.
* sysdeps/generic/htonl.c: Likewise.
* sysdeps/generic/htons.c: Likewise.
* sysdeps/generic/ntohl.c: Likewise.
* sysdeps/generic/ntohs.c: Likewise.
Suggested by a sun <asun@zoology.washington.edu>.
1997-02-26 08:30 Andreas Jaeger <aj@arthur.pfalz.de>
* math/math.h: Include <__math.h> if __NO_MATH_INLINES is not
defined and we want optimization.
1997-02-27 01:13 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/netinet/in.h (htonl, htons, ntohl, ntohs): Change
prototypes to use types with explicit width. `unsigned long' is
different on 64 bit systems.
Suggested by a sun <asun@zoology.washington.edu>.
1997-02-02 19:53 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* misc/getpass.c: Don't disable canonical input.
Reverted patch of Mon Jan 6 01:35:29 1997.
1996-12-14 22:07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/libioP.h (_IO_finish_t): Take additional parameter, to
match the hidden __in_chrg parameter of the destructor.
(_IO_FINISH): Pass zero for it.
* libio/genops.c (_IO_default_finish): Add second parameter, which
is ignored.
* libio/memstream.c (_IO_mem_finish): Likewise.
* libio/fileops.c (_IO_mem_finish): Likewise.
* libio/strops.c (_IO_str_finish): Likewise. All callers changed.
1997-02-27 00:23 H.J. Lu <hjl@lucon.org>
* time/Makefile: Avoid using patterns in dependencies.
1997-02-26 00:56 Miguel de Icaza <miguel@nuclecu.unam.mx>
* elf/rtld.c: Make _dl_start static. Otherwise the linker on the
SPARC will convert the call _dl_start into a call into the PLT.
* elf/rtld.c (_dl_start): On the SPARC we need to adjust the value
of arg to make it point to the actual values.
* sysdeps/sparc/elf/DEFS.h: New ELF specific version.
* sysdeps/sparc/Dist: Mention sysdeps/sparc/elf/DEFS.h.
* sysdeps/sparc/bsd-_setjmp.S, sysdeps/sparc/bsd-setjmp.S: Make
them PIC aware.
* sysdeps/sparc/dl-machine.h (elf_machine_load_address):
Implemented.
(elf_machine_rela): Make it compile; fix existing relocation
types; add unhandled relocation types.
(ELF_ADJUST_ARG): Get pointer to arguments at program startup.
(RTLD_START): Initial implementation, not yet finished.
* sysdeps/sparc/elf/start.S: Fix.
* sysdeps/sparc/fpu_control.h: Remove duplicate declaration of
__setfpucw.
* sysdeps/sparc/divrem.m4: Make compilable under Linux.
* sysdeps/sparc/rem.S, sysdeps/sparc/sdiv.S, sysdeps/sparc/udiv.S,
sysdeps/sparc/urem.S : Regenerated.
* sysdeps/sparc/setjmp.S: Make it PIC aware.
* sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: Define
__ASSEMBLY__ before using kernel header.
* sysdeps/unix/sysv/linux/sparc/Makefile: Use -mv8 flag to compile
rtld.c.
* sysdeps/unix/sysv/linux/sparc/brk.c: Implement.
* sysdeps/unix/sysv/linux/sparc/profil-counter.h: Remove code
to handle old signals.
* sysdeps/unix/sysv/linux/sparc/sigaction.c: Implements sigaction
for all Linux/SPARC kernels.
* sysdeps/unix/sysv/linux/sparc/syscall.S: Add code to store
errno using __errno_location.
* sysdeps/unix/sysv/linux/sparc/sysdep.h: Add various handler
macros for assembler sources.
* sysdeps/unix/sysv/linux/sparc/errno.c: Define errno.
1997-02-25 16:02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/rtld.c (dl_main): Remove dead code that is never executed.
Rename local variable l to main_map where it is used to point to
the load_map for the executable.
1997-02-25 15:03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/dl-version.c (_dl_check_all_versions): Ignore libraries that
could not be found.
1997-02-24 23:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Generate implicit object suffix rules automagically.
(o-iterator): Move before first use.
* Makeconfig (all-object-suffixes): Add .bo suffix.
1997-02-25 15:11 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-i387/e_acoshf.S (__ieee754_acoshf): Test correct
word on stack for overflow.
C++. Use __exception instead.
1997-02-24 23:05 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
* malloc/malloc.c (malloc_get_state): New function.
Saves global malloc state to an opaque data structure which
is dynamically allocated in the heap.
* malloc/malloc.c (malloc_set_state): New function.
Restore previously obtained state.
* malloc/malloc.h: Add declaration of malloc_get_state()
and malloc_set_state().
1997-02-24 23:27 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrtl.c: Shift B1_EXP value to right
position.
1997-02-24 17:38 Ulrich Drepper <drepper@cygnus.com>
* misc/error.c: Make error and error_at_line weak aliases of
__error and __error_at_line respectively.
Suggested by David Mosberger-Tang <davidm@AZStarNet.COM>.
* sysdeps/unix/sysv/linux/i386/socket.S: Update copyright.
1997-02-22 11:30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/ldd.bash.in: Run the program directly, not as argument
to the dynamic linker, if it contains an interpreter segment.
* elf/ldd.sh.in: Likewise.
* elf/rtld.c (dl_main): In verify mode check whether the dynamic
object contains an interpreter segment and exit with 2 if not.
1997-02-23 01:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (distribute): Remove nsswitch.h, netgroup.h, mcheck.h
and xlocale.h. Make-dist adds them automagically.
1997-02-22 12:25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* locale/C-time.c (_nl_C_LC_TIME): Add missing entry for
time-era-num-entries.
1997-02-06 13:49 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rellns-sh: No need to check for existance of first parameter.
1997-02-24 15:20 Jonathan T. Agnew <jtagnew@amherst.edu>
* glibcbug.in: Don't mention destination on MAIL_AGENT command line
to avoid duplicate mail.
1997-02-24 03:51 Ulrich Drepper <drepper@cygnus.com>
* Makefile (distribute): Add isomac.c.
(tests): Run isomac test.
* features.h (__USE_ISOC9X): New macro.
* catgets/catgets.c: Don't use global variable `optind'. Instead
use result computed by argp_parse.
* db/makedb: Likewise.
* locale/programs/locale.c: Likewise.
* locale/programs/localedef.c: Likewise.
* libio/stdio.h: Rewrite. Make it more readable and add comments.
* libio/clearerr.c: Remove clearerr_locked alias.
* libio/feof.c: Remove feof_locked alias.
* libio/ferror.c: Remove feof_locked alias.
* libio/fileno.c: Remove fileno_locked alias.
* libio/fputc.c: Remove fputc_locked alias.
* libio/getc.c: Remove getc_locked alias.
* libio/getchar.c: Remove getchar_locked alias.
* libio/iofflush.c: Remove fflush_locked alias.
* libio/putc.c: Remove putc_locked alias.
* libio/putc.c: Remove putchar_locked alias.
* stdio-common/printf_fp.c: When number is inifinity print INF
or inf depending on case of specifier. Same for NaN where NAN
or nan is printed. Specified in ISO C 9X.
* misc/sys/cdefs.h (__restrict): Define to empty string for now.
* stdio/stdio.h: Add __restrict to prototypes where necessary.
* libio/stdio.h: Likewise.
* stdlib/stdlib.h: Likewise.
* string/string.h: Likewise.
* time/time.h: Likewise.
* wcsmbs/wchar.h: Likewise.
* stdlib/strtod.c: Change to recognize INF, INFINITY, NAN, and
NAN(...).
* sysdeps/ieee754/huge_val.h: Define HUGE_VALF and HUGE_VALL instead
of HUGE_VALf and HUGE_VALL.
* stdlib/strtof.c (FLOAT_HUGE_VAL): Use standard name HUGE_VALF
instead of HUGE_VALf.
* wcsmbs/wcstof.c: Likewise.
* stdlib/strtold.c (FLOAT_HUGE_VAL): Use standard name HUGE_VALL
instead of HUGE_VALl.
* wcsmbs/wcstold.c: Likewise.
* sysdeps/posix/gai_strerror.c: Use size_t for counter variable to
avoid warning.
* wcsmbs/Makefile (routines): Add wcscasecmp and wcsncase.
* wcsmbs/wchar.h: Add prototypes for wcscasecmp and wcsncase.
* wcsmbs/wcscasecmp.c: New file.
* wcsmbs/wcsncase.c: New file.
* stdlib/strtol.c: Define wide character quad word functions as
wcstoll and wcstoull and normal versions as strtoll and strtoull.
* wcsmbs/wchar.h: Add prototypes for wcstoll and wcstoull.
* wcsmbs/wcstoq: Renamed to wcstoll.c.
* wcsmbs/wcstouq: Renamed to wcstoull.c.
* wcsmbs/wcstoll.c: Renamed from wcstoq.c. Make wcstoq a weak
alias of wcstoll.
* wcsmbs/wcstoull.c: Renamed from wcstouq.c. Make wcstouq a weak
alias of wcstoull.
* wcsmbs/Makefile (routines): Replace wcstoq and wcstouq by
wcstoll and wcstoull respectively.
* stdlib/strtoq.c: Rename to strtoll.c.
* stdlib/strtouq.c: Rename to strtoull.c.
* stdlib/strtoll.c: Renamed from strtoq.c. Make strtoq a weak
alias of strtoll.
* stdlib/strtoll.c: Renamed from strtouq.c. Make strtouq a weak
alias of strtoull.
* stdlib/Makefile (routines): Replace strtoq and strtouq by
strtoll and strtoull respectively.
* stdio-common/vfscanf.c: Don't use __strtoq_internal and
__strtouq_internal but instead __strtoll_internal and
__strtoull_internal respectively.
* stdlib/stdlib.h (strtoq): Use __internal_strtoll in inline version.
(strtouq): Similar with __internal_strtoull.
* wcsmbs/wchar.h (wcstoq): Use __internal_wcstoll in inline version.
(wcstouq): Similar with __internal_wcstoull.
1997-02-23 04:38 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c (STRTOL): It is not illegal to parse a minus
sign in the strtouXX functions. The results gets simply negated.
* stdio-common/tstscanf.c: Add testcase for above case.
* stdlib/tst-strtol.c: Correct tests.
* manual/stdio-fp.c: New file. Generate output for example program
in stdio.texi.
* stdio-common/Makefile (routines): Add printf_fphex.
* stdio-common/vfprintf.c: Add handling of %a and %A specifier.
* stdio-common/printf_fphex.c: New file. Implement %a and %A
specifier.
1997-02-22 03:01 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/timebits.h (CLK_TCK): Don't defined if
__STRICT_ANSI__.
* math/math.h: Prevent definition of struct exception when using
C++.
1997-02-22 01:45 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Dup takes only one argument.
Reported by Greg McGary.
1997-02-21 00:22 Miles Bader <miles@gnu.ai.mit.edu>
1997-02-20 01:28 Miles Bader <miles@gnu.ai.mit.edu>
1997-02-19 13:56 Miles Bader <miles@gnu.ai.mit.edu>
1997-02-18 15:39 Miles Bader <miles@gnu.ai.mit.edu>
1997-02-17 10:58 Miles Bader <miles@gnu.ai.mit.edu>
1997-02-15 10:23 Miles Bader <miles@gnu.ai.mit.edu>
(mutex_lock, mutex_unlock, mutex_trylock): Defined in terms of
__mutex_*.
(mutex_t): Type removed & replaced by new macro.
(tsd_key_t): Typedef to int instead of pthread_key_t.
(tsd_key_create, tsd_setspecific, tsd_getspecific): New macros.
(__pthread_initialize): New macro, work around assumption of pthreads.
* sysdeps/mach/hurd/i386/init-first.c (__libc_argv, __libc_argc):
__hurd_sigthread_stack_end, __hurd_sigthread_stack_variables,
__hurd_threadvar_max, __hurd_threadvar_stack_offset,
__hurd_threadvar_stack_mask): Variables removed.
1997-02-14 14:07 Miles Bader <miles@gnu.ai.mit.edu>
* hurd/hurd.h (_hurd_pids_changed_stamp, _hurd_pids_changed_sync):
1997-02-24 17:06 Geoffrey Keating <geoffk@discus.anu.edu.au>
* sysdeps/unix/sysv/linux/accept.S (NARGS): Describe number of
arguments taken, for sysdeps/unix/sysv/linux/powerpc/socket.S.
* sysdeps/unix/sysv/linux/bind.S: Likewise.
* sysdeps/unix/sysv/linux/connect.S: Likewise.
* sysdeps/unix/sysv/linux/getpeername.S: Likewise.
* sysdeps/unix/sysv/linux/getsockname.S: Likewise.
* sysdeps/unix/sysv/linux/getsockopt.S: Likewise.
* sysdeps/unix/sysv/linux/listen.S: Likewise.
* sysdeps/unix/sysv/linux/recv.S: Likewise.
* sysdeps/unix/sysv/linux/recvfrom.S: Likewise.
* sysdeps/unix/sysv/linux/recvmsg.S: Likewise.
* sysdeps/unix/sysv/linux/send.S: Likewise.
* sysdeps/unix/sysv/linux/sendmsg.S: Likewise.
* sysdeps/unix/sysv/linux/sendto.S: Likewise.
* sysdeps/unix/sysv/linux/setsockopt.S: Likewise.
* sysdeps/unix/sysv/linux/shutdown.S: Likewise.
* sysdeps/unix/sysv/linux/socketpair.S: Likewise.
1997-02-15 04:51 Ulrich Drepper <drepper@cygnus.com>
Tue Jan 21 04:05:20 1997 Ulrich Drepper <drepper@cygnus.com>
* version.h (VERSION): Bump to 1.101.
Implement -d and -r option to `ldd' to check relocations.
* elf/dl-error.c: Add another method to intercept errors.
(_dl_receive_error): New function. Install user defined handler.
(receiver): New variable. Contains pointer to user provided handler.
(_dl_signal_error): If user provided handler is installed call this.
* elf/dl-load.c (_dl_map_object): When shared object is not found in
trace mode initialize a few more fields so that lookup can actually
happen but always fails.
* elf/ldd.sh.in: Rewrite argument handling. Recognize new arguments
to trigger reloation test. Return with appropriate error code if
a file wasn't found. Print warning if object is not executable.
* elf/ldd.bash.in: Likewise.
* elf/link.h (receiver_fct): New type. Used in _dl_receive_error.
(_dl_sysdep_error): New prototype.
(_dl_receive_error): New prototype.
(_dl_signal_error): Remove __attribute__ ((__noreturn__)).
* elf/rtld.c (dl_main): Rewrite argument handling. More than
one argument allowed. Recognize --data-relocs and --function-relocs
arguments.
Don't determine `lazy' mode from LD_BIND_NOW environment variable
when in trace mode.
If in trace mode and either --data-relocs or --function-relocs is
given perform relocation. Report errors using print_unresolved
function.
(print_unresolved): New function. Print information about missing
symbol on stderr.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_error): New function.
Like _dl_sysdep_message but print to stderr.
* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
* sysdeps/generic/sockaddrcom.h: Add definition of sa_family_t.
Reported by Andreas Schwab.
(__SOCKADDR_COMMON): Use sa_family_t for family member.
* sysdeps/unix/bsd/bsd4.4/sockaddrcom.h: Likewise.
Linux/Sparc support by Miguel de Icaza.
* sysdeps/sparc/fpu_control.h: New file.
* sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: New file.
* sysdeps/unix/sysv/linux/sparc/brk.c: New file.
* sysdeps/unix/sysv/linux/sparc/profil-counter.h: New file.
* sysdeps/unix/sysv/linux/sparc/sigaction.c: New file.
* sysdeps/unix/sysv/linux/sparc/socket.S: New file.
* sysdeps/unix/sysv/linux/sparc/syscall.S: New file.
* sysdeps/unix/sysv/linux/sparc/sysdep.h: New file.
* sysdeps/unix/sysv/linux/sparc/Dist: New file.
* sysdeps/unix/sysv/linux/sparc/Makefile: New file.
* sysdeps/unix/sysv/linux/net/if_arp.h: Don't use kernel header.
Provide own definition based on 4.4BSD and Linux.
* sysdeps/unix/sysv/linux/net/ppp_defs.h: Define __u32 before
including <linux/ppp_defs.h>.
* sysdeps/unix/sysv/linux/sys/msq_buf.h (struct msqid_ds): Don't
use __pid_t since the kernel might have a different size.
* sysdeps/unix/sysv/linux/sys/shm_buf.h (struct shmid_ds): Likewise.
Reported by Andreas Schwab.
* time/asctime.c: Update copyright.
* time/dysize.c: Likewise.
* time/gmtime.c: Likewise.
* time/timegm.c: Likewise.
* time/offtime.c: Likewise. De-ANSI-declfy.
* time/tzset.c (__tzset_internal): When TZ envvar does not name a
DST timezone don't default to offset -1.
* sysdeps/unix/sysv/linux/net/route.h: Don't use kernel header.
Reported by a sun <asun@zoology.washington.edu>.
* resolv/Makefile: Correct spelling: subdirs-dirs -> subdir-dirs.
* sysdeps/stub/sysv_signal.c: New file. Stub implementation.
* Makefile (distribute): Add mcheck.h.
* nis/Makefile (distribute): Add nss-nis.h.
* libio/Makefile (routines): Change vdprintf to iovdprintf to prevent
dist problem.
* nss/Makefile (distribute): Add digits_dots.c.
* sysdeps/unix/sysv/linux/Dist: Add kernel_sigaction.h.
* sysdeps/unix/sysv/linux/alpha/Dist: Add sys/procfs.h.
* sysdeps/unix/sysv/linux/sparc/Dist: Add clone.S.
* new-malloc/Makefile (distribute): Add mcheck-init.c and mcheck.h.
Mon Jan 20 17:54:28 1997 Sven Verdoolaege <skimo@breughel.ufsia.ac.be>
* manual/filesys.texi: Fix little problem (reentrant->readdir).
Fri Jan 17 19:07:07 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.in [$elf=yes]: Check for support of .previous and
.popsection in the assembler.
* config.h.in: Add HAVE_ASM_PREVIOUS_DIRECTIVE and
HAVE_ASM_POPSECTION_DIRECTIVE.
* libc-symbols.h (__make_section_unallocated) [HAVE_ELF]: Define
appropriate if either .previous or .popsection is supported.
(libc_warning) [HAVE_ELF]: Use it here.
Sat Jan 18 22:15:26 1997 Richard Henderson <rth@tamu.edu>
* Makeconfig (CFLAGS-.so): Add -fno-common to prevent odd sorts of
errors that can occur when linking libc.so.
Mon Jan 20 05:20:49 1997 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-load.c (open_path): When running setuid don't try
a directory if it is not given with the full name.
* elf/Makefile (before-compile): New variable. Mention trusted-dirs.h.
(trusted-dirs.h): Construct file from $(default-rpath) and
$(user-defined-trusted-dirs) variables.
* elf/dl-load.c (_dl_map_object): Pass additional argument to open_path
which is NULL except for the LD_LIBRARY_PATH pass in which case it
is a pointer to the list of directories from the trusted-dirs.h
file.
(open_path): Accept additional argument with list of trusted dirs.
When running setuid and a list of trusted dirs is given only use
those which are mentioned in the list.
* elf/rtld.c (dl_main): Don't reject whole LD_LIBRARY_PATH when
running setuid. Instead accept entries which do not contain a '/'.
* Makeconfig: Correct comment about +(default_cflags).
Mon Jan 20 05:11:14 1997 Hrvoje Niksic <hniksic@srce.hr>
* time/strptime.c (recursive): Use && not || to test for valid
argument.
Mon Jan 20 05:06:50 1997 Ulrich Drepper <drepper@cygnus.com>
* elf/ldd.sh.in: Exit with value 1 if an error occured.
* elf/ldd.bash.in: Likewise.
* elf/rtld.c (dl_main): Do not always ignore LD_PRELOAD when the
binary runs setuid. It is save to use those entries which do not
contain a '/'. This is compatible with Solaris-2.
Mon Jan 20 03:02:50 1997 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Update and reformat copyright.
* Makeconfig: Likewise.
* assert/Makefile: Likewise.
* bare/Makefile: Likewise.
* ctype/Makefile: Likewise.
* dirent/Makefile: Likewise.
* gmon/Makefile: Likewise.
* gnulib/Makefile: Likewise.
* grp/Makefile: Likewise.
* hurd/Makefile: Likewise.
* intl/Makefile: Likewise.
* mach/Makefile: Likewise.
* malloc/Makefile: Likewise.
* manual/Makefile: Likewise.
* math/Makefile: Likewise.
* po/Makefile: Likewise.
* pwd/Makefile: Likewise.
* resource/Makefile: Likewise.
* setjmp/Makefile: Likewise.
* socket/Makefile: Likewise.
* string/Makefile: Likewise.
* sunrpc/Makefile: Likewise.
* sysdeps/alpha/Makefile: Likewise.
* sysdeps/gnu/Makefile: Likewise.
* sysdeps/m68k/fpu/switch/Makefile: Likewise.
* sysdeps/m68k/fpu/switch/68881-sw.h: Likewise.
* sysdeps/m68k/fpu/switch/switch.c: Likewise.
* sysdeps/mach/Makefile: Likewise.
* sysdeps/hurd/Makefile: Likewise.
* sysdeps/sparc/Makefile: Likewise.
* sysdeps/standalone/i960/nindy960/Makefile: Likewise.
* sysdeps/standalone/m68k/m68020/mvme136/Makefile: Likewise.
* sysdeps/unix/common/Makefile: Likewise.
* sysdeps/unix/sysv/Makefile: Likewise.
* sysdeps/unix/sysv/irix4/Makefile: Likewise.
* sysdeps/unix/sysv/sco3.2/Makefile: Likewise.
* sysdeps/unix/sysv/sysv4/Makefile: Likewise.
* sysdeps/vax/Makefile: Likewise.
* sysvipc/Makefile: Likewise.
* wcsmbs/Makefile: Likewise.
* wctype/Makefile: Likewise.
* elf/rtld.c (dl_main): Objects in LD_PRELOAD environment variable
are separated according to Sun docs by white space not colon.
* locale/C-time.c (_nl_C_LC_TIME): Use empty string to initialize
fields which are not defined for the C locale.
* sysdeps/m68k/fpu/switch/Makefile: Don't use ansidecl.h in constructed
files.
* sysdeps/m68k/fpu/switch/68881-sw.h: Likewise.
* sysdeps/m68k/fpu/switch/switch.c: Likewise.
Sun Jan 19 19:43:31 1997 Andreas Jaeger <aj@arthur.pfalz.de>
* time/strptime.c: Provide prototype for strptime_internal.
Sun Jan 19 23:46:27 1997 Ulrich Drepper <drepper@cygnus.com>
* glibcbug.in: We don't guarantee confidential handling. Set
field to always contain `no'.
Sun Jan 19 21:28:01 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* intl/explodename.c: Include sys/types.h.
* intl/l10nflist.c: Likewise.
Sat Jan 18 22:15:26 1997 Richard Henderson <rth@tamu.edu>
* config.make.in (install_root): New variable to make it easy to
install glibc somewhere other than /.
* shlib-versions: alpha-*-linux-* libc=6.1.
Since sigset_t no longer fits in a register, we can't pass in the
thread's initial mask so easily. Take this opportunity to simplify
the clone implementation by only accepting a single void* argument.
* sysdeps/unix/sysv/linux/alpha/clone.S: Only take one argument.
* sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/clone.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/clone.S: Likewise.
* sysdeps/unix/sysv/linux/schedbits.h: Update clone prototypes.
* sysdeps/unix/sysv/linux/alpha/ioctl-types.h: Remove.
Default Linux version should be sufficient.
* sysdeps/unix/sysv/linux/alpha/sigprocmask.c: The osf_sigprocmask
system call wants the sigset dereferenced.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add entries for
__syscall_ustat and __syscall_xmknod.
* sysdeps/unix/sysv/linux/alpha/xmknod.c: Include sys/sysmacros.h.
* sysdeps/unix/sysv/linux/sigset.h: Use longs instead of ints.
* sysdeps/unix/sysv/linux/tcsetattr.c: Fix pointer dereferences.
* sysdeps/unix/sysv/linux/alpha/sigsuspend.c: Add comment about
dependency to kernel type.
* sysdeps/unix/sysv/linux/alpha/termbits.h: Correct comment.
Tue Dec 3 08:38:15 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/unix/alpha/sysdep.S: Remove definition of __errno_location.
Reformat copyright.
* elf/rtld.c (_dl_start): Don't dereference the value returned by
elf_machine_got to get _DYNAMIC, instead call new function
elf_machine_dynamic.
* sysdeps/alpha/dl-machine.h: Permute elf_machine_got to
elf_machine_dynamic. Reformat copyright.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/m68k/dl-machine.h: Likewise.
* sysdeps/mips/dl-machine.h: Likewise.
* sysdeps/sparc/dl-machine.h: Likewise.
* sysdeps/stub/dl-machine.h: Likewise.
Tue Oct 15 23:46:00 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* MakeTAGS (sysdep_dirs): Include add-on sysdep directories.
Tue Dec 3 02:06:18 1996 Ulrich Drepper <drepper@cygnus.com>
* Makerules ($(libdir)/libc.so): Make first line of generated
link script contain `/* GNU ld script'. This will be used in
ldconfig to check for linker scripts.
* sysdeps/mach/hurd/libc-ldscript: Likewise.
* sysdeps/mach/hurd/libc_p-ldscript: Likewise.
* stdlib/getsubopt.c: Update copyright. Correct typo in comment.
Thu Oct 31 00:01:39 1996 Ulrich Drepper <drepper@cygnus.com>
* signal/Makefile (routines): Add sigwait.
* signal/signal.h: Add prototype for sigwait.
* sysdeps/posix/sigwait.c: New file. Implementation of sigwait
function from POSIX.1c.
* sysdeps/stub/sigwait.c: New file. Stub version of sigwait.
Wed Oct 30 02:01:17 1996 Richard Henderson <rth@tamu.edu>
* sunrpc/xdr_float.c (xdr_float): Handle sizeof(float)!=sizeof(long),
but don't bother going farther than sizeof(float)==sizeof(int).
(xdr_double): Handle little-endian machines! Handle sizeof(double)
!= 2*sizeof(long), though again don't bother with more than int.
Thu Oct 29 16:09:42 1996 Craig Metz <cmetz@inner.net>
* sysdeps/posix/getaddrinfo.c: Use buffer limits for inet_ntop
function.
Tue Oct 29 12:37:22 1996 Ulrich Drepper <drepper@cygnus.com>
* Makerules: Create symbolic links for linking in $(libdir).
(make-link): Use absolute path for destination if this is not in
the same directory.
* elf/rtld.c (dl_main): When verifying don't check the name of
the dynamic linker.
* shlib-versions: Change entries for Hurd specific libs from
*-*-gnu* to *-*-gnu?* so that i586-pc-linux-gnu does not match
these entries.
* assert/assert.h: Reformat copyright.
Change reference to ANSI into reference to ISO C.
* ctype/ctype.h: Likewise.
* errno.h: Likewise.
* limits.h: Likewise.
* math/math.h: Likewise.
* setjmp/setjmp.h: Likewise.
* stdio/stdio.h: Likewise.
* libio/stdio.h: Likewise.
* stdlib/stdlib.h: Likewise.
* string/string.h: Likewise.
* time/time.h: Likewise.
* string/argz.h: Use __const is definitions.
* elf/dlfcn.h: Use __const and __P. Reformat copyright.
* misc/err.h: Likewise.
* wctype/wctype.h (wctrans_t): Use __const instead of const.
* Makeconfig ($(common-objpfx)soversions.mk): Generate list of
sonames for versioned libraries.
* Makefile: Remove code to generate libc-version.h.
Generate gnu/lib-names.h with info from soversions.mk.
* features.h: Define __GLIBC__ and __GLIBC_MINOR__.
* dirent/tst-seekdir.c: Initialize save3.
* grp/testgrp.c: Initialize my_group.
* grp/fgetgrent_r.c: Change interface to follow POSIX.1c.
* grp/grp.h: Likewise.
* nss/getXXbyYY.c: Likewise.
* nss/getXXbyYY_r.c: Likewise.
* nss/getXXent.c: Likewise.
* nss/getXXent_r.c: Likewise.
* pwd/fgetpwent_r.c: Likewise.
* pwd/pwd.h: Likewise.
* shadow/fgetspent_r.c: Likewise.
* shadow/sgetspent.c: Likewise.
* shadow/sgetspent_r.c: Likewise.
* grp/fgetgrent.c: Adapt for change in interface of fgetgrent_r.
* pwd/fgetpwent.c: Likewise, for fgetpwent_r.c.
* shadow/fgetspent.c: Likewise, for fgetpwent_r.c.
* resolv/netdb.h: Adapt prototypes for reentrant functions to
follow POSIX.1c.
* sunrpc/rpc/netdb.h: Likewise,
* shadow/shadow.h: Likewise.
* inet/getnetgrent_r.c: Follow change in pwd/grp function interface.
* sysdeps/unix/getlogin_r.c: Return ERANGE when buffer is too small.
* inet/herrno.c: Don't define __h_errno. Only h_errno otherwise the
ELF aliasing creates strange situations.
* sysdeps/unix/sysv/linux/errnos.H: Define __set_errno as inline
function.
* sysdeps/unix/sysv/linux/i386/sysdep.S: Don't define __errno.
* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
* libio/libio.h: Don't declare _IO_flockfile and _IO_funlockfile
weak.
* locale/programs/charmap.c: Add casts to prevent warnings.
* locale/programs/linereader.h: Likewise.
* locale/programs/ld-collate.c: Likewise.
* locale/programs/stringtrans.c: Likewise.
Change types for various variables to prevent warnings.
* locale/programs/ld-ctype.c: Likewise.
* locale/programs/linereader.h (lr_ungetc): Likewise.
* locale/programs/charset.h (struct charset): Use `unsigned int'
as type for width_default.
* posix/regex.c: Change type of `this_reg' variables.
* stdio-common/Makefile: Use -Wno-format for tstdiomisc.c.
* stdio-common/bug5.c: De-ANSI-fy. Use correct types for
variables.
* stdio-common/printf_fp.c: Initialize to_shift.
* stdio-common/test_rdwr.c: Add cast.
* stdio-common/vfprintf.c: Add casts and use correct types to
prevent warnings.
* stdio-common/vfscanf.c: Initialize str and strptr.
* sysdeps/libm-ieee754/e_jnf.c: Use correct types to prevent warnings.
* sysdeps/libm-ieee754/e_pow.c: Likewise.
* sysdeps/libm-ieee754/e_powf.c: Likewise.
* sysdeps/libm-ieee754/e_rem_pio2f.c: Likewise.
* time/test-tz.c: Likewise.
* manual/creature.texi: Document _REENTRANT and _THREAD_SAFE.
* manual/libc.texinfo: Prevent makeinfo failure by avoiding
libc.cp index. This must be fixed.
* manual/nss.texi: Adapt for correct POSIX.1c interface of
reentrant functions.
* manual/users.texi: Document netgroup functions.
* po/es.po: Updated.
* po/fr.po: Updated.
* posix/fnmatch.c: Change to match libit version.
* posix/unistd.h: Change prototype for ttyname_r to match POSIX.1c.
* sysdep/posix/ttyname_r.c: Likewise.
* stdlib/atexit.h (__new_exitfn): Add internal locking.
* stdlib/exit.c: De-ANSI-fy. Handle new ef_us value for flavor.
* stdlib/exit.h: De-ANSI-fy. Define new ef_us value for flavor.
* stdlib/random.c (__srandom): Add internal locking.
(__initstate): Likewise.
(__setstate): Likewise.
(__random): Likewise.
Mon Oct 28 22:28:37 1996 NIIBE Yutaka <gniibe@mri.co.jp>
* sysdeps/generic/crypt-entry.c (crypt_r): Use __set_errno.
(crypt): Likewise.
* resolv/gethnamaddr.c (gethostbyname2): Likewise.
* sysdeps/generic/uname.c: Likewise.
* sysdeps/posix/rename.c: Likewise.
* sysdeps/stub/setrlimit.c: Likewise.
* nss/nss_db/db-netgrp.c (_nss_db_setnetgrent): Fix typo.
Sun Oct 27 11:12:50 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* locale/programs/ld-collate.c (collate_order_elem): Fix format
string.
(collate_element_to): Cast field width argument to `int' for
format string.
(collate_symbol): Likewise.
(collate_order_elem): Likewise.
(collate_weight_bsymbol): Likewise.
(collate_simple_weight): Likewise.
* locale/programs/ld-time.c (STRARR_ELEM): Fix format string.
* locale/programs/ld-ctype.c (ctype_class_newP): Add missing
argument for format string.
(ctype_map_newP): Likewise.
(set_class_defaults): Fix format string.
* locale/programs/localedef.c (construct_output_path): Putting an
explicit \0 into the format string does not work, use %c.
Sat Oct 26 20:38:36 1996 Richard Henderson <rth@tamu.edu>
* Makerules: Install all shared libraries in $(slibdir).
* login/Makefile: Build libutil.so in others pass after
libc.so is created.
* misc/mntent.h: Include <paths.h> for _PATH_MNTTAB & _PATH_MOUNTED.
* string/stratcliff.c: Allocate 3 pages instead of one, then use
mprotect so that we know that the adjacent pages are inaccessible.
* resource/sys/resource.h: Move all structures and enums to ...
* sysdeps/generic/resourcebits.h: ... here ...
* sysdeps/unix/bsd/sun/sunos4/resourcebits.h: ... and here.
* sysdeps/unix/sysv/linux/alpha/resourcebits.h: Remove.
* sysdeps/unix/sysv/linux/i386/resourcebits.h: Remove.
* sysdeps/unix/sysv/linux/m68k/resourcebits.h: Remove.
* sysdeps/unix/sysv/linux/mips/resourcebits.h: Remove.
* sysdeps/unix/sysv/linux/resourcebits.h: New file. Use kernel
header for RLIMIT_* definitions. The members of struct rlimit
are longs.
Thu Oct 24 17:43:34 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* MakeTAGS (sysdep-dirs): Fix typo.
Wed Oct 23 03:45:22 1996 Ulrich Drepper <drepper@cygnus.com>
* Makefile (headers): Don't mention libc-version.h.
(install-others): ...but here.
* time/strptime.c: Recognize %s, %u, %g, and %G format.
nothing is found. This guarantees all subsequent calls behave
* sysdeps/unix/sysv/linux/syscalls.list: Change function name for
* io/getwd.c (getwd) [! PATH_MAX]: Don't assume that the user's
buffer is any longer than the amount necessary to hold the
filename; the Hurd getcwd uses the *entire* contents of the
buffer, however long it is specified to be.
* posix/getconf.c: De-ANSI-fy. Recognize POSIX.2 constant names.
since these do not depend on the platform.
Mon Oct 21 01:32:36 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/rtld.c (dl_main): Move initialization of `_dl_starting_up'
to beginning of function. So libc functions can use this flag.
* sysdeps/generic/_strerror.c: Don't use dgettext for message
translation while `_dl_starting_up' is nonzero.
* elf/dl-deps.c (_dl_map_object_deps): Add new parameter
TRACE_MODE.
Pass parameter value to _dl_map_object.
* elf/dl-load (_dl_map_object): Add new parameter TRACE_MODE.
If TRACE_MODE is nonzero don#t signal error when shared lib
is not found. Instead create fake entry for link map.
* dl-open.c (dl-open): Pass 0 for new argument to _dl_map_object.
* dl-runtime.c (_dl_object_relocation_scope): Pass 0 for new
argument to _dl_map_object_deps.
* elf/link.h: Add new parameter TRACE_MODE for prototypes of
_dl_map_object and _dl_map_object_deps.
* elf/rtld.c (dl_main): Pass 0 for new argument to _dl_map_object
and _dl_map_object_deps.
When mode == trace test for l_opencount == 0 before printing
link information since this means the lib is not found.
Sun Oct 20 22:19:58 1996 Ulrich Drepper <drepper@cygnus.com>
* rpm/template: Add INSTALL to %doc line to follow copyright
restrictions which demand the distribution of the copyright
messages in INSTALL even for binary distributions.
* features.h: Rename to...
* features.h.in: ...this. Change value of __GNU_LIBRARY__ to 2
(for major version numberof package) and add __GNU_LIBRARY_MINOR__
and __GNU_LIBRARY_INTERFACE__.
* Makefile ($(objpfx)features.h): New rule to generate features.h
from template features.h.in.
* sysdeps/unix/sysv/linux/getsysstats.c: Include <paths.h>.
Sun Oct 20 00:00:13 1996 Richard Henderson <rth@tamu.edu>
* locale/programs/linereader.c (lr_open): Cast away const before free.
(lr_close): Likewise.
* misc/mntent.h: Move _PATH_MNTTAB & _PATH_MOUNTED to paths.h.
* misc/paths.h: Move to ...
* sysdeps/generic/paths.h: ... here.
* paths.h: Remove.
* sysdeps/unix/sysv/linux/paths.h: New file. Correct _PATH_STDPATH,
_PATH_MAILDIR, _PATH_MOUNTED, _PATH_UNIX to comply with the fsstd.
* nss/nss_db/db-netgrp.h: Include <string.h>.
* stdio-common/psignal.c: De-ansidecl-ify. Allow NULL entries in
_sys_siglist, which result in the "Unknown signal" message.
* string/strsignal.c: Likewise.
* sysdeps/generic/Makefile [stdio-common]: If $(inhibit-siglist),
don't auto-generate siglist.c.
* sysdeps/unix/sysv/linux/Makefile [stdio-common]: Set inhibit-siglist.
* sysdeps/unix/sysv/linux/siglist.c: New file. Not needing to
autogenerate makes bootstrapping and cross-compiling much easier.
* sysdeps/unix/sysv/linux/siglist.h: New file.
* stdlib/longlong.h: Prototype __udiv_qrnnd.
* sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_headers): Remove
sys/io.h. It is already added in .../linux/Makefile.
* sysdeps/unix/sysv/linux/alpha/sigaction.h: New file.
* sysdeps/unix/sysv/linux/alpha/signum.h: New file.
* sysdeps/unix/sysv/linux/alpha/statbuf.h: New file.
Sun Oct 20 17:17:12 1996 Ulrich Drepper <drepper@cygnus.com>
Add implementation of POSIX.1g function getaddrinfo.
* posix/Makefile (routines): Add getaddrinfo.
* sysdeps/posix/getaddrinfo.c.: New file. Add implementation by
Craig Metz.
* sysdeps/stub/getaddrinfo.c: New file. Stub implementation.
* resolv/netdb.h [__USE_POSIX]: Add getaddrinfo prototypes and
related constants and structures.
Sun Oct 20 13:02:34 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/lockfile.c: Rename functions to __internal_*.
Make all old names weak alises so that they can be replaced
by libpthread.
* stdio-common/vfprintf.c: Only declare __flockfile and __funlockfile
for !USE_IN_LIBIO.
[USE_IN_LIBIO]: Call _IO_flockfile and _IO_funlockfile instead of
__flockfile and __funlockfile.
Reported by NIIBE Yutaka.
* crypt/md5.c: Change form of copyright message according to GNITS
rules.
Add warning for requirement on RESBUF parameter for `md5_finish_ctx'
and `md5_read_ctx' function.
* crypt/md5.h: Likewise.
* grp/testgrp.c: Don't use perror for error cases since getgr* and
getpw* functions do not return usable error codes.
Sun Oct 19 23:05:32 1996 Jim Meyering <meyering@asic.sc.ti.com>
* crypt/md5.c (md5_process_bytes): Used casting for pointer
arithmetic.
Sun Oct 20 03:53:23 1996 Ulrich Drepper <drepper@cygnus.com>
* sunrpc/Makefile (others): Remove portmap here, too.
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.
* elf/rtld.c (dl_main): Take new option --verify when run directly.
In verify mode, exit with status zero iff the argument object's
PT_INTERP matches argv[0].
* elf/ldd.sh.in: Use ${RTLD} --verify and only run the program if it
exits with zero status. This makes `ldd' secure again.
Fri Jul 26 22:49:58 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/rtld.c (dl_main): Implement LD_TRACE_LOADED_OBJECTS
environment variable handling. This makes the dynamic linker
only print loaded libraries and quit.
* elf/ldd.sh.in: Don't use `rtld --list' but instead
LD_TRACE_LOADED_OBJECTS environment variable to print needed
objects.
Sat Jul 27 02:03:26 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* db/makedb.c (main): Print version on stdout, not stderr. Don't exit
after printing version until after doing usage for --help.
(long_options, main, usage): Rename -l/--lowercase option to
-f/--fold-case (-f matches sort).
Sat Jul 27 04:32:31 1996 Ulrich Drepper <drepper@cygnus.com>
* db/makedb.c: New file. Implement program to create simple <db.h>
database from textual input. This will be used for nss_db.
Sat Jul 27 01:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sunrpc/rpc/auth_unix.h: Fix misapplied patches in last changes.
* sunrpc/rpc/pmap_clnt.h: Likewise.
* sunrpc/rpc/auth.h: Likewise.
* sunrpc/rpc/pmap_rmt.h: Likewise.
* sunrpc/rpc/rpc_msg.h: Likewise.
Sat Jul 27 04:37:34 1996 Ulrich Drepper <drepper@cygnus.com>
* string/string.h (strndupa): Change to use return value of
`memcpy' for more performance.
* string/strndup.c: Likewise.
* string/string.h (strdupa): Don't call __builtin_alloca in argument.
This might lead to problems.
(strndupa): Likewise.
* 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.
(_dl_start): Move RESOLVE defn inside this function and #include
"dynamic-link.h" a second time there.
[RTLD_START]: Move use of this after _dl_start function.
* 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.
* 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.
* 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.
* 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.
Set mark bits of deps as opened, instead of as scanned.
* elf/rtld.c (dl_main): Remove _dl_rtld_map from chain unconditionally.
Then if it has a nonzero l_opencount, add it back in search order.
* elf/dl-load.c (_dl_map_object): Don't use _dl_loaded's DT_RPATH if
it ain't got one!
* version.c (banner): New static const variable, complete version
banner text.
(__libc_print_version): Use it, and use __write instead of printf.
* configure.in (sysnames): Don't cache the value, because it
depends only on libc sources. Merge uniquifying third pass into
Implies/parent expansion second pass. Report each unique name as
it is added in partial report string, terminated when finished.
* Makeconfig (sysdep_dir): Move defn before config.status rule that
expands it.
(sysdep-configures): Variable removed.
(config.status): Use its contents directly, tighten up a bit, and
include Implies files.
* elf/dl-open.c (_dl_open) [PIC]: Set PARENT to _dl_loaded if null.
* elf/Makefile ($(objpfx)$(rtld-installed-name)): Make a symlink.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_open_zero_fill):
Add comment.
* elf/rtld.c (dl_main): Close _dl_zerofd after mapping deps.
* sysdeps/generic/machine-gmon.h [NO_UNDERSCORES]: Define mcount as
weak alias for _mcount.
* sysdeps/alpha/_mcount.S (mcount): Define as weak alias.
* 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.
* elf/dl-close.c: Include <string.h> for memcpy.
* elf/dl-lookup.c: Same.
* elf/elf.h: Add Elfxx_Symndx for symbol indices.
* elf/dl-lookup.c (_dl_lookup_symbol): Use it.
(_dl_setup_hash): Use it.
* elf/link.h (struct link_map): Use it.
* elf/rtld.c (_dl_start): Don't rely on pointer-to-first-arg hack
for getting the argc/argv/envp block. Instead, make it the argument.
sysdeps/i386/dl-machine.h (RTLD_START): Do that.
sysdeps/m68k/dl-machine.h (RTLD_START): Same.
* shlib-versions: Add version numbers for alpha-linux. To avoid
user confusion, make them the same as i386-linux.
* sysdeps/alpha/Makefile [subdir elf]: Add -mno-fp-regs to
sysdep-CFLAGS so that _dl_runtime_resolve doesn't have to save them.
Add -mbuild-constants to CFLAGS-rtld.c to that we can bootstrap
without using literal data.
* sysdeps/generic/dl-sysdep.c: Include <string.h> for memcpy.
Finish Elf32 -> ElfW migration.
* 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/mach/hurd/dl-sysdep.c (__open): Define this instead of open.
(__close, __mmap): Likewise define with __ names now.
Mon Jun 10 05:13:18 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-support.c: New file.
* elf/Makefile (CFLAGS-dl-support.c): New variable.
(routines, elide-routines.so): Add dl-support.
* elf/dl-minimal.c (_dl_pagesize): Remove common defn.
* elf/dl-load.c (_dl_pagesize): Define it here.
(_dl_map_object_from_fd): Initialize it if zero.
* elf/link.h (_dl_pagesize): Remove const.
Sun Jun 9 04:04:26 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/Makefile (routines): Add dl-symbol.
* elf/dl-lookup.c (_dl_symbol_value): Moved to ...
* elf/dl-symbol.c: New file.
* elf/elf.h (Elf32_Xword, Elf32_Sxword): New types.
(Elf32_Section, Elf64_Section): New types, 16 bits.
(Elf32_Sym, Elf64_Sym): Use it.
* elf/dl-deps.c (_dl_open): Moved to ...
* elf/dl-open.c: New file.
* Makefile (routines): Add dl-open.
* elf/Makefile (dl-routines): New variable.
(routines): Add $(dl-routines).
(elide-routines.so): New variable, set to $(dl-routines).
(libdl-inhibit-o): Variable removed; build all flavors of -ldl.
(rtld-routines): All but rtld, dl-sysdep, and dl-minimal moved to
$(dl-routines).
* elf/dl-lookup.c (_dl_lookup_symbol): Remove magic symbol grokage.
* elf/dladdr.c: Use ELFW(ST_BIND) in place of ELF32_ST_BIND.
* elf/dl-load.c (open_path): Use __ names for open and close. Avoid
using strdup.
(_dl_map_object): Likewise.
(_dl_map_object_from_fd): Use __ names for mmap, munmap, and mprotect.
* elf/dl-minimal.c (malloc): Likewise.
* elf/dl-reloc.c (_dl_relocate_object): Likewise.
* elf/dl-minimal.c (_dl_pagesize): New variable.
(malloc): Use that instead of a static variable.
* elf/dl-reloc.c (_dl_relocate_object): Use _dl_pagesize instead of
calling getpagesize.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
* elf/link.h: Declare _dl_pagesize.
* elf/rtld.c (dl_r_debug): Renamed to _dl_r_debug.
* elf/link.h (struct link_map): Use Half for l_phnum instead of Word.
* elf/rtld.c (dl_main): Use Half for phdr count arg.
(_dl_sysdep_start): Update prototype of DL_MAIN function ptr arg.
* elf/dl-load.c (_dl_map_object_from_fd): Use explicit Elf32_Word to
extract 4-byte magic number, not ElfW(Word). Match EI_CLASS against
native wordsize, either 32 or 64.
* elf/elf.h (Elf64_Byte, Elf64_Section): Typedefs removed. In C a
char is always a byte, no need for a typedef. Section indices are
16-bit quantities in elf64, which already have a typedef Elf64_Half.
Remove partial -lelf implementation. There is now a
separately-distributed `libelf' package that implements it.
* elf/dl-lookup.c: Don't #include <libelf.h> any more.
(_dl_elf_hash): New function, moved from
libelf.h:elf_hash.
(_dl_lookup_symbol): Use it instead of elf_hash.
* elf/libelf.h: File removed.
* elf/elf_hash.c: File removed.
* elf/Makefile (headers): Remove libelf.h.
(extra-libs): Remove libelf.
(libelf-routines): Variable removed.
* elf/Makefile (libdl.so): Remove commands from this target. The
implicit rule commands are correct, this explicit rule just serves to
add some dependencies.
* elf/dl-lookup.c (_dl_lookup_symbol): Use ELFW(ST_TYPE) in place of
ELF32_ST_TYPE. Likewise ST_BIND.
* elf/do-rel.h (elf_dynamic_do_rel): Likewise R_SYM.
* elf/link.h (ElfW): New macro for wordsize-independent ElfXX_* type
naming.
(ELFW): New macro, likewise for ELFXX_* macro naming.
(_ElfW, _ElfW_1): New macros, subroutines of ElfW and ELF.
Sat Jun 8 20:52:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/link.h, elf/do-rel.h, elf/dynamic-link.h, elf/dl-deps.c,
elf/dl-init.c, elf/dl-load.c, elf/dl-lookup.c, elf/dl-reloc.c,
elf/dl-runtime.c, elf/dladdr.c, elf/dlclose.c, elf/dlsym.c,
elf/linux-compat.c, elf/rtld.c: Change all uses of `Elf32_XXX' to
`ElfW(XXX)' for wordsize-independence.
Sat Jun 8 20:50:42 1996 Richard Henderson <rth@tamu.edu>
* elf/elf.h: Move Elf64_* types in parity with Elf32 counterparts.
(Elf64_auxv_t): New type.
(EM_ALPHA, R_ALPHA_*): New macros for elf64-alpha format.
* hurd/hurdsig.c (_hurd_internal_post_signal): For SIGNO==0 pending
check, deliver a pending blocked signal if its action might be to
ignore.
* sysdeps/mach/hurd/sigaction.c: If new action is SIG_IGN or SIG_DFL
and SIG is pending, wake up signal thread to check us.
* hurd/hurdsig.c (_hurd_internal_post_signal): Don't mark a signal
pending while blocked or stopped when the action is to ignore it.
* hurd/hurdsig.c (_hurd_internal_post_signal: resume): Only set
SS_SUSPENDED when the thread is really suspended.
* elf/rtld.c (dl_main): Don't dereference _dl_rtld_map.l_next if null.
* sysdeps/mach/hurd/getlogin_r.c: New file.
Wed Jun 5 02:11:30 1996 Ulrich Drepper <drepper@cygnus.com>
* io/Makefile (routines): Add ttyname_r.
* resolv/res_debug.c, resolv/resolv.h: Update from bind-4.3.4-T4A.
* sysdeps/libm-i387/e_asinl.S, sysdeps/libm-i387/e_atan2l.S,
sysdeps/libm-i387/e_expl.S, sysdeps/libm-i387/e_fmodl.S,
sysdeps/libm-i387/e_log10l.S, sysdeps/libm-i387/e_logl.S,
sysdeps/libm-i387/e_remainderl.S, sysdeps/libm-i387/e_scalbl.S,
sysdeps/libm-i387/e_sqrtl.S, sysdeps/libm-i387/s_atanl.S,
sysdeps/libm-i387/s_cosl.S, sysdeps/libm-i387/s_ilogbl.S,
sysdeps/libm-i387/s_log1pl.S, sysdeps/libm-i387/s_logbl.S,
sysdeps/libm-i387/s_scalbnl.S, sysdeps/libm-i387/s_sinl.S,
sysdeps/libm-i387/s_tanl.S: New files. i387 assembler versions
of `long double' math functions.
* sysdeps/libm-ieee754/k_standard.c: Add handling for errors
in long double functions.
* sysdeps/libm-ieee754/s_ilogbl.c, sysdeps/libm-ieee754/s_logbl.c,
sysdeps/libm-ieee754/s_modfl.c: New files. Generic versions
of `long double' math functions.
* sysdeps/libm-ieee754/s_isinf.c [NO_LONG_DOUBLE]: Add string
alias for __isinfl.
* sysdeps/libm-ieee754/w_acoshl.c, sysdeps/libm-ieee754/w_acosl.c,
sysdeps/libm-ieee754/w_asinl.c, sysdeps/libm-ieee754/w_atan2l.c,
sysdeps/libm-ieee754/w_atanhl.c, sysdeps/libm-ieee754/w_cabsl.c,
sysdeps/libm-ieee754/w_coshl.c, sysdeps/libm-ieee754/w_dreml.c,
sysdeps/libm-ieee754/w_expl.c, sysdeps/libm-ieee754/w_fmodl.c,
sysdeps/libm-ieee754/w_gammal.c, sysdeps/libm-ieee754/w_gammal_r.c,
sysdeps/libm-ieee754/w_hypotl.c, sysdeps/libm-ieee754/w_j0l.c,
sysdeps/libm-ieee754/w_j1l.c, sysdeps/libm-ieee754/w_jnl.c,
sysdeps/libm-ieee754/w_lgammal.c, sysdeps/libm-ieee754/w_lgammal_r.c,
sysdeps/libm-ieee754/w_log10l.c, sysdeps/libm-ieee754/w_logl.c,
sysdeps/libm-ieee754/w_powl.c, sysdeps/libm-ieee754/w_remainderl.c,
sysdeps/libm-ieee754/w_scalbl.c, sysdeps/libm-ieee754/w_sinhl.c,
sysdeps/libm-ieee754/w_sqrtl.c: New files. Wrapper functions
around long double function implementations.
* sysdeps/posix/ttyname_r.c (ttyname_r): Use _D_EXACT_NAMLEN
to determine length of directory entry name.
* posix/Makefile (routines): Add getlogin_r.
* posix/unistd.h: Add prototype for getlogin_r.
* sysdeps/stub/getlogin_r.c: New file. Reentrant version of
getlogin function, specified in P1003.1c/D6. Stub version.
* sysdeps/unix/getlogin.c (getlogin): Use ttyname_r instead of
ttyname. This avoids saving and restoring the old content.
Also use setutent_r, getutline_r and endutent_r instead of
accing UTMP file directly.
* sysdeps/unix/getlogin_r.c: New file. Reentrant version of
getlogin function, specified in P1003.1c/D6.
Tue Jun 4 20:10:09 1996 J.T. Conklin <jtc@cygnus.com>
* sysdeps/libm-i387/s_finitef.S: Fix mask for exponent.
* elf/dl-lookup.c (_dl_lookup_symbol): Grok magical undefined symbols
_GNU_libc_dl_{open,close,symbol} and resolve them to dl functions.
* elf/rtld.c (rtld_map): Renamed to _dl_rtld_map, made global.
* elf/link.h: Declare _dl_rtld_map.
* elf/dl-lookup.c (_dl_symbol_value): New function.
* elf/link.h: Declare it.
stdio-common/vfscanf.c: Prepare for reentrant libio.
Used in reentrant libio.
* elf/linux-compat.c (_init): Pass reloc_addr arg to _dl_lookup_symbol.
* elf/dl-lookup.c (_dl_lookup_symbol): Use l_searchlist.
* elf/dl-deps.c: New file.
* elf/Makefile (rtld-routines): Add dl-deps.
* elf/link.h: Declare _dl_map_object_deps, _dl_open.
* elf/rtld.c (dl_main): Use _dl_map_object_deps.
* elf/dlopen.c: Use _dl_open.
* elf/rtld.c (dl_main): Remove BEFORE_RTLD variable and list
frobnication based on its value. Detach RTLD_MAP from the chain if
its l_opencount is zero after loading deps.
* elf/dlfcn.h (RTLD_BINDING_MASK): New macro.
* elf/link.h (struct link_map): Replace l_deps_loaded flag member with
`struct link_map **l_searchlist' and `unsigned int l_nsearchlist'.
* elf/dl-lookup.c (_dl_lookup_symbol): Make SYMBOL_SCOPE arg an array
of two link_map ptrs. Search the maps in the l_searchlist of each
elt that is not null.
* elf/dl-reloc.c (_dl_relocate_object): Pass proper SCOPE array.
* elf/dl-runtime.c: Likewise.
* elf/dlsym.c: Likewise.
* elf/rtld.c (dl_main): Likewise.
* elf/dl-minimal.c (realloc): Support realloc of the block most
recently returned by the minimal malloc.
* intl/localealias.c, intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA.
* elf/dl-lookup.c (_dl_lookup_symbol): Take new arg RELOC_ADDR and
don't allow a defn resolving to that address.
* elf/link.h: Update prototype and comment.
* elf/dl-runtime.c (fixup): Define local `resolve' function and pass
it to elf_machine_relplt.
* elf/dl-reloc.c (_dl_relocate_object: resolve): Take new arg
RELOC_ADDR and pass it through to _dl_lookup_symbol.
* elf/do-rel.h (elf_dynamic_do_rel): Pass RESOLVE to elf_machine_rel
instead of calling it ourselves and passing its results.
(elf_dynamic_do_rel): RESOLVE fn takes new arg RELOC_ADDR.
* elf/rtld.c (dl_main): Pass 0 for RELOC_ADDR to _dl_lookup_symbol.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Remove SYM_LOADADDR
arg. Add RESOLVE function ptr arg. Call *RESOLVE as necessary.
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/stub/dl-machine.h: Likewise.
* csu/initfini.c (_fini): Add extern decl for i_am_not_a_leaf.
* elf/dlfcn.h (dl_open_mode): Enumerated type removed.
(RTLD_LAZY, RTLD_NOW): Define these as macros instead.
(RTLD_GLOBAL): New macro.
(dlopen): Take arg of type int instead of dl_open_mode.
* elf/dlopen.c: Likewise.
* math/math.h (_Mldbl): New macro, either produces L suffix or not.
(M_*): Use it for these constants.
* limits.h: Change MB_LEN_MAX to 6. A 31-bit ISO 10646
character in UTF-8 encoding has that many bytes.
* locale/langinfo.h: New element _NL_CTYPE_MB_CUR_MAX.
* locale/categories.def: Add description of field _NL_CTYPE_MB_CUR_MAX.
* locale/Makefile (routines): Add mb_cur_max.
* locale/mb_cur_max.c: New file. This function gets called
when the macro MB_CUR_MAX is used.
* locale/C-ctype.c: Initialize new mb_cur_max field.
* locale/localeinfo.h: Change magic value because of incompatible
change.
* locale/programs/ld-ctype.c: Determine value of mb_cur_max
according to current character set and write it out with the rest.
* stdlib/stdlib.h (MB_CUR_MAX): Not constant anymore. Get value
according to currently used locale for catefory LC_CTYPE by
calling the function __ctype_get_mb_cur_max.
Tue May 28 03:27:46 1996 Ulrich Drepper <drepper@cygnus.com>
* FAQ: Fix some typos.
Tell that for Linux the kernel header files are necessary.
* PROJECTS: New file. List of open jobs for glibc.
* Makefile (distribute): Add PROJECTS.
* crypt/GNUmakefile (headers): New variable. Mention crypt.h.
* crypt/crypt.h: Header for crypt functions.
* elf/elf.h: Add some new constants from recent Cygnus ELF
header files.
* login/getutid_r.c: Test for correct type.
Don't depend on ut_type and ut_id unless _HAVE_UT_TYPE and
_HAVE_UT_ID resp. are defined.
Make really compliant with specification.
* login/getutline_r.c, login/pututline_r.c: Don't depend on
ut_type and ut_id unless _HAVE_UT_TYPE and _HAVE_UT_ID resp. are
defined.
Make really compliant with specification.
* login/setutent_r.c: Don't depend on ut_type and ut_id unless
_HAVE_UT_TYPE and _HAVE_UT_ID resp. are defined.
* login/login.c, login/logout.c, login/logwtmp.c: Complete
rewrite. Now based on getut*/setut* functions.
* stdlib/strtol.c: Undo changes of Wed May 22 01:48:54 1996.
This prevented using this file in other GNU packages.
* sysdeps/gnu/utmpbits.h: Define _HAVE_UT_TYPE, _HAVE_UT_ID,
and _HAVE_UT_TV because struct utmp has these members.
* sysdeps/libm-i387/e_exp.S: Correct exp(+-Inf) case.
* utmp.h: New file. Wrapper around login/utmp.h.
* elf/dl-error.c (struct catch): New type.
(catch): New static variable, struct catch *.
(catch_env, signalled_errstring, signalled_objname): Variables removed.
(_dl_signal_error): If CATCH is non-null, set its errstring and
objname members and jump to CATCH->env. If it is null, call
_dl_sysdep_fatal with a standard message.
* elf/rtld.c (dl_main): Explode `doit' function into dl_main's body.
No longer use _dl_catch_error.
* elf/rtld.c (dl_main): Call _dl_sysdep_start_cleanup after
_dl_relocate_object loop. Avoid relocating RTLD_MAP in that loop, and
do it individually if necessary after _dl_sysdep_start_cleanup call.
* stdlib/Makefile (mpn-routines): Add divrem.
Tue Mar 26 22:54:14 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* stdio-common/printf_fp.c (__printf_fp): Use mpn_divmod
instead of __mpn_divmod.
Wed Mar 27 10:26:21 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/alpha/setjmp.S: Must establish global pointer before
address of __sigsetjmp_aux can be loaded.
Wed Mar 27 02:23:19 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* sysdeps/i386/i586/memset.S: New file. Highly optimized
version for i586 contributed by Torbjorn Granlund.
Adapted for use as bzero.
* sysdeps/i386/i586/bzero.S: Use sysdeps/i386/i586/memset.S
code to implement bzero().
Tue Mar 26 20:01:17 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* stdlib/Makefile (mpn-routines): Remove divmod.
* elf/dl-load.c (_dl_map_object_from_fd): Always set L->l_type; if not
lt_executable, then lt_library.
* elf/rtld.c (dl_main): Don't set NEW->l_type after _dl_map_object.
Wed Mar 20 00:08:23 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/syscalls.list: Remove gtty and stty.
Tue Mar 19 16:31:06 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/termbits.h (CRTSCTS, CBAUDEX, VEOL,
VEOL2, VMIN, VTIME): Corrected.
(PAGEOUT, WRAP, VDSUSP): Deleted.
* sysdeps/unix/readdir.c: Test [! _DIRENT_HAVE_D_RECLEN] instead of
(sizeof (DP->d_name) > 1) to detect fixed-size dir entries.
Fri Dec 8 13:04:51 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/glob.c: Implement new options GLOB_ALTDIRFUNC, GLOB_BRACE,
GLOB_TILDE, GLOB_NOMAGIC.
(glob): Use stat instead of lstat to determine directoriness.
* posix/glob.h (GLOB_ALTDIRFUNC, GLOB_BRACE, GLOB_NOMAGIC, GLOB_TILDE):
New flag bits.
(__GLOB_FLAGS): Include them.
(glob_t): New members gl_closedir, gl_readdir, gl_opendir, gl_lstat,
gl_stat.
* malloc/malloc.c (align): Don't check contiguity and call abort.
* hurd/hurdsig.c (post_reply): Function removed.
(abort_thread, abort_all_rpcs, _hurdsig_abort_rpcs): Don't call it.
Take single callback fn arg instead of reply port and type.
(_hurd_internal_post_signal): Callers changed.
Cache reply stub fn ptr in local var before UNTRACED might be changed.
* sysdeps/mach/hurd/mmap.c: Cope with a null write memobj for
PROT_READ|PROT_WRITE copy mapping. Pass a proper vm_inherit_t to
vm_map.
* elf/rtld.c (_dl_start): For --list, do output and exit before
relocating.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start_cleanup): New
function.
(_dl_sysdep_start): Move cleanup code there.
* Makeconfig (default-rpath): New variable.
(link-libc): Use it.
* elf/Makefile (ld.so): Pass -rpath=$(default-rpath).
* elf/rtld.c (_dl_rpath): New variable.
(_dl_start): Set it from rtld_map's DT_RPATH.
Call _dl_setup_hash on rtld_map.
(dl_main): Cache address of _exit in variable before relocating,
and use that in later calls. Call _dl_sysdep_start_cleanup before
relocating. Keep track of dependency order while loading; remove
rtld_map from chain, and reinsert in proper order if there is a
dependency on it.
* sysdeps/generic/Makefile (make_siglist): Pass
-DSIGNUM_H=... with config's signum.h location.
* sysdeps/generic/make_siglist.c: Include SIGNUM_H to define
signal numbers.
(HAVE_STRSIGNAL, HAVE_PSIGNAL): Define these before including signame.c
(main): Deansideclize output.
* elf/dl-load.c (_dl_map_object): Use _dl_rpath variable in place
of DEFAULT_RPATH macro.
* elf/Makefile: Undo last change.
* sysdeps/mach/hurd/dl-sysdep.c (free): Don't abort, just nop.
* sysdeps/mach/hurd/dl-sysdep.c: Include _itoa.h from stdio-common
instead of stdio.
(_dl_sysdep_start): If passed user entry is zero and
EXEC_STACK_ARGS flag set, reset user entry to &_start.
* elf/rtld.c (dl_main): Only call _dl_setup_hash if there is a
DT_HASH element.
* libc-symbols.h [HAVE_ELF] (symbol_set_declare): Gratuitously
repeat weak decl using weak_symbol macro, in case using broken GCC
(<2.8).
Wed Nov 15 18:49:55 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* sysdeps/i386/isnanl.c: New file.
* sysdeps/i386/isinfl.c: New file.
* elf/linux-compat.c: New file.
* elf/Makefile (distribute): Add linux-compat.c.
(generated): Add librtld.so.
[$(config-os)=linux*] (extra-objs): Add linux-compat.so.
[$(config-os)=linux*] (extra-objs): Add ld-linux.so.1.
(librtld.so): New target.
(ld.so, ld-linux.so.1): Make from librtld.so.
* elf/rtld.c (dl_main): Instead of weak call to _dl_compat_init,
call our own DT_INIT if we have one (and then clear it).
(__dgettext): New weak function.
* intl/localealias.c (read_alias_file): Avoid sprintf; use memcpy
by hand instead.
* sysdeps/generic/_strerror.c (_strerror_internal): Use _itoa
instead of snprintf.
* sysdeps/mach/_strerror.c (_strerror_internal): Don't write
BUF[BUFLEN].
* elf/rtld.c (rtld_map): New static variable.
(_dl_start): Use a differently named local BOOTSTRAP_MAP for the
bootstrapping. Then copy data into `rtld_map'.
(dl_main): Finish filling in rtld_map and link it into the chain,
instead of allocating a new structure.
(dl_main): Call _dl_compat_init if it is defined (use weak ref).
* elf/dlsym.c: Fix last change: move REF out of `doit'.
control.
using it.
and cwdir ports.
functions.
these.
$(libdir)(rtld-installed-name).
leading zeroes.
in the rhs.
pattern rule.
never know.
(fork): Use symbol_set_* macros for _hurd_fork_locks.
* sysdeps/unix/sysv/sysv4/linux/i386/sysdep.S (__syscall_error):
instead of unix/sysv.
-dynamic-linker.
(__printf_fp): Last arg ARGS is now `const void **const';
locale/C-ctype.c.
* sysdeps/mach/hurd/sigsuspend.c: Likewise.
* sysdeps/mach/hurd/mips/sigreturn.c: Likewise.
alias gethostname.
setitmr
setpgrp
(_S_msg_get_exec_flags, _S_msg_set_exec_flags,
(abort_thread, abort_rpcs): Take same new arg and pass it through.
* sysdeps/unix/configure.in: Check for fchdir syscall.
Improve sed script to allow / on rhs without / on lhs.
Thu Oct 19 03:47:32 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* sysdeps/unix/sysv/linux/termbits.h: Don't define speed constants.
* elf/rtld.c: Include _itoa.h from stdio-common instead of stdio.
* sysdeps/unix/sysv/linux/select.S: New file.
* Makeconfig (config-LDFLAGS): Define to
-Wl-dynamic-linker=$(libdir)$(rtld-installed-name).
(rtld-installed-name): New variable.
* elf/Makefile (install-lib): Variable removed.
(install-others): Define this instead, to
$(libdir)(rtld-installed-name).
($(libdir)(rtld-installed-name)): New target; install from ld.so.
* elf/ldd.sh.in: New file.
* elf/Makefile (distribute): Add ldd.sh.in.
(install-bin): Add ldd.
($(objpfx)ldd: ldd.sh.in): New rule.
* sysdeps/mach/hurd/dl-sysdep.c: Use __hurd_fail throughout.
* hurd/hurd.h (__hurd_fail): Replace macro with inline function.
Translate some Mach errors to Hurd errors.
* elf/rtld.c (dl_main): Under --list, print msg if executable is
statically linked.
* elf/dl-load.c (_dl_map_object_from_fd): Rewrote program header
table processing.
Sat Oct 7 01:25:48 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/stub/machine-gmon.h: Add #error.
Fri Oct 6 01:49:48 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* elf/dynamic-link.h (elf_get_dynamic_info): If DYN is null, don't
examine it.
kernel with args on stack, point _dl_hurd_data at zero data
instead of garbage. When ld.so run as program, grok args
-LIB=MEMOBJ and pre-load shared object files found in memory
objects loaded by the boot loader.
* elf/link.h (struct link_map): New member `l_entry'.
(_dl_map_object, _dl_map_object_from_fd): Remove last arg ENTRY_POINT.
* elf/dl-load.c (_dl_map_object, _dl_map_object_from_fd): Remove
last arg ENTRY_POINT. Store the entry point location in the
`l_entry' member of the new map.
* elf/rtld.c (dl_main): Don't pass USER_ENTRY arg to
_dl_map_object. When run as program, set *USER_ENTRY to L->l_entry.
* elf/dl-init.c (_dl_init_next): Don't pass ENTRY_POINT arg to
_dl_map_object.
from zero fill.
* elf/dl-lookup.c (_dl_lookup_symbol): Take new flag arg NOSELF;
if nonzero, don't let *REF satisfy the reference itself.
* elf/link.h (_dl_lookup_symbol): Add new arg NOSELF in decl.
* sysdeps/i386/dl-runtime.c (_dl_runtime_resolve): Pass new arg to
_dl_lookup_symbol.
* elf/do-rel.h (elf_dynamic_do_rel): Pass new second arg of
R->r_offset to RESOLVE callback.
* elf/dl-reloc.c (_dl_relocate_object: resolve): Don't let *REF
satisfy the reference itself if its value equals the reloc's
offset.
* elf/rtld.c (dl_main): Write a newline in fatal msg.
* Makerules (lib%.so: lib%_pic.a): Pass $(LDFLAGS.so).
* elf/rtld.c [! NDEBUG] (__assert_perror_fail): New function.
* hurd/hurdstartup.c (_hurd_startup): Fancier kludge to guess phdr
and user entry point addresses.
* elf/dl-load.c (open_path): Don't do strlen on DIRPATH if it's null.
(_dl_map_object): DT_RPATH value is relative to DT_STRTAB value.
* Makerules (install-lib.so): Don't include libc.so.
[$(build-shared)=yes] (install): Depend on the installed libc.so file.
[$(build-shared)=yes] (install-no-libc.a): Make this, rather than
install, depend on the installed $(install-lib.so) files.
[$(build-shared)=yes] (install-lib.so): Append libc.so after that rule.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Add kludge to
allocate high addresses to avoid random mappings appearing there.
(mmap): Comment out mask; always pass zero.
Tue Jun 6 13:34:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/i386/dl-machine.h (ELF_MACHINE_USER_ADDRESS_MASK): New macro.
* sysdeps/mach/hurd/dl-sysdep.c (mmap): Use it as mask in vm_map call.
* elf/dl-error.c (_dl_catch_error): Clear *ERRSTRING and *OBJNAME
when successful.
* sysdeps/mach/hurd/dl-sysdep.c (threadvars): New static variable.
(__hurd_threadvar_max, __hurd_threadvar_stack_offset): Define these
variables, using the `threadvars' buffer.
* elf/dl-reloc.c: Don't dereference L->l_prev when it's null.
* sysdeps/i386/dl-runtime.c: Likewise.
* elf/rtld.c (dl_main): Add missing NULL terminating argument in
_dl_sysdep_fatal call.
(__assert_fail): Likewise.
* locale/Makefile (localedef-modules): Renamed ctype to
locale-ctype so as not to conflict with the object file for
ctype/ctype.c in the build directory.
* sysdeps/i386/dl-machine.h (elf_machine_rel): If MAP->l_type is
lt_interpreter, first undo relocation done during bootstrapping.
* mach/Makefile (server-interfaces): Removed notify and
device_reply. For shlibs with eager binding, libmachuser.so must
not refer to any functions not defined in libc.
* Makeconfig (+gccwarn): Add -Winline.
* hurd/hurdsig.c (_hurd_internal_post_signal): If SS->context is
set, avoid abort_rpcs, and use reply and intr ports saved in
SS->context.
* sysdeps/mach/hurd/i386/trampoline.c: Don't set SS->intr_port
from SS->context. Don't clear SS->context.
* sysdeps/mach/hurd/i386/sigreturn.c: Don't set SS->intr_port when
setting SS->context. If msg_sig_post returns, re-lock and clear
SS->context.
Fri May 5 10:37:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* mach/Makefile (errsystems.c): Comment out generation rule.
* sysdeps/mach/_strerror.c: Consider a system unknown if its
bad_sub member is null.
* mach/mig-alloc.c: Add weak alias to non-__ name.
* sysdeps/i386/dl-machine.h: New file.
* sysdeps/stub/dl-machine.h: New file.
* sysdeps/i386/dl-runtime.c: New file.
* sysdeps/stub/dl-runtime.c: New file.
* sysdeps/i386/elf/start.S: New file.
* sysdeps/generic/dl-sysdep.c: New file.
* sysdeps/mach/hurd/dl-sysdep.c: New file.