1998-09-06 15:13 Ulrich Drepper <drepper@cygnus.com>
* elf/dlsym.c (dlsym_doit): Use new RTLD_DEFAULT macro to test
for use of global scope.
* elf/dlvsym.c (dlvsym_doit): Likewise.
1998-09-02 Paul Eggert <eggert@twinsun.com>
* strftime.c (my_strftime): When mbrlen returns (size_t) -2,
copy the redundant bytes at the end of the format as-is; don't
just copy their first byte and then rescan, as that might get
us an encoding error.
Account correctly for the length of multibyte sequences in the
format.
1998-09-03 20:14 Tim Waugh <tim@cyberelk.demon.co.uk>
* posix/wordexp-test.c: Add tests for different IFS values.
Change unquoted-newline test so that newline is not in IFS.
* posix/wordexp.c (wordexp): Correct null/unset mix-up when
determining IFS characters. Return WRDE_BADCHAR for unquoted
special characters _except_ if they are separators.
1998-09-06 10:56 Ulrich Drepper <drepper@cygnus.com>
* include/tgmath.h: New file.
* libio/stdio.h: Correct reversed #ifs.
Patch by Zack Weinberg.
* manual/creature.texi: Better explain reason for feature select
macros.
Patch by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.
1998-09-06 10:25 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* include/alloca.h: Add multiple-inclusion guard.
* include/db.h: Likewise.
* include/db_185.h: Likewise.
* include/fcntl.h: Likewise.
* include/grp.h: Likewise.
* include/libintl.h: Likewise.
* include/mntent.h: Likewise.
* include/pwd.h: Likewise.
* include/sched.h: Likewise.
* include/search.h: Likewise.
* include/setjmp.h: Likewise.
* include/shadow.h: Likewise.
* include/signal.h: Likewise.
* include/stdio.h: Likewise.
* include/stdlib.h: Likewise.
* include/string.h: Likewise.
* include/termios.h: Likewise.
* include/time.h: Likewise.
* include/ulimit.h: Likewise.
* include/utmp.h: Likewise.
* include/wchar.h: Likewise.
* include/sys/file.h: Likewise.
* include/sys/gmon.h: Likewise.
* include/sys/ioctl.h: Likewise.
* include/sys/mman.h: Likewise.
* include/sys/resource.h: Likewise.
* include/sys/select.h: Likewise.
* include/sys/socket.h: Likewise.
* include/sys/statfs.h: Likewise.
* include/sys/time.h: Likewise.
* include/sys/times.h: Likewise.
* include/sys/wait.h: Likewise.
* include/dlfcn.h: Declare dladdr only for __USE_GNU.
Define RTLD_DEFAULT.
Don't add netinet/udp.h, netinet/ip_icmp.h here.
* sysdeps/gnu/Makefile: Do it here instead.
* sysdeps/unix/sysv/linux/Dist: Move those files from here ...
* sysdeps/gnu/Dist: ... to here.
1998-09-05 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/unix/sysv/linux/netinet/ip_icmp.h,
sysdeps/unix/sysv/linux/netinet/tcp.h,
sysdeps/unix/sysv/linux/netinet/udp.h: Moved to sysdeps/gnu/netinet.
* mach/Makefile: Use -include for mach-syscalls.mk to silence warning.
* sysdeps/mach/hurd/sysd-stdio.c: Declare fns
__stdio_{read,write,seek,close,fileno} using __io_*_fn types.
* sysdeps/generic/sysd-stdio.c: Likewise.
1998-09-02 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-load.c (fillin_rpath): Handle "/" as RPATH correctly.
(_dl_map_object_from_fd): Make NAME argument const.
Remove last parameter in _dl_new_object call.
(print_search_path): Correct construction of composed path name.
(_dl_map_object): Prevent looking at RPATH of the main map twice.
Remove last parameter in _dl_new_object call.
* elf/dl-object.c: Remove last parameter. Determine whether create
origin entry based on empty realname. Handle file in root directory
correctly.
* elf/ldsodefs.h: Adjust prototype for _dl_new_object.
* elf/rtld.c (dl_main): Add comment describing reason for memory leak.
Remove last parameter in _dl_new_object call.
* sysdeps/generic/dl-origin.h: Handle file in root directory correctly.
* sysdeps/unix/sysv/linux/dl-origin.h: Likewise.
1998-09-01 17:53 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-load.c (add_name_to_object): Change return type to void and
make NAME parameter const. Allocate room for NAME in same memory
block used for l_libname entry.
(_dl_map_object_from_fd): Don't free NAME on failure.
(map_segment): Pass SONAME to add_name_to_object, not a copy.
(_dl_map_object): Don't create copy of NAME. Pass NAME to
_dl_map_object_from_fd.
* elf/dl-object.c (dl_new_object): Allocate room for NAME in same
memory block used for l_libname entry.
* elf/dl-close.c: Adjust free()ing for this change.
1998-09-01 15:36 Ulrich Drepper <drepper@cygnus.com>
* malloc/Makefile: Include Makeconfig before testing config-sysdirs.
* malloc/mtrace.c: Add bug report address. Update email address.
Add more @XXX@ to print correct address size.
* elf/dl-addr.c (_dl_addr): Make sure that map to be examined is
really initialized.
* elf/dl-close.c (_dl_close): Use l_map_start and l_map_end info
for munmap call instead of examining phdr again.
Free all malloc()ed strings and arrays.
1998-08-09 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/Makefile [subdir=elf]: Add new files split out of
dl-machine.h.
* sysdeps/powerpc/dl-machine.c: New file.
* sysdeps/powerpc/dl-machine.h: Move much stuff into separate
files. Revise ELF_PREFERRED_ADDRESS to take account of
the new mapping information (fixes bug involving huge bloated
web browser). Set ELF_MACHINE_PLTREL_OVERLAP.
* sysdeps/powerpc/dl-start.S: New file.
* elf/dl-load.c (_dl_map_object_from_fd): Initialise l_map_start,
l_map_end.
* elf/do-rel.h: Call elf_machine_rel only once (to save space).
* elf/dynamic-link.h: Allow PLT relocs to be in the middle of the
others. Call elf_dynamic_do_##reloc only once (to save even more
space).
* elf/link.h: Add new members l_map_start and l_map_end to keep
track of the memory map.
* elf/rtld.c (_dl_start): Initialise l_map_start for ld.so and
the executable.
1998-09-01 11:53 Ulrich Drepper <drepper@cygnus.com>
* debug/Makefile (catchsegv): We need not rewrite SOVER anymore.
Reported by Andreas Jaeger.
* posix/glob.h: Use __size_t instead of size_t in definitions and
make sure this is defined.
* manual/locale.texi: Almost complete rewrite. Document more functions
1998-09-01 10:34 Ulrich Drepper <drepper@cygnus.com>
* manual/locale.texi: Almost compelte rewrite. Document more functions
and functionality.
* manual/arith.texi: Correct reference.
* manual/string.texi: Pretty printing.
* manual/texinfo.tex: Update from last available version.
1998-08-31 22:44 Ulrich Drepper <drepper@cygnus.com>
* nis/nss_nis/nis-pwd.c (_nss_nis_getpwnam_r): Correct test for
invalid password.
(_nss_nis_getpwuid_r): Likewise.
Patch by Matthew Arnison <matthewa@physics.usyd.edu.au>.
* inet/rcmd.c: Implement netgroup support.
Patch by Dick Streefland <dick_streefland@tasking.com>.
1998-08-31 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-close.c (_dl_close): Update _dl_loaded if the first
object on the list is removed. Don't use this code for PIC.
Reported by HJ Lu [PR libc/770].
1998-08-31 15:56 Ulrich Drepper <drepper@cygnus.com>
* db2/db_int.h: Use <db.h> instead of "db.h" to find header in include.
* include/stdio.h: Add __vsscanf.
* libio/stdio.h: Make vfscanf, scanf, and vsscanf available if
__USE_ISOC9X.
Remove __vsscanf declaration.
Always declare fgetpos and fsetpos.
* math/math.h: Define isinf as macro.
* math/bits/mathcalls.h: Change to declare __isinf all the time.
Don't declare scalb for ISO C 9x.
* math/tgmath.h: Define fma. Rewrite the underlying macros.
* stdlib/stdlib.h: Declare strtof and strtold is __USE_ISOC9X.
* sysdeps/unix/sysv/linux/bits/sigcontext.h: Allow inclusion from
sys/ucontext.h.
* sysdeps/wordsize-32/inttypes.h: Define missing PRI* and SCN*
macros.
1998-08-31 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/standalone/bits/errno.h (ENOMSG): Remove duplicate.
Reported by jreising@frequentis.com [PR libc/767].
1998-08-31 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* io/lockf.c (lockf): Move initilisation of fl.l_whence and
fl.l_start at beginning of function.
Patch by Geoff. Dash <geoffd@zeta.org.au> [PR libc/769].
1998-08-31 Ulrich Drepper <drepper@cygnus.com>
* io/sys/stat.h (ALLPERMS): Fix type (S_ISTXT -> S_ISVTX).
Reported by Rob.Hagopian@vu.union.edu [PR libc/763].
* nscd/nscd.init: Make it work in RedHat systems.
Patch by Christian Gafton.
1998-08-29 Philip Blundell <philb@gnu.org>
* catgets/Makefile: Don't try to run test programs when
cross-compiling.
1998-08-31 Ulrich Drepper <drepper@cygnus.com>
* signal/signal.h: Include bits/sigthread.h only if __USE_POSIX.
Reported by Zack Weinberg.
1998-08-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Dist: Add umount.S and umount2.S.
* elf/Makefile (distribute): Remove ldd.sh.in.
1998-08-31 11:46 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/dl-origin.h (get_origin): Remove unused
variable.
1998-08-28 13:58 Ulrich Drepper <drepper@cygnus.com>
* internals.h: Also define THREAD_GETMEM_NC and THREAD_SETMEM_NC to
access thread data with non-constant offsets.
* specific.c: Use THREAD_GETMEM_NC and THREAD_SETMEM_NC where
necessary.
* sysdeps/i386/useldt.h: Fix typo. Add THREAD_GETMEM_NC and
THREAD_SETMEM_NC definitions.
* sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM_NC and
THREAD_SETMEM_NC.
* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
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.