Commit Graph

802 Commits

Author SHA1 Message Date
Ulrich Drepper
9cddf9deda Update.
2001-12-18  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (clone): Subtract
	stack bias from child stack pointer before passing it to clone syscall.

2001-12-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/sysconf.c (__sysconf): Respect POSIX minimum for
	_SC_TZNAME_MAX.
	* sysdeps/generic/sysconf.c (__sysconf): Likewise.
	Reported by Thorsten Kukuk <kukuk@suse.de>.

	* sysdeps/unix/grantpt.c (grantpt): Correct typo in comment and
	add some casts.

	* sysdeps/unix/sysv/linux/grantpt.c: Make __unix_grantpt static.

2001-12-18  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/unix/sysv/linux/grantpt.c: Make errno results standard
	conforming: return EBADF if file descriptor is invalid and EINVAL
	if file descriptor is no valid tty.
	* login/tst-grantpt.c: New file.
	* login/Makefile (tests): Add tst-grantpt.
2001-12-19 00:21:23 +00:00
Ulrich Drepper
638621aff9 Update.
* sysdeps/generic/strstr.c (strstr): Update.  New optimized version.
2001-12-14 22:17:03 +00:00
Ulrich Drepper
32e6df3621 Update.
2001-12-11  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (dl-routines): Add conflict.
	(rtld-ldscript-in, rtld-ldscript, rtld-parms): Remove.
	(ld.so): Add _begin local symbol.
	* elf/elf.h (DT_VALTAGIDX, DT_VALNUM, DT_ADDRTAGIDX, DT_ADDRNUM):
	Define.
	* elf/dl-deps.c (_dl_build_local_scope): New.
	(_dl_map_object_deps): If LD_TRACE_PRELINKING, compute local scopes
	of all libraries.
	* elf/do-rel.h (VALIDX): Define.
	(elf_dynamic_do_rel): If ELF_MACHINE_PLT_REL is defined, don't do
	lazy binding for RELA.  If DT_GNU_PRELINKED, DT_RELACOUNT relocations
	can be skipped.
	* elf/dl-conflict.c: New file.
	* elf/dl-lookup.c (_dl_debug_bindings): New.
	(_dl_lookup_symbol): Use _dl_debug_bindings.  Reference_name is always
	non-NULL.
	(_dl_lookup_symbol_skip): Likewise.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	* elf/dl-runtime.c (PLTREL): If ELF_MACHINE_PLT_REL is defined,
	define to ElfW(Rel).
	* elf/dynamic-link.h (elf_get_dynamic_info): Record selected dynamic
	tags in the DT_VALRNGLO..DT_VALRNGHI and DT_ADDRRNGLO..DT_ADDRRNGHI
	ranges.
	Don't adjust address dynamic tags if l_addr is 0.
	* elf/rtld.c (_dl_trace_prelink, _dl_trace_prelink_map): New variables.
	(_dl_start): Skip ELF_DYNAMIC_RELOCATE if ld.so is prelinked.
	(VALIDX, ADDRIDX): Define.
	(_dl_start_final): Initialize _dl_rtld_map's l_map_start and l_map_end.
	(dl_main): Print library list for LD_TRACE_PRELINKING.
	If prelinking information can be used, skip relocating libraries and
	call _dl_resolve_conflicts instead.
	(process_envvars): Handle LD_TRACE_PRELINKING envvar.
	* elf/dl-load.c (_dl_map_object): Don't create fake libs
	if LD_TRACE_PRELINKING.
	* include/link.h (struct link_map) [l_info]: Add DT_VALNUM
	+ DT_ADDRNUM.
	* sysdeps/generic/ldsodefs.h (_dl_trace_prelink_map): New declaration.
	(DL_DEBUG_PRELINK): Define.
	(_dl_resolve_conflicts): Add prototype.

	* sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Reinitialize
	.plt for prelinked libraries where prelinking info cannot be used.
	(elf_machine_rela): If relocating R_ALPHA_JMP_SLOT in .gnu.conflict
	section, use RESOLVE_CONFLICT_FIND_MAP to find out reloc's link_map.
	* sysdeps/arm/bits/link.h: New file.
	* sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP.
	(ELF_MACHINE_PLT_REL): Define.
	(elf_machine_rela, elf_machine_rela_relative): New.
	(elf_machine_lazy_rel): Reinitialize R_ARM_JUMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/i386/bits/link.h: New file.
	* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP.
	(ELF_MACHINE_PLT_REL): Define.
	(elf_machine_rela, elf_machine_rela_relative): New.
	(elf_machine_lazy_rel): Reinitialize R_386_JUMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/powerpc/dl-machine.h (elf_machine_rela): If relocating
	conflicts, skip finaladdr computation.  Use RESOLVE_CONFLICT_FIND_MAP
	to find out map for R_PPC_JMP_SLOT relocs.
	* sysdeps/sparc/sparc32/dl-machine.h (VALIDX): Define.
	(OPCODE_BA): Define.
	(elf_machine_runtime_setup): Reinitialize .plt for prelinked
	libraries where prelinking info cannot be used.
	(sparc_fixup_plt): Renamed from elf_machine_fixup_plt.
	(elf_machine_fixup_plt): Call sparc_fixup_plt.
	(elf_machine_rela): Set value to 0 if relocating conflicts.
	Call sparc_fixup_plt for R_SPARC_JMP_SLOT.
	* sysdeps/sparc/sparc64/dl-machine.h (VALIDX): Define.
	(sparc64_fixup_plt): Fix a typo.
	(elf_machine_rela): Set value to 0 if relocating conflicts.
	Handle R_SPARC_JMP_SLOT relocs when relocating conflicts.
	(elf_machine_runtime_setup): Reinitialize .plt for prelinked
	libraries where prelinking info cannot be used.
	* sysdeps/sh/bits/link.h: New file.
	* sysdeps/sh/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_SH_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/s390/s390-32/bits/link.h: New file.
	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/s390/s390-64/bits/link.h: New file.
	* sysdeps/s390/s390-64/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/x86_64/bits/link.h: New file.
	* sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_X86_64_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
