glibc/ChangeLog
Ulrich Drepper 2f6164e233 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.
1999-02-20 22:05:45 +00:00

429 lines
15 KiB
Plaintext

1999-02-20 Ulrich Drepper <drepper@cygnus.com>
* 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.
* 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.
* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): DT_PLTGOT
entry is already relocated.
* sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup):
Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_runtime_setup):
Likewise.
* sysdeps/mips/mips64/dl-machine.h (elf_machine_runtime_setup):
Likewise.
* 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.
* sysdeps/mips/mips64/dl-machine.h: Likewise.
* grp/initgroups.c (initgroups): If function in current module was
successful don't stop but continue to process to get all the groups.
* elf/dl-load.c (_dl_map_object_from_fd): Use global
_dl_pf_to_proot array to convert p_flags value.
* elf/dl-reloc.c (_dl_relocate_object): Likewise.
* elf/dynamic-link.h (elf_get_dynamic_info): Use memset instead of
loop to clear `info'.
* sysdeps/i386/i486/bits/string.h: If fill byte is constant let gcc
do the work and don't use inline assembler.
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.
1999-02-19 Philip Blundell <pb@nexus.co.uk>
* Makeconfig (link-libc): When doing a static link, make sure that
libgcc.a is included both before and after libc.a.
1999-02-18 Thorsten Kukuk <kukuk@suse.de>
* nis/nss_compat/compat-spwd.c: Fix handling of default values for
sp_warn, sp_inact, sp_expire and sp_flag.
1999-02-18 Ulrich Drepper <drepper@cygnus.com>
* 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.
* 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'.
* catgets/catgets.c: Correctly handle NLSPATH from environment
[PR libc/980].
* io/Makefile (routines): Add lock64.
* io/Versions: Add lockf64 for GLIBC_2.1.1.
* sysdeps/generic/lockf64.c: New file.
1999-02-16 Ulrich Drepper <drepper@cygnus.com>
* string/bits/string2.h: Only use strncmp optimization if count
argument is constant.
1999-02-16 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/revoke.c: New file.
1999-02-16 Ulrich Drepper <drepper@cygnus.com>
* wctype/wctype.h (_ISwbit): Cast result of shift operations to
int to avoid warning about `ISO C restricts enumerator values to
range of `int''.
1999-02-16 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* elf/dlfcn.h: Fix typo.
* sysdeps/generic/bits/dlfcn.h: Likewise.
* sysdeps/mips/bits/dlfcn.h: Likewise.
1999-02-16 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/i486/bits/string.h (memcmp): Correctly set flags
for the case N == 0.
* db2/Makefile (distribute): Add LICENSE.
1999-02-03 Jeff Bailey <jbailey@nisa.net>
* sysdeps/unix/make_errlist.c: Add i18n and copyright to
generated files.
* sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c: Fix typo.
1999-02-16 Ulrich Drepper <drepper@cygnus.com>
* time/mktime.c: Use ISO C form for function definitions and
remove unnecessary prototypes.
* sysdeps/posix/getaddrinfo.c (getaddrinfo): Fix typo in last change.
* time/time.h: Avoid unneccesary #ifdef.
1999-02-15 Geoff Keating <geoffk@ozemail.com.au>
* stdio-common/_itoa.c (_itoa): Correct parameters to
udiv_qrnnd_preinv.
1999-02-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/sys/cdefs.h: Undefine __PMT since it might be defined
before (e.g. in glob.h).
Closes PR libc/959.
1999-02-16 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/mips/fpu_control.h: Fix typo.
Patch by Sylvain Pion <Sylvain.Pion@sophia.inria.fr>.
Remove __setfpucw.
1999-02-10 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/pipe.c (__pipe): Don't call __socket_shutdown on
the "unused" ends of the sockets. Let pipes be bidirectional.
1999-02-15 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/getaddrinfo.c (getaddrinfo): Correct test for
invalid ai_flags.
1999-02-15 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/llio.texi (Waiting for I/O): Correct meaning. Patch by
Jochen Voss <voss@mathematik.uni-kl.de> [PR libc/969].
* manual/setjmp.texi (Non-Local Exits and Signals): Fix
typo. Patch by Jochen Voss <voss@mathematik.uni-kl.de> [PR libc/970].
1999-02-15 Ulrich Drepper <drepper@cygnus.com>
* string/Versions: Add __strverscmp to GLIBC_2.1.1.
1999-02-13 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* misc/syslog.c (vsyslog): Remember errno for %m format. Fix
check for priority mask.
1999-02-14 Ulrich Drepper <drepper@cygnus.com>
* resolv/netdb.h (AI_NUMERICHOST): Change to 4.
Reported by Craig Metz <cmetz@inner.net> .
1999-02-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* stdio-common/Makefile (tests): tllformat added.
* stdio-common/tllformat.c: New program, based on tiformat.c with
examples from Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
1999-02-14 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* posix/test-vfork.c: Fix exit status test.
1999-02-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sa_len.c (__libc_sa_len): Add some
missing cases. Reported by Craig Metz <cmetz@inner.net> [PR libc/964].
1999-02-14 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/m68k/fpu/s_modf.c: Optimized by using __m81_test instead
of separare explicit comparisons.
1999-02-11 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h: Always define ldiv_t if not yet
defined.
* sysdeps/wordsize-32/inttypes.h: Always define lldiv_t if not yet
defined.
1999-02-09 Ulrich Drepper <drepper@cygnus.com>
* po/el.po: Update from translation team.
1999-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* intl/locale.alias: Fix slovenian entry [PR libc/948].
1999-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* elf/sprof.c: assert.h isn't used anymore, remove inclusion.
* inet/ruserpass.c: Likewise.
* locale/programs/stringtrans.c: Likewise.
* locale/programs/localedef.c: Likewise.
* nscd/grpcache.c: Likewise.
* nss/nss_files/files-XXX.c: Likewise.
* stdlib/canonicalize.c: Likewise.
* sysdeps/posix/sigwait.c: Likewise.
1999-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sunrpc/pmap_rmt.c (clnt_broadcast): We need 32 bit comparison
even on 64 bit platforms.
* sunrpc/clnt_tcp.c (clnttcp_call): Likewise.
Patch by Loic Prylli <Loic.Prylli@ens-lyon.fr>.
1999-02-09 Ulrich Drepper <drepper@cygnus.com>
* intl/dcgettext.c: Include locale.h is available.
1999-02-08 Ulrich Drepper <drepper@cygnus.com>
* po/nl.po: Update from translation team.
* sysdeps/libm-i387/s_asinhf.S: Correct computing absolute value.
* Makefile: Allow calling goals for po subdir.
* sysdeps/unix/sysv/linux/alpha/bits/signum.h: Add missing RT
signal definitions.
* 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.
1999-02-08 Ulrich Drepper <drepper@cygnus.com>
* po/cs.po: New file.
* resolv/res_hconf.c (_res_hconf_init): Don't use ENV_HOSTCONF for
SUID binaries.
1999-02-07 Ulrich Drepper <drepper@cygnus.com>
* signal/signal.h: Don't declare __libc_allocate_rtsig.
* include/signal.h: Declare __libc_allocate_rtsig here.
* elf/dl-lookup.c: Increment _dl_num_relocations in the four entry
point functions, not do_lookup since the later can be called more
than once.
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.
1999-02-07 Ulrich Drepper <drepper@cygnus.com>
* Versions.def: New version GLIBC_2.1.1 for libc.
* stdlib/Versions: Add _Exit, imaxdiv, and imaxdiv to GLIBC_2.1.1.
* stdlib/labs.c: Moved to...
* sysdeps/generic/labs.c: ...here.
* stdlib/llabs.c: Moved to...
* sysdeps/generic/llabs.c: ...here.
* stdlib/stdlib.h: Allow definition of ldiv_t and lldiv_t in other
header. Declare _Exit.
* sysdeps/generic/_exit.c: Add alias _Exit.
* sysdeps/mach/hurd/_exit.c: Likewise.
* sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise.
* sysdeps/standalone/i960/nindy960/_exit.c: Likewise.
* sysdeps/standalone/m68k/m68020/mvme136/_exit.c: Likewise.
* sysdeps/unix/_exit.c: Likewise.
* sysdeps/wordsize-32/inttypes.h: Define imaxdiv_t and declare
imaxdiv and imaxabs. Declare lldiv_t if necessary.
* sysdeps/wordsize-64/inttypes.h: Likewise.
* sysdeps/wordsize-32/llabs.c: New file.
* sysdeps/wordsize-32/lldiv.c: New file.
* sysdeps/wordsize-64/labs.c: New file.
* sysdeps/wordsize-64/ldiv.c: New file.
* manual/arith.texi: Document imaxabs, imaxdiv_t, and imaxdiv.
* manual/startup.texi: Document _Exit.
1999-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* nscd/cache.c: Include <arpa/inet.h> for inet_ntop.
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.
* resolv/nss_dns/dns-network.c: Likewise.
* 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
functions.
* stdio-common/printf_fp.c: Likewise.
* stdio-common/printf_fphex.c: Likewise.
* stdio-common/vfprintf.c: Likewise.
See ChangeLog.9 for earlier changes.