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.
Wed Nov 20 02:04:11 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sigsuspend.c: Make sigsuspend a weak
alias of __sigsuspend.
* grp/grp.h: Correct comment about POSIX compliance.
* pwd/pwd.h: Likewise.
* login/utmp.h: Update copyright and pretty-print prototypes.
* sysdeps/generic/paths.h: Add _PATH_LASTLOG, _PATH_UTMP and
_PATH_WTMP from utmpbits.h.
* sysdeps/unix/sysv/linux/paths.h: Likewise.
* sysdeps/generic/utmpbits.h: Remove here.
* sysdeps/gnu/utmpbits.h: Likewise.
* misc/sys/uio.h: Place __BEGIN_DECLS correctly.
Pretty-print prototypes.
* sysdeps/unix/sysv/linux/sparc/clone.S: New file. Taken from
LinuxThreads-0.5.
Tue Nov 19 13:43:07 1996 Richard Henderson <rth@tamu.edu>
* inet/ether_hton.c: Include <string.h>.
* inet/ether_ntoh.c: Likewise.
* inet/rexec.c: Get errno, index, getpass, getlogin from headers.
* misc/search.h: Fix hcreate_r argument type (unsigned -> size_t).
* misc/sys/cdefs.h: Change __long_double_t definition from typedef
to define. Jim Nance reports problems building XEmacs otherwise.
* resolv/gethnamaddr.c: Protect h_errno redefinition.
* resolv/getnetnamadr.c: Likewise.
* resolv/herror.c: Likewise.
* sysdeps/generic/sigset.h (__SIGSETFN): Operator ## doesn't work
with -traditional. Reported by Eric Youngdale. While we're at this,
don't do error checking in the __ functions. This is consistent
with the sysv4 definitions and seems Right.
* signal/signal.h: Don't __OPTIMIZE__ sigops to __ versions. Add
prototype for __sigsuspend.
* sysdeps/posix/sigblock.c: Optimize sigmask <-> sigset_t conversions
for sigset_t == unsigned long. De-ansidecl-ify. Reformat copyright.
* sysdeps/posix/sigpause.c: Likewise.
* sysdeps/posix/sigsetmask.c: Likewise.
* sysdeps/posix/sigvec.c: Likewise.
* sysdeps/posix/sigintr.c: Reformat copyright.
* sysdeps/posix/signal.c: Check signal number out of range since
__sigismember doesn't anymore. Reformat copyright.
* sysdeps/posix/sigwait.c: Use __ versions of sigfillset, sigismember,
sigdelset, sigaction, and sigsuspend.
* stdlib/drand48-iter.c (__drand48_iterate): Cast state fragments
to the wider type before shifting.
* sysdeps/alpha/bsd-_setjmp.S: Silence assembler warning "$at used
without .set noat" in profiling hook.
* sysdeps/alpha/bsd-setjmp.S: Likewise.
* sysdeps/alpha/htonl.S: Likewise.
* sysdeps/alpha/htons.S: Likewise.
* sysdeps/alpha/s_copysign.S: Likewise.
* sysdeps/alpha/setjmp.S: Likewise.
* sysdeps/alpha/stpcpy.S: Likewise.
* sysdeps/alpha/strcat.S: Likewise.
* sysdeps/alpha/strcpy.S: Likewise.
* sysdeps/alpha/strncat.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/brk.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/clone.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/llseek.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Likewise. Rename
function to __sigsuspend and add weak alias.
* sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise. Add missing END.
* sysdeps/alpha/w_sqrt.S: Define _ERRNO_H so <errnos.h> defines EDOM.
* sysdeps/unix/execve.S: Match PSEUDO_END symbol with the symbol
SYSCALL__ actually generated.
* sysdeps/unix/sysv/linux/errnos.h [_LIBC_REENTRANT]: Reflexively
#define __set_errno, as several imported subsystems (eg. BIND) check
that the symbol is defined.
* sysdeps/unix/sysv/linux/getsysstats.c: Include <alloca.h>.
* sysdeps/alpha/memcpy.S: Temporarily remove until I can find a bug
that manifests in GCC.
Tue Nov 19 11:10:05 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* sysdeps/posix/writev.c (writev): COUNT parm is now int.
* sysdeps/posix/readv.c (readv): Likewise.
Tue Nov 19 15:28:29 1996 Ulrich Drepper <drepper@cygnus.com>
* nss/nss_dns/dns-network.c: Change return type of all functions
to enum nss_status.
Reported by NIIBE Yutaka.
* nss/nss_dns/dns-host.c: Update copyright.
Fri Nov 15 20:16:38 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* config.make.in: Remove definition of top_absdir.
* configure.in: Likewise. Use $(..) instead.
* Makerules (make-link): Use $(..) to find rellns-sh script.
Sat Nov 16 15:52:29 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manual/nss.texi (Name Service Switch): Fix reference to
`frobnicate'.
Fri Nov 15 22:08:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
sys/mtio.h.
Mon Nov 18 05:51:13 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/waitstatus.h (__WIFSIGNALED): Rename local
variable from __stat to __status to prevent shadowing.
* sunrpc/rpc/clnt.h (clntudp_create, clntudp_bufcreate): Likewise
for parameter __wait.
Reported by NIIBE Yutaka.
Mon Nov 18 02:05:38 1996 Ulrich Drepper <drepper@cygnus.com>
* misc/regexp.c: New file. Implementation of obsolete interface
to regular expression matcher (required in XPG4.2).
* misc/regexp.h: New file. Header for above.
* misc/Makefile (headers): Add regexp.h.
(routines): Add regexp.c.
Update copyright.
Sun Nov 17 21:50:24 1996 Andreas Jaeger <aj@arthur.pfalz.de>
* stdlib/tst-strtod.c (main): Add arguments for main.
* stdlib/tst-strtol.c (main): Likewise.
Sun Nov 17 21:15:05 1996 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Substitute libc_cv_slibdir and libc_cv_sysconfdir
in output files.
* sysdepes/unix/sysv/linux/configure: Define libc_cv_slibdir to /lib
and sysconfdir to /etc if $prefix is /usr.
* config.make.in: Add slibdir, sysconfdir and BASH to be replaced.
* elf/Makefile ($(objpfx)ldd): Install ldd.bash.in if
$(have-bash2) is yes.
* elf/ldd.bash.in: Add copyright and various cleanups.
* elf/ldd.sh.in: Likewise.
Implement RTLD_NEXT.
* elf/dlfcn.h: Define RTLD_NEXT.
* elf/dl-deps.c: Build second searchlist which contains duplicates.
* elf/dl-lookup.c (_dl_lookup_symbol_skip): New function. Used
for RTLD_NEXT lookup.
Rewrite _dl_lookup_symbol to put common parts for both lookup
functions in a separate function.
* elf/dlsym.c: Handle RTLD_NEXT by calling _dl_lookup_symbol_skip.
* elf/link.h (struct link_map): Add l_dupsearchlist and
l_ndupsearchlist.
Add prototype for _dl_lookup_symbol_skip.
* sunrpc/Makefile (rpcsvc): Add rusers.
* sunrpc/rpcsvc/rnusers.x: Remove. Obsolteted by rusers.x.
* sunrpc/rpcsvc/rusers.x: New file.
Sun Nov 17 04:24:35 1996 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/vfprintf.c [USE_IN_LIBIO] (buffered_vfprintf): Call
__libc_lock_init for local lock.
Reported by a sun <asun@zoology.washington.edu>.
[!USE_IN_LIBIO] (PAD): Optimize a bit.
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.
* 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.
* sysdeps/unix/sysv/linux/Dist: Add sys/klog.h.
* elf/dl-open.c (_dl_open): Remove PARENT argument, pass null.
* elf/link.h: Update prototype.
* elf/dl-load.c (_dl_map_object): If dependents' DT_RPATHs don't find
NAME, try the DT_RPATH of the executable itself if dynamic.
* elf/dlopen.c (dlopen): Don't pass first arg to _dl_open.
* elf/dl-load.c (_dl_map_object): Exit DT_RPATH checking loop when an
open succeeds.
* Makerules (build-shlib): Give -L opts for each elt of $(rpath-link).
* sysdeps/mach/hurd/Makefile (sysdep-LDFLAGS): Variable removed.
(rpath-link): Append to this instead.
* elf/dl-lookup.c (_dl_lookup_symbol): If no value and *REF is
null, consider it a strong reference and give the error.
Wed Jun 12 15:52:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-open.c (_dl_open): Correctly terminate relocating loop
after relocating NEW when it's the only new object.
* elf/dl-init.c (_dl_init_next): When out of initializers, set
_r_debug.r_state to RT_CONSISTENT and call _dl_debug_state just
before return.
* elf/rtld.c (dl_main): Move _dl_debug_initialize call after
relocation. Call it unconditionally and only fill in DT_DEBUG
if it's present. Then call _dl_debug_state with r_state RT_ADD
before running initializers.
* elf/dl-open.c (_dl_open): Call _dl_debug_initialize and then call
_dl_debug_state with r_state RT_ADD before running initializers
* elf/dl-close.c (_dl_close): Call _dl_debug_state with r_state
RT_DELETE before running finalizers and with RT_CONSISTENT just
before return.
* elf/Makefile (dl-routines): Add dl-debug.
* elf/dl-debug.c: New file.
* elf/rtld.c (_dl_r_debug): Rename to _r_debug and move to dl-debug.c.
(_dl_r_debug_state): Rename to _dl_debug_state and likewise move.
(dl_main): Use _dl_debug_initialize.
* elf/link.h: Fix name to _dl_debug_state in decl.
(_dl_debug_initialize): Declare new function from dl-debug.c.
(_r_debug): Declare it.
* Makerules (distinfo-vars): Add install-{lib,data,bin,sbin,others}.
In distinfo set $(subdir)-VAR and then set VAR to $($(subdir)-VAR).
* Makeconfig (rpath-link): New variable; add $(elfobjdir).
(default-rpath): Use it.
(built-program-cmd): Use it in LD_LIBRARY_PATH.
* Makeconfig (sysdep-configures): Prepend $(sysdep_dir) to names tried.
* sysdeps/unix/Dist: Add make-syscalls.sh.
* misc/Makefile (headers): Add sys/swap.h.
* posix/unistd.h: Remove decls for swapon, swapoff.
* sysdeps/generic/sys/swap.h: New file.
* sysdeps/unix/sysv/linux/sys/swap.h: New file.
* sysdeps/unix/sysv/linux/gnu/types.h: Remove temporary hack #define
of __kernel_fsid_t. It is correctly defines in <linux/types.h> now.
* 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.
* 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/dladdr.c: Remove #include <setjmp.h>, we don't use it.
* shlib-versions: Set libdl=2.
* elf/dl-deps.c (_dl_map_object_deps): Use a linked list of alloca'd
elements and then scan it to fill the single malloc'd array, instead
of using realloc to grow the array in the first pass. _dl_map_object
may do some mallocs that break our stream of reallocs, and the minimal
realloc can't handle that.
* elf/dl-init.c (_dl_init_next): Take argument, link_map whose
searchlist describes the piece of the DT_NEEDED graph to be
initialized.
* elf/link.h: Update prototype.
* sysdeps/i386/dl-machine.h (RTLD_START): Pass _dl_loaded as argument
to _dl_init_next.
* sysdeps/m68k/dl-machine.h: Likewise.
* elf/dl-deps.c (_dl_open): Pass new object as arg to _dl_init_next.
* elf/link.h (struct link_map): Add `l_reserved' member, soaking up
extra bits in last byte.
* elf/dl-deps.c (_dl_map_object_deps): Use that for mark bit to avoid
putting dup elts in search list.
* elf/dlclose.c: Use MAP->l_searchlist to find deps to close.
* elf/dlsym.c: Don't tweak linked list. Scope array given to
_dl_lookup_symbol does the right thing.
Tue Jun 4 02:25:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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.
* Makefile (subdirs): Added db.
* resolv/Makefile (routines): Add res_data.
* resolv/res_data.c, resolv/res_debug.c, resolv/resolv.h:
Updated from BIND 4.9.3 final release.
* elf/dynamic-link.h (elf_get_dynamic_info): Handle
processor-specific tags.
(ELF_DYNAMIC_DO_REL, ELF_DYNAMIC_DO_RELA): Handle absent DT_PLTREL tag.
* elf/elf.h (DT_MIPS_NUM, DT_PROCNUM): New macros.
* elf/link.h (struct link_map): Extend `l_info' by DT_PROCNUM.
* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Take new
arg LAZY. Only do our work if LAZY and there is a DT_JMPREL record.
* elf/dl-reloc.c (_dl_relocate_object): Call
elf_machine_runtime_setup unconditionally, and pass it LAZY flag.
* elf/dl-load.c: Fixed ELFMAG check to work for either byte order.
Align end of load segment only to page size, not to segment alignment.
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.
* config.make.in (AS): New variable; set to `$(CC) -c'.
* posix/unistd.h [__USE_BSD]: Declare profil.
* elf/dl-load.c (_dl_map_object_from_fd): New function, broken out
of _dl_map_object.
(_dl_map_object): Call it.
* elf/link.h (_dl_map_object_from_fd): Declare it.
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).
* 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.