2001-12-12 00:21:26 +00:00
Ulrich Drepper
870a4e1253 Update.
2001-12-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/glob.c (glob): Return only pattern if nothing
	matches and GLOB_NOCHECK is set.
	* posix/globtest.sh: Correct expected result for NOCHECK test.

	* po/ca.po: Update from translation team.
2001-12-10 12:21:07 +00:00
Ulrich Drepper
f5e6e2ee30 Update.
* sysdeps/generic/strncase.c: Likewise.
2001-12-06 05:11:32 +00:00
Ulrich Drepper
516a9b2a85 (__strcasecmp): Little performance patch. 2001-12-06 01:22:25 +00:00
Ulrich Drepper
638670cd4e (next_brace_sub): Return NULL if braces don't match, fix {{a,b},c} globbing, clean up. 2001-11-29 21:53:29 +00:00
Andreas Jaeger
f43cc81c01 Include libioP.h for _IO_flush_all_lockp prototype. 2001-11-29 11:11:36 +00:00
Ulrich Drepper
c6baa867d3 Update.
2001-11-28  Ulrich Drepper  <drepper@redhat.com>

	* libio/genops.c (_IO_flush_all_lockp): New function.  The same code
	as the old _IO_flush_all but lock only if parameter is nonzero.
	(_IO_flush_all): Call _IO_flush_all_lockp with 1 as parameter.
	* libio/libioP.h: Add prototype for _IO_flush_all_lockp.
	* sysdeps/generic/abort.c (fflush): Define to _IO_flush_all_lockp(0)
	if libio is used.
2001-11-28 23:35:29 +00:00
Ulrich Drepper
5ff4a0aa78 Update.
2001-11-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/unwind-dw2-fde.c: Don't use recursive mutexes.
2001-11-16 01:43:09 +00:00
Ulrich Drepper
74bd2300b5 Update.
2001-10-02  Jakub Jelinek  <jakub@redhat.com>
	    H.J. Lu  <hjl@gnu.org>

	* configure.in (libc_cv_gcc_static_libgcc): Set to -static-libgcc
	if gcc supports this flag.
	(EXPORT_UNWIND_FIND_FDE): Define unless target configure disables it.
	(gcc3): Allow glibc to be compiled with gcc 3.x.
	* config.h.in (EXPORT_UNWIND_FIND_FDE): Add.
	* config.make.in (static-libgcc, unwind-find-fde): Add.
	* Makerules (build-shlib-helper, build-module-helper): Use it.
	* scripts/versions.awk: Make sure GLIBC_ versions come first.
	* elf/soinit.c (__libc_global_ctors): Set tbases and dbases if
	necessary.
	(_fini): Call __deregister_frame_info_bases if
	__register_frame_info_bases was used to register.
	* elf/Versions (__register_frame_info, __deregister_frame_info): Add
	for GLIBC_2.0.
	(__register_frame_info_bases, __register_frame_info_table_bases,
	__deregister_frame_info_bases, _Unwind_Find_FDE): Add for GLIBC_2.2.5.
	* elf/Makefile (routines): Add unwind-dw2-fde.
	(shared-only-routines): Add unwind-dw2-fde.
	* sysdeps/alpha/gccframe.h: New file.
	* sysdeps/arm/gccframe.h: New file.
	* sysdeps/generic/framestate.c: New file.
	* sysdeps/generic/dwarf2.h: New file.
	* sysdeps/generic/gccframe.h (struct object): Update from gcc 3.0.
	* sysdeps/generic/unwind-dw2-fde.c: New file.
	* sysdeps/unix/sysv/linux/ia64/unwind-dw2-fde.c: New file.
	* sysdeps/generic/unwind-dw2-fde.h: New file.
	* sysdeps/generic/unwind-dw2.c: New file.
	* sysdeps/generic/unwind-pe.h: New file.
	* sysdeps/generic/unwind.h: New file.
	* sysdeps/hppa/gccframe.h: New file.
	* sysdeps/i386/gccframe.h: New file.
	* sysdeps/m68k/gccframe.h: New file.
	* sysdeps/mips/gccframe.h: New file.
	* sysdeps/powerpc/gccframe.h: New file.
	* sysdeps/s390/gccframe.h: New file.
	* sysdeps/sh/gccframe.h: New file.
	* sysdeps/sparc/gccframe.h: New file.
	* sysdeps/vax/gccframe.h: New file.
	* sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde):
	Set on all architectures except ia64.
	* sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Set
	for i386.
	* sysdeps/mach/hurd/i386/Versions (__register_frame_info,
	__deregister_frame_info): Move to elf/Versions.
	* sysdeps/unix/sysv/linux/m68k/Versions: Likewise.
	* sysdeps/unix/sysv/linux/arm/Versions: Likewise.
	* sysdeps/unix/sysv/linux/alpha/Versions: Likewise.
	* sysdeps/unix/sysv/linux/i386/Versions: Likewise.
	* sysdeps/unix/sysv/linux/mips/Versions: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Versions: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise.
	* sysdeps/mach/hurd/i386/Makefile (sysdep-routines): Add framestate.
	* sysdeps/unix/sysv/linux/arm/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/alpha/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/mips/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/sparc/Makefile: Likewise.

	* sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: New file.
	* sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: New file.
	* sysdeps/generic/strnlen.c: New file.
