Call _dl_new_object with extra argument.
Call _dl_new_object with extra argument.
but the main one if new argument is nonzero.
* elf/ldsodefs.h: Adjust for _dl_new_object change.
(dl_main): Call _dl_new_object with extra argument.
1998-08-27 19:42 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile (distribute): Add dl-origin.h.
* sysdeps/generic/dl-origin.h: New file.
* sysdeps/unix/sysv/linux/dl-origin.h: New file.
* elf/link.h (struct link_map): Add l_origin field.
* elf/dl-load.c (expand_dynamic_string_token): New function.
(decompose_path): Remove WHERE argument, take link map pointer instead.
Call expand_dynamic_string_token instead of local_strdup to make copy
of rpath.
(_dl_init_paths): Call decompose_path with correct argument.
(_dl_map_object_from_fd): Define static is EXTERNAL_MAP_FROM_FD is
not defined.
Check EI_OSABI and EI_ABIVERSION fields in header.
(_dl_map_object): Call decompose_path with correct argument.
Call expand_dynamic_string_token instead of local_strdup to also
expand DST.
* elf/dl-object.c (_dl_new_object): Determine l_origin for all maps
but the main one.
* elf/dl-support.c: Define _dl_origin_path.
* elf/rtld.c: Likewise. Set _dl_origin_path based on LD_ORIGIN_PATH.
* elf/dl-close (_dl_close): Free l_name and l_origin.
* sysdeps/i386/useldt.h (THREAD_GETMEM, THREAD_SETMEM): Use P
modifier in asm, not c.
* sysdeps/mach/hurd/Makefile [subdirs==elf]: Define CFLAGS-dl-load.c
to -DEXTERNAL_MAP_FROM_FD to make _dl_map_object_from_fd extern.
1998-08-26 17:48 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-close.c (_dl_close): Move map->l_nsearchlist value into local
variable so that map can be freed.
Reported by Philippe Troin <phil@fifi.org>.
* elf/dl-open.c (dl_open_worker): Correct test for extending global
scope array.
Patch by Philippe Troin <phil@fifi.org>.
1998-08-26 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/register-dump.h: Rewrite. Much nicer this way.
Don't call writev() with a 100-element vector.
* sysdeps/generic/segfault.c (catch_segfault): Skip top-level NULL
return address.
* sysdeps/powerpc/elf/libc-start.c: Sync up with generic version.
In particular, set __libc_stack_end.
* sysdeps/powerpc/elf/start.S: Allow _init and _fini to be
undefined. Fix copyright notice.
1998-08-25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (gmp-objs): New variable.
($(objpfx)atest-exp, $(objpfx)atest-sincos, $(objpfx)atest-exp2):
Depend on it.
(tests): Add atest-exp atest-sincos atest-exp2.
(tests-static): Remove atest-exp atest-sincos atest-exp2.
* elf/rtld.c (dl_main): Unload map file before jumping to user code.
1998-08-26 15:46 Ulrich Drepper <drepper@cygnus.com>
* internals.h: Define THREAD_GETMEM and THREAD_SETMEM to default if
not already defined.
(struct _pthread_descr_struct): Add p_self and p_nr field.
* manager.c (__pthread_handles): Define second element to point
to manager thread.
(__pthread_handles_num): Initialize to 2.
(__pthread_manager): Use INIT_THREAD_SELF with two arguments.
(pthread_start_thread): Likewise.
(pthread_handle_create): Start search for free slot at entry 2.
Initialize new fields p_self and p_nr.
Call __clone with CLONE_PTRACE if available.
(pthread_free): Call FREE_THREAD_SELF if available.
* pthread.c (__pthread_initial_thread): Initialize new fields.
(__pthread_manager_thread): Likewise.
(__pthread_initialize_manager): Call __clone with CLONE_PTRACE.
* cancel.c: Use THREAD_GETMEM and THREAD_SETMEM to access the
elements of the thread descriptor.
* condvar.c: Likewise.
* errno.c: Likewise.
* join.c: Likewise.
* manager.c: Likewise.
* pthread.c: Likewise.
* ptlongjmp.c: Likewise.
* semaphore.c: Likewise.
* signals.c: Likewise.
* specific.c: Likewise.
* spinlock.c: Likewise.
* sysdeps/alpha/pt-machine.h (INIT_THREAD_SELF): Add extra parameter.
* sysdeps/i386/useldt.h: New file.
* sysdeps/i386/i686/pt-machine.h: Show how to use this file.
* sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM and
THREAD_SETMEM using __thread_self.
* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
1998-08-25 11:43 Ulrich Drepper <drepper@cygnus.com>
* elf/elf.h: Add syminfo stuff and other DT_* from Solaris' ELF.
1998-08-25 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
* argp/argp.h: Use __inline__ not inline.
* sysdeps/i386/bits/select.h (FD_ZERO): Rewrite asm not to indicate
an input register as being clobbered.
* sysdeps/i386/memset.c (memset): Likewise.
* sysdeps/i386/bzero.c (__bzero): Likewise.
* sysdeps/i386/memcopy.h ({BYTE,WORD}_COPY_[FB]WD): Likewise.
1998-08-25 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* stdlib/jrand48_r.c (__jrand48_r): Set also upper half of result.
Fixes PR libc/757 (Reported by Michael Creutz <creutz@bnl.gov).
sys/reg.h.
* sysdeps/unix/sysv/linux/m68k/sys/reg.h: New file.
* sysdeps/unix/sysv/linux/m68k/Dist: Distribute it.
Mon Aug 24 10:37:38 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/Makefile (sysdep_headers): Add
sys/reg.h.
* sysdeps/unix/sysv/linux/m68k/sys/reg.h: New file.
* sysdeps/unix/sysv/linux/m68k/Dist: Distribute it.
1998-08-12 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/configure.in: Obey --with-headers,
document it.
* sysdeps/unix/sysv/linux/alpha/configure.in: New file, contains
test for recent Linux 2.1.100+ headers.
* elf/ldd.bash.in (TEXTDOMAIN, TEXTDOMAINDIR): Surround setting these
with magic comments ###BASH-ONLY and ###END-BASH-ONLY.
* elf/Makefile ($(objpfx)ldd): Generate always from ldd.bash.in.
(common-ldd-rewrite): New variable, old contents of $(sh-ldd-rewrite).
(sh-ldd-rewrite): Use that, add cmds to remove code surrounded by
those magic comments, and to use /bin/sh for @BASH@.
(bash-ldd-rewrite): Use $(common-ldd-rewrite).
* elf/ldd.sh.in: File removed.
* elf/ldd.bash.in (TEXTDOMAIN, TEXTDOMAINDIR): Surround setting these
with magic comments ###BASH-ONLY and ###END-BASH-ONLY.
* elf/Makefile ($(objpfx)ldd): Generate always from ldd.bash.in.
(common-ldd-rewrite): New variable, old contents of $(sh-ldd-rewrite).
(sh-ldd-rewrite): Use that, add cmds to remove code surrounded by
those magic comments, and to use /bin/sh for @BASH@.
(bash-ldd-rewrite): Use $(common-ldd-rewrite).
* elf/ldd.sh.in: File removed.
1998-08-20 20:07 Ulrich Drepper <drepper@cygnus.com>
* pwd/getpw.c (__getpw): Use %lu for uid and gid parameter and
cast them to unsigned long int.
* pwd/putpwent.c (putpwent): Likewise.
Patch by John Tobey <jtobey@banta-im.com>.
1998-08-20 17:14 H.J. Lu <hjl@gnu.org>
* libio/libioP.h (FILEBUF_LITERAL): Set the _offset field to
_IO_pos_BAD.
1998-02-20 17:54 H.J. Lu <hjl@gnu.org>
* libio/fileops.c (_IO_file_seekoff): Don't adjust pointers if
_IO_SYSSEEK fails.
* sysdeps/unix/sysv/linux/Makefile [subdirs=misc] (sysdep_headers):
Add sys/sendfile.h.
* sysdeps/unix/sysv/linux/syscalls.list: Add sendfile.
* sysdeps/unix/sysv/linux/sys/sendfile.h: New file.
* sysdeps/unix/sysv/linux/sys/acct.h: Pretty print.
* sysdeps/unix/sysv/linux/Versions [GLIBC_2.1]: Add umount2 and
sendfile.
1998-08-20 16:01 Ulrich Drepper <drepper@cygnus.com>
* elf/ldd.sh.in: Redirect warnings and error messages to stderr.
* elf/ldd.bash.in: Likewise.
* elf/sln.c: Avoid warning for no main prototype.
* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Remove O_READ and
O_WRITE.
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Add F_SETSIG and
F_GETSIG.
* sysdeps/unix/sysv/linux/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
1998-08-20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/fpu/ieee754.h: Move to...
* sysdeps/arm/ieee754.h: ... here.
* sysdeps/arm/__longjmp.S: Put return value in correct register.
Don't set the condition flags unnecessarily.
* sysdeps/arm/fpu/__longjmp.S: Likewise. Restore floating point
registers correctly.
* sysdeps/arm/dl-machine.h: Fix problems with profiling code
(patch from Scott Bambrough).
* sysdeps/arm/sysdep.h (CALL_MCOUNT): Add missing semicolons.
* csu/initfini.c (_init): Don't check whether __gmon_start__ is
NULL, just call it unconditionally.
(__gmon_start__): Provide stub version as a weak symbol.
1998-07-30 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/init-first.h: New file (from patch
by Scott Bambrough)
* sysdeps/unix/sysv/linux/arm/errlist.c: New file; ARM tools don't
like `@' in .type directives.
* sysdeps/arm/bsd-setjmp.S: Use PLT for procedure call.
* sysdeps/arm/bsd-_setjmp.S: Likewise.
* sysdeps/arm/dl-machine.h: Set __libc_stack_end.
1998-08-20 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_SETOWN): Correct value.
(F_GETOWN): Likewise.
* sysdeps/unix/sysv/linux/bits/siginfo.h (SI_SIGIO): Add it (from
Linux 2.1.117).
1998-08-20 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/glob.c [_LIBC]: Define __stat only if not
already defined.
1998-08-14 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nss_compat/compat-grp.c: Set errno to ENOENT if we have no
more entries.
* nis/nss_compat/compat-initgroups.c: Likewise.
* nis/nss_compat/compat-pwd.c: Likewise.
* nis/nss_compat/compat-spwd.c: Likewise.
* nis/nss_nis/nis-alias.c: Likewise.
* nis/nss_nis/nis-ethers.c: Likewise.
* nis/nss_nis/nis-grp.c: Likewise.
* nis/nss_nis/nis-hosts.c: Likewise.
* nis/nss_nis/nis-initgroups.c: Likewise.
* nis/nss_nis/nis-network.c: Likewise.
* nis/nss_nis/nis-proto.c: Likewise.
* nis/nss_nis/nis-pwd.c: Likewise.
* nis/nss_nis/nis-rpc.c: Likewise.
* nis/nss_nis/nis-service.c: Likewise.
* nis/nss_nis/nis-spwd.c: Likewise.
* nis/rpcsvc/yp.h: Generate new without 1024 byte limits.
* nis/ypclnt.c: Try binding dir only first time, could be to old.
* nis/yp_xdr.c: Remove 1024 byte limit.
* nis/ypupdate_xdr.c: Likewise.
* nis/nss_nis/nis-publickey.c: Make sure, nobody could send
wrong data.
* Rules (binaries-static, binaries-shared static pattern rules):
Depend on lib%, not just libc%, from $(link-libc{,-static}).
* sysdeps/mach/hurd/Makefile (link-libc-static): New variable; set
this here, overriding Makeconfig generic value so we link against
the RPC libs.
1998-08-14 10:08 Ulrich Drepper <drepper@cygnus.com>
* manual/texinfo.tex: Update.
1998-08-07 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/backtrace.c: New file.
1998-08-14 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/fpu/setjmp.S: Correct value of R0 before calling
sigjmp_save.
* sysdeps/arm/elf/setjmp.S: Obsolete, deleted.
1998-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (install-symbolic-link): Fix spelling.
1998-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/elf.h (SHT_HIOS): Fix value.
1998-08-10 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/regex.c (WIDE_CHAR_SUPPORT): Don't generate defined as
part of the expansion, this is undefined by the standard.
1998-08-12 17:03 Ulrich Drepper <drepper@cygnus.com>
* include/unistd.h: Protect against multiple inclusion.
* posix/glob.c: Don't define __glob_pattern_p is NO_GLOB_PATTERN_P
is defined, not is glob is defined.
* sysdeps/unix/sysv/linux/glob64.c: Define NO_GLOB_PATTERN_P.
1998-08-01 17:18 H.J. Lu <hjl@gnu.org>
* sunrpc/rpcsvc/rusers.x (xdr_utmp): Use xdr_bytes instead of
xdr_string for ut_line, ut_name and ut_host.
1998-08-12 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/paths.h (_PATH_MAILDIR): Change to
/var/mail in accordance with FHS 2.0.
Reported by Javier Kohen <root@jkohen.tough.com.ar> [PR libc/639].
1998-08-12 Richard Henderson <rth@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/syscalls.list (recvmsg, sendmsg):
Update aliases for cancelation.
* sysdeps/unix/sysv/linux/alpha/glob.c: Undef glob*64 before
playing with symbol versions.
(_hurd_canonicalize_directory_name_internal): Do not loop forever
for unknown root directories.
be reached.
multiple inclusion protection.
(_POSIX_SYNCHRONIZED_IO, _POSIX_FSYNC, _POSIX_MAPPED_FILES,
_POSIX_MEMORY_PROTECTION, _POSIX_POLL, _POSIX_SELECT): New macros,
define all these to 1.
(_POSIX_SYNC_IO): Add #undef, to remind us that pathconf reports it.
1998-08-12 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/getcwd.c
(_hurd_canonicalize_directory_name_internal): Do not loop forever
for unknown root directories.
(__getcwd): Return NULL when the current root directory could not
be reached.
* sysdeps/mach/hurd/getcwd.c
(_hurd_canonicalize_directory_name_internal): Do not loop forever
for unknown root directories.
(__getcwd): Return NULL when the current root directory could not
be reached.
1998-08-10 15:49 Ulrich Drepper <drepper@cygnus.com>
* include/dirent.h: Protect from double inclusion.
1998-08-09 Mark Kettenis <kettenis@phys.uva.nl>
* posix/glob.h: Add LFS support for glob and globfree.
* posix/Versions [GLIBC_2.1]: Add glob64 and globfree64.
* posix/Makefile (routines): Add glob64.
* sysdeps/generic/glob64.c: New file.
* sysdeps/unix/sysv/linux/glob64.c: New file.
* sysdeps/unix/sysv/linux/alpha/glob64.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/glob64.c: New file.
* sysdeps/generic/glob.c [_LIBC && glob] (__glob_pattern_p):
Elide function.
* sysdeps/unix/sysv/linux/alpha/glob.c: Add glob64 as a weak alias
for __new_glob. Likewise for globfree64.
* sysdeps/unix/sysv/linux/sparc/sparc64/glob.c: New file.
1998-08-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Remove
-include flag from command.
1998-08-10 Ulrich Drepper <drepper@cygnus.com>
* nss/nss_db/db-XXX.c (_nss_db_getXXX): If buffer is too small
decrement `entidx' to allow retrieving the same entry again.