Roland McGrath [Wed, 3 Mar 1999 00:31:21 +0000 (00:31 +0000)]
1999-03-03 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/bits/fcntl.h
[__USE_GNU] (O_NOFOLLOW, O_DIRECTORY): New macros.
* hurd/hurdlookup.c (__hurd_file_name_lookup): If O_NOFOLLOW is set,
set O_NOTRANS as well.
(__hurd_file_name_lookup_retry): At successful end of lookup,
if O_NOFOLLOW set, io_stat the resultant port and fail with ENOENT if
it is a translated node not owned by root.
(__hurd_file_name_lookup): If O_DIRECTORY is set, put a trailing slash
on the file name passed to LOOKUP.
Roland McGrath [Wed, 3 Mar 1999 00:31:05 +0000 (00:31 +0000)]
1999-03-03 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/bits/fcntl.h
[__USE_GNU] (O_NOFOLLOW, O_DIRECTORY): New macros.
* hurd/hurdlookup.c (__hurd_file_name_lookup): If O_NOFOLLOW is set,
set O_NOTRANS as well.
(__hurd_file_name_lookup_retry): At successful end of lookup,
if O_NOFOLLOW set, io_stat the resultant port and fail with ENOENT if
it is a translated node not owned by root.
(__hurd_file_name_lookup): If O_DIRECTORY is set, put a trailing slash
on the file name passed to LOOKUP.
Ulrich Drepper [Mon, 1 Mar 1999 07:21:39 +0000 (07:21 +0000)]
Update.
1999-03-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/i386/sys/ucontext.h (ucontext): Rename field uc_links to
uc_link which is the right name according to Unix98.
Reported by Craig Metz [PR libc/1001].
* sysdeps/arm/sys/ucontext.h (ucontext): Likewise.
* sysdeps/m68k/sys/ucontext.h (ucontext): Likewise.
* sysdeps/mips/sys/ucontext.h (ucontext): Likewise.
* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (ucontext): Likewise.
* sysdeps/unix/sysv/linux/i386/sys/ucontext.h (ucontext): Likewise
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext): Likewise.
Roland McGrath [Sun, 28 Feb 1999 13:01:23 +0000 (13:01 +0000)]
1999-02-28 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/getsockname.c (getsockname): Set *LEN to the
actual length if the adress length is smaller than the input
value. Change type of *LEN paramater to socklen_t.
* sysdeps/mach/hurd/getpeername.c (getpeername): Likewise.
* sysdeps/mach/hurd/accept.c (accept): Likewise.
* sysdeps/mach/hurd/recvfrom.c (recvfrom): Likewise.
* sysdeps/mach/hurd/sendto.c (sendto): Change type of ADDR_LEN
paramater to socklen_t.
Roland McGrath [Sun, 28 Feb 1999 13:01:16 +0000 (13:01 +0000)]
1999-02-28 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/getsockname.c (getsockname): Set *LEN to the
actual length if the adress length is smaller than the input
value. Change type of *LEN paramater to socklen_t.
* sysdeps/mach/hurd/getpeername.c (getpeername): Likewise.
* sysdeps/mach/hurd/accept.c (accept): Likewise.
* sysdeps/mach/hurd/recvfrom.c (recvfrom): Likewise.
* sysdeps/mach/hurd/sendto.c (sendto): Change type of ADDR_LEN
paramater to socklen_t.
Roland McGrath [Sat, 27 Feb 1999 20:06:34 +0000 (20:06 +0000)]
1999-02-27 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/getsysstats.c (__get_nprocs_conf, __get_nprocs,
__get_phys_pages): Cast &HBI to silence warning.
* hurd/Makefile (routines): Add hurdchdir and hurdfchdir.
* hurd/hurdchdir.c: New file.
* hurd/hurdfchdir.c: New file.
* sysdeps/mach/hurd/chroot.c: Call
_hurd_change_directory_port_from_name to do the work.
* sysdeps/mach/hurd/chdir.c: Likewise.
* sysdeps/mach/hurd/fchdir.c: Call
_hurd_change_directory_port_from_fd to do the work.
* hurd/fchroot.c: Likewise.
* hurd/hurd.h: Declare them.
Ulrich Drepper [Wed, 24 Feb 1999 09:40:04 +0000 (09:40 +0000)]
Update.
1999-02-23 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* malloc/malloc.c (mALLOC_SET_STATe): Handle the case where a
non-checked heap is restored when malloc checking was requested by
the user.
(struct malloc_state): Add using_malloc_checking.
(MALLOC_STATE_VERSION): Increment minor.
(using_malloc_checking, disallow_malloc_check): New variables.
(__malloc_check_init): Use them.
(mALLOC_GET_STATe): Use mALLOc to allocate the malloc_state, so
that it can the chunk is properly instrumented when malloc
checking is enabled. Set the new using_malloc_checking field.
(malloc_hook_ini): Correct signature when _LIBC is not defined.
1999-02-23 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/i386/dl-librecon.h
(DISTINGUISH_LIB_VERSIONS): Don't relocate DT_STRTAB a second
time.
* elf/rtld.c (dl_main): Rename paths_initialized to rtld_is_main.
Don't call elf_get_dynamic_info and _dl_setup_hash a second time
if ld.so is the main program.
* stdio-common/vfprintf.c (vfprintf): If precision or width is too
Ulrich Drepper [Tue, 23 Feb 1999 15:27:54 +0000 (15:27 +0000)]
Update.
1999-02-23 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/vfprintf.c (vfprintf): If precision or width if too
large for work_buffer, allocate new buffer.
(printf_unknown): Likewise. [PR libc/988]
Ulrich Drepper [Sat, 20 Feb 1999 23:57:48 +0000 (23:57 +0000)]
Update.
* elf/dl-deps.c (_dl_map_object_deps): Don't add dummy objects created
for tracing to the scope lists.
* elf/do-lookup.h: Remove test for l_opencount == 0 after above change.
DT_SYMTAB is always available according to ELF spec.
Ulrich Drepper [Sat, 20 Feb 1999 22:05:45 +0000 (22:05 +0000)]
Update.
* elf/dl-lookup.c (_dl_lookup_symbol_skip): Before first do_lookup
call test whether there is any scope left.
(_dl_lookup_versioned_symbol_skip): Likewise.
Ulrich Drepper [Sat, 20 Feb 1999 21:12:26 +0000 (21:12 +0000)]
Update.
* elf/Makefile (distribute): Add do-lookup.h.
* elf/do-lookup.h: New file. Split out from dl-lookup.c.
* elf/dl-lookup.c: Move do_lookup function in separate file and
include the file twice, for handling versioning and without it.
Ulrich Drepper [Sat, 20 Feb 1999 15:02:24 +0000 (15:02 +0000)]
Update.
* elf/dynamic-link.h (elf_get_dynamic_info): Take new argument with
load address. Relocate d_ptr in DT_DTRTAB, DT_SYMTAB, DT_RELA, DT_REL,
DT_JMPREL, DT_PLTGOT, and DT_VERSYM l_info entry.
(_ELF_DYNAMIC_DO_RELOC): Take extra argument which specifies whether
rel and rela relocations can both happen and skip one test if this
is not possible.
(ELF_DYNAMIC_DO_RELA, ELF_DYNAMIC_DO_REL): Call _ELF_DYNAMIC_DO_RELOC
appropriately.
* elf/dl-addr.c (_dl_addr): DT_SYMTAB and DT_STRTAB entries are
already relocated.
* elf/dl-deps.c (_dl_map_object_deps): DT_STRTAB entry is already
relocated.
* elf/dl-load.c (_dl_init_paths): DT_STRTAB entry is already relocated.
(_dl_map_object_from_fd): Call elf_get_dynamic_info with new argument.
(_dl_map_object): DT_STRTAB entry is already relocated.
* elf/dl-lookup.c (do_lookup): DT_STRTAB and DT_SYMTAB entries are
already relocated.
* elf/dl-reloc.c (_dl_relocate_object): DT_STRTAB entry is already
relocated.
* elf/dl-runtime.c (fixup): DT_SYMTAB, DT_STRTAB, DT_JMPREL, and
DT_VERSYM entries are already relocated.
(profile_fixup): Likewise.
* elf/dl-version.c: Rename VERSTAG macro into VERSYMIDX. Replace
all users.
(match_symbol): DT_STRTAB entry is already relocated.
(_dl_check_map_versions): Likewise. Also fo DT_VERSYM.
* elf/do-rel.h (elf_dynamic_do_rel): reladdr is now assumed to be
relocated already. DT_SYMTAB and DT_VERSYM entries are also relocated.
* elf/rtld.c (_dl_start): Pass extra argument to elf_get_dynamic_info.
(find_needed): DT_STRTAB entry is already relocated.
(dl_main): Pass extra argument to elf_get_dynamic_info.
DT_STRTAB entry is already relocated.
* sysdeps/alpha/dl-machine.h (elf_machine_fixup_plt): DT_JMPREL and
DT_PLTGOT entries are already relocated.
(elf_machine_rela): Likewise for DT_SYMTAB.
* sysdeps/arm/dl-machine.h (elf_machine_rel): DT_STRTAB is already
relocated.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/powerpc/dl-machine.c (__process_machine_rela): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_got_rel): Likewise.
(elf_machine_got_rel): Likewise for DT_SYMTAB and DT_STRTAB.
* grp/initgroups.c (initgroups): If function in current module was
successful don't stop but continue to process to get all the groups.
Ulrich Drepper [Fri, 19 Feb 1999 20:37:20 +0000 (20:37 +0000)]
Update.
1999-02-19 Ulrich Drepper <drepper@cygnus.com>
* elf/ldsodefs.h (_dl_signal_error): Mark as __noreturn__.
* elf/dl-load.c (lose): Make it a function at the toplevel, mark as
noreturn, and prevent it from being inlined.
Define LOSE appropriately.
(_dl_map_object_from_fd): Compare all bytes in e_ident at once.
Optimize decoding of p_flags for certain platforms.
Ulrich Drepper [Fri, 19 Feb 1999 00:00:05 +0000 (00:00 +0000)]
Update.
* elf/link.h (link_map): Add l_dev and l_ino.
* elf/dl-load.c (_dl_map_object_from_fd): Test dev/ino of newly
loaded shared object with all laoded objects. Initialize l_ino
and l_dev in case it's new.
* elf/rtld.c (dl_main): Explain situation is l_dev/l_ino with main
object.
* elf/Makefile: Compile and run new test.
* elf/multiload.c: New file.
Ulrich Drepper [Thu, 18 Feb 1999 22:27:04 +0000 (22:27 +0000)]
Update.
* nss/nsswitch.h (service_user): Change name field from const char *
to char[0].
(name_database_entry): Likewise.
* nss/nsswitch.c (nss_parse_service_list): Adjust memory allocation
for change of `service_user'.
(nss_getline): Adjust memory allocation for change of
`name_database_entry'.
Ulrich Drepper [Mon, 8 Feb 1999 10:08:45 +0000 (10:08 +0000)]
Update.
* po/el.po: New file.
1999-02-07 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* elf/dl-load.c (_dl_map_object_from_fd): Replace magic constant
when processing DT_SYMBOLIC objects.
1999-02-07 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* elf/dl-load.c (_dl_map_object_from_fd): When looking for the
program headers without PT_PHDR only require that they are
contained within one of the loaded segments. Don't use assert,
since that would be a bug in the object, not the dynamic linker.
1999-02-08 Richard Henderson <rth@cygnus.com>
* sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Save and
restore all call-clobbered fp regs.
Ulrich Drepper [Sun, 7 Feb 1999 20:46:14 +0000 (20:46 +0000)]
Update.
1999-02-03 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/generic/segfault.c: Add ADVANCE_STACK_FRAME
macro, so that architectures which need to add some special
offset to stack pointer can share this file.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/bits/mman.h: Remove.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/mman.h: Remove.
* sysdeps/unix/sysv/linux/sparc/bits/mman.h: New file - common
between sparc32 and sparc64.
* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Remove.
* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Remove.
* sysdeps/unix/sysv/linux/sparc/vfork.S: New file - common
between sparc32 and sparc64.
* sysdeps/unix/sysv/linux/sparc/sparc32/fork.S: Remove.
* sysdeps/unix/sysv/linux/sparc/sparc64/fork.S: Remove.
* sysdeps/unix/sysv/linux/sparc/fork.S: New file - common
between sparc32 and sparc64.
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.S: Remove.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.S: Remove.
* sysdeps/unix/sysv/linux/sparc/sysdep.S: New file - common
between sparc32 and sparc64.
Ulrich Drepper [Sun, 7 Feb 1999 00:06:12 +0000 (00:06 +0000)]
Update.
1999-02-06 Ulrich Drepper <drepper@cygnus.com>
* Versions.def: Add versions for ld.so.
* csu/Versions: Remove __libc_stack_end here.
* elf/Versions: Split libc definitions in libc and ld.so definitions.
* elf/Makefile (ld-map): Change to ld.so.map.
* scripts/versions.awk: Recognize dot in library names.
* ctype/ctype.h: Remove definitions of __tolower and __toupper.
Don't use __tolower and __toupper in inline functions.
Add optimizing macros for tolower and toupper.
* ctype/ctype-extn.c (_tolower): Don't use __tolower.
(_toupper): Don't use __toupper.
* ctype/ctype.c (tolower): Don't use __tolower.
(toupper): Don't use toupper.
* nscd/cache.c (prune_cache): Correct printing of debugging messages.
* resolv/Versions (libresolv): Export __ns_name_unpack and
__ns_name_ntop.
* resolv/res_comp.c: Rename ns_name_unpack to __ns_name_unpack and
make it global. Change all users. Similar for ns_name_ntop.
* resolv/nss_dns/dns-host.c: Don't use dn_expand when extracting in
user-provided buffer. Use __ns_name_unpack and __ns_name_ntop
directly to detect too small buffer.
* stdio-common/Makefile (tests): Add scanf12.
* stdio-common/scanf12.c: New file.
* stdio-common/scanf12.input: New file.
* stdio-common/vfscanf.c (__vfscanf): Handle +/- at beginning of
floating-point correctly if the number is invalid.
* stdio-common/vfscanf.c: Don't use non-reentrant multibyte conversion
* stdio-common/printf_fphex.c: Likewise.
* stdio-common/vfprintf.c: Likewise.
See ChangeLog.9 for earlier changes.
Ulrich Drepper [Wed, 3 Feb 1999 10:30:07 +0000 (10:30 +0000)]
Update.
1999-02-03 Ulrich Drepper <drepper@cygnus.com>
* elf/dlsym.c (dlsym_doit): If no symbol for RTLD_NEXT is found
initialize ref element of args object so that dlsym does not dump
a core.
* elf/dlvsym.c (dlvsym_doit): Likewise.
Ulrich Drepper [Wed, 3 Feb 1999 09:31:42 +0000 (09:31 +0000)]
Update.
1999-02-03 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S: Set branch
prediction correctly.
* sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h: Signal
takes a pointer to __sigcontext_t.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Do a nop after retl.
* sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove fork.S.