2001-11-16 01:27:24 +00:00
Roland McGrath
27114e2046 * stdio-common/tmpfile.c: Moved to ...
* sysdeps/generic/tmpfile.c: ... here.
	* sysdeps/mach/hurd/tmpfile.c: New file.

	* hurd/fopenport.c (__fopenport): Renamed from fopenport.
	[USE_IN_LIBIO] (fopencookie): #define as _IO_fopencookie.
	(fopenport): Define as weak alias.

	* libio/iofopncook.c (_IO_fopencookie): Move forward declaration ...
	* libio/libioP.h: ... to here.
2001-11-13 10:07:33 +00:00
Ulrich Drepper
9d63abbc7f Update.
2001-11-10  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (_dl_map_object_from_fd): Remove use of
	_dl_pf_to_prot.  Use arithmetic operation using PF_TO_PROT macro.
	* sysdeps/generic/ldsodefs.h (PF_TO_PROT): New macro.
	* elf/dl-reloc.c (_dl_relocate_object): Likewise.
2001-11-10 22:47:40 +00:00
Ulrich Drepper
40b07f5b94 Update.
* sysdeps/generic/dl-cache.c: Optimize SEARCH_CACHE and
	HWCAP_CHECK macro code.

	* elf/dl-misc.c (_dl_sysdep_read_whole_file): Optimize code a bit.
	Now returns MAP_FAILED on error.
	* elf/rtld.c: Adjust caller.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Adjust description.
2001-11-08 01:48:57 +00:00
Ulrich Drepper
dd7a9e89f4 (DL_DEBUG_HELP): New macro. 2001-11-06 20:15:40 +00:00
Ulrich Drepper
c95f3fd42e Update.
* elf/elf.h: Add dynamic tag definitions for prelinking.

	* elf/rtld.c (process_envvars): Avoid using array of string pointers.
	Rewrite code to remove environment varables for SUID binaries.
	Small optimization in LD_PROFILE handling.
	* sysdeps/generic/unsecvars.h: Adjust format for process_envvars
	changes.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.

	* sysdeps/generic/dl-sysdep.c: Don't initialize _dl_cpuclock_offset.
2001-11-06 00:16:32 +00:00
Ulrich Drepper
ea41b9267d Update.
* elf/dl-reloc.c (_dl_reloc_bad_type): Rewrite to not use writable
	strings.  Change type of second parameter.
	* sysdeps/generic/ldsodefs.h: Adjust _dl_reloc_bad_type prototype
	for last change.
2001-11-05 22:13:46 +00:00
Roland McGrath
d3b82fcc5f Support for Mach/PowerPC contributed by Peter Bruin <pjbruin@dds.nl>.
* sysdeps/mach/powerpc/machine-sp.h: New file.
	* sysdeps/mach/powerpc/sysdep.h: New file.
	* sysdeps/mach/powerpc/thread_state.h: New file.

	* sysdeps/mach/hurd/i386/Makefile: File removed; crt0.o rules moved ...
	* sysdeps/mach/hurd/Makefile: ... to here.  For the time being, we can
	expect to need the same thing on every platform.

	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: File moved ...
	* sysdeps/generic/sys/ucontext.h: ... to replace this one.
2001-10-29 04:39:05 +00:00
Ulrich Drepper
ca6c73895d Update.
2001-10-26  Ulrich Drepper  <drepper@redhat.com>

	* string/strxfrm.c [USE_IN_EXTENDED_LOCALE_MODEL]: Correctly get
	nrules value.

2001-10-24  H.J. Lu  <hjl@gnu.org>

	* sysdeps/generic/bits/dlfcn.h (DL_CALL_FCT): Cast to void *.
	Use __BEGIN_DECLS/__END_DECLS around prototypes.
	* sysdeps/mips/bits/dlfcn.h (DL_CALL_FCT): Likewise.

2001-10-21  Jim Meyering  <meyering@lucent.com>

	* malloc/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
	this code would end up calling gettext even in packages built
	with --disable-nls.
	* posix/getopt.c (_): Likewise.
	* posix/regex.c (_): Likewise.

2001-10-26  Ulrich Drepper  <drepper@redhat.com>

	* resolv/gethnamaddr.c (gethostbyaddr): Use ip6.addr for reverse
	lookup not ip6.int.
	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise.
	Reported by Martin.v.Loewis@t-online.de [PR libc/2598].

2001-10-19  Jakub Jelinek  <jakub@redhat.com>

	* misc/sys/cdefs.h (__attribute_used__): Define.
	* elf/rtld.c (_dl_start): Add __attribute_used__.
	* elf/dl-runtime.c (fixup, profile_fixup): Likewise.
2001-10-27 00:23:28 +00:00
Ulrich Drepper
b61345a1ad Update.
2001-10-04  Ben Collins  <bcollins@debian.org>

	* sysdeps/generic/inttypes.h: Fix typo (define, not defined) in
	decleration of __need_wchar_t.

2001-10-03  Jakub Jelinek  <jakub@redhat.com>

	* string/bits/string2.h (__strsep_g): Add prototype.
	(__strsep): Use it.
	* string/Versions (__strsep): Remove.
	* sysdeps/generic/strsep.c (__strsep_g): Add alias to __strsep.

2001-10-07  Ulrich Drepper  <drepper@redhat.com>

	* manua/llio.texi: Clarify file references added by mmap.
	Patch by Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>.
2001-10-07 20:26:31 +00:00
Andreas Jaeger
51e5928164 Update.
2001-09-18  Andreas Jaeger  <aj@suse.de>

	* sysdeps/i386/fpu/s_logbl.S: Move to ...
	* sysdeps/i386/fpu/s_logbl.c: ...here, use inline assembler.

	* sysdeps/i386/fpu/s_rintl.S: Move to ...
	* sysdeps/i386/fpu/s_rintl.c: ...here, use inline assembler.

	* sysdeps/i386/fpu/s_significandl.S: Move to ...
	* sysdeps/i386/fpu/s_significandl.c: ...here, use inline assembler.
2001-09-18 14:13:20 +00:00
Andreas Jaeger
e545f13f56 Readd special linkage permissions to license. 2001-09-18 12:27:15 +00:00
Ulrich Drepper
84aafa9199 Update.
2001-09-07  Tom Rix  <trix@redhat.com>

	* sysdeps/unix/sysv/aix/sysv_termio.h: New file.

2001-08-26  Tom Rix  <trix@redhat.com>

	* sysdeps/unix/sysv/aix/Makefile (aix-syscalls.o): More linker
	command line options.
	* sysdeps/unix/sysv/aix/start.s: New file, rework of start.c
	* sysdeps/unix/sysv/aix/start.c: Removed.
	* sysdeps/unix/sysv/aix/start-libc.c: New file.
	* sysdeps/unix/sysv/aix/init-first.c: New file.
	* sysdeps/unix/sysv/aix/fcntl.c: Alias __libc_fcntl to __fcntl.

2001-09-08  Ben Collins  <bcollins@debian.org>

	* sysdeps/arm/dl-machine.h: Fix usage of new _dl_signal_error() format.
	* sysdeps/generic/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-fptr.c: Likewise.
	* sysdeps/ia64/dl-fptr.c: Likewise.
	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
	* sysdeps/mips/dl-machine.h: Likewise.
	* sysdeps/mips/mips64/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-machine.c: Likewise.

2001-09-07  Ben Collins  <bcollins@debian.org>

	* sysdeps/sparc/sparc32/dl-machine.h: Fix typo.

	* sysdeps/hppa/dl-lookupcfg.h: Forward declare struct link_map.

	* elf/dl-lookup.c (add_dependency): Bump l_opencount of all
	dependencies if necessary.
2001-09-08 17:45:32 +00:00
Ulrich Drepper
407fe3bbb3 Update.
2001-09-04  Ulrich Drepper  <drepper@redhat.com>

	Correct very misleading message for error in failed runtime relocation.
	* elf/dl-error.c (_dl_signal_error): Take extra parameter to describe
	place of the error.
	(_dl_signal_cerror): Likewise.
	* sysdeps/generic/ldsodefs.h: Adjust prototypes.
	* elf/dl-close.c: Likewise.
	* elf/dl-deps.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-version.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
2001-09-05 03:42:43 +00:00
Ulrich Drepper
1bc83d2bb2 Update.
2001-09-01  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/elf/Dist: Remove file.
	* sysdeps/alpha/elf/Makefile: Remove file.
	* sysdeps/alpha/elf/crtbegin.S: Remove file.
	* sysdeps/alpha/elf/crtend.S: Remove file.
	* sysdeps/alpha/elf/initfini.c: New file.

2001-09-01  Mark Kettenis  <kettenis@gnu.org>

	* iconv/tst-iconv1.c: Include <stddef.h> for wchar_t.
	* iconv/tst-iconv3.c: Likewise.

2001-09-01  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/inttypes.h (__gwchar_t): Define to wchar_t for C++.

	handle it like 'I' for symmetry with strftime.
2001-09-01 19:24:55 +00:00
Ulrich Drepper
c06a49c551 Update.
2001-08-27  Ulrich Drepper  <drepper@redhat.com>

	* misc/syslog.c (vsyslog): Try a bit harder to use syslogd.  If
	the connection went down after we first used it try to connect
	again and resend the message before printing to the console.
	Reported by Coserea Gh. Tudor <tudore@tudore.gecadsoftware.com>.

2001-08-27  Jakub Jelinek  <jakub@redhat.com>

	* string/tst-strlen.c (main): Test strnlen (, -1) too.
	* sysdeps/generic/strnlen.c (__strnlen): Fix for maxlens with top
	bit set.

2001-08-27  Ulrich Drepper  <drepper@redhat.com>

	* iconv/strtab.c (searchstring): Use correct length for
	comparison.
	(strtabadd): Account total size correct if new string has old string as
	substring.
2001-08-28 04:52:25 +00:00
Ulrich Drepper
cf5a372ec1 Update.
2001-08-26  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-reloc.c (RESOLVE_MAP, RESOLVE): Use elf_machine_type_class
	instead of elf_machine_lookup_noexec_p and elf_machine_lookup_noplt_p.
	Pass type_class to _dl_lookup_*.
	* elf/dl-lookup.c (_dl_lookup_symbol): Take type_clas parameter now.
	Pass around just type_class instead of noexec, noplt pair.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_symbol_skip): Pass around just type_class instead of
	noexec, noplt pair.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	(_dl_do_lookup, _dl_do_lookup_versioned): Likewise.
	* elf/do-lookup.h (do_lookup): Likewise.
	* include/link.h (struct link_map): Replace noexec and noplt fields
	in l_lookup_cache with type_class field.
	* sysdeps/generic/ldsodefs.h (ELF_RTYPE_CLASS_PLT,
	ELF_RTYPE_CLASS_COPY): Define.
	Adjust prototypes for _dl_lookup_symbol and
	_dl_lookup_versioned_symbol.
	* sysdeps/alpha/dl-machine.h (elf_machine_lookup_noplt_p,
	elf_machine_lookup_noexec_p): Remove.
	(elf_machine_type_class): Define.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/cris/dl-machine.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/mips/mips64/dl-machine.h: Likewise.
	* sysdeps/mips/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
2001-08-26 22:28:16 +00:00
Ulrich Drepper
680254fe22 Update.
* include/link.h (struct link_map): Add l_lookup_cache element.
	* elf/dl-reloc.c (RESOLVE): Add symbol caching here.
	(RESOLVE_MAP): Likewise.
	(_dl_relocate_object): Remove cache initialization.
	* elf/dl-lookup.c: Rip out cache handling code.
	* sysdeps/generic/ldsodefs.h: Remove lookup_cache struct and variable
	declarations.

	* elf/dl-lookup.c (_dl_lookup_symbol): Reorder some conditions and
	remove some __builtin_expect.
	(_dl_lookup_versioned_symbol): Likewise.

	R_386_RELATIVE handling for ld.so startup.  Reduce RTLD_BOOTSTRAP
	case to almost no code.
2001-08-26 10:50:26 +00:00
Roland McGrath
edb6388469 * sysdeps/generic/bits/libc-lock.h: Same changes. 2001-08-24 03:25:40 +00:00
Roland McGrath
28cb929572 2001-08-23 Roland McGrath <roland@frob.com>
* sysdeps/generic/bits/stdio-lock.h (_IO_lock_initializer): Define to
	_LIBC_LOCK_RECURSIVE_INITIALIZER if defined, else do an #error.
	(__libc_cleanup_region_start, __libc_cleanup_region_end,
	__libc_clean_end): Define these to call the cleanup function after
	normal exit when they're supposed to.
	* sysdeps/mach/bits/libc-lock.h (__libc_cleanup_region_start):
	Take new first arg DOIT, a boolean saying whether to really install
	any cleanup handler.
	(__libc_cleanup_region_end): Do nothing if start's DOIT arg was zero.
	(__libc_cleanup_end): Likewise.
	* stdio-common/vfscanf.c (LOCK_STREAM): Pass new arg.
	* stdio-common/vfprintf.c (buffered_vfprintf, vfprintf): Likewise.
	* sysdeps/mach/hurd/bits/stdio-lock.h (_IO_cleanup_region_start):
	Likewise.
	* misc/syslog.c (vsyslog, openlog, closelog): Likewise.
	* sysdeps/generic/bits/stdio-lock.h
	(_IO_cleanup_region_start, _IO_cleanup_region_start_noarg): Likewise.
2001-08-24 03:20:56 +00:00
Ulrich Drepper
647eb037f3 Update.
2001-08-23  Jakub Jelinek  <jakub@redhat.com>

	* elf/ldconfig.c (search_dir): Remove stale symlinks.

2001-08-23  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (lookup_cache, lookup_cache_versioned): New.
	(_dl_lookup_symbol): Lookup relocations in cache and store successfull
	lookups in cache.
	(_dl_lookup_versioned_symbol): Likewise.
	* elf/dl-reloc.c (_dl_relocate_object): Initialize cache for
	relocation lookup.
	* elf/rtld.c (print_statistics): Output _dl_num_cache_relocations.
	* sysdeps/generic/ldsodefs.h (struct lookup_cache): New definition.
	(lookup_cache, lookup_cache_versioned): Add declarations.

2001-08-23  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/tst-random.c (main): Swap parameters in fail call.
	Patch by Pete Bevin <pete@petebevin.com>.

2001-08-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/inttypes.h: Use __gwchar_t instead of __wchar_t.

	* malloc/obstack.c: Indent preprocessor directives.
	Patch by Jim Meyering <meyering@ascend.com>.
2001-08-23 23:36:47 +00:00
Roland McGrath
c12aa80156 * sysdeps/generic/ldsodefs.h (_dl_load_lock): Declare it here with
__libc_lock_define_recursive.
	* elf/dl-open.c: Don't declare it here any more.
	* elf/dl-close.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-lookup.c (add_dependency): Use __libc_lock_lock_recursive and
	__libc_lock_unlock_recursive.
	* elf/dl-close.c (_dl_close): Likewise
	* elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise
	* elf/dl-open.c (_dl_open): Likewise

	* sysdeps/generic/bits/libc-lock.h
	(__libc_lock_define_recursive): New macro.
	* sysdeps/generic/bits/stdio-lock.h (_IO_lock_t): Use it.
	(_IO_lock_lock): Use __libc_lock_lock_recursive.
	(_IO_lock_unlock): Use __libc_lock_unlock_recursive.
2001-08-23 06:03:42 +00:00
Roland McGrath
8179dcc108 * conform/conformtest.pl (checknamespace): Sort the output list.
* sysdeps/generic/bits/poll.h (POLLWRBAND): New alias for POLLOUT.
	(POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLWRBAND): Make these
	definitions conditional on [__USE_XOPEN].

	* sysdeps/mach/hurd/bits/fcntl.h (O_ASYNC, O_FSYNC, O_SYNC): Define
	these unconditionally, not only use [__USE_BSD], so as to match
	the sysdeps/unix/sysv/linux files.
2001-08-23 04:34:57 +00:00
Roland McGrath
bedbf86c74 2001-08-22 Roland McGrath <roland@frob.com>
* sysdeps/generic/bits/sigaction.h (struct sigaction): Fix up
	conditionalization of sa_handler/sa_sigaction member types to
	match the sysdeps/unix/sysv/linux file.
2001-08-23 03:07:50 +00:00
Roland McGrath
e225a4442b 2001-08-22 Roland McGrath <roland@frob.com>
* sysdeps/generic/dl-environ.c: Include <stdlib.h> and <unistd.h>,
	and don't declare unsetenv or _environ directly.
	(unsetenv): Return int, not void.  Use __environ instead of _environ.
2001-08-23 00:51:01 +00:00
Ulrich Drepper
2e3e5db668 Update.
2001-08-22  Jakub Jelinek  <jakub@redhat.com>

	* sunrpc/xdr_rec.c (xdrrec_create): Fix buf sizes before allocating
	buf.  Free resources on failure.
	* sunrpc/svc_unix.c (svcunix_create): Free resources on failure.
	(makefd_xprt): Likewise.
	* sunrpc/svc_udp.c (svcudp_bufcreate): Likewise.
	* sunrpc/svc_tcp.c (svctcp_create, makefd_xprt): Likewise.
	* sunrpc/auth_unix.c (authunix_create): Likewise.

2001-08-21  Jakub Jelinek  <jakub@redhat.com>

	* string/strnlen.c: Remove.
	* sysdeps/generic/strnlen.c: New.
	* sysdeps/i386/i486/bits/string.h (strnlen): Remove.
2001-08-22 17:00:32 +00:00
Ulrich Drepper
091b895531 Update.
* sysdeps/generic/strtol.c: Little optimizations.  Add some
	__builtin_expect.
2001-08-19 03:52:42 +00:00
Ulrich Drepper
689849878d Update.
* time/time.h (struct timespec): Use __time_t for tv_sec element.

	* sysdeps/generic/inttypes.h: Define __wchar_t.  Use it instead of
	wchar_t for function declarations and defintions.

	* misc/sys/select.h: Define __need_time_t before including <time.h>.
	Define suseconds_t if it hasn't happened yet.

	* iconv/gconv.h: Define __need_wchar_t before including <stddef.h>.

	* conform/data/sys/uio.h-data: Allow UIO_MAXIOV to be defined.

	* sysdeps/generic/stdint.h: Don't get definition of wchar_t from
	<stddef.h>.

	* conform/data/stddef.h-data: Remove wint_t.
2001-08-18 23:36:58 +00:00
Ulrich Drepper
6293b80374 Update.
2001-08-17  Ulrich Drepper  <drepper@redhat.com>

	* sunrpc/svc_simple.c (universal): Use __write instead of write.

	* wcsmbs/wcscoll.c: Also define __wcscoll.
	* include/wchar.h: Declare __wcscoll.

	* libio/fwprintf.c: Use __vfwprintf instead of vfwprintf.
	* libio/vwprintf.c: Likewise.
	* libio/wprintf.c: Likewise.

	* iconv/gconv_cache.c: Use __munmap instead of munmap.

	* posix/regex.c [_LIBC] (convert_mbs_to_wcs): Use __mbrtowc
	instead of mbrtowc.
	[_LIBC]: Use __iswctype instead of iswctype, __wcslen instead of
	wcslen, and __wcscoll instead of wcscoll.

	* sysdeps/unix/sockatmark.c (sockatmark): Use __ioctl instead of ioctl.

	* sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): Use
	__getuid instead of getuid.

	* stdio-common/perror.c (perror): Use __close instead of close.
	* iconv/gconv_cache.c (__gconv_load_cache): Likewise.
	* libio/freopen.c (freopen): Likewise.
	* libio/freopen64.c (freopen64): Likewise.
2001-08-17 07:51:36 +00:00
Ulrich Drepper
51028f34ce Update.
* libio/tst-ungetwc2.c (main): Define str const.

	* include/wchar.h: Add prototypes for __fwprintf and __vfwprintf.
	* libio/fwprintf.c: Also define __fwprintf.
	* stdio-common/vfprintf.c [COMPILE_WPRINTF]: Also define __vfwprintf.
	* argp/argp-fmtstream.c: Handle wide oriented stderr stream.
	* assert/assert-perr.c: Likewise.
	* assert/assert.c: Likewise.
	* gmon/gmon.c: Likewise.
	* inet/rcmd.c: Likewise.
	* malloc/obstack.c: Likewise.
	* misc/err.c: Likewise.
	* misc/error.c: Likewise.
	* misc/getpass.c: Likewise.
	* posix/getopt.c: Likewise.
	* resolv/res_hconf.c: Likewise.
	* stdio-common/perror.c: Likewise.
	* stdio-common/psignal.c: Likewise.
	* stdlib/fmtmsg.c: Likewise.
	* sunrpc/auth_unix.c: Likewise.
	* sunrpc/clnt_perr.c: Likewise.
	* sunrpc/clnt_tcp.c: Likewise.
	* sunrpc/clnt_udp.c: Likewise.
	* sunrpc/clnt_unix.c: Likewise.
	* sunrpc/svc_simple.c: Likewise.
	* sunrpc/svc_tcp.c: Likewise.
	* sunrpc/svc_udp.c: Likewise.
	* sunrpc/svc_unix.c: Likewise.
	* sunrpc/xdr.c: Likewise.
	* sunrpc/xdr_array.c: Likewise.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_ref.c: Likewise.
	* sysdeps/generic/wordexp.c: Likewise.

	* misc/err.c: Handle wide oriented stderr stream.
2001-08-17 04:49:12 +00:00
Ulrich Drepper
0ed24bc67f Update.
* sysdeps/arm/init-first.c: Likewise.
	* sysdeps/generic/init-first.c: Likewise.
	* sysdeps/i386/init-first.c: Likewise.
	* sysdeps/sh/init-first.c: Likewise.
2001-08-11 20:40:40 +00:00
Ulrich Drepper
67c94753e3 Update.
2001-08-11  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (ptmalloc_init): Don't call getenv five times.
	Instead use new function next_env_entry which iterates over the
	environment once.

	* sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Only set
	_dl_profile_map for the right object.

	* elf/dl-reloc.c (_dl_relocate_object): Allocate l_reloc_result
	only if consider_profiling is != 0, not if _dl_profile != NULL.

	* sysdeps/generic/dl-environ.c (_dl_next_ld_env_entry): Optimize a bit.
	Now returns pointer to first character set "LD_".
	* elf/rtld.c (process_envvars): Adjust for change above.
	* sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS):
	Likewise.

2001-08-10  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c (grow_heap): Use mmap() rather than mprotect()
	to allocate new memory, for better performance with Linux-2.4.x.
2001-08-11 08:57:41 +00:00
Andreas Jaeger
4791a9303c Update.
* sysdeps/unix/sysv/linux/sparc/bits/poll.h (NPOLLFILE): Removed.
	* sysdeps/unix/sysv/linux/mips/bits/poll.h (NPOLLFILE): Removed.
	* sysdeps/unix/sysv/linux/m68k/bits/poll.h (NPOLLFILE): Removed.
	* sysdeps/unix/sysv/linux/bits/poll.h (NPOLLFILE): Removed.
	* sysdeps/generic/bits/poll.h (NPOLLFILE): Removed.
2001-07-31 07:46:22 +00:00
Ulrich Drepper
7748f4b5d5 Update.
* sysdeps/mips/Dist: Remove non-existing files.
	* sysdeps/mips/mips64/Dist: Likewise.
	* sysdeps/mips/mipsel/Dist: Removed.
	* iconv/Makefile (distribute): Add strtab.c and iconvconfig.h.
	* sysdeps/generic/Dist: Add bits/link.h.
	* sysdeps/unix/sysv/linux/m68k/Dist: Add sys/procfs.h.
	* sysdeps/unix/sysv/aix/Dist: Add dl-support.c, dl-addr.c, and
	dl-error.c.
	* sysdeps/ia64/Dist: Add bits/link.h.
2001-07-28 06:10:44 +00:00
Roland McGrath
15c64502ab 2001-07-26 Roland McGrath <roland@frob.com>
* sysdeps/generic/bits/termios.h (EXTA, EXTB): Make these conditional
	on __USE_MISC rather than __USE_BSD.
	(B57600, B115200, B230400, B460800, B500000, B576000, B921600,
	B1000000, B1152000, B1500000, B2000000, B2500000, B3000000,
	B3500000, B4000000): New macros.
	* sysdeps/generic/tcsetattr.c (bad_speed): Accept those values.
	* termios/cfsetspeed.c (speeds): Likewise.
2001-07-26 21:23:31 +00:00
Ulrich Drepper
370f00c3a7 Update.
2001-06-07  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/ia64/dl-symaddr.c (_dl_symbol_address): Update call to
	__ia64_make_fptr() for new interface.
	(_dl_function_address): Remove.

	* sysdeps/ia64/dl-machine.h (IA64_BOOT_FPTR_TABLE_LEN): Rename
	from IA64_BOOT_FPTR_SIZE and reduce its value from 256 to 200.
	(struct ia64_fdesc): Rename from struct ia64_fptr and drop "next"
	pointer.  Rename member "func" to "ip".
	(struct ia64_fdesc_table): New type.
	(__ia64_make_fptr): Change prototype.
	(__ia64_init_bootstrap_fdesc_table): New function.
	(ELF_MACHINE_BEFORE_RTLD_RELOC): New macro.
	(__boot_ldso_fptr): Removed.
	(__fptr_next): Removed.
	(__fptr_root): Removed.
	(__fptr_count): Removed.
	(TRAMPOLINE_TEMPLATE): Fix typo in comment.  Don't use multi-line
	strings to avoid warning from gcc3.
	(RTLD_START): Don't use multi-line strings.
	(ELF_MACHINE_START_ADDRESS): Use DL_STATIC_FUNCTION_ADDRESS.
	(elf_machine_fixup_plt): Update the code entry point in the
	function descriptor through a "volatile" pointer to ensure proper
	write ordering.
	(elf_machine_rela): Simplify handling of FPTR relocs: always call
	__ia64_make_fptr().

	* sysdeps/ia64/dl-lookupcfg.h (DL_AUTO_FUNCTION_ADDRESS): New macro.
	(DL_STATIC_FUNCTION_ADDRESS): Likewise.
	(DL_DT_INIT_ADDRESS): Use DL_AUTO_FUNCTION_ADDRESS.
	(DL_DT_FINI_ADDRESS): Likewise.

	* sysdeps/ia64/dl-fptr.c: Rewrite for better scalability and to
	avoid deadlocks.

	* include/link.h: Add member machine specific "l_mach" member to
	link_map.

	* sysdeps/generic/bits/link.h: New file.
	* sysdeps/ia64/bits/link.h: Likewise.

	* elf/rtld.c (_dl_start): Fix typo in comment.
	(_dl_start_final): Copy new "l_mach" member from temporary to
	final bootstrap map.
2001-07-26 00:27:15 +00:00
Ulrich Drepper
48ab1c2ff5 Update.
2001-07-25  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (routines): Add dl-iteratephdr and
	dl-iteratephdr-static.
	(elide-routines.os): Add dl-iteratephdr-static.
	* elf/dl-iteratephdr.c: New file.
	* elf/link.h (struct dl_phdr_info): New definition.
	(dl_iterate_phdr): New prototype.
	* elf/Versions (dl_iterate_phdr): Add at GLIBC_2.2.4.
	* include/link.h (struct dl_phdr_info): New definition.
	(dl_iterate_phdr, __dl_iterate_phdr): New prototypes.
	* sysdeps/generic/dl-iteratephdr-static.c: New file.
	* sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: New file.

	* hurd/hurdsig.c (_hurdsig_init): Fix incorrect initialization
	of pending signals.
2001-07-25 20:47:02 +00:00
Ulrich Drepper
3afd949152 Update.
* libio/genops.c (_IO_list_all_stamp): New variable.
	(_IO_un_link): Bump _IO_list_all_stamp after removing from list.
	(_IO_link): Likewise for insertion.
	(flush_cleanup): New function.
	(_IO_flush_all): Get list_all_lock and all individual locks for the
	streams.  Detect and handle changes to the _IO_list_all list.
	(_IO_flush_all_linebuffered): Likewise.
	* sysdeps/generic/bits/stdio-lock.h: Define
	_IO_cleanup_region_start_noarg.
	* sysdeps/mach/hurd/bits/stdio-lock.c: Likewise.
2001-07-24 01:33:57 +00:00
Roland McGrath
393aec5244 * hurd/hurdsig.c (_hurd_internal_post_signal): Support SA_RESETHAND
and SA_NODEFER options.  Spurred to action by Igor Khavkine.

	* sysdeps/generic/bits/sigaction.h [__USE_UNIX98 || __USE_MISC]
	(SA_NODEFER, SA_RESETHAND): New macros, same bit values as FreeBSD.
	[__USE_MISC] (SA_INTERRUPT): New macro, value 0.
	[__USE_MISC] (SA_NOMASK, SA_ONESHOT, SA_STACK): New macros, aliases
	as in other sysdeps versions of this file.

        * sysdeps/generic/bits/sigaction.h (struct sigaction): Use a union
	and provide sa_handler and sa_sigaction member names as macros, as
	done in other sysdeps versions of this file.
	Suggested by Igor Khavkine <i_khavki@alcor.concordia.ca>.
2001-07-23 07:20:28 +00:00
Roland McGrath
11c0b1e39b * sysdeps/generic/device-nrs.h (DEV_TTY_P): Change argument type
from `dev_t' (st_rdev value) `const struct stat *'.
	* sysdeps/unix/sysv/linux/device-nrs.h (DEV_TTY_P): Likewise.
	* libio/filedoalloc.c (_IO_file_doallocate): Change caller.
	* sysdeps/mach/hurd/device-nrs.h: New file.
2001-07-21 05:13:40 +00:00