Commit Graph

1417 Commits

Author SHA1 Message Date
Roland McGrath
c6481412ff * configure.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove test.
* configure: Regenerated.
	* config.h.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove #undef.
	* sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Use !samegp.
	(RTLD_START): Likewise.  Access _dl_skip_args, _rtld_local, and
	_dl_fini via gp-relative relocations.
	* sysdeps/alpha/fpu/e_sqrt.c: Use !samegp.

	* elf/tls-macros.h: Add alpha versions.
	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Handle TLS relocs.
	* sysdeps/unix/alpha/sysdep.S: Support USE___THREAD.
	* sysdeps/unix/alpha/sysdep.h: Likewise.  Add SYSCALL_ERROR_HANDLER.
	* sysdeps/unix/sysv/linux/alpha/brk.S: Use it.
	* sysdeps/unix/sysv/linux/alpha/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/getitimer.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/select.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise.
	* sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise.

	* sysdeps/unix/sysv/linux/alpha/sysdep.h: Re-include protect.
	Kill argument registers across the inline syscall.

	* sysdeps/unix/sysv/linux/alpha/clone.S: Add user_tid and tls args.

	* linuxthreads/sysdeps/alpha/tls.h: New file.
	* sysdeps/alpha/dl-tls.h: New file.
2002-11-08 02:20:41 +00:00
Roland McGrath
dfe4c900cb * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY]
(gmon_initializer): New function.
	(.init prologue): If HAVE_INITFINI_ARRAY is true, don't call
	__gmon_start__ here.  Call it from gmon_initializer() instead.

2002-03-12  H.J. Lu  <hjl@gnu.org>

	* elf/Makefile [$(have-initfini-array) = yes] (tests): Add tst-array1,
	tst-array2, and tst-array3.
	[$(have-initfini-array) = yes] (tests-static): Add tst-array3.
	[$(have-initfini-array) = yes] (modules-names): Add tst-array2dep.
	($(objpfx)tst-array1.out): New target.
	($(objpfx)tst-array2): Likewise.
	($(objpfx)tst-array2.out): Likewise.
	($(objpfx)tst-array3.out): Likewise.
	* elf/tst-array1.c: New file.
	* elf/tst-array1.exp: Likewise.
	* elf/tst-array2.c: Likewise.
	* elf/tst-array2dep.c: Likewise.
	* elf/tst-array2.exp: Likewise.
	* elf/tst-array3.c: Likewise.
2002-11-07 22:28:16 +00:00
Roland McGrath
1d8a0fd965 * elf/dl-fini.c (_dl_fini): Invoke fini_array in _reverse_ order.
Don't add L->l_addr to array entry values.
2002-11-07 20:47:27 +00:00
Ulrich Drepper
a2d80f9ade Update.
* elf/dl-fini.c (_dl_fini): Correct the increment of l_opencount
	which happens at the beginning so that we can unload modules in
	__libc_freeres.
2002-11-06 04:49:03 +00:00
Roland McGrath
0b27510b8f 2002-11-06 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* elf/elf.h: Remove the obsolete SH TLS relocations.
	* sysdeps/sh/bits/setmp.h (JB_SIZE): Define only
	under [__USE_MISC || _ASM].
2002-11-06 00:08:14 +00:00
Roland McGrath
c56baa872b 2002-11-03 Roland McGrath <roland@redhat.com>
* sysdeps/generic/ldsodefs.h (struct rtld_global): New member
	`_dl_tls_static_used'.
	* sysdeps/generic/libc-tls.c (_dl_tls_static_used): New variable.
	(__libc_setup_tls): Initialize it.  Let the initial value of
	_dl_tls_static_size indicate some surplus space in the computed value.
	* elf/dl-open.c (_dl_tls_static_size): New variable.
	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Initialize
	_dl_tls_static_used.  Add some surplus space into _dl_tls_static_size.
	* elf/dl-reloc.c [USE_TLS] (allocate_static_tls): New function.
	(CHECK_STATIC_TLS): Use it.
	* elf/dl-close.c (_dl_close): Adjust _dl_tls_static_used when the
	closed objects occupied a trailing contiguous chunk of static TLS area.
2002-11-05 03:01:37 +00:00
Roland McGrath
c877418f2e * include/libc-symbols.h (__libc_freeres_fn_section, libc_freeres_fn):
New macros.
	* elf/dl-close.c (free_mem): Use libc_freeres_fn macro, remove
	text_set_element.
	* elf/dl-libc.c (free_mem): Likewise.
	* iconv/gconv_conf.c (free_mem): Likewise.
	* iconv/gconv_db.c (free_mem): Likewise.
	* iconv/gconv_dl.c (free_mem): Likewise.
	* iconv/gconv_cache.c (free_mem): Likewise.
	* intl/finddomain.c (free_mem): Likewise.
	* intl/dcigettext.c (free_mem): Likewise.
	* locale/setlocale.c (free_mem): Likewise.
	* misc/fstab.c (fstab_free): Likewise.
	* nss/nsswitch.c (free_mem): Likewise.
	* posix/regcomp.c (free_mem): Likewise.
	* resolv/gai_misc.c (free_res): Likewise.
	* stdlib/fmtmsg.c (free_mem): Likewise.
	* sunrpc/clnt_perr.c (free_mem): Likewise.
	* sysdeps/generic/setenv.c (free_mem): Likewise.
	* sysdeps/unix/sysv/linux/shm_open.c (freeit): Likewise.
	* sysdeps/pthread/aio_misc.c (free_res): Likewise.
	* time/tzset.c (free_mem): Likewise.
	* malloc/mtrace.c (release_libc_mem): Add __libc_freeres_fn_section.
	* locale/loadarchive.c (_nl_archive_subfreeres): Likewise.
	* malloc/set-freeres.c (__libc_freeres): Likewise.

	* login/getutent.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutent): Allocate buffer the first time it is run.
	* login/getutid.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutid): Allocate buffer the first time it is run.
	* login/getutline.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutline): Allocate buffer the first time it is run.
	* malloc/mtrace.c (malloc_trace_buffer): Change into char *.
	(mtrace): Allocate malloc_trace_buffer.
	* resolv/nsap_addr.c (inet_nsap_ntoa): Decrease size of tmpbuf.
	* resolv/ns_print.c (ns_sprintrrf): Decrease size of t.
	* string/strerror.c: Include libintl.h and errno.h.
	(buf): New variable.
	(strerror): Only allocate buffer if actually needed (unknown error).
	* time/tzfile.c (transitions): Add libc_freeres_ptr.
	(freeres): Remove.

2002-10-25  Jakub Jelinek  <jakub@redhat.com>

	* include/libc-symbols.h (libc_freeres_ptr): New macro.
	* malloc/set-freeres.c (__libc_freeres_ptrs): Define using
	symbol_set_define.
	(__libc_freeres): Free all pointers in that section.
	* Makerules (build-shlib): Add $(LDSEDCMD-$(@F:lib%.so=%).so) to sed
	commands when creating .lds script.
	(LDSEDCMD-c.so): New variable.
	* inet/rcmd.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
	(rcmd_af): Use strdup to allocate ahostbuf.
	* inet/rexec.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
	(rexec_af): Use strdup to allocate ahostbuf.
	* stdio-common/reg-printf.c (printf_funcs): Remove.
	(__printf_arginfo_table): Change into printf_arginfo_function **.
	Add libc_freeres_ptr.
	(__register_printf_function): Allocate __printf_arginfo_table
	and __printf_function_table the first time it is called.
	* stdio-common/printf-parse.h (__printf_arginfo_table): Change into
	printf_arginfo_function **.
	(parse_one_spec): Add __builtin_expect.
	* grp/fgetgrent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* inet/getnetgrent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* intl/localealias.c (libc_freeres_ptr): Define if !_LIBC.
	(string_space, map): Add libc_freeres_ptr.
	(free_mem): Remove.
	* misc/efgcvt.c (FCVT_BUFPTR): Add libc_freeres_ptr.
	(free_mem): Remove.
	* misc/mntent.c (getmntent_buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* crypt/md5-crypt.c (libc_freeres_ptr): Define if !_LIBC.
	(buffer): Add libc_freeres_ptr.
	(free_mem): Remove for _LIBC.
	* nss/getXXbyYY.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* nss/getXXent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* pwd/fgetpwent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* resolv/res_hconf.c (ifaddrs): Add libc_freeres_ptr.
	(free_mem): Remove.
	* shadow/fgetspent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/posix/ttyname.c (getttyname_name): Add libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/unix/sysv/linux/getsysstats.c (mount_proc): Add
	libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/unix/sysv/linux/ttyname.c (getttyname_name, ttyname_buf): Add
	libc_freeres_ptr.
	(free_mem): Remove.

2002-10-30  Jakub Jelinek  <jakub@redhat.com>

	* malloc/obstack.c [_LIBC] (obstack_free): Change into strong_alias
	instead of duplicating the whole function in libc.
2002-11-01 20:44:15 +00:00
Ulrich Drepper
584364156b Update.
2002-10-23  Alexandre Oliva  <aoliva@redhat.com>

	* elf/dl-reloc.c (_dl_reloc_bad_use): Print the full 32-bit relocation
	type on ELF64 platforms.
2002-10-25 07:54:26 +00:00
Ulrich Drepper
14fa2b09c6 Update.
* elf/elf.h (R_X86_64_GOTTPOFF): Renamed from r_x86_64_GOTTPOFF.
2002-10-24 23:33:28 +00:00
Ulrich Drepper
c47c5bfb48 Define ELF_NOTE_OS_FREEBSD and NT_TASKSTRUCT. 2002-10-24 23:05:02 +00:00
Roland McGrath
5bbcba0db5 * elf/dl-misc.c: Include <sysdep.h>.
(_dl_debug_vdprintf): Only take dl_load_lock if not _dl_starting_up.

	* sysdeps/generic/ldsodefs.h (_dl_starting_up): Declare it here.
	* sysdeps/unix/sysv/linux/init-first.c: Not here.
	* sysdeps/powerpc/elf/libc-start.c: Or here.
	* sysdeps/unix/sysv/aix/libc-start.c: Or here.
	* sysdeps/unix/sysv/aix/start-libc.c: Or here.
	* sysdeps/unix/sysv/aix/init-first.c: Or here.
	* sysdeps/generic/libc-start.c: Or here.
	* sysdeps/unix/sysv/linux/init-first.c (init): Protect _dl_starting_up
	access with [! SHARED].
	* sysdeps/unix/sysv/aix/init-first.c (init): Likewise.
2002-10-24 19:14:59 +00:00
Roland McGrath
240e87c230 * posix/regcomp.c (re_comp): Call __regfree on re_comp_buf.
(free_mem): New function.
	* posix/Makefile (tests): Add bug-regex14.  Add bug-regex14-mem
	if not cross compiling.
	(generated): Add bug-regex14-mem and bug-regex14.mtrace.
	(bug-regex14-ENV): Set.
	(bug-regex14-mem): New target.
	* posix/bug-regex14.c: New file.

	* elf/Makefile ($(objpfx)librtld.map): Use temporary file for output
	target, so we don't touch it when the link fails.
2002-10-24 00:22:27 +00:00
Ulrich Drepper
d623d723dd (struct filebuf): For buf element to have the alignment of ElfXX_Ehdr since this is what will be stored in it. 2002-10-23 06:18:24 +00:00
Roland McGrath
8265947da0 * sysdeps/generic/libc-tls.c (__libc_setup_tls): Initialize the static
slotinfo list's len member to the proper size, not just 1.
	Initialize static_map.l_tls_initimage.

	* elf/dl-open.c (dl_open_worker): Fix loop searching for
	dtv_slotinfo_list element containing new modules' l_tls_modid.

	* elf/tst-tls9.c, elf/tst-tls9-static.c: New files.
	* elf/tst-tlsmod5.c, elf/tst-tlsmod6.c: New files.
	* elf/Makefile (tests): Add tst-tls9.
	(tests-static): Add tst-tls9-static.
	(tst-tls9-static-ENV): New variable.
	($(objpfx)tst-tls9-static, $(objpfx)tst-tls9-static.out): New targets.

	* elf/dl-close.c (remove_slotinfo): Remove an assert; the number of
	modids used by partially loaded modules being closed can't be known.
2002-10-22 06:22:53 +00:00
Roland McGrath
6ef518c323 2002-10-21 Roland McGrath <roland@redhat.com>
* elf/tst-tls9.c, elf/tst-tls9-static.c: New files.
	* elf/tst-tlsmod5.c, elf/tst-tlsmod6.c: New files.
	* elf/Makefile (tests): Add tst-tls9.
	(tests-static): Add tst-tls9-static.
	(tst-tls9-static-ENV): New variable.
	($(objpfx)tst-tls9-static, $(objpfx)tst-tls9-static.out): New targets.
2002-10-22 06:22:38 +00:00
Roland McGrath
45fba3dfbb * sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL, INLINE_SYSCALL1)
(inline_syscall_clobbers, inline_syscall0, inline_syscall1)
	(inline_syscall2, inline_syscall3, inline_syscall4, inline_syscall5)
	(inline_syscall6): Move these macros ...
	* sysdeps/unix/sysv/linux/alpha/sysdep.h: ... to here.

        * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDEs for
	_AS_PATH_SEPARATOR_PREPARE and _AS_TEST_PREPARE.
2002-10-18 22:16:45 +00:00
Roland McGrath
b9cb349fb4 * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_ECHO_N_PREPARE]).
Remove AC_LANG(C) call, instead just define([_AC_LANG], [C]).

	* elf/dl-support.c: Move _dl_tls_* variables to ...
	* sysdeps/generic/libc-tls.c: ... here.

	* elf/dl-close.c (remove_slotinfo): Take new argument.  If false,
	allow IDX to be one past the current last slotinfo entry.
	(_dl_close): Pass IMAP->l_init_called for that parameter.
2002-10-18 01:13:06 +00:00
Roland McGrath
1f0c4a1006 2002-10-17 Roland McGrath <roland@redhat.com>
* elf/dl-close.c (remove_slotinfo): Take new argument.  If false,
	allow IDX to be one past the current last slotinfo entry.
	(_dl_close): Pass IMAP->l_init_called for that parameter.
2002-10-18 01:10:44 +00:00
Roland McGrath
2430d57a13 * elf/dl-load.c (_dl_map_object_from_fd): Don't check DF_STATIC_TLS.
* elf/dl-reloc.c (_dl_relocate_object: CHECK_STATIC_TLS): New macro
	to signal error if an IE-model TLS reloc resolved to a dlopen'd module.
	* sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela):
	Call it after performing TPOFF relocs.
	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
	* elf/dl-conflict.c (CHECK_STATIC_TLS): New macro (no-op).

	* elf/dl-close.c (remove_slotinfo): Change asserts so as not to crash
	when closing a partially-initialized object.

	* elf/dl-load.c (_dl_map_object_from_fd) [! USE_TLS]: Call lose
	instead of _dl_fatal_printf when we see PT_TLS.
2002-10-17 12:10:17 +00:00
Roland McGrath
27af537248 * elf/dl-load.c (_dl_dst_count, _dl_dst_substitute): Handle $LIB
dynamic string tag.
	* elf/Makefile ($(objpfx)trusted-dirs.st): Make the output define
	DL_DST_LIB based on $(slibdir).
2002-10-14 01:06:59 +00:00
Roland McGrath
747bf98ea9 * elf/rtld-Rules ($(objpfx)rtld-libc.a): Use $(verbose) in ar command.
* sysdeps/mach/hurd/getresuid.c: New file.
	* sysdeps/mach/hurd/getresgid.c: New file.
	* sysdeps/mach/hurd/setresuid.c: New file.
	* sysdeps/mach/hurd/setresgid.c: New file.

	* posix/unistd.h [__USE_GNU] (getresuid, getresgid, setresuid,
	setresgid): Declare them.
	* NEWS: Mention it.
	* include/unistd.h
	(__getresuid, __getresgid, __setresuid, __setresgid): Declare them,
	add libc_hidden_proto.
	* posix/Versions (libc: GLIBC_2.3.2): New set.  Add
	getresuid, getresgid, setresuid, setresgid here.
	* Versions.def (libc): Define GLIBC_2.3.2 set.
	* sysdeps/generic/getresuid.c (__getresuid): Fix argument types.
	Add libc_hidden_def.
	* sysdeps/generic/getresgid.c (__getresgid): Likewise.
	* sysdeps/generic/setresgid.c: New file.
	* sysdeps/generic/setresuid.c: New file.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
	(sysdep_routines): Don't add getresuid and getresgid here.
	* sysdeps/unix/sysv/linux/arm/Makefile [$(subdir) = misc]
	(sysdep_routines): Don't add setresuid and setresgid here.
	* sysdeps/unix/sysv/linux/cris/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/sh/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
	* posix/Makefile (routines): Add them all here instead.
	* sysdeps/unix/sysv/linux/i386/getresuid.c (getresuid): Renamed to
	__getresuid.  Add libc_hidden_def for that, and weak alias to old name.
	* sysdeps/unix/sysv/linux/i386/getresgid.c (getresgid): Renamed to
	__getresgid.  Add libc_hidden_def for that, and weak alias to old name.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: Add libc_hidden_def.
	[! __NR_setresuid]: Include generic file.
	* sysdeps/unix/sysv/linux/i386/setresgid.c (setresgid): Renamed to
	__setresgid.  Add libc_hidden_def for that, and weak alias to old name.
	[! __NR_setresuid]: Include generic file.
	* sysdeps/unix/sysv/linux/syscalls.list (setresuid, setresgid):
	Caller is - now, not EXTRA.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list
	(setresuid, setresgid, getresuid, getresgid): Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list (getresuid, getresgid):
	Add these calls here.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove them here.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.

	* sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
	(sysdep_routines): Add setfsuid and setfsgid here.
	* sysdeps/unix/sysv/linux/arm/Makefile: Not here.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/cris/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/sh/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.

	* hurd/errno.c: Renamed to ...
	* hurd/errno-loc.c: ... this.
	* hurd/Makefile (routines): errno -> errno-loc
2002-10-14 01:03:16 +00:00
Ulrich Drepper
cc12f2a442 Update.
* elf/dl-load.c (_dl_map_object_from_fd): Remove unnecessarily
	duplicated variable c.

	* sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Use INTERNAL_SYSCALL
	if possible.
	Add hack to prevent the compiler from clobbering the signal context.
2002-10-12 06:34:56 +00:00
Roland McGrath
ce460d04a5 * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional
changed from [USE_TLS && HAVE___THREAD].

	* sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel):
	Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD].
	* sysdeps/x86_64/dl-machine.h
	(elf_machine_type_class, elf_machine_rela): Likewise.
	* sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela):
	Likewise.

	* include/link.h (struct link_map): Remove member l_tls_tp_initialized.
	* elf/rtld.c (_dl_start_final, dl_main): Don't use it.
	(_dl_start): Conditionalize PT_TLS check on [USE___THREAD].

	* sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal
	instead of ___tls_get_addr.
	(___tls_get_addr_internal): Add attribute_hidden to decl.

	* sysdeps/generic/ldsodefs.h (struct rtld_global): New variable
	_dl_error_catch_tsd.
	* elf/rtld.c (startup_error_tsd): New function.
	(dl_main): Point _dl_error_catch_tsd at that.
	* elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR,
	use new function pointer instead.
	* elf/dl-tsd.c: New file.
	* elf/Makefile (routines): Add it.

2002-10-07  Roland McGrath  <roland@redhat.com>

	* elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for
	writev if it's available.  Otherwise if [RTLD_PRIVATE_ERRNO] then
	take _dl_load_lock around calling __writev.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro.
	(INLINE_SYSCALL): Use that.

	* sysdeps/generic/dl-sysdep.h: New file.
	* sysdeps/mach/hurd/dl-sysdep.h: New file.
	* sysdeps/generic/ldsodefs.h: Include <dl-sysdep.h>.
	* include/errno.h [IS_IN_rtld]: Include <dl-sysdep.h> to define ...
	[RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and
	access it directly.
	* elf/dl-minimal.c (__errno_location): Removed.
	* sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
	Use GOTOFF access for errno.
	* sysdeps/unix/sysv/linux/i386/sysdep.h
	[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.

	* sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
	Use PC-relative access for errno.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h
	[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.

	* include/tls.h: New file.
	(USE___THREAD): New macro.
	Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling
	libc or libpthread.
	* sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional
	changed from [USE_TLS && HAVE___THREAD].
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
	* sysdeps/unix/i386/sysdep.S: Likewise.
	* sysdeps/unix/x86_64/sysdep.S: Likewise.
	* include/errno.h: Likewise.
	* include/netdb.h: Likewise.
	* include/resolv.h: Likewise.

	* sysdeps/generic/errno.c: New file.
	* csu/Makefile (aux): New variable, list errno.
	* sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns.
	* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise.
	* sysdeps/unix/alpha/sysdep.S: Likewise.
	* sysdeps/generic/start.c: Likewise.
	* sysdeps/unix/start.c: Likewise.
	* sysdeps/unix/arm/start.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
	* sysdeps/unix/sparc/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sysdep.S: File removed.

	* manual/search.texi (Tree Search Function, Hash Search Function):
	Mention search.h clearly.

2002-10-05  Roland McGrath  <roland@redhat.com>

	* elf/dl-fxstat64.c: File removed.
	* elf/dl-xstat64.c: File removed.
	* elf/Makefile (rtld-routines): Remove them.
	* sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals.
	Instead, use strong_alias instead of versioned_symbol in the
	!SHLIB_COMPAT case.
	* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.

	* include/shlib-compat.h
	(SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero.
	[! NOT_IN_libc] (IS_IN_libc): Define it.
	* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx.
	* elf/Makefile (CPPFLAGS-.os): Likewise.

	* sunrpc/rpc_main.c (main): Don't declare with noreturn attribute.
	Return the status instead of calling exit.

	* Makeconfig (CFLAGS): Prepend -std=gnu99.
	* Makerules (+make-deps): Use $(CFLAGS) only for .c sources.
	Remove superfluous rm command, whose @ plus make bugs hid
	all these commands from the make output.

	* include/stubs-prologue.h: New file.  Give #error under #ifdef _LIBC.
	* Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it.
	Use that file's contents instead of literal echo's for the prologue.
	* include/features.h: Include <gnu/stubs.h> unconditionally.
	* include/gnu/stubs.h: New file.

2002-09-30  Roland McGrath  <roland@redhat.com>

	* elf/rtld-Rules: New file.
	* elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk,
	$(objpfx)rtld-libc.a): New targets.
	(generated): Add them.
	(reloc-link): Remove -o $@ from the variable.
	($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link).
	(distribute): Add rtld-Rules.
	(CPPFLAGS-.os): Define this instead of CFLAGS-.os.
	* Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets.
	(common-mostlyclean, common-clean): Clean up rtld-* files.
	* sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules.
2002-10-11 10:52:20 +00:00
Roland McGrath
2a4f7d66b9 * sysdeps/generic/dl-tls.c (__tls_get_addr): After freeing block in
now-unused dtv slot, reset the slot to TLS_DTV_UNALLOCATED.

	* elf/tls-macros.h [__x86_64__] (TLS_GD): Fix the sequence with the
	proper set of no-op insn prefixes.

	* elf/tst-tls8.c (do_test): Use %zd format for l_tls_modid members.
2002-10-11 09:18:04 +00:00
Roland McGrath
cfd8a63a1d 2002-10-11 Roland McGrath <roland@redhat.com>
* elf/tls-macros.h [__x86_64__] (TLS_GD): Fix the sequence with the
	proper set of no-op insn prefixes.
2002-10-11 09:17:49 +00:00
Ulrich Drepper
209a8ca3fc Update.
* sysdeps/generic/ldsodefs.h: Remove attribute_hidden from
	_dl_allocate_tls_init.  Add rtld_hidden_proto.
	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Add
	rtld_hidden_def.
	* elf/Versions (ld) [GLIBC_PRIVATE]: Add _dl_allocate_tls_init.
2002-10-10 06:47:09 +00:00
Ulrich Drepper
05a5122742 Update.
2002-10-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* elf/tls-macros.h: Fix SH version of macros so as to match ABI syntax.

2002-10-03  Ulrich Drepper  <drepper@redhat.com>

	* version.h (RELEASE): Change to stable.

See ChangeLog.13 for earlier changes.
2002-10-05 06:52:02 +00:00
Ulrich Drepper
4c53d2217e Update.
2002-10-02  Ulrich Drepper  <drepper@redhat.com>

	* version.h (VERSION): Bump to 2.3.

	* elf/Makefile (distribute): Add tst-tlsmod1.c, tst-tlsmod2.c,
	tst-tlsmod3.c, tst-tlsmod4.c, circlemod1.c, circlemod1a.c,
	circlemod2.c, circlemod2a.c, circlemod3.c, circlemod3a.c,
	and nodlopenmod2.c.

	* login/Makefile (distribute): Add utmp-equal.h.

	* iconvdata/Makefile (distribute): Add TSCII.precomposed and
	TSCII.irreversible.

	* Make-dist (dist): Create .bz2 file.  Add rule to create .bz2
	files.
	Also distribute xtests sources.

2002-10-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* elf/elf.h: Change TLS ELF relocation numbers.
	* elf/tls-macros.h: Fix code sequences for SH TLS_LD and TLS_GD
	macros.
	* sysdeps/sh/dl-machine.h (dl_machine_rela) [case R_SH_TLS_TPOFF32]:
	Use addend.
	* sysdeps/sh/elf/initfini.c: Move __fpscr_values to...
	* sysdeps/sh/elf/start.S: ...here.
2002-10-02 07:30:48 +00:00
Ulrich Drepper
aa298c0874 Update.
2002-10-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/pt-machine.h: Make C code ifndef'ed with __ASSEMBLER__.
	* sysdeps/sh/tls.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/smp.h: New file.
2002-10-02 06:22:02 +00:00
Roland McGrath
fe27057d17 * elf/tls-macros.h (TLS_LD, TLS_GD): Use call insn, not callq.
* sysdeps/unix/x86_64/sysdep.S [USE_TLS && HAVE___THREAD] [! PIC]:
	Use direct-%fs form of TLS access for errno.

	* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: File removed, since
	the i386 version has all the same asm now.

	* sysdeps/i386/elf/configure.in: Add @GOTNTPOFF and @NTPOFF uses to
	the TLS support check.
	* sysdeps/i386/elf/configure: Regenerated.

	* sysdeps/unix/sysv/linux/i386/sysdep.h [USE_TLS && HAVE___THREAD]
	(SYSCALL_ERROR_HANDLER): Use direct-%gs form of TLS access for errno.

	* sysdeps/unix/i386/sysdep.S (syscall_error)
	[USE_TLS && HAVE___THREAD]: Use TLS access for errno.
2002-09-30 10:26:59 +00:00
Roland McGrath
3c25964fb0 * elf/rtld.c (_dl_start): Fix conditional for declaring CNT.
* aclocal.m4 (LIBC_PROG_BINUTILS): Don't clobber $RANLIB with ranlib
	before we check it.
2002-09-29 09:35:51 +00:00
Ulrich Drepper
0e312a8282 Define macro DO_ELF_MACHINE_REL_RELATIVE for 'elf_machine_rel_relative'. (elf_dynamic_do_rel): Call DO_ELF_MACHINE_REL_RELATIVE macro instead of 'elf_machine_rel_relative'. 2002-09-28 04:29:49 +00:00
Roland McGrath
8323008c64 * elf/dl-addr.c (_dl_addr): Set dli_fbase to l_map_start
unconditionally.  Set dli_fname to _dl_argv[0] only for main program.

2002-09-27  Roland McGrath  <roland@redhat.com>

	* elf/dl-addr.c (_dl_addr): Add a cast.

	* sysdeps/x86_64/dl-machine.h (elf_machine_rela) [USE_TLS]: Handle new
	TLS relocs R_X86_64_DTPMOD64, R_X86_64_DTPOFF64, and R_X86_64_TPOFF64.

	* elf/elf.h (R_X86_64_DTPMOD64, R_X86_64_DTPOFF64, R_X86_64_TPOFF64,
	R_X86_64_TLSGD, R_X86_64_TLSLD, R_X86_64_DTPOFF32,
	R_x86_64_GOTTPOFF, R_X86_64_TPOFF32): New macros.
	(R_X86_64_NUM): Update the value.
2002-09-27 07:29:51 +00:00
Ulrich Drepper
9a88a2d7b3 Update.
2002-09-26  Ulrich Drepper  <drepper@redhat.com>

	* elf/dynamic-link.h (elf_get_dynamic_info): Relocate DT_HASH entry
	if necessary.
	* elf/dl-lookup.c (_dl_setup_hash): DT_HASH entry is already relocated.
	* elf/dl-addr.c (_dl_addr): Use .hash[1] entry to determine end of the
	symbol table if necessary.
2002-09-27 03:17:20 +00:00
Ulrich Drepper
58c9f058a2 (elf_get_dynamic_info): Also relocate DT_HASH entry if necessary. 2002-09-27 02:56:54 +00:00
Roland McGrath
160bb40945 * csu/Versions: Use %include <tls.h> to get USE_TLS defined.
(libc: GLIBC_2.0) [USE_TLS && HAVE___THREAD]: Remove _errno, errno.
	(libc: GLIBC_2.3) [USE_TLS && HAVE___THREAD]: Put errno here instead.
	* resolv/Versions: Use %include <tls.h> to get USE_TLS defined.
	(libc: GLIBC_2.0) [USE_TLS && HAVE___THREAD]: Remove _h_errno, h_errno,
	and _res.
	(libc: GLIBC_2.3) [USE_TLS && HAVE___THREAD]: Put h_errno, _res here.

	* elf/tls-macros.h [__x86_64__] (TLS_LE, TLS_IE, TLS_LD, TLS_GD):
	New macros for x86-64.

	* sysdeps/unix/sysv/linux/alpha/bits/time.h: File removed.
	It was indentical to the linux/bits/time.h file.

	* nscd/nscd_gethst_r.c (nscd_gethst_r): Add a cast to silence warning.

	* resolv/gethnamaddr.c (gethostbyaddr): Use socklen_t for SIZE.
2002-09-25 01:58:37 +00:00
Roland McGrath
724d8c3f0e * elf/Makefile (test-extras): Define this instead of test-srcs.
* Makerules (all-nonlib): Include $(test-extras) too.
2002-09-23 17:43:42 +00:00
Ulrich Drepper
53fe275883 (_dl_init): Fix test of the size of the preinit_array section. (call_init): Optimize access to DT_INIT_ARRAY entry a bit. 2002-09-20 23:56:18 +00:00
Roland McGrath
82c261269b * sysdeps/generic/utmp-equal.h: New file, extracted from utmp_file.c.
* sysdeps/generic/utmp_file.c (setutent_file): Invalidate last_entry
	also on platforms with !HAVE_UT_TYPE.
	(proc_utmp_eq): Remove function.
	(internal_getut_r, pututline_file): Call __utmp_equal instead.

2002-09-20  Bruno Haible  <bruno@clisp.org>

	* abi-tags: Add support for FreeBSD with ABI OS value 3.
	* elf/cache.c (print_entry): Support the GNU/FreeBSD ABI tag.
2002-09-20 22:07:20 +00:00
Roland McGrath
0bc0e4dd09 * locale/lc-ctype.c (_nl_postload_ctype): Add compat_symbol decls for
the __ctype_* compat symbols, so the relocs generated bind to the
	right versioned global symbol in the shared object.

	* elf/do-rel.h (elf_dynamic_do_rel): Mask off 0x8000 bit (hidden flag)
	from the value taken from the DT_VERSYM table.
	* elf/dl-runtime.c (fixup, profile_fixup): Likewise.
	* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Likewise.
	(RESOLVE_GOTSYM): Likewise.
2002-09-18 18:32:27 +00:00
Roland McGrath
1d0ad77362 * elf/dl-lookup.c (_dl_debug_bindings): Print TLS lookups always.
* elf/elf.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE,
	R_386_TLS_LE): Define.
	(R_386_TLS_IE_32, R_386_TLS_LE_32, R_386_TLS_TPOFF32): Update
	comments.
	* sysdeps/i386/dl-machine.h (elf_machine_type_class): Return
	ELF_RTYPE_CLASS_PLT for R_386_TLS_TPOFF.
	(elf_machine_rel): Handle R_386_TLS_TPOFF.
	(elf_machine_rela): Likewise.
	Remove unnecessary RTLD_BOOTSTRAP #ifdefs.
2002-09-18 01:18:08 +00:00
Roland McGrath
735d67f2f8 * sysdeps/unix/sysv/linux/powerpc/mmap64.c (__mmap64): Add a cast.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
	New macro.

	* elf/rtld.c [HP_TIMING_NONAVAIL]: Fix last change for this case.
2002-09-17 06:56:24 +00:00
Roland McGrath
4874b009bd * include/unistd.h: Uncomment libc_hidden_proto for _exit.
* sysdeps/mach/hurd/_exit.c: Add libc_hidden_def.
	* sysdeps/generic/_exit.c: Likewise.

2002-09-12  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (struct dl_start_final_info): New.
	(_dl_start_final): Change second argument to struct
	dl_start_final_info *.  Set start_time from info.
	(_dl_start): Remove bootstrap_map variable, add info.
	Define bootstrap_map as macro.  If not DONT_USE_BOOTSTRAP_MAP,
	store HP_TIMING_NOW result into info.start_time.
2002-09-17 05:42:29 +00:00
Roland McGrath
48c5307058 * sysdeps/generic/ldconfig.h (FLAG_POWERPC_LIB64) New macro.
* elf/cache.c (print_entry): Add case for FLAG_POWERPC_LIB64.
	Remove per-machine conditionals for FLAG_* cases.
	* sysdeps/unix/sysv/linux/powerpc/ldconfig.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/readelflib.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/dl-cache.h: New file.
2002-09-14 09:00:42 +00:00
Ulrich Drepper
8e33c9be84 Correct DT_LOOS and DT_HIOS values. 2002-09-12 18:56:23 +00:00
Roland McGrath
65da9563c7 * elf/rtld.c (_dl_start_final): Move _begin, _end decls outside the fn.
(_dl_start) [DONT_USE_BOOTSTRAP_MAP]: Use &_begin instead of l_addr to
	find the ELF header.
2002-09-12 10:12:33 +00:00
Roland McGrath
75aafc716b * elf/rtld.c (dl_main) [USE_TLS]: Adjust l_tls_initimage of main
executable if needed, in case it's actually a shared object.
2002-09-12 09:15:22 +00:00
Roland McGrath
fb848e1585 * elf/dl-load.c (_dl_map_object_from_fd): Use l_addr instead of
l_map_start to adjust l_tls_initimage.
2002-09-12 05:16:00 +00:00
Ulrich Drepper
d92cdffbac Update.
2002-09-09  Steven Munroe  <sjmunroe@us.ibm.com>

	* elf/elf.h: Add powerpc64 specific elf relocation and dynamic types.

2002-09-09  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-error.c (_dl_signal_cerror): Don't print anything if only
	LD_DEBUG=statistics or LD_TRACE_PRELINKING.
2002-09-10 00:36:58 +00:00
Roland McGrath
be3c40b627 2002-09-04 Bruno Haible <bruno@clisp.org>
* elf/readlib.c (process_file): Conditionalize check for QMAGIC.

	* sysdeps/unix/sysv/linux/sigset-cvt-mask.h (sigset_set_old_mask,
	sigset_get_old_mask): Turn into inline functions.
	* sysdeps/unix/sysv/aix/sigset-cvt-mask.h (sigset_set_old_mask,
	sigset_get_old_mask): Likewise.
	* sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h (sigset_set_old_mask,
	sigset_get_old_mask): Likewise.

	* sysdeps/generic/_strerror.c (_sys_errlist, _sys_nerr): Remove
	default definitions.
	(__strerror_r): Use _sys_errlist_internal instead of _sys_errlist,
	_sys_nerr_internal instead of _sys_nerr.

	* nscd/connections.c (handle_request): Declare CALLER inside #if.
2002-09-05 18:52:18 +00:00
Roland McGrath
d89ae1d5ef 2002-09-02 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (dl_main): If prelinking succeeded, mark all objects
        as relocated.
2002-09-02 20:19:26 +00:00
Ulrich Drepper
ff0a515eec (elf_get_dynamic_info): Mark with always_inline attribute. 2002-08-31 04:09:05 +00:00
Roland McGrath
7a9ce79a3b * sysdeps/mach/_strerror.c (__strerror_r): Add libc_hidden_def.
* sysdeps/mach/hurd/pwrite64.c: No libc_hidden_def (__libc_pwrite64).

	* sysdeps/mach/hurd/dl-sysdep.c (__GI_abort): Define alias for abort.

	* include/assert.h (__assert_perror_fail): Declare it, do hidden_proto.
	* assert/assert-perr.c: Add libc_hidden_def.
	* elf/dl-minimal.c [! NDEBUG] (__assert_perror_fail): New function.

	* sysdeps/gnu/errlist-compat.awk: Don't fail if there are no versions
	found at all.
	* sysdeps/gnu/Versions: File removed.  Moved all #errlist-compat
	sys_errlist stuff to ...
	* sysdeps/unix/sysv/linux/Versions: ... here.

	* mach/mach.h: Include <features.h>.
2002-08-30 01:31:18 +00:00
Roland McGrath
868b78c83c * elf/dl-runtime.c (IN_DL_RUNTIME): Define this macro first thing.
* sysdeps/i386/dl-machine.h: Only declare fixup, profile_fixup and
	define ELF_MACHINE_RUNTIME_TRAMPOLINE under #ifdef IN_DL_RUNTIME.
2002-08-29 23:24:40 +00:00
Roland McGrath
6c0b461a58 * elf/tst-tls1-static.c: New file.
* elf/tst-tls2-static.c: New file.
	* elf/Makefile ($(tests-static):%=$(objfpx)%.o): Remove rule.
2002-08-28 10:42:59 +00:00
Roland McGrath
db26531364 2002-08-28 Roland McGrath <roland@redhat.com>
* elf/Makefile (tests): List tst-tls1 and tst-tls2 unconditionally.
	[$(build-static) = yes] (tests): Add tst-tls1-static, tst-tls2-static.
	[$(build-static) = yes] (tests-static): New variable.
	($(tests-static):%=$(objfpx)%.o)): New static pattern rule.
2002-08-28 10:23:59 +00:00
Roland McGrath
cc7375ce02 2002-08-26 Brian Youmans <3diff@gnu.org>
* crypt/crypt.c: Changed copying permission notice to Lesser GPL
        from Library GPL.
        * crypt/crypt_util.c: Likewise.
        * crypt/ufc.c: Likewise.
        * elf/dl-conflict.c: Likewise.
        * elf/dl-iteratephdr.c: Likewise.
        * iconv/iconvconfig.h: Likewise.
        * linuxthreads/Examples/ex10.c: Likewise.
        * linuxthreads/Examples/ex11.c: Likewise.
        * linuxthreads/Examples/ex13.c: Likewise.
        * linuxthreads/Examples/ex8.c: Likewise.
        * linuxthreads/Examples/ex9.c: Likewise.
        * linuxthreads/barrier.c: Likewise.
        * linuxthreads/events.c: Likewise.
        * linuxthreads/lockfile.c: Likewise.
        * linuxthreads/no-tsd.c: Likewise.
        * linuxthreads/pt-machine.c: Likewise.
        * linuxthreads/ptclock_gettime.c: Likewise.
        * linuxthreads/ptclock_settime.c: Likewise.
        * linuxthreads/rwlock.c: Likewise.
        * linuxthreads/sysdeps/alpha/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/alpha/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/arm/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/arm/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/cris/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/cris/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/hppa/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/hppa/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/i386/i686/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/i386/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/i386/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/i386/useldt.h: Likewise.
        * linuxthreads/sysdeps/ia64/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/ia64/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/m68k/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/m68k/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/mips/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/mips/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/powerpc/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/powerpc/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/pthread/bits/initspin.h: Likewise.
        * linuxthreads/sysdeps/pthread/bits/libc-lock.h: Likewise.
        * linuxthreads/sysdeps/pthread/bits/libc-tsd.h: Likewise.
        * linuxthreads/sysdeps/pthread/getcpuclockid.c: Likewise.
        * linuxthreads/sysdeps/pthread/posix-timer.h: Likewise.
        * linuxthreads/sysdeps/pthread/timer_create.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_delete.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_getoverr.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_gettime.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_routines.c: Likewise.
        * linuxthreads/sysdeps/pthread/timer_settime.c: Likewise.
        * linuxthreads/sysdeps/pthread/tst-timer.c: Likewise.
        * linuxthreads/sysdeps/s390/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/s390/s390-32/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/s390/s390-64/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/sh/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/sh/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/sparc/sparc32/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/sparc/sparc32/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/sparc/sparc32/sparcv9/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/sparc/sparc64/pspinlock.c: Likewise.
        * linuxthreads/sysdeps/sparc/sparc64/pt-machine.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h: Likewise.
        * linuxthreads/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
        * linuxthreads/tststack.c: Likewise.
        * linuxthreads/unload.c: Likewise.
        * linuxthreads/weaks.c: Likewise.
        * linuxthreads/wrapsyscall.c: Likewise.
        * malloc/arena.c: Likewise.
        * malloc/hooks.c: Likewise.
        * malloc/malloc.c: Likewise.
        * posix/glob/Makefile.ami: Likewise.
        * posix/glob/Makefile.in: Likewise.
        * stdlib/gmp-impl.h: Likewise.
        * stdlib/gmp.h: Likewise.
        * sysdeps/generic/dl-iteratephdr-static.c: Likewise.
        * sysdeps/generic/strnlen.c: Likewise.
        * sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise.
        * sysdeps/mach/hurd/recvmsg.c: Likewise.
        * sysdeps/mach/hurd/sendmsg.c: Likewise.
        * sysdeps/mach/hurd/spawni.c: Likewise.
        * sysdeps/mach/powerpc/machine-sp.h: Likewise.
        * sysdeps/mach/powerpc/sysdep.h: Likewise.
        * sysdeps/mach/powerpc/thread_state.h: Likewise.
        * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
        * sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: Likewise.
        * sysdeps/x86_64/gmp-mparam.h: Likewise.
2002-08-26 22:40:48 +00:00
Roland McGrath
ffa8d2a098 * locale/programs/ld-ctype.c (ctype_read): When given a repertoire
name of "", store a null pointer instead.

	* configure.in (elf): Set to yes for freebsd*, netbsd*.
	* configure: Regenerated.

	* locale/xlocale.c [! (USE_TLS && HAVE___THREAD)] (__libc_tsd_LOCALE):
	Initialize this instead of __libc_tsd_LOCALE_data.

	* sysdeps/unix/grantpt.c (pts_name): Convert ENOTTY return from
	ptsname_r to EINVAL.

	* sysdeps/generic/ptsname.c (__ptsname_r): Return ENOSYS instead of 0.

	* rt/Makefile: Revert last change, it was inappropriate to presume aio
	implementations depend on pthreads.
	* rt/tst-aio.c (do_test): Exit happy if first failure is ENOSYS.
	* rt/tst-aio64.c (do_test): Likewise.
	* rt/tst-aio2.c (do_test): Likewise.
	* rt/tst-aio3.c (do_test): Likewise.
	* rt/tst-aio4.c (do_test): Likewise.
	* rt/tst-aio5.c (do_test): Likewise.
	* rt/tst-aio6.c (do_test): Likewise.
	* rt/tst-aio7.c (do_test): Likewise.

	* sysdeps/generic/bits/libc-lock.h (__libc_setspecific): Use a cast to
	void so as to avoid compiler warnings.

	* libio/oldstdfiles.c [! _IO_MTSAFE_IO] (DEF_STDFILE): Don't define
	_IO_wide_data_FD, which is never used here.

	* libio/iofread.c
	[! _IO_MTSAFE_IO] (fread_unlocked): Add libc_hidden_ver defn.
	* libio/iofputs.c [! _IO_MTSAFE_IO] (fputs_unlocked): Likewise.
	* libio/iofgets.c [! _IO_MTSAFE_IO] (fgets_unlocked): Likewise.

	* include/resolv.h [! _LIBC_REENTRANT] (_res): #undef it before decl.
	* include/netdb.h [! _LIBC_REENTRANT] (h_errno): Declare normal extern.

	* misc/syslog.c (openlog): Conditionalize locking on [_LIBC_REENTRANT].
	(closelog): Likewise.

2002-07-06  Bruno Haible  <bruno@clisp.org>

	* sysdeps/alpha/fpu/fpu_control.h: Comment fix.

	* sysdeps/unix/sysv/linux/alpha/pipe.S: Moved to ...
	* sysdeps/unix/alpha/pipe.S: ... here.
	* sysdeps/unix/bsd/osf/alpha/pipe.S: File removed.

	* sysdeps/unix/i386/brk.S: Rename local label to '.Lhere' in ELF.

	* sysdeps/unix/i386/brk.S: Add PSEUDO_END invocation.
	* sysdeps/unix/i386/fork.S: Likewise.
	* sysdeps/unix/i386/pipe.S: Likewise.
	* sysdeps/unix/i386/wait.S: Likewise.

	* sysdeps/unix/fork.S: Fix PSEUDO_END argument.
	* sysdeps/unix/arm/fork.S: Likewise.

	* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/hppa/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.

	* sysdeps/i386/sysdep.h (PSEUDO): Fix syntax error.
	(L): Define right for ELF.
	* sysdeps/unix/sysv/linux/i386/sysdep.h (L): Remove definition.
	Now defined in sysdeps/i386/sysdep.h.

	* sysdeps/posix/readv.c: Ansify function definition.
	* sysdeps/posix/writev.c: Likewise.

	* stdio-common/tst-fseek.c (main): Don't assume that off_t and size_t
	have the same size. Avoid direct cast from size_t to off_t.

	* login/tst-utmp.c (simulate_login): Don't leave garbage after the
	nul byte in entry[n].ut_user.
	(simulate_logout): Likewise.

	* login/programs/utmpdump.c (print_entry): Test _HAVE_UT_TYPE,
	_HAVE_UT_PID, _HAVE_UT_ID, _HAVE_UT_HOST, instead of assuming the
	existence of corresponding members of 'struct utmp'.
	* login/tst-utmp.c: Trivialize the test if testing 'struct utmp' and
	!_HAVE_UT_TYPE.

	* sysdeps/unix/opendir.c (__opendir): If st_blksize is 0 or too small,
	allocate a buffer of at least BUFSIZ bytes, not just of
	sizeof (struct dirent).

	* sysdeps/generic/glob.c: Include <limits.h>.
	(NAME_MAX): Define a fallback.
	(glob_in_dir): Allocate enough room for a 'struct dirent64' on the
	stack.
	* posix/tst-dir.c: Include <stddef.h>, for offsetof.
	(main): Allocate enough room for a 'struct dirent64' on the stack.
	* posix/tst-gnuglob.c (my_DIR): Allocate enough room for a
	'struct dirent'.

	* sysdeps/unix/sysv/linux/init-first.c: Don't include
	kernel-features.h.

	* inet/htontest.c: Include <sys/types.h>.

	* sysdeps/generic/sys/sysinfo.h: Surround with __{BEGIN,END}_DECLS.

	* include/sys/sysctl.h: Comment fix.

	* elf/rtld.c (_rtld_global) [! _LIBC_REENTRANT]: Don't initialize
	_dl_load_lock.
	* libio/fileno.c (fileno_unlocked): Define regardless of _IO_MTSAFE_IO.

	* sysdeps/unix/bsd/bsd4.4/syscalls.list (__sigaltstack): New alias.

	* sysdeps/unix/inet/syscalls.list (__connect_internal): New alias.
	(__getpeername): New alias.
	(__getsockname): New alias.
	(__socket): New alias.

	* sysdeps/unix/common/syscalls.list (getpgid): Remove.

	* sysdeps/unix/syscalls.list (__chown_internal): New alias.
	(__fcntl_internal): New alias.
	(__profil): New alias.
2002-08-26 11:39:12 +00:00
Ulrich Drepper
046b40694f Update.
2002-08-25  Ulrich Drepper  <drepper@redhat.com>

	* elf/tst-tlsmod1.c (in_dso): Make sure the TLS variable access is
	not moved ahead of the fputs call.
	* elf/tst-tlsmod2.c (in_dso): Likewise.
	* elf/tst-tlsmod3.c (in_dso2): Likewise.
	* elf/tst-tlsmod4.c (in_dso): Likewise.
2002-08-25 22:34:57 +00:00
Ulrich Drepper
f6fe58268b (_dl_reloc_bad_type): Nul-terminate message. 2002-08-25 21:52:49 +00:00
Roland McGrath
6ce3881de5 * sysdeps/generic/utmp_file.c (UNLOCK_FILE): Clear alarm before
resetting handler, to avoid the possibility of a spurious SIGALRM
	delivered to the user's handler.
	Reported by Amit D. Chaudhary <amitc@brocade.com>,

	* misc/Makefile (CFLAGS-init-misc.c): Varaible removed.  It served to
	set -fkeep-inline-functions, which is not needed for the current file.

	* sysdeps/generic/ldsodefs.h: Add attribute_hidden to *_internal decls.
	(_dl_setup_hash): Add attribute_hidden.
	(_dl_sysdep_start, _dl_sysdep_start_cleanup): Likewise.
	(_dl_sysdep_read_whole_file, _dl_dprintf): Likewise.
	(_dl_new_object, _dl_map_object_deps): Likewise.
	(_dl_map_object_deps_internal): Remove decl.
	* elf/rtld.c (__mempcpy, _exit): Redeclare locally as hidden.

	* sysdeps/i386/dl-machine.h [PI_STATIC_AND_HIDDEN
	&& HAVE_VISIBILITY_ATTRIBUTE && HAVE_HIDDEN
	&& !HAVE_BROKEN_VISIBILITY_ATTRIBUTE]
	(elf_machine_dynamic, elf_machine_load_address): Rewritten without asm,
	instead relying on the compiler to produce only GOTOFF variable refs.
2002-08-25 20:14:50 +00:00
Ulrich Drepper
fd77c3615d Update.
* elf/dl-load.c: Fix typo in comment.  Add a few more __builtin_expect.
2002-08-25 19:34:42 +00:00
Ulrich Drepper
9df8939002 Update.
* elf/rtld.c: Also test for HAVE_VISIBILITY_ATTRIBUTE before
	defining DONT_USE_BOOTSTRAP_MAP.
2002-08-25 09:02:59 +00:00
Ulrich Drepper
5a47e7f2a8 Update.
2002-08-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/elf/configure.in: Unconditionally define
	PI_STATIC_AND_HIDDEN.
	* elf/rtld.c (DONT_USE_BOOTSTRAP_MAP): Define only if
	PI_STATIC_AND_HIDDEN is defined as well.
	* config.h.in: Add PI_STATIC_AND_HIDDEN entry.

	* elf/rtld.c (dl_main): Likewise.
2002-08-25 07:22:45 +00:00
Ulrich Drepper
6dd67bd565 Update.
2002-08-24  Ulrich Drepper  <drepper@redhat.com>

	* locale/programs/charmap.c (charmap_new_char): Don't use
	ULONG_MAX as maximum UCS4 value.

	* sysdeps/unix/sysv/linux/ia64/sys/user.h: New file.

	* sysdeps/generic/strtol.c: We don't need the isascii test in glibc.

	* malloc/hooks.c (public_sET_STATe): use size_t as type for i.
	* malloc/malloc.c (mALLINFo): Likewise.

	* libio/wstrops.c (_IO_wstr_pbackfail): Use WEOF in comparison.

	* libio/wfileops.c (_IO_wfile_overflow): Use EOF not WEOF when
	examining result of _IO_do_flush call.

	* stdio-common/vfprintf.c (vfprintf): Use correct type in va_arg.
	Use prec not spec when sizing buffers.

	* catgets/open_catalog.c (__open_catalog): Add casts to avoid warnings.
	* locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
	* locale/loadlocale.c (_nl_intern_locale_data): Likewise.
	* stdio-common/vfscanf.c (inchar): Likewise.
	* misc/efgcvt_r.c (fcvt_r): Likewise.
	* elf/dl-misc.c (_dl_debug_vdprintf): Likewise.
	* elf/readlib.c (process_file): Likewise.
	* elf/sprof.c (load_profdata): Likewise.
	* sysdeps/ia64/hp-timing.h (HP_TIMING_PRINT): Likewise.
	* locale/programs/linereader.c (get_toplvl_escape): Likewise.
	* locale/programs/charmap.c (charmap_read): Likewise.
	* libio/fileops.c: Likewise.
	* libio/fmemopen.c: Likewise.
	* stdlib/strtod.c: Likewise.
	* elf/dl-load.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c (process_block): Likewise.

	* sysdeps/unix/sysv/linux/ia64/Makefile: Define _ASM_IA64_CURRENT_H
	macro to calm down the compiler.

	* iconv/gconv_cache.c (__gconv_load_cache): Add cast to avoid warning.

	* sysdeps/ia64/elf/initfini.c: Don't use newlines embedded in string.

	* sysdeps/unix/sysv/linux/i386/sysdep.S: Update comment regarding
	placement of errno definition.
	* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/mips/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.

	* resolv/nss_dns/dns-host.c (MAXPACKET): Increase minimum value
	from 1024 to 65536, to avoid buffer overrun.

2002-08-16  Paul Eggert  <eggert@twinsun.com>

	* resolv/gethnamaddr.c (MAXPACKET): Increase minimum value
	from 1024 to 65536, to avoid buffer overrun.
	* resolv/res_query.c (MAXPACKET): Likewise.

	architectures.
2002-08-25 04:51:08 +00:00
Roland McGrath
c2248c44e4 2002-08-21 Roland McGrath <roland@redhat.com>
* elf/rtld.c (_dl_start_final): Move defn before _dl_start so it can
	be inlined.  Declare it with always_inline if [DONT_USE_BOOTSTRAP_MAP]
	and with noinline otherwise.  Remove hack alloca use to prevent
	inlining, we can ask for it explicitly nowadays.
2002-08-22 00:09:26 +00:00
Ulrich Drepper
01d8e36dd9 Update.
* elf/rtld.c (start_time): New global variable.  Moved from _dl_start.
	(DONT_USE_BOOTSTRAP_MAP): Define if we can use non-exported symbols
	before relocation.
	(_dl_start): Don't use local bootstrap_map variable if
	DONT_USE_BOOTSTRAP_MAP is defined.  Use GL(dl_rtld_map).  Don't
	pass bootstrap_map to _dl_start_final in this case either.  Don't
	pass start_time to _dl_start_final ever.
	(_dl_start_final): Don't copy bootstrap_map of DONT_USE_BOOTSTRAP_MAP.

	* elf/dl-deps.c (_dl_map_object_deps): Revert patch from 2002-05-28.
	This cripples the scope lists necessary to search for symbols in
	dependencies which are not in the global scope.
2002-08-21 23:01:40 +00:00
Ulrich Drepper
3fc9ed37d8 (_dl_map_object_deps): Revert patch from 2002-05-28. This cripples the scope lists necessary to search for symbols in dependencies which are not in the global scope. 2002-08-21 22:36:32 +00:00
Ulrich Drepper
9d69bd2492 Update.
2002-08-20  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (_dl_start): Pass zero to TLS_INIT_TP.  Set
	bootstrap_map.l_tls_tp_initialized to 1 if TLS_INIT_TP was called.
	(_dl_start_final): Copy l_tls_tp_initialized to GL(dl_rtld_map).
	(dl_main): If HAVE___THREAD is not defined pass l_tls_tp_initialized
	to TL_INIT_TP.  Otherwise pass 1.
	* include/link.h (struct link_map): Add l_tls_tp_initialized.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass 0 to TL_INIT_TP.

2002-08-20  Brian Youmans  <3diff@gnu.org>
	* manual/contrib.texi: Removed licenses, added acknowledgements
	for contributions by Intel, IBM, Craig Metz.
	* LICENSES: New file, contains the text of all non-FSF licenses in the
	* sysdeps/mach/hurd/net/if_ppp.h: Replaced CMU license with a
	new one modelled on the modern BSD license, per recent letter
	of permission from CMU.
	* sysdeps/unix/sysv/linux/net/if_ppp.h: Likewise.

	* sysdeps/ieee754/dbl-64/MathLib.h: Changed the copyright holder
	from IBM to FSF, per the recent Software Letter.  Changed the
	distribution terms from GPL to LGPL.

	* sysdeps/ieee754/dbl-64/asincos.tbl: Added FSF copyright and
	copying permission notice (Lesser GPL), per recent IBM Software Letter.
	* sysdeps/ieee754/dbl-64/powtwo.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/root.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/sincos.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/uatan.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/uexp.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/ulog.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/upow.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/utan.tbl: Likewise.

	* sysdeps/ieee754/dbl-64/atnat.h: Changed the copyright holder
	* sysdeps/ieee754/dbl-64/atnat2.h: Likewise.
	* sysdeps/ieee754/dbl-64/branred.h: Likewise.
	* sysdeps/ieee754/dbl-64/dla.h: Likewise.
	* sysdeps/ieee754/dbl-64/doasin.h: Likewise.
	* sysdeps/ieee754/dbl-64/dosincos.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpa.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpa2.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpexp.h: Likewise.
	* sysdeps/ieee754/dbl-64/mplog.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpsqrt.h: Likewise.
	* sysdeps/ieee754/dbl-64/mydefs.h: Likewise.
	* sysdeps/ieee754/dbl-64/sincos32.h: Likewise.
	* sysdeps/ieee754/dbl-64/uasncs.h: Likewise.
	* sysdeps/ieee754/dbl-64/uexp.h: Likewise.
	* sysdeps/ieee754/dbl-64/ulog.h: Likewise.
	* sysdeps/ieee754/dbl-64/upow.h: Likewise.
	* sysdeps/ieee754/dbl-64/urem.h: Likewise.
	* sysdeps/ieee754/dbl-64/uroot.h: Likewise.
	* sysdeps/ieee754/dbl-64/usncs.h: Likewise.
	* sysdeps/ieee754/dbl-64/utan.h: Likewise.

	* sysdeps/ieee754/dbl-64/branred.c: Corrected the text of the copying
	* sysdeps/ieee754/dbl-64/doasin.c: Likewise.
	* sysdeps/ieee754/dbl-64/dosincos.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_asin.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_atan2.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_exp.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_log.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_remainder.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise.
	* sysdeps/ieee754/dbl-64/halfulp.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpa.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan2.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpexp.c: Likewise.
	* sysdeps/ieee754/dbl-64/mplog.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise.
	* sysdeps/ieee754/dbl-64/mptan.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_atan.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
	* sysdeps/ieee754/dbl-64/sincos32.c: Likewise.
	* sysdeps/ieee754/dbl-64/slowexp.c: Likewise.
	* sysdeps/ieee754/dbl-64/slowpow.c:  Likewise.
2002-08-21 00:17:09 +00:00
Roland McGrath
070cadeb5f * locale/loadarchive.c (_nl_load_locale_from_archive): Handle
partially overlapping mappings.	 Remove unneeded (char *) casts.
	Never allow duplication of ranges in mapped areas.

2002-08-20  Roland McGrath  <roland@redhat.com>

	* elf/Makefile ($(objpfx)ld.so): Separate commands in rule so errors
	can be detected by make.  Reported by H.J. Lu <hjl@gnu.org>.

	(dl_main): Pass extra argument 0 to TLS_INIT_TP.
2002-08-20 19:40:17 +00:00
Ulrich Drepper
d78ce054e2 Update.
* elf/rtld.c (_dl_start): Pass extra argument 1 to TLS_INIT_TP.
	(dl_main): Padd extra argument 0 to TLS_INIT_TP.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass extra
	argument 1 to TLS_INIT_TP.
	* sysdeps/generic/tls.h (TLS_INIT_TP): Describe new parameter.

	* locale/loadarchive.c (_nl_load_locale_from_archive): Store strdup of
2002-08-20 10:14:15 +00:00
Ulrich Drepper
9a1eb38e4e Update.
2002-08-20  Ulrich Drepper  <drepper@redhat.com>

	* elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_tls_static_info.
	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Move dtv
	memory allocation to...
	(allocate_dtv): ...here.  New function.
	(_dl_allocate_tls): Change to take parameter.  If parameter is non-NULL
	call allocate_dtv instead of _dl_allocate_tls_storage.
	(_dl_deallocate_tls): New parameter.  Deallocate TCB only if true.
	(_dl_get_tls_static_info): New function.
	* sysdeps/generic/ldsodefs.h: Adjust prototypes of _dl_allocate_tls
	and _dl_deallocate_tls.  Add prototype for _dl_get_tls_static_info.
2002-08-20 07:22:11 +00:00
Ulrich Drepper
2a76f7ef14 Update.
2002-08-15  Ulrich Drepper  <drepper@redhat.com>

	* csu/Makefile: Define elide-routines.os not static-only-routines.

	* include/sched.h (__clone): Add varargs at the end.

	* elf/rtld.c (_dl_start): All TLS_INIT_TP to fail and stop in that
	case.
	(TLS_INIT_HELPER): If defined use it.
	* sysdeps/generic/libc-tls.c (TLS_INIT_HELPER): Likewise.

	* locale/loadarchive.c (archfname): Add missing slash.
	* sysdeps/generic/strtold.c (__strtold_internal): Add libc_hidden_def.
	* wcsmbs/wcstold.c (__wcstold_internal): Add libc_hidden_def.
2002-08-15 13:04:07 +00:00
Roland McGrath
1a64029808 * elf/dl-load.c (lose): Remove [!SHARED] conditional from null check
on L->l_prev; it can happen under rtld --verify too.
2002-08-15 08:43:31 +00:00
Roland McGrath
e6f526809d * elf/tst-tlsmod4.c (in_dso): Insert a random library call before use
of the TLS macros, otherwise the compiler might not have initialized
	the PIC register yet when we use the PLT via asm.
	* elf/tst-tlsmod3.c (in_dso2): Likewise.
	* elf/tst-tlsmod2.c (in_dso): Likewise.
2002-08-12 06:25:47 +00:00
Roland McGrath
5656e2948f * include/bits/dlfcn.h: New file.
* elf/dl-profstub.c (_dl_mcount_wrapper_check): Add libc_hidden_def.

	* include/grp.h (_nss_files_parse_grent): Add libc_hidden_proto.
	* include/netinet/ether.h (_nss_files_parse_etherent): Likewise.
	* include/rpc/netdb.h (_nss_files_parse_rpcent): Likewise.
	* include/pwd.h (_nss_files_parse_pwent): Likewise.
	* include/shadow.h (_nss_files_parse_spent): Likewise.
	* include/netdb.h (_nss_files_parse_protoent,
	_nss_files_parse_servent, _nss_files_parse_netent): Likewise.
	* nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define.
	(LINE_PARSER): Use it.
	* nss/nsswitch.h (__nss_hostname_digits_dots): Add libc_hidden_proto.
	* nss/digits_dots.c (__nss_hostname_digits_dots): Add libc_hidden_def.

	* include/wctype.h (iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
	towlower, towupper): Add prototypes here too.  Add libc_hidden_proto.
	* wctype/wcfuncs ((iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
	towlower, towupper): Add libc_hidden_weak.

	* libio/oldiopopen.c: Move #if SHLIB_COMPAT after _IO_HAVE_SYS_WAIT
	#endif.

	* manual/debug.texi (%MENU%): Remove trailing dot.
	Reported by <hayastan132@hotmail.com>.
2002-08-10 07:54:55 +00:00
Ulrich Drepper
9b1b33cea3 Update.
* elf/dl-load.c (_dl_map_object_from_fd): Add missing \n in error
	message.
2002-08-08 06:38:19 +00:00
Ulrich Drepper
7d0b1164e6 Update.
* sysdeps/generic/libc-tls.c: Likewise.
2002-08-08 04:16:54 +00:00
Roland McGrath
a585ba226b * sysdeps/posix/system.c (do_system): New function, guts broken out of
__libc_system.
	(__libc_system): Call it, putting just the line == NULL test here.

	* include/libc-symbols.h (__hidden_proto): Add extern keywords so
	variables work right.

	* elf/dl-open.c (dl_open_worker): Use _ macro instead of gettext.
	* elf/dl-close.c (_dl_close): Likewise.

	* include/netinet/in.h: Use libc_hidden_proto for bindresvport,
	in6addr_any, in6addr_loopback.  Remove decls for
	bindresvport_internal, in6addr_any_internal, in6addr_loopback_internal.
	* sunrpc/svc_udp.c (svcudp_bufcreate): Nix INTUSE for bindresvport.
	* sunrpc/svc_tcp.c (svctcp_create): Likewise.
	* sunrpc/clnt_udp.c (clntudp_bufcreate): Likewise.
	* sunrpc/bindrsvprt.c: Change INTDEF to libc_hidden_def.
	* inet/in6_addr.c: Change INTVARDEF to libc_hidden_def.
	* sysdeps/posix/getaddrinfo.c (gaih_inet): Nix INTUSE for
	in6addr_loopback.
	* inet/gethstbyad_r.c (PREPROCESS): Nix INTUSE for in6addr_any.

	* include/netinet/ether.h: Use libc_hidden_proto for ether_ntoa_r,
	ether_aton_r.
	* inet/ether_aton_r.c: Add libc_hidden_def.
	* inet/ether_ntoa_r.c: Likewise.

	* include/rpc/auth.h: Use libc_hidden_proto for getnetname,
	netname2user, host2netname.
	* sunrpc/netname.c: Add libc_hidden_def.

	* include/netdb.h: Use libc_hidden_proto for innetgr, rcmd_af,
	rexec_af, rresvport_af, ruserok_af.
	* inet/rcmd.c: Add libc_hidden_def.
	* inet/getnetgrent_r.c: Likewise.
2002-08-06 04:30:03 +00:00
Ulrich Drepper
f884de5be9 Update.
2002-08-05  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (_dl_start): Don't use memset.  Use same tricks as for
	the other memset call in this function.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Store dtv pointer
	at correct index.  Clear BSS region now that memalign is used.

	* include/wchar.h (wcrtomb, wcscmp, wcsftime, wcsspn, wcschr, wcscoll,
	wcspbrk): Add libc_hidden_proto.
	* time/strftime.c (my_strftime): Add libc_hidden_def.
	(strftime): Remove libc_hidden_def.
	* wcsmbs/wcschr.c (wcschr): Add libc_hidden_def.
	* wcsmbs/wcspbrk.c (wcspbrk): Likewise.
	* wcsmbs/wcsspn.c (wcsspn): Likewise.
	* wcsmbs/wcscmp.c (wcscmp): Likewise.
	* wcsmbs/wcrtomb.c (wcrtomb): Add libc_hidden_weak.
	* wcsmbs/wcscoll.c (wcscoll): Likewise.

	* include/rpc/rpc.h (__rpc_thread_svc_max_pollfd,
	__rpc_thread_svc_pollfd, __rpc_thread_svc_fdset,
	__rpc_thread_createerr): Add libc_hidden_proto.
	* sunrpc/rpc_thread.c (__rpc_thread_svc_max_pollfd,
	__rpc_thread_svc_pollfd, __rpc_thread_svc_fdset,
	__rpc_thread_createerr): Add libc_hidden_def.

	* include/rpc/clnt.h (clnt_sperrno, clnt_spcreateerror,
	clnt_perror, clnt_sperror, _rpc_dtablesize): Add libc_hidden_proto.
	* sunrpc/clnt_perr.c (clnt_sperrno, clnt_spcreateerror,
	clnt_perror, clnt_sperror): Add libc_hidden_def.
	* sunrpc/rpc_dtable.c (_rpc_dtablesize): Likewise.

	* include/rpc/des_crypt.h (des_setparity, ecb_crypt, cbc_crypt): Add
	libc_hidden_proto.
	* sunrpc/des_crypt.c (ecb_crypt, cbc_crypt): Add libc_hidden_proto.
	* sunrpc/des_soft.c (des_setparity): Likewise.

	* include/rpc/auth.h (key_encryptsession_pk, key_decryptsession_pk):
	Add libc_hidden_proto.
	* sunrpc/key_call.c (key_encryptsession_pk, key_decryptsession_pk):
	Add libc_hidden_def.
2002-08-06 01:00:59 +00:00
Roland McGrath
8784cc18e1 2002-08-05 Jakub Jelinek <jakub@redhat.com>
* include/wchar.h (wcrtomb, wcscmp, wcsftime, wcsspn, wcschr, wcscoll,
        wcspbrk): Add libc_hidden_proto.
        * time/strftime.c (my_strftime): Add libc_hidden_def.
        (strftime): Remove libc_hidden_def.
        * wcsmbs/wcschr.c (wcschr): Add libc_hidden_def.
        * wcsmbs/wcspbrk.c (wcspbrk): Likewise.
        * wcsmbs/wcsspn.c (wcsspn): Likewise.
        * wcsmbs/wcscmp.c (wcscmp): Likewise.
        * wcsmbs/wcrtomb.c (wcrtomb): Add libc_hidden_weak.
        * wcsmbs/wcscoll.c (wcscoll): Likewise.

        * include/rpc/rpc.h (__rpc_thread_svc_max_pollfd,
        __rpc_thread_svc_pollfd, __rpc_thread_svc_fdset,
        __rpc_thread_createerr): Add libc_hidden_proto.
        * sunrpc/rpc_thread.c (__rpc_thread_svc_max_pollfd,
        __rpc_thread_svc_pollfd, __rpc_thread_svc_fdset,
        __rpc_thread_createerr): Add libc_hidden_def.

        * include/rpc/clnt.h (clnt_sperrno, clnt_spcreateerror,
        clnt_perror, clnt_sperror, _rpc_dtablesize): Add libc_hidden_proto.
        * sunrpc/clnt_perr.c (clnt_sperrno, clnt_spcreateerror,
        clnt_perror, clnt_sperror): Add libc_hidden_def.
        * sunrpc/rpc_dtable.c (_rpc_dtablesize): Likewise.

        * include/rpc/des_crypt.h (des_setparity, ecb_crypt, cbc_crypt): Add
        libc_hidden_proto.
        * sunrpc/des_crypt.c (ecb_crypt, cbc_crypt): Add libc_hidden_proto.
        * sunrpc/des_soft.c (des_setparity): Likewise.

        * include/rpc/auth.h (key_encryptsession_pk, key_decryptsession_pk):
        Add libc_hidden_proto.
        * sunrpc/key_call.c (key_encryptsession_pk, key_decryptsession_pk):
        Add libc_hidden_def.
2002-08-05 22:11:14 +00:00
Roland McGrath
08da062122 2002-08-05 Roland McGrath <roland@redhat.com>
* sysdeps/generic/ldsodefs.h (struct rtld_global): Replace member
	`bool _dl_initial_dtv_malloced' with `void *_dl_initial_dtv'.
	* elf/rtld.c (dl_main): Set it to the new dtv for the main thread.
	* sysdeps/generic/dl-tls.c (__tls_get_addr): When reallocating the
	dtv, check if it matches _dl_initial_dtv; if so, malloc and copy the
	old data, abandoning the original memory allocated by rtld at startup,
	instead of calling realloc normally.
2002-08-05 18:56:03 +00:00
Roland McGrath
b1b76ea559 2002-08-04 Roland McGrath <roland@frob.com>
* elf/Makefile (test-srcs): Add $(modules-names) to it.
	(CFLAGS-vismod2.c, CFLAGS-failobj.c, CFLAGS-constload2.c,
	CFLAGS-reldepmod3.c, CFLAGS-reldepmod4.c, CFLAGS-ltglobmod2.c): Remove
	all these variables.
2002-08-05 04:58:03 +00:00
Roland McGrath
a816b435dd * Makerules (cpp-srcs-left): When setting this to run
cppflags-iterator.mk, must append .c to $(tests) and $(xtests)
	words.  Combine the two loops into one on the concatenated list,
	including those as well as $(test-srcs).

	* elf/dl-minimal.c (__libc_memalign): Guts of malloc moved here,
	since we align here with optimally minimal waste anyway.
	(malloc): Just call that.

	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Set l_tls_offset to
	the right variable.

	* elf/dl-load.c (_dl_map_object_from_fd): Use p_vaddr, not p_offset,
	to compute memory location for l_tls_initimage.
	* elf/rtld.c (_dl_start): Likewise.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise.

	* libio/oldiopopen.c: Move #include's before #if SHLIB_COMPAT,
	because the .d file is generated in the non-shared case and
	so fails to catch them otherwise.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): New function,
	split out of _dl_allocate_tls.
	(_dl_allocate_tls_init): Likewise.
	(_dl_allocate_tls): Call those.
	* sysdeps/generic/ldsodefs.h: Declare them with attribute_hidden.
	* elf/rtld.c (dl_main): Call them separately instead of calling
	_dl_allocate_tls.  Delay _dl_allocate_tls_init until after relocation
	is finished, so that the initializer data has been relocated before we
	copy it into the main thread's TLS block.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls): Fix off-by-one error in
	loop conditions, prevented the last used module from being initialized.
2002-08-05 01:21:25 +00:00
Ulrich Drepper
cc7e7a2641 Add libc_hidden_def. 2002-08-04 09:05:47 +00:00
Roland McGrath
dc18d4d8e4 * locale/nl_langinfo.c: Use _NL_CURRENT_DATA.
* elf/Makefile (CFLAGS-vismod2.c): New variable.
2002-08-04 02:32:32 +00:00
Ulrich Drepper
37ba7d6663 Update.
2002-08-02  Ulrich Drepper  <drepper@redhat.com>

	* configure.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add check for
	broken alias attribute handling.
	* config.h.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add.

	* assert/assert.c (__assert_fail): Fix typo in comment.

	* include/rpc/rpc.h: Declare __libc_tsd_RPC_VARS if USE_TLS &&
	HAVE___THREAD.
	* sunrpc/rpc_thread.c: Don't define __libc_tsd_RPC_VARS as static
	if USE_TLS && HAVE___THREAD.
	* sunrpc/Versions [libc] (GLIBC_PRIVATE): Export __libc_tsd_RPC_VARS.

2002-08-02  Jakub Jelinek  <jakub@redhat.com>

	* assert/assert.c (__assert_fail): Remove undef.
	Replace INTDEF with libc_hidden_def.
	* assert/__assert.c (__assert): Remove INTUSE.
	* elf/dl-minimal.c (__assert_fail): Replace INTDEF with
	libc_hidden_weak.
	* include/libc-symbols.h (hidden_proto, hidden_def, hidden_weak,
	hidden_ver, libc_hidden_proto, libc_hidden_def, libc_hidden_weak,
	libc_hidden_ver, rtld_hidden_proto, rtld_hidden_def, rtld_hidden_weak,
	rltd_hidden_ver, libm_hidden_proto, libm_hidden_def, libm_hidden_weak,
	libm_hiden_ver): Define.
	* include/assert.h (__assert_fail_internal): Remove.
	(__assert_fail): Add prototype.  Add hidden_proto.
	* include/libc-internal.h (__libc_freeres, __profile_frequency): Add
	libc_hidden_proto.
	* include/wchar.h (__mbrtowc_internal, __mbrlen_internal): Remove.
	(__mbrtowc, __mbrlen): Use libc_hidden_proto.  Remove macros.
	* include/string.h (__mempcpy, __stpncpy, __rawmemchr, __strcasecmp):
	Add libc_hidden_proto.
	* include/fcntl.h (__open64, __libc_open, __libc_fcntl, __open,
	__fcntl): Add libc_hidden_proto.  Remove macros.
	(__open_internal, __fcntl_internal): Remove.
	* libio/iofdopen.c (_IO_fcntl): Remove INTUSE from __fcntl.
	* malloc/set-freeres.c (__libc_freeres): Add libc_hidden_def.
	* nss/nsswitch.h (__nss_database_lookup, __nss_next): Add
	libc_hiden_proto.
	* nss/nsswitch.c (__nss_database_lookup, __nss_next): Add
	libc_hidden_def.
	* sysdeps/generic/mempcpy.c (__mempcpy): Remove undef.
	Add libc_hidden_def.
	* sysdeps/generic/open64.c (__open64): Add libc_hidden_def.
	* sysdeps/generic/open.c (__open): Remove undef.
	Add libc_hidden_def.  Remove INTDEF.
	* sysdeps/generic/fcntl.c (__fcntl): Remove undef.
	Add libc_hidden_def.
	* sysdeps/mach/hurd/fcntl.c (__fcntl): Likewise.
	* sysdeps/i386/i586/mempcpy.S (__mempcpy): Add libc_hidden_def.
	* sysdeps/i386/i686/mempcpy.S (__mempcpy): Likewise.
	* sysdeps/mach/hurd/fcntl.c (__libc_fcntl, __fcntl): Remove undef.
	(__fcntl): Remove INTDEF2.  Add libc_hidden_weak.
	(__libc_fcntl): Add libc_hidden_def.
	* sysdeps/mach/hurd/open.c (__libc_open, __open): Remove undef.
	(__open): Remove INTDEF2.  Add libc_hidden_weak.
	(__libc_open): Add libc_hidden_def.
	* sysdeps/posix/open64.c (__open64): Add libc_hidden_weak.
	* sysdeps/standalone/open.c (__open): Add libc_hidden_def.
	* sysdeps/unix/sysv/aix/fcntl.c (__libc_fcntl, __fcntl): Remove undef.
	Add libc_hidden_def.
	* sysdeps/unix/sysv/aix/open.c (__libc_open, __open): Remove undef.
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl, __fcntl): Remove
	undef.
	(__fcntl): Remove INTDEF2.  Add libc_hidden_weak.
	(__libc_fcntl): Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/syscalls.list (__fcntl_internal,
	__getpgid_internal, __chown_internal): Remove.
	(__GI___fcntl, __GI___libc_fcntl, __GI___getpgid, __GI___pipe,
	__GI___sched_setscheduler, __GI___select, __GI___setpgid,
	__GI___chown): Add.
	* sysdeps/unix/syscalls.list (__close_internal, __dup2_internal,
	__getpid_internal, __open_internal, __write_internal): Remove.
	(__GI___fcntl, __GI___libc_fcntl, __GI___open, __GI___libc_open,
	__GI___chown, __GI___close, __GI___dup2, __GI___getpid,
	__GI___libc_open, __GI___open, __GI___read, __GI___libc_read,
	__GI___select, __GI___statfs, __GI___write, __GI___libc_write): Add.
	* wcsmbs/mbrlen.c (__mbrlen): Remove undef.
	Replace INTDEF with libc_hidden_def.
	* wcsmbs/mbrtowc.c (__mbrtowc): Likewise.
	* catgets/catgetsinfo.h (__open_catalog): Add libc_hidden_proto.
	* catgets/open_catalog.c (__open_catalog): Add libc_hidden_def.
	* elf/dl-profile.c (__profile_frequency): Add libc_hidden_proto.
	* include/rpc/rpc.h (__rpc_thread_svc_fdset, __rpc_thread_createerr):
	Add libc_hidden_proto.
	* include/sys/poll.h (__poll): Add libc_hidden_proto.
	* include/sys/select.h (__select): Likewise.
	* include/sys/socket.h (__send): Likewise.
	* include/sys/statfs.h (__statfs): Likewise.
	* include/unistd.h (__pwrite64, __libc_read, __pipe, __chown, __dup2,
	__getpid, __getpgid, __setpgid, __close, __read, __write,
	__getpagesize, __sbrk): Likewise.
	(__chown_internal, __dup2_internal, __getpid_internal,
	__getpgid_internal, __close_internal, __write_internal,
	__getpagesize_internal): Remove.
	(__close, __dup2, __getpagesize, __getpgid, __getpid, __libc_write):
	Remove macros.
	* include/printf.h (__printf_fp): Add libc_hidden_proto.
	* include/sched.h (__sched_setscheduler): Likewise.
	* include/resolv.h (__res_ninit, __res_randomid): Likewise.
	* include/stdlib.h (__secure_getenv): Likewise.
	* include/signal.h (__sigaction, __sigsuspend): Likewise.
	* inet/getaliasent_r.c (NSS_attribute_hidden): Remove.
	* inet/getaliasname_r.c (NSS_attribute_hidden): Remove.
	* inet/getnetbyad_r.c (NSS_attribute_hidden): Remove.
	* inet/getnetbynm_r.c (NSS_attribute_hidden): Remove.
	* inet/getnetent_r.c (NSS_attribute_hidden): Remove.
	* inet/getproto_r.c (NSS_attribute_hidden): Remove.
	* inet/getprtent_r.c (NSS_attribute_hidden): Remove.
	* inet/getprtname_r.c (NSS_attribute_hidden): Remove.
	* inet/getrpcbyname_r.c (NSS_attribute_hidden): Remove.
	* inet/getrpcbynumber_r.c (NSS_attribute_hidden): Remove.
	* inet/getrpcent_r.c (NSS_attribute_hidden): Remove.
	* inet/getservent_r.c (NSS_attribute_hidden): Remove.
	* inet/getsrvbynm_r.c (NSS_attribute_hidden): Remove.
	* inet/getsrvbypt_r.c (NSS_attribute_hidden): Remove.
	* inet/gethstbyad_r.c (DB_LOOKUP_FCT): Remove INTUSE.
	* inet/gethstbynm2_r.c (DB_LOOKUP_FCT): Likewise.
	* inet/gethstbynm_r.c (DB_LOOKUP_FCT): Likewise.
	* inet/gethstent_r.c (DB_LOOKUP_FCT): Likewise.
	* libio/genops.c (__overflow): Add libc_hidden_def.
	* libio/iovdprintf.c: Remove libio.h include.
	* libio/libioP.h (libc_hidden_proto, libc_hidden_def,
	libc_hidden_weak): Define to nothing if not defined.
	(__overflow, __woverflow): Add libc_hidden_proto.
	* libio/wgenops.c (__woverflow): Add libc_hidden_def.
	* nss/getXXent_r.c (NSS_attribute_hidden): Remove.
	(DB_LOOKUP_FCT): Add libc_hidden_proto.
	* nss/getXXbyYY_r.c (NSS_attribute_hidden): Remove.
	(DB_LOOKUP_FCT): Add libc_hidden_proto.
	* nss/XXX-lookup.c (DB_LOOKUP_FCT): Add libc_hidden_proto
	and libc_hidden_def.
	* nss/hosts-lookup.c (__nss_hosts_lookup): Remove INTDEF.
	* posix/bsd-getpgrp.c (__getpgid_internal): Remove.
	(__getpgid): Add libc_hidden_proto.
	(__bsd_getpgrp): Remove INTUSE.
	* resolv/res_init.c (__res_ninit, __res_randomid): Add
	libc_hidden_def.
	* shadow/getspent_r.c (NSS_attribute_hidden): Remove.
	* shadow/getspnam_r.c (NSS_attribute_hidden): Remove.
	* stdio-common/printf_fp.c (__printf_fp): Add libc_hidden_def.
	* stdlib/strfmon.c (__printf_fp): Add libc_hidden_proto.
	* stdlib/secure-getenv.c (__secure_getenv): Add libc_hidden_def.
	* sunrpc/rpc_thread.c (__rpc_thread_svc_fdset,
	__rpc_thread_createerr): Add libc_hidden_def.
	* sysdeps/alpha/alphaev67/rawmemchr.S (__rawmemchr): Add
	libc_hidden_def.
	* sysdeps/alpha/alphaev67/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/alpha/rawmemchr.S (__rawmemchr): Likewise.
	* sysdeps/alpha/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/generic/chown.c (__chown): Likewise.
	* sysdeps/generic/close.c (__close): Likewise.
	* sysdeps/generic/dup2.c (__dup2): Likewise.
	* sysdeps/generic/pipe.c (__pipe): Likewise.
	* sysdeps/generic/prof-freq.c (__profile_frequency): Likewise.
	* sysdeps/generic/pwrite64.c (__pwrite64): Likewise.
	* sysdeps/generic/rawmemchr.c (__rawmemchr): Likewise.
	* sysdeps/generic/read.c (__libc_read): Likewise.
	(__read): Add libc_hidden_weak.
	* sysdeps/generic/sbrk.c (__sbrk): Add libc_hidden_def.
	* sysdeps/generic/sched_sets.c (__sched_setscheduler): Likewise.
	* sysdeps/generic/select.c (__select): Likewise.
	* sysdeps/generic/send.c (__send): Likewise.
	* sysdeps/generic/setpgid.c (__setpgid): Likewise.
	* sysdeps/generic/sigaction.c (__sigaction): Likewise.
	* sysdeps/generic/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/generic/statfs.c (__statfs): Likewise.
	* sysdeps/generic/stpncpy.c (__stpncpy): Likewise.
	* sysdeps/generic/strcasecmp.c (__strcasecmp): Likewise.
	* sysdeps/generic/getpagesize.c (__getpagesize): Likewise.
	Remove undef and INTDEF.
	* sysdeps/generic/getpgid.c (__getpgid): Likewise.
	* sysdeps/generic/getpid.c (__getpid): Likewise.
	* sysdeps/generic/write.c (__libc_write): Likewise.
	(__write): Add libc_hidden_weak.  Remove undef and INTDEF.
	* sysdeps/i386/rawmemchr.S (__rawmemchr): Add libc_hidden_def.
	* sysdeps/i386/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/m68k/rawmemchr.S (__rawmemchr): Likewise.
	* sysdeps/mach/hurd/chown.c (__chown): Likewise.  Remove INTDEF.
	* sysdeps/mach/hurd/close.c (__close): Add libc_hidden_def.
	Remove undef and INTDEF.
	* sysdeps/mach/hurd/dup2.c (__dup2): Likewise.
	* sysdeps/mach/hurd/getpgid.c (__getpgid): Likewise.
	* sysdeps/mach/hurd/getpid.c (__getpid): Likewise.
	* sysdeps/mach/getpagesize.c (__getpagesize): Likewise.
	* sysdeps/mach/hurd/write.c (__libc_write): Likewise.
	(__write): Add libc_hidden_weak.  Remove undef and INTDEF.
	* sysdeps/mach/hurd/pipe.c: Include unistd.h.
	(__pipe): Add libc_hidden_def.
	* sysdeps/mach/hurd/dl-sysdep.c (__libc_read, __libc_write): Add
	libc_hidden_weak.
	* sysdeps/mach/hurd/poll.c (__poll): Add libc_hidden_def.
	* sysdeps/mach/hurd/profil.c (__profile_frequency): Likewise.
	* sysdeps/mach/hurd/read.c (__libc_read): Likewise.
	(__read): Add libc_hidden_weak.
	* sysdeps/mach/hurd/pwrite64.c (__pwrite64): Likewise.
	(__libc_pwrite64): Add libc_hidden_def.
	* sysdeps/mach/hurd/sbrk.c (__sbrk): Likewise.
	* sysdeps/mach/hurd/select.c (__select): Likewise.
	* sysdeps/mach/hurd/send.c (__send): Likewise.
	* sysdeps/mach/hurd/setpgid.c (__setpgid): Likewise.
	* sysdeps/mach/hurd/sigaction.c (__sigaction): Likewise.
	* sysdeps/mach/hurd/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/mach/hurd/statfs.c (__statfs): Likewise.
	* sysdeps/posix/dup2.c: Likewise.
	Remove undef and INTDEF.
	* sysdeps/posix/getpagesize.c (__getpagesize): Likewise.
	* sysdeps/posix/pwrite64.c (__libc_pwrite64): Add libc_hidden_def.
	(__pwrite64): Add libc_hidden_weak.
	* sysdeps/posix/sigsuspend.c (__sigsuspend): Add libc_hidden_def.
	* sysdeps/sparc/sparc64/rawmemchr.S (__rawmemchr): Likewise.
	* sysdeps/sparc/sparc64/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/standalone/close.c (__close): Likewise.
	* sysdeps/standalone/write.c (__libc_write): Likewise.
	(__write): Add libc_hidden_weak.
	* sysdeps/standalone/read.c (__read): Likewise.
	(__libc_read): Add libc_hidden_def.
	* sysdeps/unix/grantpt.c (grantpt): Remove INTUSE.
	* sysdeps/unix/bsd/m68k/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/bsd/osf/alpha/pipe.S (__pipe): Likewise.
	* sysdeps/unix/bsd/vax/pipe.S (__pipe): Likewise.
	* sysdeps/unix/bsd/syscalls.list (__GI___getpagesize): Likewise.
	* sysdeps/unix/bsd/poll.c (__poll): Likewise.
	* sysdeps/unix/bsd/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/bsd/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/unix/common/syscalls.list (__GI___getpgid, __GI___setpgid,
	__GI___sigaction): Add.
	* sysdeps/unix/i386/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/inet/syscalls.list (__GI___send): Add.
	* sysdeps/unix/mips/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/sparc/pipe.S (__pipe): Likewise.
	* sysdeps/unix/sysv/irix4/syscalls.list (__GI___getpgid,
	__GI___setpgid): Add.
	* sysdeps/unix/sysv/aix/chown.c (__chown): Add libc_hidden_def.
	Remove undef and INTDEF.
	* sysdeps/unix/sysv/aix/getpgid.c (__getpgid): Likewise.
	* sysdeps/unix/sysv/aix/write.c (__write, __libc_write): Likewise.
	* sysdeps/unix/sysv/aix/close.c (__close): Add libc_hidden_def.
	* sysdeps/unix/sysv/aix/getpid.c (__getpid): Likewise.
	* sysdeps/unix/sysv/aix/pipe.c (__pipe): Likewise.
	* sysdeps/unix/sysv/aix/read.c (__read, __libc_read): Likewise.
	* sysdeps/unix/sysv/aix/poll.c (__poll): Likewise.
	* sysdeps/unix/sysv/aix/sbrk.c (__sbrk): Likewise.
	* sysdeps/unix/sysv/aix/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/sysv/aix/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/unix/sysv/aix/statfs.c (__statfs): Likewise.
	* sysdeps/unix/sysv/aix/select.c (__select): Likewise.
	* sysdeps/unix/sysv/aix/setpgid.c (__setpgid): Likewise.
	* sysdeps/unix/sysv/linux/alpha/pipe.S (__pipe): Likewise.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI___pwrite64,
	__GI___statfs, __GI___send): Add.
	* sysdeps/unix/sysv/linux/alpha/select.S (__select): Add
	libc_hidden_ver resp. libc_hidden_def.
	* sysdeps/unix/sysv/linux/alpha/sigsuspend.S (__sigsuspend): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/ia64/getpagesize.c (__getpagesize):
	Likewise.  Remove undef and INTDEF.
	* sysdeps/unix/sysv/linux/ia64/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___pwrite64,
	__GI___statfs, __GI___send): Add.
	* sysdeps/unix/sysv/linux/ia64/sigaction.c (__sigaction): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend):
	Likewise.
	* sysdeps/unix/sysv/linux/sh/pipe.S (__pipe): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown): Add
	libc_hidden_ver resp. libc_hidden_def.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___pwrite64,
	__GI___send): Add.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c (__sigaction):
	Add libc_hidden_weak.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c (__sigsuspend):
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI___send): Add.
	* sysdeps/unix/sysv/linux/arm/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/i386/chown.c (__chown): Add libc_hidden_ver
	resp. libc_hidden_def.
	* sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/m68k/chown.c (__chown): Likewise.  Remove
	INTDEF.
	* sysdeps/unix/sysv/linux/m68k/getpagesize.c (__getpagesize):
	Likewise.  Remove undef.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c (__pwrite64): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/mips/syscalls.list (__GI___send): Add.
	* sysdeps/unix/sysv/linux/mips/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/powerpc/chown.c (__chown): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/powerpc/pwrite64.c (__pwrite64): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c (__getpagesize):
	Likewise.  Remove undef and INTDEF.
	* sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S (__pipe): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S (__pipe): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
	(__GI___pwrite64, __GI___statfs, __GI___select, __GI___send): Add.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c (__sigsuspend):
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI___pwrite64,
	__GI___statfs): Add.
	* sysdeps/unix/sysv/linux/x86_64/send.c (__send): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/x86_64/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/sysv/linux/getpagesize.c: Add libc_hidden_def.
	Remove undef and INTDEF.
	* sysdeps/unix/sysv/linux/poll.c (__poll): Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/pwrite64.c (__pwrite64): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/send.S (__send): Likewise.
	* sysdeps/unix/sysv/linux/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/sco3.2.4/__setpgid.c (__setpgid): Likewise.
	* sysdeps/unix/sysv/sco3.2.4/sigaction.S (__sigaction): Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/syscalls.list (__GI___sigaction):
	Add.
	* sysdeps/unix/sysv/sysv4/__getpgid.c (__getpgid): Add
	libc_hidden_def.  Remove undef and INTDEF.
	* sysdeps/unix/sysv/sysv4/getpgid.c (__getpgid): Likewise.
	* sysdeps/unix/sysv/sysv4/__setpgid.c (__setpgid): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/sysv4/setpgid.c (__setpgid): Likewise.
	* sysdeps/unix/sysv/sysv4/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/sysv/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/getpagesize.c (__getpagesize): Add libc_hidden_def.
	Remove undef and INTDEF.
	* configure.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add check for
	broken visibility attribute handling.
	* config.h.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add.

2002-08-02  Ulrich Drepper  <drepper@redhat.com>
2002-08-03 07:02:10 +00:00
Roland McGrath
656f8223ec * elf/Makefile ($(objpfx)interp.os): Depend on config.make,
since it sets the variables we use in a -D switch.
2002-08-02 21:50:12 +00:00
Roland McGrath
c2afe83352 * sysdeps/pthread/bits/libc-tsd.h: Include <tls.h>.
[USE_TLS && HAVE___THREAD]: Just include the sysdeps/generic file,
	which does the right thing when __thread support is available.
	* descr.h (struct _pthread_descr_struct) [USE_TLS && HAVE___THREAD]:
	Omit `p_libc_specific', `p_errnop', `p_errno', `p_h_errnop',
	`p_h_errno', `p_resp', and `p_res' members.
	* pthread.c (__pthread_initialize_minimal) [USE_TLS && HAVE___THREAD]:
	Don't initialize `p_errnop' and `p_h_errnop' members.
	(__pthread_reset_main_thread): Likewise.
	(__pthread_initialize_manager): Likewise.
	* manager.c (__pthread_manager, pthread_handle_create): Likewise.
	* pthread.c (pthread_initialize) [USE_TLS && HAVE___THREAD]:
	Don't initialize `p_resp' member.
	(__pthread_reset_main_thread): Likewise.
	* manager.c (pthread_handle_create): Likewise.
	* specific.c (libc_internal_tsd_set, libc_internal_tsd_get):
	Conditionalize these on [!(USE_TLS && HAVE___THREAD)].
	* errno.c [USE_TLS && HAVE___THREAD]
	(__h_errno_location, __res_state): Don't define these at all.

	* sysdeps/i386/tls.h (INSTALL_DTV): Add parens around arguments!
	(INSTALL_NEW_DTV, GET_DTV): Likewise.
	* sysdeps/sh/tls.h (INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV): Likewise.

	* weaks.c: Don't include <errno.h> here.

2002-08-01  Roland McGrath  <roland@redhat.com>

	* sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): New macro, broken out of
	TLS_INIT_TP.
	(TLS_DO_SET_THREAD_AREA): New macro, uses thread_set_area syscall.
	(TLS_SETUP_GS_SEGMENT): New macro, try one or the other or both.
	(TLS_INIT_TP): Use that.
2002-08-02 03:32:24 +00:00
Roland McGrath
935f95dd36 * elf/rtld.c (dl_main): Fix typo in error message.
2002-07-31  Roland McGrath  <roland@frob.com>
2002-07-31 23:16:57 +00:00
Ulrich Drepper
bc32ebd3b0 Update.
* elf/dl-minimal.c: Remove definition of __assert_perror_fail.
2002-07-25 08:29:34 +00:00
Ulrich Drepper
51d46f733a Update.
2002-07-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/wordsize-32/divdi3.c: Define __divdi3_internal.
	* sysdeps/wordsize-32/lldiv.c: Make gcc use __divdi3_internal instead
	of __divdi3.

	* sysdeps/unix/sysv/linux/adjtime.c: Use __adjtimex_internal.
	* sysdeps/unix/sysv/linux/ntp_gettime.c: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list: Add __adjtimex_internal
	alias for adjtimex syscall.

	* elf/dl-minimal.c: Define __assert_fail_internal.
	* assert/assert.c: Likewise.
	* include/assert.h: Define __assert_file macro if !SHARED and not
	NOT_IN_libc.

	* iconv/Makefile: Define NOT_IN_libc for objects in standalone
	programs.
	* locale/Makefile: Likewise.
	* nscd/Makefile: Likewise.
	* catgets/Makefile: Likewise.

	succesful seek call.  Simplify error checking.
2002-07-25 08:19:59 +00:00
Ulrich Drepper
fcda29e260 (_dl_phdr): New variable. (_dl_phnum): New variable. (_dl_aux_init): Initialize _dl_phdr and _dl_phnum from aux vector. 2002-07-23 22:59:19 +00:00
Ulrich Drepper
739d440d2a Update.
2002-07-19  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Add test for __thread support in compiler.
	* config.h.in: Add HAVE___THREAD.
	* Makefile (headers): Remove errno.h, sys/errno.h, and bits/errno.h.
	* include/sys/errno.h: Moved to...
	* stdlib/sys/errno.h: ...here.  New file.
	* stdlib/errno.h: New file.  Moved from...
	* include/errno.h: ...here.  Changed into an internal header defining
	libc-local things like __set_errno.
	* stdlib/Makefile (headers): Add errno.h, sys/errno.h, and
	bits/errno.h.
	* elf/dl-minimal.c: Include <tls.h>.  Define errno as thread-local
	variable if USE_TLS && HAVE___THREAD.  Don't define __errno_location
	either.
	* elf/rtld.c (_dl_start): Add code to initialize TLS for ld.so
	from...
	(_dl_start_final): ...here.  Add code to initialize tls elements from
	bootstrap_map.
	* sysdeps/generic/errno-loc.c: Define errno as thread-local variable
	if USE_TLS && HAVE___THREAD.
	* sysdeps/generic/bits/errno.h: Remove __set_errno definition.
	* sysdeps/mach/hurd/bits/errno.h: Likewise.
	* sysdeps/standalone/arm/bits/errno.h: Likewise.
	* sysdeps/standalone/bits/errno.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/aix/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/hpux/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/linux/hppa/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h: Likewise.
	* sysdeps/i386/dl-machine.c (elf_machine_rel) [RTLD_BOOTSTRAP]: Don't
	use GL(dl_rtld_map), use map parameter.
	* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep.S: Define errno in .tbss if
	USE_TLS && HAVE___THREAD.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Unify SETUP_PIC_REG
	definitions.  If USE_TLS && HAVE___THREAD store errooor value using
	TLS code sequence.
	* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise.

	* sysdeps/unix/sysv/linux/getcwd.c: No real need to restore errno.
	* sysdeps/unix/sysv/linux/grantpt.c: Likewise.
	* sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise.
	* sysdeps/unix/sysv/linux/msgctl.c: Likewise.
	* sysdeps/unix/sysv/linux/readv.c: Likewise.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.
2002-07-20 01:14:41 +00:00
Ulrich Drepper
11fa51b8f6 Update.
2002-07-01  H.J. Lu  <hjl@gnu.org>

	* elf/circleload1.c (load_dso): Call "circlemod1" and check
	return value.

	* elf/circlemod1.c (circlemod1): Return int.
	* elf/circlemod2.c (circlemod2): Likewise.
	* elf/circlemod2a.c (circlemod2): Likewise.
	* elf/circlemod3.c (circlemod3): Likewise.
	(circlemod3a): A new function.
2002-07-17 00:34:35 +00:00
Ulrich Drepper
807bce82b3 Update.
* elf/dl-load.c (_dl_map_object_from_fd): If loaded object uses
	TLS fail is USE_TLS is not defined.
2002-07-16 00:18:20 +00:00
Ulrich Drepper
8081721a9a Update.
2002-05-29  H.J. Lu  <hjl@gnu.org>

	* elf/dl-error.c (_dl_signal_cerror): Report error if ld.so debug
	is turned on.
2002-06-30 08:58:21 +00:00
Ulrich Drepper
0b5045fe2c Update.
2002-05-28  H.J. Lu  <hjl@gnu.org>

	* elf/dl-deps.c (_dl_map_object_deps): Don't add objects which
	are not dlopened on the dependency list of a dlopened object.
2002-06-30 08:26:20 +00:00
Ulrich Drepper
6d78cd000f Update.
2002-06-30  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-lookup.c (add_dependency): It is not necessary to add
	dependencies if they are created between objects which are created
	while processing RTLD_NOW for objects loaded as part of the same
	dlopen call.

2002-06-14  H.J. Lu  <hjl@gnu.org>

	* elf/Makefile (tests): Add circleload1.
	(modules-names): Add circlemod1, circlemod2, circlemod3,
	circlemod1a, circlemod2a and circlemod3a.
	($(objpfx)circleload1): New target.
	($(objpfx)circleload1.out): Likewise.
	($(objpfx)circlemod1.so): Likewise.
	($(objpfx)circlemod2.so): Likewise.
	($(objpfx)circlemod1a.so): Likewise.
	($(objpfx)circlemod2a.so): Likewise.
	* elf/circleload1.c: New file.
	* elf/circlemod1.c: New file.
	* elf/circlemod1a.c: New file.
	* elf/circlemod2.c: New file.
	* elf/circlemod2a.c: New file.
	* elf/circlemod3.c: New file.
	* elf/circlemod3a.c: New file.
2002-06-30 07:17:02 +00:00
Ulrich Drepper
a32c7fb447 Update.
2002-06-29  Ulrich Drepper  <drepper@redhat.com>

	* locales/en_AU: Add am/pm support.
	Patch partly by maffew@cat.org.au [PR libc/3911].
2002-06-29 17:20:10 +00:00
Ulrich Drepper
bff334e090 Update.
2002-06-17  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (_dl_debug_bindings): Use type_class 4 for TLS
	lookups.
	* elf/rtld.c (dl_main): Move TLS setup code before LD_TRACE_PRELINKING
	code.  Print TLS modid and offset for modules containing PT_TLS
	segments.

2002-06-09  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/dl-brk.c: Move...
	* sysdeps/unix/sysv/linux/dl-brk.c: ...here.
	* sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Move...
	* sysdeps/unix/sysv/linux/dl-sbrk.c: ...here.

2002-06-07  Jakub Jelinek  <jakub@redhat.com>

	* nss/getXXbyYY_r.c (NEW, NEW1): Define.
	(NEW (REENTRANT_NAME)): Strong alias to INTERNAL (REENTRANT_NAME).
	(REENTRANT_NAME@@GLIBC_2.1.2): Use NEW (REENTRANT_NAME).
	* nss/getXXent_r.c (NEW, NEW1): Define.
	(NEW (REENTRANT_GETNAME)): Strong alias to
	INTERNAL (REENTRANT_GETNAME).
	(REENTRANT_GETNAME@@GLIBC_2.1.2): Use NEW (REENTRANT_GETNAME).

2002-06-21  Ulrich Drepper  <drepper@redhat.com>

	* libio/fileops.c (_IO_file_setbuf_mmap): New function.
	(_IO_file_jumps_mmap): Use it.
	* libio/iosetvbuf.c: Don't call _IO_WSETBUF.
	* libio/libioP.h: Remove _IO_wdefault_setbuf and
	_IO_wdefault_setbuf_internal prorotypes.  Add _IO_file_setbuf_mmap
	prototype.
	* libio/wfileops.c (_IO_wfile_setbuf): Removed.
	(_IO_wfile_jumps_mmap): Don't use it anymore.
	* libio/wgenops.c (_IO_wdefault_setbuf): Removed.
	* libio/memstream.c (_IO_wmem_jumps): Use _IO_default_setbuf not
	_IO_wdefault_setbuf.
	* libio/vswprintf.c (_IO_wstrn_jumps): Likewise.
	* libio/wstrops.c (_IO_wstr_jumps): Likewise.
	* stdio-common/vfprintf.c (_IO_helper_jumps): Likewise.

2002-06-05  Jakub Jelinek  <jakub@redhat.com>

	* libio/Makefile (tests): Add tst-mmap-setvbuf.
	* libio/tst-mmap-setvbuf.c: New test.
2002-06-22 05:24:45 +00:00
Ulrich Drepper
9bd6460223 Update.
2002-05-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/Makefile [$(subdir)==misc] (sysdep_routines):
	Add readahead.
	* sysdeps/unix/sysv/linux/readahead.c: New file.
	* sysdeps/unix/sysv/linux/syscalls.list: Add sendfile64 syscall.
	* sysdeps/unix/sysv/linux/Versions: Export readahead and sendfile64.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add readahead syscall.
	Add sendfile64 alias to sendfile syscall.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add s_readahead
	syscall.

	* sysdeps/unix/sysv/linux/i386/sysdep.h: Use __i686.get_pc_thunk.XX
	special section for PIC register loading.
	* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise.

	* config.h.in: Define HAVE_HIDDEN.
	* configure.in: Also define HAVE_HIDDEN if HAVE_PROTECTED is defined.

	* elf/elf.h: Correct Alpha TLS relocations according to last spec.
2002-05-30 23:35:59 +00:00
Ulrich Drepper
4e960bbf4e Update.
2002-05-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (rtld-routines): Remove dl-brk and dl-sbrk.
	* sysdeps/unix/sysv/linux/Makefile (sysdep-rtld-routines): Add
	dl-brk and dl-sbrk.

	* sysdeps/sparc/fpu/bits/mathinline.h (fdim): Add __THROW.
	(fdimf): Likewise.
2002-05-16 05:58:20 +00:00
Ulrich Drepper
0e15c4b6b5 Update.
2002-04-24  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (open_verify): Correct __lseek parameters.
	Patch by Simon Hildrew <simon@hildrew.net> [PR libc/3354].

2002-04-23  H.J. Lu  <hjl@gnu.org>

	* include/math.h (isfinite): Fix a typo.

2002-04-24  Ulrich Drepper  <drepper@redhat.com>

	* libio/bug-ungetwc2.c (test_locale): Use the de_DE.UTF-8 locale
	which is created by the test suite.

2002-04-20  Bruno Haible  <bruno@clisp.org>

	* iconvdata/iso-2002-kr.c (MAX_NEEDED_FROM): Set to 4.
	(BODY for FROM_LOOP): Fix comparisons between inptr and inend.

2002-04-20  Bruno Haible  <bruno@clisp.org>

	* iconvdata/johab.c (BODY for FROM_LOOP): Change type of i, m, f,
	to avoid gcc warning.

2002-04-20  Bruno Haible  <bruno@clisp.org>

	* iconvdata/iso-2022-jp.c (EMIT_SHIFT_TO_INIT): Fix modification mask
	of data->__statep->__count.

2002-04-20  Bruno Haible  <bruno@clisp.org>

	* iconvdata/euc-jisx0213.c (BODY for TO_LOOP): Really ignore Unicode
	tag characters.
	* iconvdata/shift_jisx0213.c (BODY for TO_LOOP): Likewise.

	* sysdeps/unix/sysv/linux/x86_64/ldconfig.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/dl-cache.h: New file.
2002-04-24 21:09:14 +00:00
Ulrich Drepper
a41d8a74ee Update.
2002-02-17  Andreas Schwab  <schwab@suse.de>

	* reldep7.c: New file.
	* reldep7mod1.c: New file.
	* reldep7mod2.c: New file.
	* Makefile: Add rules to build and run reldep7.
2002-04-15 17:10:22 +00:00
Ulrich Drepper
78575a842b Update.
2002-04-14  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (_dl_lookup_symbol): Move add_dependency call to
	the end of the function.  Pass original flags to recursive call if
	add_dependency failed.
	(_dl_lookup_versioned_symbol): Likewise.

2002-04-13  Jakub Jelinek  <jakub@redhat.com>

	* time/mktime.c (__mktime_internal): If year is 69, don't bail out
	early, but check whether it overflowed afterwards.
	* time/tst-mktime.c (main): Add new tests.

	* debug/xtrace.sh: Fix program name in help message.
	Patch by Roger Luethi <rl@hellgate.ch>.
2002-04-15 06:37:43 +00:00
Ulrich Drepper
f9f2a150e8 Update.
2002-04-13  Ulrich Drepper  <drepper@redhat.com>

	* elf/do-lookup.h [!VERSIONED]: Add new parameter flags.  Use it to
	check whether the caller prefers getting the most recent version of
	a symbol of the earliest version.
	* elf/dl-lookup.c: Adjust all callers of do_lookup.  Change
	_dl_do_lookup to also take the new parameter and pass it on.
	Change 'explicit' parameter of _dl_lookup_symbol and
	_dl_lookup_versioned_symbol to flags.  Adjust tests.
	* sysdeps/generic/ldsodefs.h: Adjust prototypes.
	* elf/dl-libc.c: Adjust all callers of _dl_lookup_symbol and
	_dl_lookup_versioned_symbol.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* sysdeps/mips/dl-machine.h: Likewise.
2002-04-13 07:55:02 +00:00
Ulrich Drepper
3632a26020 Update.
2002-04-08  kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* elf/elf.h: Define R_SH_TLS_xxx macros.
	* elf/rtld.c: Remove an extra parenthesis.
	* elf/tls-macros.h: Define SH version TLS_LE, TLS_IE, TLS_LD and
	TLS_GD macros.
	* sysdeps/generic/dl-tls.c: Add a missing semi-colon.
	* sysdeps/sh/dl-lookupcfg.h: New file.
	* sysdeps/sh/dl-tls.h: New file.
	* sysdeps/sh/dl-machine.h (elf_machine_type_class): Set
	ELF_RTYPE_CLASS_PLT also for the three TLS relocations.
	(elf_machine_rela): Handle R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32 and
	R_SH_TLS_TPOFF32 relocations.
2002-04-08 21:05:48 +00:00
Ulrich Drepper
403e0597cd Update.
2002-04-08  Ulrich Drepper  <drepper@redhat.com>

	* cppflags-iterator.mk (cpp-srcs-left): Define NOT_IN_libc instead
	of NOT_IN_LIBC.
	* include/libintl.h: Test for NOT_IN_libc not NOT_IN_LIBC.
	* include/stdlib.h: Likewise.

2002-04-08  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (CFLAGS-.os): Define NOT_IN_libc and IS_IN_rtld
	instead of _RTLD_LOCAL.
	* elf/dl-dst.h: Use IS_IN_rtld instead of _RTLD_LOCAL.
	* include/unistd.h: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.

	* stdio-common/_itoa.h (_itoa_word): Only use internal digit arrays
	if in libc or ld.so.

	* include/stdlib.h: For libc itself replace MB_CUR_MAX definition
	with one accessing the locale data structures directly.
	* stdio-common/printf-prs.c: Include localeinfo.h for new
	MB_CUR_MAX definition.
2002-04-08 18:50:41 +00:00
Andreas Jaeger
fdedb42e5a Update.
2002-04-08  Andreas Jaeger  <aj@suse.de>

	* elf/cache.c (print_entry): Support x86-64.
2002-04-08 15:21:19 +00:00
Ulrich Drepper
af5fac2f3b Update.
2002-04-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/mach/hurd/Versions: Add _dl_init_first to libc and ld export
	list.
	* elf/Versions: Remove it here.
2002-04-07 17:30:05 +00:00
Ulrich Drepper
6736e93bab Update.
2002-03-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/brk.c (__curbrk): Declare.
	* sysdeps/generic/dl-brk.c: Add attribute_hidden to __curbrk.
	* sysdeps/generic/dl-sbrk.c: Likewise.
	* sysdeps/unix/arm/dl-brk.S: New file.
	* sysdeps/unix/bsd/hp/m68k/dl-brk.S: New file.
	* sysdeps/unix/bsd/osf/alpha/dl-brk.S: New file.
	* sysdeps/unix/bsd/sun/m68k/dl-brk.S: New file.
	* sysdeps/unix/bsd/vax/dl-brk.S: New file.
	* sysdeps/unix/i386/dl-brk.S: New file.
	* sysdeps/unix/mips/dl-brk.S: New file.
	* sysdeps/unix/sparc/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/alpha/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/ia64/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/i386/dl-brk.c: Remove.
	* sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Remove.

2002-04-03  Andreas Schwab  <schwab@suse.de>

	* Makefile (headers): Add gnu/lib-names.h here instead of
	install-others.
	($(inst_includedir)/gnu/lib-names.h): Remove explicit
	installation rule.
	(install-headers): Add dependency on install-headers-nosubdir.
	* stdio-common/Makefile (headers): Add bits/stdio_lim.h here
	instead of install-others.
	($(inst_includedir)/bits/stdio_lim.h): Remove explicit
	installation rule.

2002-04-05  Ulrich Drepper  <drepper@redhat.com>

	* manual/users.tex (Enable/Disable Setuid): Fix typo in example.
	Reported by Sam Roberts <sroberts@uniserve.com>.

2002-04-03  Jakub Jelinek  <jakub@redhat.com>

	* elf/do-rel.h (elf_dynamic_do_rel): Skip relative relocs if
	l_addr == 0 and ELF_MACHINE_REL_RELATIVE.
	* sysdeps/alpha/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define.
	* sysdeps/ia64/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define.

2002-04-03  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind info.
	(RTLD_START): Ditto.
	(__ia64_init_bootstrap_fdesc_table): Insert stop bit to avoid RAW
	dependency violation.
2002-04-06 01:45:15 +00:00
Ulrich Drepper
8693ad52d9 Update.
* elf/dl-deps.c (_dl_map_object_deps): The sorting of the
	dependencies must be stable to work correctly.
	Reported by martin.lubich@datacon.at.
2002-04-03 06:18:49 +00:00
Ulrich Drepper
d2225273e8 Update.
* elf/do-lookup.h (do_lookup): 2 is the first user-defined version
	number.
2002-04-03 04:05:59 +00:00
Ulrich Drepper
f7ddf3d3b7 Update.
2002-04-02  Jakub Jelinek  <jakub@redhat.com>

	* inet/ether_ntoh.c (__nss_ethers_lookup): Add internal_function.
	* inet/ether_hton.c (__nss_ethers_lookup): Likewise.
	* inet/getnetgrent_r.c (__nss_netgroup_lookup): Likewise.
	* sunrpc/netname.c (__nss_publickey_lookup): Likewise.
	* sunrpc/publickey.c (__nss_publickey_lookup): Likewise.

2002-03-30  Jakub Jelinek  <jakub@redhat.com>

	* elf/dynamic-link.h (elf_get_dynamic_info): Don't abort on unknown
	dynamic tags.

2002-03-29  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/fpu/s_fabs.S: New file.
	* sysdeps/i386/fpu/s_fabsf.S: New file.
	* sysdeps/i386/fpu/s_fabsl.S: New file.
	* sysdeps/sparc/sparc64/fpu/s_fabs.c: New file.
	* sysdeps/sparc/sparc64/fpu/s_fabsf.c: New file.
	* sysdeps/sparc/sparc64/fpu/s_fabsl.c: New file.

2002-04-02  Ulrich Drepper  <drepper@redhat.com>

	* rt/tst-shm.c (do_test): Add one more test for size of shared
	memory object.

2002-03-29  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c: Add short description and prototypes for
	malloc_get_state, malloc_set_state and posix_memalign, for
	consistency and to avoid warnings with -Wstrict-prototypes.
	Reported by Andreas Jaeger <aj@suse.de>.

2002-04-02  Ulrich Drepper  <drepper@redhat.com>

	* po/gl.po: Update from translation team.
2002-04-03 00:36:12 +00:00
Ulrich Drepper
9360906d42 Update.
* elf/rtld.c: Declare _environ as hidden.
	* sysdeps/generic/dl-environ.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.

	* sysdeps/generic/ldsodefs.h: Declare _dl_debug_state_internal and
	_dl_mcount_internal as hidden.

	* elf/Makefile (rtld-routines): Add dl-sbrk and dl-brk.
	* sysdeps/generic/dl-brk.c: New file.
	* sysdeps/generic/dl-sbrk.c: New file.
	* sysdeps/unix/sysv/linux/i386/dl-brk.c: New file.
	* sysdeps/unix/sysv/linux/i386/dl-sbrk.c: New file.
2002-03-15 05:20:35 +00:00
Ulrich Drepper
5c82e15e86 Update.
2002-03-14  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-minimal.c (malloc): Declare _end as hidden.
	(__errno_location): New function.  Declare errno as hidden.
	* elf/rtld.c (_dl_argc): Define as hidden.
	(_dl_skip_args): Define as hidden.
	(_begin, _end): Declare as hidden.
	* sysdeps/generic/dl-sysdep.c (_end): Declare as hidden.
	* sysdeps/generic/entry.h (_start): Declare as hidden.
	* sysdeps/generic/ldsodefs.h (_dl_argc): Declare as hidden.
	* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Declare
	_dl_runtime_resolve and _dl_runtime_profile as hidden.
	(RTLD_START): Use GOTOFF to access _dl_skip_args and _dl_fini.
2002-03-15 03:16:52 +00:00
Ulrich Drepper
3646145597 (malloc): Declare _end as hidden. (__errno_location): New function. Declare errno as hidden. 2002-03-15 03:09:42 +00:00
Ulrich Drepper
75bfdfc7df Update.
2002-03-13  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c (sYSMALLOc): Don't change brk if mmap failed.

2002-03-02  Andreas Schwab  <schwab@suse.de>

	* stdio-common/vfprintf.c (process_arg): Fix decimal format with
	'h' flag and positional arg.
	* stdio-common/tst-printf.c (rfg3): New function to test
	positional arguments.
	(main): Fix some warnings.

2002-03-13  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-minimal.c (_itoa): Use _itoa_lower_digits_internal if SHARED.
	* elf/dl-reloc.c (_dl_reloc_bad_type): Likewise.
2002-03-13 23:27:20 +00:00
Ulrich Drepper
100351c3e1 Update.
* stdio-common/itowa-digits.c (_itowa_lower_digits): Define as hidden.
	(_itowa_upper_digits): Likewise.

	* libio/stdio.c (_IO_stdin, _IO_stdout, _IO_stderr): Define as hidden.
	* libio/libio.h [_LIBC] (_IO_stdin, _IO_stdout, _IO_stderr): Declare
	as hidden.

	* libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps,
	_IO_wfile_jumps_mmap, _IO_proc_jumps, _IO_old_proc_jumps,
	_IO_str_jumps, _IO_wstr_jumps, _IO_file_jumps_internal,
	_IO_wfile_jumps_internal, and _IO_list_all_internal as hidden.

	* gmon/gmon.c (__bb_head): Define as hidden.
	* gmon/bb_exit_func.c (__bb_head): Declare as hidden.

	* argp/argp-parse.c (_argp_hang): Define as static.

	* include/libc-symbols.h (_INTVARDEF): Adjust for visibility
	handling in latest compilers.

	* inet/in6_addr.c (in6addr_any): Use INTVARDEF not INTDEF to
	define alias.
	* libio/fileops.c (_IO_file_jumps): Likewise.
	* libio/stdfiles.c (_IO_list_all): Likewise.
	* libio/wfileops.c (_IO_wfile_jumps): Likewise.

	* malloc/malloc.h: Move __libc_malloc_initialized declaration to
	include/malloc.h.
	* include/malloc.h: Add __libc_malloc_initialized declaration
	here.  Mark variable hidden.
	* malloc/malloc.c: Include <malloc.h> not "malloc.h".

	* elf/dl-open.c (__libc_argc): Declare as hidden.
	(__libc_argv): Likewise.
	* sysdeps/generic/wordexp.c (__libc_argc): Declare as hidden.
	(__libc_argv): Likewise.
	* sysdeps/mach/hurd/i386/init-first.c: Define __libc_argc and
	__libc_argv as hidden.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.
	* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
	* sysdeps/unix/sysv/aix/init-first.c: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c: Likewise.
2002-03-13 02:17:12 +00:00
Ulrich Drepper
aa32f79837 Update.
* include/stdlib.h (__libc_drand48_data): Declare as hidden.
	* stdlib/drand48.c: Remove declaration of __libc_drand48_data here.
	* stdlib/erand48.c: Likewise.
	* stdlib/jrand48.c: Likewise.
	* stdlib/lcong48.c: Likewise.
	* stdlib/lrand48.c: Likewise.
	* stdlib/mrand48.c: Likewise.
	* stdlib/nrand48.c: Likewise.
	* stdlib/seed48.c: Likewise.
	* stdlib/srand48.c: Likewise.

	* stdio-common/_itoa.c (_itoa_base_table): Declare as hidden.
	(_itoa_lower_digits_internal): New declaration.
	(_itoa_upper_digits_internal): New declaration.
	(_itoa): Use INTUSE to acces _itoa_upper_digits and _itoa_lower_digits.
	* stdio-common.h (_itoa_lower_digits_internal): New declaration.
	(_itoa_upper_digits_internal): New declaration.
	(_itoa_word): Use INTUSE to acces _itoa_upper_digits and
	_itoa_lower_digits.
	* stdio-common/itoa-digits.c: Use INTVARDEF with _itoa_lower_digits.
	* stdio-common/itoa-udigits.c: Use INTVARDEF with _itoa_upper_digits.

	* elf/dl-minimal.c (_itoa): Declare _itoa_lower_digits as hidden.
	* elf/dl-reloc.c (_dl_reloc_bad_type): Likewise.

	* stdio-common/_itowa.c (_itoa_base_table): Declare as hidden.
	(_itowa_lower_digits): Likewise.
	(_itowa_upper_digits): Likewise.
	* stdio-common/_itowa.h (_itowa_lower_digits): Likewise.
	(_itowa_upper_digits): Likewise.

	* intl/plural-exp.h (attribute_hidden): Define as empty macro if
	not already defined.
	(GERMANIC_PLURAL): Declare as hidden.

	* posix/getopt.c (__getopt_initialized): Declare as hidden.
	(attribute_hidden): Define as empty macro if not already defined.

	* iconv/gconv_int.h (__gconv_path_elem): Declare hidden.
	(__gconv_max_path_elem_len): Likewise.
	(__gconv_path_envvar): Likewise.

	* math/Makefile (gmp-objs): Remove mp_clz_tab.
	* stdlib/Makefile (aux): Remove mp_clz_tab.
	* stdlib/mp_clz_tab.c: Removed.  Not needed anywhere.

	* stdlib/exit.h (__exit_funcs): Declare as hidden.
2002-03-12 20:04:56 +00:00
Andreas Jaeger
37de950b40 Update.
2002-03-03  Andreas Jaeger  <aj@suse.de>

	* elf/nodlopenmod2.c: Provide prototype to avoid warning.
	* elf/tst-tlsmod1.c: Likewise.

	* posix/regcomp.c: Get regex.h from include dir for internal
	prototypes.

	* sysdeps/unix/sysv/linux/init-first.c: Move __init_misc prototype
	to libc-internal.h and include it.
	* include/libc-internal.h: Add __init_misc.

	* misc/init-misc.c: Include libc-internal.h for prototypes.

	* sysdeps/wordsize-32/divdi3.c: Add prototypes to avoid warnings.

	* misc/error.c [_LIBC]: Include libioP.h for prototype of
	_IO_putc_internal.
2002-03-03 19:43:30 +00:00
Ulrich Drepper
cc8594b155 Update.
2002-03-02  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Add Alpha TLS bits.
2002-03-02 09:03:00 +00:00
Ulrich Drepper
e6caf4e12e Update.
2002-03-01  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (dl-routines): Add dl-origin.
	(elide-routines.os): Add dl-origin.
	* elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_origin.
	* elf/dl-debug.c (_dl_debug_initialize): Add missing INTUSE around
	_dl_debug_state.
	* include/libc-symbols.c: Define attribute_hidden depending on
	HAVE_VISIBILITY_ATTRIBUTE.  Add definition of INTVARDEF.

	* elf/dl-deps.c: Use INTUSE with __libc_enable_secure.
	* elf/dl-load.c: Likewise.
	* elf/rtld.c: Likewise.
	* include/unistd.h: Declare __libc_enable_secure_internal.
	* sysdeps/generic/dl-sysdep.c: Use INTVARDEF with __libc_enable_secure.
	Use INTUSE with __libc_enable_secure.
	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.

	* elf/dl-deps.c: Use INTUSE with _dl_out_of_memory.
	* elf/dl-error.c: Likewise,
	* sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory_internal.

	* elf/dl-dst.h [_RTLD_GLOBAL]: Define _dl_get_origin to use INTUSE.
	* sysdeps/generic/dl-origin.c: Undefine _dl_get_origin macro before
	function definition.  Use INTDEF with _dl_get_origin.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.

	* elf/dl-init.c: Use INTUSE with _dl_starting_up.
	* elf/rtld.c: Likewise.  Use INTVARDEF for _dl_starting_up.

	* elf/dl-profile.c: Use INTDEF for _dl_mcount.
	* elf/dl-runtime.c: Use INTUSE with _dl_mcount.
	* sysdeps/generic/ldsodefs.h: Declare _dl_mcount_internal.

	* elf/dl-conflict.c: Use rtld_progrname instead of _dl_argv[0].
	* elf/dl-deps.c: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/cris/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-machine.h: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc-32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc-64/dl-machine.h: Likewise.
	* sysdeps/x86_64/dl-machine.h: Likewise.
	* elf/rtld.c: Use INTDEF for _dl_argv.  Use rtld_progrname instead of
	_dl_argv[0].  Use INTUSE with _dl_argv.
	* sysdeps/generic/dl-sysdep.c: Use INTUSE with _dl_argv.
	* sysdeps/generic/ldsodefs.h: Define rtld_progname macro.
2002-03-01 09:44:29 +00:00
Ulrich Drepper
0d01dace55 Update.
2002-02-28  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (_rtld_global): Remove .protected.
	(_rtld_local): Strong alias to _rtld_global.
	* elf/Makefile (CFLAGS-.os): Add -D_RTLD_LOCAL if compiling rtld
	only .os object.
	* sysdeps/generic/ldsodefs.h (GL): If SHARED and _RTLD_LOCAL, use
	_rtld_local instead of _rtld_global.
	(_rtld_local): Add hidden extern, possibly in .sdata section.
	* configure.in: Add tests for visibility attribute and .sdata.
	* config.h.in: Add HAVE_VISIBILITY_ATTRIBUTE and HAVE_SDATA_SECTION.
	* sysdeps/alpha/dl-machine.h: Use _rtld_local instead of _rtld_global.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/generic/ldsodefs.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/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.
	* sysdeps/x86_64/dl-machine.h: Likewise.
2002-02-28 22:38:00 +00:00
Ulrich Drepper
51f38e87b1 Update.
* elf/dl-load.c (_dl_map_object_from_fd): Always add SONAME to
	l_libname if profiling is enabled [PR libc/2916].
2002-02-28 06:40:08 +00:00
Ulrich Drepper
d417e0ffc4 Update.
2002-02-24  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-support.c (_dl_non_dynamic_init): Renamed from
	non_dynamic_init and exported now.
	* sysdeps/unix/sysv/linux/ldsodefs.h: Declare _dl_non_dynamic_init.
	* sysdeps/unix/sysv/linux/init-first.c: Call _dl_non_dynamic_init for
	!SHARED.
	* sysdeps/mach/hurd/i386/init-first.c: Likewise.
	* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.
2002-02-24 08:34:04 +00:00
Ulrich Drepper
69f0c4d8b9 Update.
* elf/dl-close.c (free_slotinfo): Check for end of list and return
	true in this case.
2002-02-24 07:10:08 +00:00
Ulrich Drepper
9836cfe7db Update.
* elf/dl-fini.c (_dl_fini): Print some final statistics on the
	total number of relocations performed.
2002-02-23 19:05:32 +00:00
Ulrich Drepper
7fec4f2f70 Update.
* elf/sprof.c (load_profdata): If do_test provide information as
	to why loading failed.
	* elf/dl-profile.c (_dl_start_profile): Initialize all of
	hist_hdr.dimen.
2002-02-23 09:20:59 +00:00
Ulrich Drepper
e413826144 Update.
2002-02-22  Ulrich Drepper  <drepper@redhat.com>

	* elf/Versions: Add _dl_allocate_tls and _dl_deallocate_tls.
	* elf/rtld.c (dl_main): Use _dl_allocate_tls with INTUSE.
	* sysdeps/generic/dl-tls.c: Add INTDEF for _dl_allocate_tls.
	(_dl_deallocate_tls): New function.
	* sysdeps/generic/ldsodefs.h: Declare _dl_allocate_tls_internal and
	_dl_deallocate_tls.
2002-02-23 07:59:56 +00:00
Ulrich Drepper
b209e34ad6 Update.
2002-02-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-open.c (dl_open_worker): Catch wrap-around of TLS
	generation counter.
	* elf/dl-close.c (_dl_close): Likewise.
2002-02-16 00:21:33 +00:00
Ulrich Drepper
ebda6173fc Update.
* elf/Makefile: Add rules to build and run tst-tls8.
	* elf/tst-tls8.c: New file.
	* elf/tst-tlsmod4.c: New file.
2002-02-14 10:34:55 +00:00
Ulrich Drepper
fc093be160 Update.
* elf/dl-close.c (remove_slotinfo): New function.  Handles everything
	for removing reference of module in slotinfo list.
	(_dl_close): Use remove_slotinfo.
	* sysdeps/generic/dl-tls.c: General pretty printing.
	(oom): Define only if SHARED.
	(_dl_next_tls_modid): Correct starting point for the case we assume
	there is a gap.  Add missing instruction grouping (doh!).  Correct
	tests for reaching maximum index.
	* elf/Makefile: Add rules to build and run tst-tls7.
	* elf/tst-tls7.c: New file.
	* elf/tst-tlsmod3.c: New file.

	* elf/tst-tlsmod1.c: Move #include "tls-macros.h" instead #ifdef
	USE_TLS.
	* elf/tst-tlsmod2.c: Likewise.
2002-02-14 07:57:19 +00:00
Ulrich Drepper
bb4cb25213 Update.
* elf/dl-close.c (_dl_close): When closing an object using TLS
	either decrement dl_tls_max_dtv_idx or set dl_tls_dtv_gaps to
	true.  Increment dl_tls_generation only if we closed any TLS-using
	object.
	* elf/tst-tls6.c: New file.
	* elf/Makefile: Add rules to build and run tst-tls6.
2002-02-14 03:54:02 +00:00
Ulrich Drepper
100e184f0f Update.
* elf/tst-tls1.c: Move #include "tls-macros.h" instead #ifdef USE_TLS.
	* elf/tst-tls2.c: Likewise.
	* elf/tst-tls3.c: Likewise.

2002-02-13  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-close.c (free_slotinfo): Only define if TLS supported.

2002-02-13  Ulrich Drepper  <drepper@redhat.com>
2002-02-13 17:45:55 +00:00
Ulrich Drepper
d552a4310c Update.
* elf/dl-open.c (dl_open_worker): Only bump the generation counter
	if this is really necessary.
2002-02-13 09:44:17 +00:00
Ulrich Drepper
a04586d84d Update.
2002-02-13  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): Implement freeing entries in the
	slotinfo array.
	(free_mem): Free memory for the slotinfo array if possible.
2002-02-13 09:38:39 +00:00
Ulrich Drepper
069b7c3e7f Update.
2002-02-12  Andreas Schwab  <schwab@suse.de>

	* csu/gmon-start.c (__gmon_start__): Remove '&' from ENTRY_POINT.
2002-02-13 09:04:53 +00:00
Ulrich Drepper
aed283dd45 Update.
2002-02-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-tls.c (TLS_DTV_UNALLOCATED): Renamed from
	TLS_DTV_UNALLOCATE.
	(oom): New function.
	(_dl_next_tls_modid): Rewrite to handle dl_tls_dtv_slotinfo_list.
	(_dl_determine_tlsoffset): Likewise.
	(_dl_allocate_tls): Likewise.
	(__TLS_GET_ADDR): Define if not already defined.
	(_dl_tls_symaddr): New function.
	(allocate_and_init): New function.
	(__tls_get_addr): Actually implement handling of generation counter
	and deferred allocation.
	* sysdeps/generic/ldsodefs.h (_rtld_global): Remove _dl_initimage_list,
	add _dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and
	_dl_tls_generation.
	Define TLS_SLOTINFO_SURPLUS and DTV_SURPLUS.
	Declare _dl_tls_symaddr.
	* sysdeps/i386/dl-tls.h: Disable __tls_get_addr handling unless
	SHARED.
	* include/link.h (struct link_map):  Remove l_tls_nextimage and
	l_tls_previmage.
	* elf/dl-sym.c (_dl_sym): After successful lookup call _dl_tls_symaddr
	instead of DL_SYMBOL_ADDRESS for STT_TLS symbols.
	(_dl_vsym): Likewise.
	* elf/rtld.c (_dl_start_final): Adjust initdtv initialization for new
	layout.
	(dl_main): Allow PT_TLS be present for empty segment.  Remove
	nextimage list handling.  Instead add all modules using TLS to
	dl_tls_dtv_slotinfo_list.
	* elf/dl-open.c (dl_open_worker): After successfully loading all
	objects add those with TLS to the dl_tls_dtv_slotinfo_list list.
	* elf/dl-load.c (_dl_map_object_from_fd): If PT_TLS entry is for an
	empty segment don't do anything.  Remove handling of initimage list.
	* elf/Versions [ld] (GLIBC_2.0): Add __libc_memalign.
	(GLIBC_PRIVATE): Add _dl_tls_symaddr.
	* elf/dl-minimal.c: Define __libc_memalign.
	* elf/dl-support.c: Remove _dl_initimage_list.  Add
	_dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and
	_dl_tls_generation.
	* include/stdlib.h: Declare __libc_memalign.

	* elf/Makefile: Add rules to build and run tst-tls4 and tst-tls5.
	* elf/tst-tls4.c: New file.
	* elf/tst-tls5.c: New file.
	* elf/tst-tlsmod2.c: New file.

	* elf/tls-macros.h: asms using ___tls_get_addr destroy %ecx and %edx.

	* elf/tst-tlsmod1.c: Don't define variables unles USE_TLS.

	* elf/tst-tls1.c: Use test-skeleton.c.
	* elf/tst-tls2.c: Likewise.
	* elf/tst-tls3.c: Likewise.

	* elf/dl-conflict.c (RESOLVE_MAP): Return NULL not 0.

	* sysdeps/mips/machine-gmon.h: Update MCOUNT for current GCC behavior.
2002-02-13 08:03:56 +00:00
Ulrich Drepper
712ac5b11c (RESOLVE_MAP): Return NULL not 0. 2002-02-12 19:17:09 +00:00
Ulrich Drepper
73a03a7663 Update.
* elf/elf.h: Define R_386_TLS_GD and R_386_TLS_LDM.
2002-02-11 06:09:47 +00:00
Ulrich Drepper
2e36cb48e5 Update.
* elf/tst-tls3.c: New file.
	* elf/tst-tlsmod1.c: New file.
	* elf/Makefile: Add rules to build and run tst-tls3.

	* sysdeps/i386/dl-machine.h: Include <tls.h>.
	(elf_machine_type_class): Set ELF_RTYPE_CLASS_PLT also for the three
	TLS relocations.
2002-02-11 06:00:19 +00:00
Ulrich Drepper
7670e25ad5 Update.
* elf/do-lookup.h (FCT): st_value can be zero for STT_TLS symbols.
2002-02-11 02:27:43 +00:00
Ulrich Drepper
7331ca4db2 Update.
* po/fr.po: Update from translation team.

	* elf/tls-macros.h: Add alternative macros for use in PIC.
2002-02-11 01:49:22 +00:00
Ulrich Drepper
f1cc669a8c Update.
* elf/dl-lookup.c: Include <tls.h>.
	* elf/do-lookup.h (FCT): Don't discard STT_TLS symbols.
2002-02-11 01:30:15 +00:00
Ulrich Drepper
a330abe2cd Update.
* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): More changes
	required by passing pointer to last element of the list.

	* elf/dl-load.c (_dl_map_object_from_fd): Move adjustment of
	l_tls_initimage to a place where it actually is performed.

	* elf/tls-macros.h: ...here.  New file.
2002-02-11 00:57:37 +00:00
Ulrich Drepper
87837aace9 Update.
* elf/dl-deps.c (struct openaux_args): Add open_mode element.
	(openaux): Pass open_mode as new last argument to _dl_map_object.
	(_dl_map_object_deps): Add new argument open_mode.  Initialize
	open_mode element of args variable with it.
	* elf/dl-open.c (dl_open_worker): Pass __RTLD_DLOPEN flag is set to
	_dl_map_object_deps.
	* elf/rtld.c (dl_main): Add zero as last parameter to
	_dl_map_object_deps call.
	* sysdeps/generic/ldsodefs.h: Adjust prototype of _dl_map_object_deps.
	* elf/nodlopen2.c: New file.
	* elf/nodlopenmod2.c: New file.
	* elf/Makefile: Add rules to build and run nodlopen2.

	* elf/tls-macros.hgg: ...here.  New file.
2002-02-08  Richard Henderson  <rth@redhat.com>
2002-02-10 22:40:17 +00:00
Ulrich Drepper
2cef4257d0 Update.
* elf/tst-tls1.c: Move TLS helper macros to...
	* elf/tls-macros.h: ...here.  New file.
	* elf/tst-tls2.c: New file.
	* elf/Makefile (tests): Add tst-tls2.
	(distribute): Add tls-macros.h.
2002-02-10 18:58:00 +00:00
Ulrich Drepper
27cd32989b Update.
* elf/tst-tls1.c (main): Add complete set of tests.  Split
	architecture specific definitions from the actual test code.
2002-02-10 09:15:59 +00:00
Ulrich Drepper
b123d06e21 Update.
* elf/Makefile (tests): Add tst-tls1.
	* elf/tst-tls1.c: New file.

	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Don't handle
	alignment of TCB for now.

	* elf/rtld.c (dl_main): Use p_vaddr as address of TLS
	initialization image for the application itself.

	loop to initialize TLS block.
2002-02-10 07:44:36 +00:00
Ulrich Drepper
a52d15621f Update.
2002-02-08  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (_dl_start_final): Install DTV explicitly.
	(dl_main): Move dtv/static TLS handling before relocation.
	Unconditionally call _dl_tlsoffset.  Call _dl_allocate_tls and
	TLS_INIT_TP to allocate and install the dtv/static TLS block.
	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): If no object
	so far uses TLS initialize GL(dl_tls_static_size) and
	GL(dl_tls_static_align) to account for the TCB.
	(_dl_allocate_tls): New function.
	* sysdeps/generic/ldsodefs.h (rtld_global): Add
	_dl_initial_dtv_malloced.

	* configure.in: Test for __builtin_memset more realistically.

	* csu/version.c (banner): If TLS support available say so.
2002-02-09 01:41:44 +00:00
Ulrich Drepper
d555194cb3 Update.
2002-02-07  Andreas Schwab  <schwab@suse.de>

	* configure.in: Fix check for -zcombreloc.

2002-02-06  H.J. Lu  <hjl@gnu.org>

	* config.h.in (HAVE_BUILTIN_MEMSET): New.
	* configure.in: Check if __builtin_memset really works.
	* elf/rtld.c (_dl_start): Check HAVE_BUILTIN_MEMSET instead of
	__GNUC_PREREQ (2, 96) before using __builtin_memset.

2002-02-06  Jakub Jelinek  <jakub@redhat.com>

	* io/bug-ftw3.c (main): Don't try the test if root.

2002-02-06  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/brk.c (__brk): Correct inline assembly
	constraints.
	* sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h (RLIMIT_LOCKS):
	Add RLIMIT_LOCKS and adjust RLIMIT_NLIMITS.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h (RLIMIT_LOCKS):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (clone): Make clone
	a weak alias for __clone.
	* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (clone): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: Fix typo.
	* sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Add framestate.
	* sysdeps/unix/sysv/linux/s390/s390-64/Versions: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap64): Make __mmap
	a weak alias for __mmap64.

	* sysdeps/mips/atomicity.h (exchange_and_add): Not use branch likely.
	* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Likewise.
	* sysdeps/generic/dl-tls.c: Don't read TLS header if TLS is not needed.
2002-02-07 17:54:45 +00:00
Ulrich Drepper
cd30b01ee9 Update.
2002-02-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Account for
	alignment of the TCB and store total size and alignment of static
	TLS block in _dl_tls_static_size and _dl_tls_static_align.
	tls_index is a typedef.
	* sysdeps/generic/ldsodefs.h: Declare _dl_tls_static_size and
	_dl_tls_static_align.
	* sysdeps/i386/dl-tls.h: tls_index is a typedef.
	* elf/dl-support.c: Define _dl_tls_static_size and
	_dl_tls_static_align.
2002-02-07 08:44:37 +00:00
Ulrich Drepper
3fb558781f Update.
2002-02-06  Ulrich Drepper  <drepper@redhat.com>

	* Versions.def [ld]: Add GLIBC_2.3.
	* elf/Versions [ld]: Add __tls_get_addr to GLIBC_2.3.
	* elf/Makefile (dl-routines): Add dl-tls.
	(distribute): Add dl-tls.h.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
	_dl_tls_module_cnt, add _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps.
	Add prototypes for _dl_next_tls_modid and _dl_determine_tlsoffset.
	* elf/dl-load.c (_dl_map_object_from_fd): Store alignment requirement
	along with the other info in the link map.  Change queueing of init
	images for double linked list.  Use _dl_next_tls_modid to compute
	l_tls_modid.
	* elf/rtld.c (_dl_start_final): Store alignment requirement
	along with the other info in rtld map and executable map.
	(dl_main): Add ld.so to the init image list if necessary.  Compute
	final module ID with _dl_next_tls_modid.
	* include/link.h (struct link_map): Add l_tls_previmage and
	l_tls_align.
	* eld/dl-support.c: Define _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps.
	* sysdeps/i386/elf/Versions: New file.
	* sysdeps/generic/dl-tls.c: New file.
	* sysdeps/generic/dl-tls.h: New file.
	* sysdeps/i386/dl-tls.h: New file.

	attribute((packed)) to counter stupid people misusing gcc options.
2002-02-07 04:08:19 +00:00
Ulrich Drepper
a53a253b90 (_dl_map_object_from_fd): Store alignment requirement along with the other info in the link map. Change queueing of init images for double linked list. Use _dl_next_tls_modid to compute l_tls_modid. 2002-02-07 03:53:17 +00:00
Ulrich Drepper
1794e32b86 [ld]: Add __tls_get_addr to GLIBC_2.3. 2002-02-07 03:50:23 +00:00
Ulrich Drepper
a1a118c000 (dl-routines): Add dl-tls. (distribute): Add dl-tls.h. 2002-02-07 03:49:37 +00:00
Andreas Jaeger
64b6bd34ef Update.
* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/do-lookup.h: Likewise.
2002-02-06 14:19:54 +00:00
Andreas Jaeger
cff26a3ed5 Update.
2002-02-06  Andreas Jaeger  <aj@suse.de>

	* include/libc-symbols.h (INTUSE): Renamed from INT.
	* elf/dl-deps.c: Change users.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/rtld.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-dst.h: Likewise.
	* elf/dl-init.c: Likewise.
2002-02-06 14:14:51 +00:00
Ulrich Drepper
164a7164f7 (dl_main): Correct indentation. Use bool as type for the variables which are used as booleans. 2002-02-06 03:42:42 +00:00
Ulrich Drepper
37beecf77c Update.
* elf/dl-minimal.c: Define _itoa_lower_digits.

	* elf/dynamic-link.h (elf_get_dynamic_info): ld.so can have
	DT_FLAGS set.
2002-02-06 01:14:01 +00:00
Ulrich Drepper
ec70c01155 Update.
* elf/dl-load.c (_dl_map_object_from_fd): Prevent dynamically
	loading modules with the DF_STATIC_TLS flag set.
	* elf/dynamic-link.h (elf_get_dynamic_info): Initialize l_flags
	element.
	* include/link.h (struct link_map): Add l_flags field.
	* elf/elf.h (DF_STATIC_TLS): New definition.
2002-02-06 00:55:46 +00:00
Ulrich Drepper
37d8b77856 Update.
* elf/rtld.c (process_dl_debug): Correct printing help message.
	* elf/dl-misc.c (_dl_debug_vdprintf): Implement precision handling
	for %s.
2002-02-06 00:19:11 +00:00
Ulrich Drepper
475361200b Update.
* elf/rtld.c (_dl_start_final): Determine load address to locate
	ehdr with GL(dl_rtld_map).l_map_start.
2002-02-05 19:39:42 +00:00
Ulrich Drepper
96f208a425 Update.
* elf/dl-load.c (_dl_map_object_from_fd): Handle PT_TLS program
	header entry.
	* elf/dl-support.c: Define _dl_initimage_list and _dl_tls_module_cnt.
2002-02-05 08:38:38 +00:00
Ulrich Drepper
a2f1f5cb89 Update.
2002-02-05  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (dl_main): Read PT_TLS entry of the executable.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Add
	_dl_tls_module_cnt.
2002-02-05 08:25:04 +00:00
Ulrich Drepper
5d6feea8f5 Update.
* elf/rtld.c (_dl_start): Fill TLS values in link map for rtld.
	* include/link.h (struct link_map): Add various members for TLS
	information.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
	_rtld_tlsoffset, add _dl_initimage_list.
	* sysdeps/i386/dl-lookupcfg.h: New file.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Implement missing
	TLS relocation.  When using TLS we now use RESOLVE_MAP.
	(elf_machine_rela): Use RESOLVE_MAP instead of RESOLVE_MAP if TLS
	is used.

	* sysdeps/generic/dl-cache.c (_dl_cache_libcmp): Mark as possibly
	unused.
2002-02-05 08:02:04 +00:00
Ulrich Drepper
535b764df5 Update.
* elf/rtld.c (_dl_start_final): Allocate TLS and initialize
	thread-pointer as soon as possible.
	* sysdeps/generic/ldsodefs.h: Include <tls.h>.  Define first TLS
	elements in rtld_global.
	* sysdeps/generic/tls.h: New file.
	* elf/Makefile (distribute): Add tls.h.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Add support for TLS
	relocations.  Not complete yet.

	* resolv/resolv.h: Allow user to define __need_res_state and only
	define __res_start structure then.
	* include/resolv.h: Only declare functions if _RESOLV_H_ is defined.
2002-02-05 00:57:29 +00:00
Ulrich Drepper
67ddea9254 Update.
2002-02-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Move
	dl_cpuclock_offset initialization to _dl_start_final.
	(_dl_show_auxv): Avoid unnecessary sign extension.
	* elf/rtld.c (_dl_start_final): Initialize dl_cpuclock_offset.
2002-02-04 08:38:52 +00:00
Ulrich Drepper
9710f75d4a Update.
2002-02-03  Andreas Schwab  <schwab@suse.de>

	* sysdeps/posix/readv.c: Use ssize_t for bytes_read.
	* sysdeps/posix/writev.c: Use ssize_t for bytes_written.  Fix comment.

2002-02-03  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/posix/writev.c: Check for ssize_t overflow, don't use
	alloca if the memory reqirements are too high.

2002-02-03  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (decompose_rpath): Avoid using strstr.
	* elf/dl-minimal.c (_strerror_r): Use _itoa instead of _itoa_word since
	the former is available anyway and speed isn't important here.
	* elf/dl-misc.c (_dl_debug_vdprintf): Likewise.
	* elf/dl-version.c (match_symbol): Likewise.
	(_dl_check_map_versions): Likewise.
	* elf/rtld.c (process_envvars): Likewise.
	(print_statistics): Likewise.
	* sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Likewise.
	* elf/dl-minimal.c (_itoa): Always define it.  Make it work for all
	bases.  Add assert to catch uses of unimplemented features.
	(__strsep): Add assert to catch uses of unimplemented features.
	* elf/dl-object.c (_dl_new_object): Don't use rawmemchr.  Use strchr
	and avoid inline optimization.
	* elf/rtld.c (process_envvars): Likewise.
	* elf/dl-open.c: Don't include <stdio-common/_itoa.h>.
	* elf/dl-profile.c (_dl_start_profile): Help compiler to avoid ffs.
	* elf/rtld.c (dl_main): Avoid strsep inline optimization.

	* stdio-common/_itoa.h: Minor simplifications of the code.
	* stdio-common/_itoa.c: Likewise.

	* elf/dl-reloc.c (_dl_relocate_object): Use _dl_debug_printf
	instead of _dl_printf for debugging info output.

	* sysdeps/mips/atomicity.h (exchange_and_add): Use branch likely.
2002-02-03 19:39:52 +00:00
Ulrich Drepper
5c1159b6a9 Update.
2002-02-01  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/atomicity.h (exchange_and_add): Use branch
	likely.
	(atomic_add): Likewise.
	(compare_and_swap): Return 0 only when failed to compare. Use
	branch likely.

	* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Use
	branch likely.

2002-02-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/dl-machine.h (elf_machine_rela): Fix a typo.

2002-02-02  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-minimal.c (__strsep): New minimal implementation.
2002-02-03 02:26:37 +00:00
Ulrich Drepper
7969407a01 Update.
Change ld.so to not use functions which are exported.  One cannot
	interpose them anyway.  Use INT() to mark uses, INTDEF() to mark
	definitions.
	* include/libc-symbols.h: Define INT and INTDEF.
	* sysdeps/generic/ldsodefs.h: Declare _dl_debug_printf_internal,
	_dl_signal_error_internal, _dl_map_object_internal,
	_dl_map_object_deps_internal, _dl_lookup_symbol_internal,
	_dl_lookup_versioned_symbol_internal,
	_dl_relocate_object_internal, _dl_debug_state_internal,
	_dl_start_profile_internal, and _dl_unload_cache_internal.
	* include/dlfcn.h: Declare _dl_catch_error_internal.
	* elf/rtld.c: Use INT for calls to any of the *_internal functions
	above.  Add INTDEF to function definitions.
	* elf/dl-debug.c: Likewise.
	* elf/dl-deps.c: Likewise.
	* elf/dl-dst.h: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-misc.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/alpha/dl-machine.h (RTLD_START): Call _dl_init_internal
	instead of _dl_init.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/cris/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/mips/dl-machine.h: Likewise.
	* sysdeps/mips/mips64/dl-machine.h: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
	* sysdeps/x86_64/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-start.S (_dl_start_user): Likewise.

	* elf/Versions: Don't export _dl_check_all_versions, _dl_sysdep_start,
	and _dl_debug_initialize.
2002-02-03 00:31:37 +00:00
Ulrich Drepper
88794e3085 Update.
* elf/dl-object.c (_dl_new_object): Avoid using strrchr.  We have
	more information.
	* elf/rtld.c (dl_main): Avoid strrchr.
	* sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Use the
	result of readlink.  Search from the back for '/'.
2002-02-02 20:17:54 +00:00
Ulrich Drepper
1e823b7d2d Update.
* elf/dl-profile.c (_dl_start_profile): Help the compiler to avoid
	strncpy if possible.
2002-02-02 09:53:48 +00:00
Ulrich Drepper
379d4ec497 Update.
2002-02-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-environ.c (unsetenv): Optimize.  Don't use
	strncmp.
	* elf/dl-load.c (is_dst): Optimize.  Don't call strncmp twice.
	* elf/rtld.c (process_dl_debug): Optimize. Avoid calls to strncmp,
	strspn, and strcspn.
	(process_envvars): Don't use strcspn.

	* elf/dl-load.c (_dl_dst_count): Fix possible endless loop.
	(_dl_dst_substitute): Likewise.
2002-02-02 09:49:35 +00:00
Ulrich Drepper
e0f4188600 Update.
* elf/do-rel.h (elf_dynamic_do_rel): Help the compiler recognize
	code which is never used when relocating ld.so itself.

	(_ELF_DYNAMIC_DO_RELOC): Help the compiler optimize a bit.
2002-02-02 07:26:22 +00:00
Ulrich Drepper
56c574425d Update.
2002-02-01  Ulrich Drepper  <drepper@redhat.com>

	* elf/dynamic-link.h (elf_get_dynamic_info): Optimize a bit for
	starting ld.so itself.  Move l_addr variable initialization closer
	to use.
2002-02-02 05:20:42 +00:00
Ulrich Drepper
fb23eb252f Update.
2002-02-01  Jakub Jelinek  <jakub@redhat.com>

	* Versions.def (libc): Add GLIBC_PRIVATE.
	(libdb, libnss_db, libdb1): Remove.
	(libnss_compat, libnss_dns, libnss_files, libnss_hesiod, libnss_nis,
	libnss_nisplus): Move all symbols to GLIBC_PRIVATE.
	(libpthread): Add GLIBC_PRIVATE.
	(libresolv): Likewise, remove GLIBC_2.1.
	(ld): Add GLIBC_PRIVATE, remove GLIBC_2.1.1, GLIBC_2.2, GLIBC_2.2.1,
	GLIBC_2.2.3, GLIBC_2.3.
	* catgets/Versions (__open_catalog): Move to GLIBC_PRIVATE.
	* elf/Versions (_dl_open, _dl_close, _dl_addr, _dl_init_first,
	_dl_sym, _dl_vsym): Likewise.
	(__libc_enable_secure, __libc_stack_end, _dl_argv, _dl_catch_error,
	_dl_check_all_versions, _dl_check_map_versions, _dl_debug_initialize,
	_dl_debug_printf, _dl_debug_state, _dl_dst_count, _dl_dst_substitute,
	_dl_init, _dl_lookup_symbol, _dl_lookup_symbol_skip,
	_dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip,
	_dl_map_object, _dl_map_object_deps, _dl_out_of_memory,
	_dl_relocate_object, _dl_signal_error, _dl_start_profile,
	_dl_starting_up, _dl_sysdep_start, _dl_unload_cache, _rtld_global):
	Likewise.
	(_dl_object_relocation_scope): Remove.
	* hesiod/Versions: Move all symbols to GLIBC_PRIVATE.
	* iconv/Versions (__gconv_alias_db, __gconv_modules_db,
	__gconv_cache): Move to GLIBC_PRIVATE.
	* inet/Versions (__internal_endnetgrent, __internal_getnetgrent_r,
	__internal_setnetgrent): Likewise.
	* io/Versions (__libc_open, __libc_close, __libc_read, __libc_write,
	__libc_lseek, __libc_fcntl, __libc_open64, __libc_lseek64): Likewise.
	* locale/Versions (__collate_element_hash, __collate_element_strings,
	__collate_symbol_classes, __collate_symbol_hash,
	__collate_symbol_strings, _nl_current_LC_COLLATE,
	_nl_current_LC_CTYPE): Likewise.
	* misc/Versions (__libc_fsync, __libc_msync): Likewise.
	* nis/Versions (libnss_compat): Move all symbols to GLIBC_PRIVATE.
	(libnss_nis, libnss_nisplus): Likewise.
	* nss/Versions (_nss_files_parse_grent, _nss_files_parse_pwent,
	_nss_files_parse_spent): Move to GLIBC_PRIVATE.
	(libnss_files): Move all symbols to GLIBC_PRIVATE.
	* posix/Versions (__libc_wait, __libc_waitpid, __libc_pause,
	__libc_nanosleep, __libc_fork, __libc_pread, __libc_pread64,
	__libc_pwrite, __libc_pwrite64): Move to GLIBC_PRIVATE.
	* resolv/Versions (__gai_sigqueue, __ns_name_unpack, __ns_name_ntop,
	__ns_get16, __ns_samename): Likewise.
	(libnss_dns): Move all symbols to GLIBC_PRIVATE.
	* setjmp/Versions (__libc_longjmp, __libc_siglongjmp): Move to
	GLIBC_PRIVATE.
	* socket/Versions (__libc_accept, __libc_send, __libc_recvfrom,
	__libc_recvmsg, __libc_sendmsg, __libc_recv, __libc_sendto,
	__libc_connect): Likewise.
	* stdio-common/Versions (_itoa_lower_digits, _itoa_upper_digits):
	Likewise.
	* stdlib/Versions (__libc_system): Likewise.
	* sunrpc/Versions (__rpc_thread_destroy): Likewise.
	* sysdeps/hppa/Versions: Move all symbols to GLIBC_PRIVATE.
	* sysdeps/ia64/fpu/Versions: Likewise.
	* sysdeps/ia64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/ia64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/i386/Versions (__modify_ldt): Move
	to GLIBC_PRIVATE.
	* sysdeps/unix/sysv/linux/x86_64/Versions (__modify_ldt): Likewise.
	* sysdeps/unix/sysv/linux/Versions (__syscall_rt_sigqueueinfo,
	__libc_sigaction): Likewise.
	* termios/Versions (__libc_tcdrain): Likewise.

	* misc/sys/cdefs (__attribute_noinline__): Define.
	* elf/dl-lookup.c (_dl_do_lookup, _dl_do_lookup_versioned): Add
	__attribute_noinline__.

	* elf/Makefile (rtld-routines): Add dl-xstat64, dl-fxstat64.
	* elf/dl-xstat64.c: New file.
	* elf/dl-fxstat64.c: New file.
	* sysdeps/unix/sysv/linux/fxstat64.c: If RTLD_STAT64 is defined,
	don't export __fxstat64 at multiple versions.
	* sysdeps/unix/sysv/linux/lxstat64.c: Similarly.
	* sysdeps/unix/sysv/linux/xstat64.c: Similarly.
2002-02-01 23:24:05 +00:00
Ulrich Drepper
635f35fcf4 Update.
2002-02-01  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (distribute): Add dl-procinfo.c.
	* sysdeps/unix/sysv/linux/i386/Dist: Remove dl-procinfo.c.
	* sysdeps/unix/sysv/linux/arm/Dist: Likewise.
2002-02-01 19:13:09 +00:00
Ulrich Drepper
50746436e1 Update.
2002-02-01  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (_dl_start): Mark as internal_function.
	* sysdeps/i386/dl-machine.h (RTLD_START): Pass parameter for _dl_start
	in register.
	(elf_machine_rel): Cleanup and minor optimization for RTLD_BOOTSTRAP.
	General pretty printing.
2002-02-01 09:36:26 +00:00
Ulrich Drepper
ccdf0cab1d Update.
* elf/dl-minimal.c: Define _itoa for 32-bit machines with HP timing.
	* elf/dl-reloc.c: Pretty printing.
	* sysdeps/generic/ldsodefs.h: Move _dl_hp_timing_overhead and
	procinfo-related variables in rtld_global struct.
	* elf/dl-support.c: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/i386/i686/Makefile: Likewise.
	* sysdeps/i386/i686/hp-timing.c: Likewise.
	* sysdeps/i386/i686/hp-timing.h: Likewise.
	* sysdeps/ia64/Makefile: Likewise.
	* sysdeps/ia64/hp-timing.c: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
	* sysdeps/x86_64/Makefile: Likewise.
2002-02-01 07:49:47 +00:00
Ulrich Drepper
5688da5537 Update.
* sysdeps/generic/ldsodefs.h: Add _dl_load_lock, _dl_lazy,
	_dl_dynamic_weak, _dl_fpu_control, _dl_cpuclock_offset, and
	_dl_debug_fd to rtld_global.
	* elf/Versions: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-misc.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/ia64/Versions: Likewise.
	* sysdeps/unix/clock_gettime.c: Likewise.
	* sysdeps/unix/clock_settime.c: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c: Likewise.
	* sysdeps/sparc/Versions: Removed.
	* sysdeps/i386/i686/Versions : Removed.
	* sysdeps/x86_64/Versions: Removed.
	* configure.in: Define HAVE_PROTECTED if .protected is available.
	* config.h.in: Add entry for HAVE_PROTECTED.

2002-01-31  Jakub Jelinek  <jakub@redhat.com.

	* sysdeps/alpha/dl-machine.h: Move global variables for SHARED
	code in struct _rtld_global.  Export this struct, remove all
	exports for the signal variables.
	* sysdeps/arm/dl-machine: Likewise.
	* sysdeps/generic/dl-origin: Likewise.
	* sysdeps/generic/dl-sysdep: Likewise.
	* sysdeps/generic/dl-cache: Likewise.
	* sysdeps/hppa/dl-fptr: Likewise.
	* sysdeps/hppa/dl-machine: Likewise.
	* sysdeps/cris/dl-machine: Likewise.
	* sysdeps/i386/dl-machine: Likewise.
	* sysdeps/ia64/dl-machine: Likewise.
	* sysdeps/m68k/dl-machine: Likewise.
	* sysdeps/mach/hurd/dl-sysdep: Likewise.
	* sysdeps/mips/mips64/dl-machine: Likewise.
	* sysdeps/mips/dl-machine: Likewise.
	* sysdeps/powerpc/elf/libc-start: Likewise.
	* sysdeps/powerpc/dl-machine: Likewise.
	* sysdeps/powerpc/dl-start: Likewise.
	* sysdeps/sparc/sparc32/dl-machine: Likewise.
	* sysdeps/sparc/sparc64/dl-machine: Likewise.
	* sysdeps/sh/dl-machine: Likewise.
	* sysdeps/s390/s390-32/dl-machine: Likewise.
	* sysdeps/s390/s390-64/dl-machine: Likewise.
	* sysdeps/unix/sysv/aix/libc-start: Likewise.
	* sysdeps/unix/sysv/aix/start-libc: Likewise.
	* sysdeps/unix/sysv/linux/ia64/dl-static: Likewise.
	* sysdeps/unix/sysv/linux/m68k/getpagesize: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize: Likewise.
	* sysdeps/x86_64/dl-machine: Likewise.

2002-01-31  Ulrich Drepper  <drepper@redhat.com>
2002-02-01 01:33:04 +00:00
Ulrich Drepper
d6b5d570a3 Update.
2002-01-30  Ulrich Drepper  <drepper@redhat.com>

	* Versions.def [ld]: Add GLIBC_2.3.
	* elf/dl-addr.c: Move global variables for SHARED code in struct
	_rtld_global.  Export this struct, remove all exports for the
	signal variables.
	* elf/dl-close.c: Likewise.
	* elf/dl-conflict.c: Likewise.
	* elf/dl-debug.c: Likewise.
	* elf/dl-deps.c: Likewise.
	* elf/dl-dst.h: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-libc.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-minimal.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-profstub.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* elf/do-rel.h: Likewise.
	* elf/dynamic-link.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-fptr.c: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-librecon.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
	* sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/getclktck.c: Likewise.
	* sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise.

	* malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2002-01-31 03:41:25 +00:00
Ulrich Drepper
1b4575aefa Update.
* sysdeps/ia64/dl-lookupcfg.h (DL_AUTO_FUNCTION_ADDRESS): Add cast
	to avoid warning
	(DL_STATIC_FUNCTION_ADDRESS): Likewise.
2002-01-30 00:38:09 +00:00
Ulrich Drepper
be4b5a9555 Update.
* elf/dl-lookup.c: Only define or handle _dl_num_relocations for the
	SHARED version.
	* elf/dl-reloc.c: Likewise for _dl_num_cache_relocations.
2002-01-29 23:20:28 +00:00
Ulrich Drepper
e66d0a4c94 Update.
2002-01-29  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (_dl_start): Use __builtin_memset if available.
2002-01-29 20:56:09 +00:00
Ulrich Drepper
db2ebcef24 Update.
* elf/dl-load.c (_dl_map_object): Remove incorrect optimization
	for SHARED code.  Reported by Ben Collins <bcollins@debian.org>.
2002-01-29 04:37:30 +00:00
Ulrich Drepper
0308a4751c Update.
* posix/getconf.c: Update copyright year.
	* nss/getent.c: Likewise.
	* nscd/nscd_nischeck.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* catgets/gencat.c: Likewise.
	* csu/version.c: Likewise.
	* elf/ldd.bash.in: Likewise.
	* elf/sprof.c (print_version): Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* nscd/nscd.c (print_version): Likewise.
	* debug/xtrace.sh: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/mtrace.pl: Likewise.

2002-01-16  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Fix regexp to
	reliably remove "-ia64" from rtld name.

2002-01-16  Ulrich Drepper  <drepper@redhat.com>
2002-01-17 07:38:47 +00:00
Ulrich Drepper
6c69f24aa8 Update.
2002-01-11  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Update x86 relocations.
2002-01-12 01:35:51 +00:00
Ulrich Drepper
d77a71c5fe Update.
2002-01-09  Jakub Jelinek  <jakub@redhat.com>

	* elf/elf.h (SHN_UNDEF): Remove duplicate definition.

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

	* sysdeps/alpha/fpu/e_sqrt.c (__ieee754_sqrt): Don't use multi-line
	string literals.
	(__full_ieee754_sqrt): Add __attribute_used__.

2002-01-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/group_member.c (__group_member): Also check
	groups[0] [PR libc/2781].
2002-01-11 01:06:11 +00:00
Ulrich Drepper
ab92bebd3e Update.
2002-01-08  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (distribute): Add scripts/cpp.
	* elf/Makefile (distribute): Add reldep6mod[01234].c,
	unwind-dw2.c, unwind-dw2-fde.c, unwind.h, unwind-pe.h,
	unwind-dw2-fde.h, and dwarf2.h.
	* sysdeps/unix/bsd/bsd4.4/Dist: New file.
	* sysdeps/unix/sysv/aix/Dist: Add sysv_termio.h and start-libc.c.
	* sysdeps/unix/sysv/linux/ia64/Dist: Add ldd-rewrite.sed.
	* sysdeps/unix/sysv/linux/s390/Dist: Likewise.
2002-01-08 22:00:09 +00:00
Ulrich Drepper
a0dcb6896c Update.
2002-01-03  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (routines, shared-only-routines): Add
	unwind-dw2-fde-glibc instead of unwind-dw2-fde.
	* elf/elf.h (PT_GNU_EH_FRAME): Define.
	* sysdeps/generic/unwind-dw2-fde-glibc.c: New file.
	* sysdeps/generic/unwind-dw2-fde.c (__register_frame_info_bases):
	Optimize if .eh_frame section contains no FDEs.
	(__register_frame, __deregister_frame_info_bases,
	__deregister_frame): Likewise.
	* sysdeps/generic/unwind-dw2.c (execute_cfa_program): Fix
	DW_CFA_restore handling.

2002-01-07  Stephen L Moshier  <moshier@mediaone.net>
2002-01-08 06:28:46 +00:00
Ulrich Drepper
34263e4d27 Update.
2002-01-03  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Add more TLS definitions.
2002-01-03 20:54:56 +00:00
Ulrich Drepper
f8580b753a Include sys/param.h. (RESOLVE_CONFLICT_FIND_MAP): Cast r_offset to ElfW(Addr). 2001-12-31 17:33:22 +00:00
Ulrich Drepper
d1dddedf78 Realloc error handling memory leak fix. 2001-12-29 15:57:15 +00:00
Andreas Jaeger
a49d0179db * elf/dblloadmod1.c: Add prototype to avoid warning.
* elf/dblloadmod2.c: Likewise. 
* elf/dblloadmod3.c: Likewise. 
* elf/reldepmod5.c: Likewise. 
* elf/reldepmod6.c: Likewise.
	* elf/dl-conflict.c (_dl_resolve_conflicts): Add unused attribute
	for resolve_conflict_map since RESOLVE_CONFLICT_FIND_MAP is not
	used on all architectures.

	* sunrpc/svc_tcp.c: Add noreturn attribute for
	svctcp_rendezvous_abort.
	* sunrpc/svc_unix.c: Likewise for svcunix_rendezvous_abort.

	* sysdeps/generic/strstr.c (strstr): Add paranthese for assignment
	to avoid warning.
2001-12-21 10:16:16 +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
1e06620a7b Update.
* string/tester.c: Add tests for strcasecmp and strncasecmp.
	* Versions.def (libc): Add GCC_3.0.
	__deregister_frame_info_bases, _Unwind_Find_FDE): Add for GCC_3.0.
2001-12-06 07:59:42 +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
Ulrich Drepper
f133c09767 Update.
2001-11-12  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-reloc.c (_dl_relocate_object): Avoid iterating over
	program header twice.  Construct list with the needed information.
2001-11-12 21:04:45 +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
94a758fe85 (_dl_map_object_from_fd): Remove use of _dl_pf_to_prot. Use arithmetic operation using PF_TO_PROT macro. 2001-11-10 22:43:10 +00:00
Ulrich Drepper
d43c8c5f13 (is_dst): Pretty printing. 2001-11-10 06:00:37 +00:00
Ulrich Drepper
6d5d3ae3d6 Update.
2001-11-09  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-minimal.c (realloc): Handle NULL for first parameter
	correctly.
	* elf/dl-load.c (is_dst): New function.
	(_dl_dst_count): Use is_dst to check for DST variable.
	(_dl_dst_substitute): Likewise.
2001-11-10 03:28:35 +00:00
Ulrich Drepper
d252c4796b (realloc): Handle NULL for first parameter correctly. 2001-11-10 03:23:20 +00:00
Ulrich Drepper
8bbd5f8489 (lose): Remove some unnecessary code. The new object is always the last in the list. 2001-11-09 20:16:10 +00:00
Ulrich Drepper
d32059507b Update.
2001-11-09  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (_dl_map_object_from_fd): Delete code to remove
	from object list when DF_1_NOOPEN is seen.  This is done in lose.
2001-11-09 19:32:36 +00:00
Ulrich Drepper
7bccbc05af Update.
2001-11-08  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-object.c (_dl_new_object): Various small optimizations.
2001-11-08 22:32:38 +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
6ed623f848 Update.
2001-11-07  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-version.c (match_symbol): Optimize error handling for size.
	(_dl_check_map_versions): Likewise.
2001-11-07 23:21:00 +00:00
Ulrich Drepper
fb0356b9d6 Update.
2001-11-06  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (_dl_map_object_from_fd): Don't call
	_dl_signal_error directly, always use lose.  Set fd to -1 after
	file is closed.
	(lose): Don't call close if fd == -1.
2001-11-07 07:44:06 +00:00
Ulrich Drepper
7982ecfe46 Update.
* elf/dl-profile.c: Replace state variable with simple flag named
	running.  Remove commented-out code.

	* elf/dl-reloc.c (_dl_relocate_object): Likewise.
2001-11-07 06:32:27 +00:00
Ulrich Drepper
39b3385dde Update.
2001-11-06  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (decompose_rpath): Optimize error handling for size.
	(_dl_init_paths): Likewise.
	(_dl_map_object_from_fd): Likewise.
2001-11-07 00:31:36 +00:00
Ulrich Drepper
3e2040c851 Update.
* elf/rtld.c (process_dl_debug): Rewritten.  Optimized for size not
	speed.
	(process_envvars): More some optimizations.
2001-11-06 03:53: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
Ulrich Drepper
2f653c01fc Update.
2001-11-01  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (_dl_map_object): Correct test of DF_1_NODEFLIB
	for rtld_search_dirs content.  Minor optimizations.
2001-11-01 23:16:25 +00:00
Ulrich Drepper
955891779a Update.
2001-10-31  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (_dl_map_object): Make code a bit more compact by
	avoiding unnecessary duplication.

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

	* elf/dl-load.c (_dl_map_object): If library was found using
	LD_LIBRARY_PATH, don't try RUNPATH list.

2001-10-29  Kevin Ryde  <user42@zip.com.au>
2001-11-01 04:46:27 +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
459a31635e Update.
2001-10-12  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h (PT_TLS): New definition.

	* sysdeps/mach/hurd/Makefile: Add $(CFLAGS) for generation of
	bits/errno.h
2001-10-12 07:59:07 +00:00
Ulrich Drepper
27ed8628e1 (SHT_GNU_LIBLIST): Added. 2001-10-11 01:28:19 +00:00
Ulrich Drepper
1c92cebb26 Update.
2001-10-10  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Add more ELFOSABI_* constants.

	(sparc64_fixup_plt): Moved from elf_machine_fixup_plt.  Optimize
2001-10-10 18:44:33 +00:00
Ulrich Drepper
c47e78b10f Update.
2001-09-29  Jes Sorensen  <jes@trained-monkey.org>

	* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext):
	Add sc_loadrs and sc_rbs_bas to match current kernel.

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

	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.

	* sysdeps/ieee754/ldbl-128/s_erfl.c (__erfcl): Fix erfc(-inf).

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

	* elf/dl-open.c (dl_open_worker): If l_opencount of freshly loaded
	object has been bumped because of relocation dependency, avoid
	duplicates in l_scope.
	(show_scope): Fix typos.
	* elf/Makefile: Add rules to build and run reldep6.
	* elf/reldep6.c: New file.
	* elf/reldep6mod0.c: New file.
	* elf/reldep6mod1.c: New file.
	* elf/reldep6mod2.c: New file.
	* elf/reldep6mod3.c: New file.
	* elf/reldep6mod4.c: New file.

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

	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_fixup_plt): Call
	sparc64_fixup_plt.
	(sparc64_fixup_plt): Moved from elf_machine_fixup_plt. Optimize
	near jumps and 0xfffff800XXXXXXXX target addresses, no thread safety
	for non-lazy binding. Fix .plt[32768+] handling.
	(elf_machine_plt_value): Don't add addend.
	(elf_machine_rela): Call sparc64_fixup_plt instead of
	elf_machine_fixup_plt.
	(elf_machine_runtime_setup, TRAMPOLINE_TEMPLATE): Optimize for
	dynamic linker at 0xfffff800XXXXXXXX.

	* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update.
2001-10-01 00:14:14 +00:00
Ulrich Drepper
ddb96b7db1 Update.
2001-09-28  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Define SHF_GROUP and SHF_TLS.
2001-09-28 08:00:57 +00:00
Ulrich Drepper
61423e13e5 Update.
* sysdeps/unix/sysv/linux/ulimit.c (__ulimit): Handle overflow in
	UL_SETFSIZE computations better.

	* string/Versions: Export __strsep for GLIBC_2.2.5.
	* string/bits/string2.h: Define all __STRING_INLINE functions if
	_FORCE_INLINES is defined.
	Use int instead of char of parameter types.
	(__strsep): Don't use __strsep_g.  Don't define it.
	(__strsep_1c, __strsep_2c, __strsep_3c): Optimize.
	* sysdeps/i386/i486/string.h (__strcpy_a_small): Renamed from
	__strcpy_small.
	(__stpcpy_a_small): Renamed from __stpcpy_small.
	(__strcspn_c1): Don't define if _FORCE_INLINES.
	(__strspn_c1): Likewise.

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

	* sysdeps/sparc/bits/sigaction.h: Define SA_RESTART and friends when
	_UNIX98_SOURCE is defined too.  Matches generic/bits/sigaction.h.
	* sysdeps/ia64/bits/sigaction.h: Likewise.
	* sysdeps/s390/s390-64/bits/sigaction.h: Likewise.

2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>

	* sysdeps/unix/sysv/linux/sh/Makefile (sysdep_headers): Add sys/io.h.

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

	* elf/dl-open.c (dl_open_worker): Update l_scope_max.

2001-09-24  Ulrich Drepper  <drepper@redhat.com>
2001-09-25 03:04:41 +00:00
Ulrich Drepper
9d0881aa76 Update.
2001-09-20  H.J. Lu  <hjl@gnu.org>

	* include/dlfcn.h (__RTLD_SPROF): New definiton.
	* elf/dl-open.c (dl_open_worker): Return immediately after loading
	for __RTLD_SPROF.
	* elf/sprof.c (main): Default to the filename if soname doesn't exist.
	(load_shobj): Call dlopen with `RTLD_LAZY | __RTLD_SPROF.

2001-09-20  H.J. Lu  <hjl@gnu.org>

	* elf/dl-profile.c (_dl_mcount): Use old *narcsp value for newarc,
	don't add 1.

2001-09-22  Ulrich Drepper  <drepper@redhat.com>

	* nss/getent.c: Accept -s parameter to overwrite rules in
	nsswitch.conf.  Patch by Nalin Dahyabhai <nalin@redhat.com>.

	* nss/nss_files/files-network.c (LINE_PARSER): Pad addr string
	with as many ".0" as necessary to form a complete address
	inet_network understands.

	* nss/getent.c: Various cleanups.  Use simpler and fewer function
	calls.

2001-09-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/s390-32/bits/setjmp.h: Correct pointer comparison in
	_JMPBUF_UNWINDS.
	* sysdeps/s390/s390-64/bits/setjmp.h: Likewise.

2001-09-22  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/Makefile: Add rules to build and distribute IBM1160 and
	IBM1161.
	* iconvdata/gconv-modules: Add entries for IBM1160 and IBM1161.
	* iconvdata/ibm1160.c: New file.
	* iconvdata/ibm1160.h: New file.
	* iconvdata/ibm1161.c: New file.
	* iconvdata/ibm1161.h: New file.

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

	* sysdeps/alpha/dl-machine.h (elf_machine_load_address): Compute the
	difference between base address and first PT_LOAD's virtual address,
	not the base address.

2001-09-11  Tom Rix  <trix@redhat.com>

	* sysdeps/unix/sysv/aix/init-first.c (init):  Use USE_NONONPTION_FLAG
	ifdef for __getopt_clean_environment.
	* sysdeps/unix/sysv/aix/libc-start.c: Add real implementation.

	* sysdeps/unix/sysv/linux/x86_64/Dist: New file.
	* sysdeps/x86_64/Dist: New file.
	* sysdeps/x86_64/soft-fp/Dist: New file.
2001-09-23 02:10:30 +00:00
Andreas Jaeger
9fb957cdf1 Update.
* elf/reldep4.c (main): Add proper prototype to fix warning.

	* elf/reldep5.c (main): Remove unused variable.
2001-09-22 15:44:35 +00:00
Andreas Jaeger
2be2ce5f7e Avoid compile warning.
2001-09-22  Andreas Jaeger  <aj@suse.de>

	* linuxthreads/tst-context.c: Avoid compile warning.
2001-09-22 15:44:07 +00:00
Andreas Jaeger
8bbbd5d09c Update.
2001-09-20  Andreas Jaeger  <aj@suse.de>

	* elf/elf.h (R_390_NUM): Correct value.
2001-09-20 06:45:59 +00:00
Andreas Jaeger
85458ce9e4 Update.
2001-09-19  Andreas Jaeger  <aj@suse.de>

	* Versions.def: Add missing versions 2.2.3 for libthread_db and
	libpthread.

	* sysdeps/unix/sysv/linux/configure.in: Add minimal kernel version
	for x86-64, install x86-64 into */lib64.

	* shlib-versions: Add x86-64.

	* elf/elf.h: Add x86-64 relocations.
2001-09-20 06:43:34 +00:00
Ulrich Drepper
9596d0ddf0 Update.
2001-09-18  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (ptmalloc_init): Handle _environ==NULL.
	Reported by B. D. Elliott <bde@nwlink.com> [PR libc/2541].

2001-09-18  Andreas Schwab  <schwab@suse.de>

	* elf/dl-load.c (_dl_map_object_from_fd): Update handling of scope
	list, now that l_scope is a pointer.

	* elf/dl-open.c (dl_open_worker): Fix thinko when enlarging the
	scope list.

2001-09-18  kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/dl-machine.h (elf_machine_rela): Fix reverse condition.
	(elf_machine_rela_relative): Add a missing declaration.

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

	* sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: New.
	* sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: New.
	* sysdeps/unix/sysv/linux/configure.in: Add ia64 and s390
	ldd-rewrite scripts.

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

	* elf/ldd.bash.in: Update copyright message.

2001-09-17  H.J. Lu  <hjl@gnu.org>

	* hurd/hurdmalloc.c (bcopy): Removed.
	(realloc): Replace bcopy with memcpy.
	* hurd/path-lookup.c (file_name_path_scan): Likewise.
	* resolv/gethnamaddr.c (map_v4v6_address): Likewise.
	* sunrpc/rpcinfo.c (pmapdump): Likewise.

	* resolv/gethnamaddr.c (getanswer): Replace bcopy with memmove.
	(gethostbyaddr): Likewise.
	* sunrpc/rpcinfo.c (get_inet_address): Likewise.

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

	* sysdeps/gnu/eval.c: Removed.
2001-09-19 03:25:37 +00:00
Ulrich Drepper
23382b36a7 Update.
2001-09-13  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-deps.c (_dl_map_object_deps): Fix filter handling if filter
	is already found earlier in the search scope.

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

	* rt/Makefile (LDFLAGS-rt.so): Use shared thread library as librt's
	filter.
2001-09-14 04:25:14 +00:00
Ulrich Drepper
455e8060b0 Update.
2001-09-08  Ben Collins  <bcollins@debian.org>

	* sysdeps/arm/dl-machine.h (elf_machine_rel): Fix thinko in
	usage of RESOLVE() (r_type, not reloc->r_type).
2001-09-08 21:31:59 +00:00
Ulrich Drepper
1181062126 Update.
2001-09-08  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-object.c: Avoid allocating extra memory block for name.
	* elf/dl-close.c (_dl_close): Don't free l_libname if it is no
	allocated separately.
	* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
2001-09-08 20:03:14 +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
c4bb124a75 Update.
2001-09-08  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): If object has no r_list (i.e., wasn't
	loaded directly) determine length if l_initfini list by iterating
	over its elements.  Minor optimizations.
	* elf/dl-deps.c (_dl_map_object_deps): Always add own map to l_initfini
	for dependency objects.
	If object was already loaded check whether any of the dependencies
	is already on the relocation dependency list.  If yes, remove the
	latter.  Minor optimizations.
	* elf/dl-lookup.c (add_dependency): Add check for self reference of
	maps here.  Search l_initfini list only if the object was loaded
	directly and not only as a dependency.
	(_dl_lookup_symbol): Add relocation dependency also if object
	is not in global scope.  Remove test for self-reference here.
	(_dl_lookup_versioned_symbol): Likewise.
	* elf/dl-object (_dl_new_object): Cleanup.  Initialize dont_free
	element of first name record.
	* elf/loadtest.c: Add some more test to recognize early if an object
	wasn't unloaded.
	* elf/Makefile: Add rules to build and run reldep5.
	* elf/reldep5.c: New file.
	* elf/reldepmod5.c: New file.
	* elf/reldepmod6.c: New file.

	* elf/reldep2.c: Fix typo.

	* elf/dl-object.c (_dl_new_object): Initialize l_scope and l_scope_max.
2001-09-08 16:27:08 +00:00
Ulrich Drepper
5a21d307c5 Update.
2001-09-07  Ulrich Drepper  <drepper@redhat.com>

	* include/link.h (struct link_map): Add l_scope_mem and l_scope_max
	elements.  Change l_scope to be a pointer only.
	* elf/dl-object.c (_dl_new_ojbect): Initialize l_scope and l_scope_max.
	* elf/dl-open.c (dl_open_worker): If dependency wasn't just opened
	here add searchlist of newly open file to the dependency's scope.
	* elf/dl-close.c (_dl_close): If dependency is used otherwise remove
	only searchlist from its scope.  Free own scope array if necessary.
	* elf/Makefile (tests): Add dblload and dblunload now.
2001-09-07 07:57:11 +00:00
Ulrich Drepper
3fac000158 Update.
2001-09-05  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile: Add rules to build new tests.  Don't run them yet since
	they both fail.
	* elf/dblload.c: New file.
	* elf/dblloadmod1.c: New file.
	* elf/dblloadmod2.c: New file.
	* elf/dblloadmod3.c: New file.
	* elf/dblunload.c: New file.
2001-09-06 01:03:05 +00:00
Ulrich Drepper
9cd9ea1068 Update.
2001-09-04  Richard Henderson  <rth@redhat.com>

	* elf/elf.h (R_ALPHA_OP_*, R_ALPHA_IMMED_*): Remove.
	(R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16.
2001-09-05 04:54:25 +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
903244ac3c Update.
2001-09-04  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-object.c (_dl_new_object): Remove unnecessary if.
2001-09-04 07:50:46 +00:00
Ulrich Drepper
e7beef5f19 (dl_main): Increment l_opencount for main binary. 2001-09-02 07:27:51 +00:00
Ulrich Drepper
eaad82e005 Update.
2001-08-31  Richard Henderson  <rth@redhat.com>

	* elf/dl-support.c (_dl_cpuclock_offset): Protect with NONAVAIL.
	(HP_TIMING_AVAIL): Set to HP_SMALL_TIMING_AVAIL if present.
	* elf/rtld.c (HP_TIMING_AVAIL): Likewise.
	(print_statistics): Make scalar unsigned long long.
	* sysdeps/alpha/hp-timing.h: New file.

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

	* stdio-common/perror.c (perror): Save errno early, pass it
	down to perror_internal.
	(perror_internal): Add errnum argument.

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

	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Remove unused code.
	Don't add old memory content for R_ALPHA_REFQUAD.
2001-09-01 06:10:36 +00:00
Ulrich Drepper
6c3ebebd1e Update.
2001-08-29  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_findserv.c (__nis_findfastest): Don't fail if reply received
	first is from a previous call.
	Patch by Alexander Belopolsky <alexb@rentec.com> for [PR libc/3670].

2001-08-29  Andreas Schwab  <schwab@suse.de>

	* sysdeps/ia64/fpu/libm-test-ulps: Updated.

2001-08-25  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>

	* config.make.in (INSTALL_SCRIPT): Define.
	* Makeconfig (INSTALL_SCRIPT): Define.
	* Makerules (do-install-script): New macro to install scripts using
	INSTALL_SCRIPT.
	(install-bin-script): New rule to install scripts with
	do-install-script.
	(install-bin-script-nosubdir): New rule.
	(install-no-libc.a-nosubdir): Add install-bin-script-nosubdir.
	(distinfo-vars): Add $(install-bin-script).
	* Rules (others): Likewise.
	* Makefile (glibcbug): Install with install-bin-script.
	* debug/Makefile (xtrace): Likewise.
	(catchsegv): Likewise.
	* elf/Makefile (ldd): Likewise.
	* malloc/Makefile (mtrace): Likewise.
	* timezone/Makefile (tzselect): Likewise.

2001-08-29  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Pass
	ELF_RTYPE_CLASS_PLT, instead of R_MIPS_REL32, to
	_dl_lookup_versioned_symbol () and _dl_lookup_symbol ().

	Add it to LDFLAGS.so, LDFLAGS-rtld, and +link.
2001-08-29 23:31:38 +00:00
Ulrich Drepper
967cdc10b7 (dl_main): Update call to _dl_lookup_symbol. 2001-08-27 16:21:32 +00:00
Ulrich Drepper
092243fa4e Update.
2001-08-26  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-runtime.c: Update calls to _dl_lookup_*.
2001-08-27 00:19:07 +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
Ulrich Drepper
cf44e2dd73 Update.
2001-08-24  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (print_statistics): Printf % after percent values.
	* elf/dl-misc.c (_dl_debug_vdprintf): Implement %%.

	* elf/dl-lookup.c (_dl_lookup_symbol): If we use the cache we
	don't have to compute the hash value and initialize current_value.
	Move reference_name variable to where it is needed.
	(_dl_lookup_versioned_symbol): Likewise.
2001-08-25 06:33:07 +00:00
Ulrich Drepper
c90b5d2838 (_dl_lookup_symbol): If we use the cache we don't have to compute the hash value and initialize current_value. Move reference_name variable to where it is needed. (_dl_lookup_versioned_symbol): Likewise. 2001-08-25 06:15:27 +00:00
Ulrich Drepper
af8bf6bd49 Update.
* elf/rtld.c: Include <sys/param.h>.
	* elf/dl-reloc.c: Likewise.
2001-08-24 19:56:19 +00:00
Ulrich Drepper
43a8054017 (elf_dynamic_do_rel): Fix problem with ld.so startup. Explicitly remove lazy part for RTLD_BOOTSTRAP since gcc doesn't do it. 2001-08-24 18:45:23 +00:00
Ulrich Drepper
95c7835028 Update.
* elf/do-rel.h (elf_dynamic_do_rel) [RTLD_BOOTSTRAP]: Disable use of
	RELCOUNT for now until we know what is wrong with it.

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

	* elf/do-rel.h (elf_dynamic_do_rel): If l_addr is 0, skip relative
	records.  Rename endrel to relative, initialize it to r, and use it
	in elf_machine_rel_relative calls.  Point r after relative relocs.

2001-08-24  Ulrich Drepper  <drepper@redhat.com>
2001-08-24 17:18:04 +00:00
Ulrich Drepper
1f2a1df36b Update.
2001-08-24  Jakub Jelinek  <jakub@redhat.com>

	* elf/do-rel.h (elf_machine_rel_relative): Define for rela if
	necessary.  Undefine newly defined macros at the end.
	* sysdeps/hppa/dl-machine.h (elf_machine_rela_relative):
	Rename from elf_machine_rel_relative.
	* sysdeps/cris/dl-machine.h (elf_machine_rela_relative): Likewise.
	* sysdeps/m68k/dl-machine.h (elf_machine_rela_relative): Likewise.
	* sysdeps/powerpc/dl-machine.h (elf_machine_rela_relative): Likewise.
	* sysdeps/ia64/dl-machine.h (elf_machine_rela_relative): Likewise.
	Fix argument types.
	* sysdeps/alpha/dl-machine.h (elf_machine_rela_relative): Likewise.
	Fix argument types.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela_relative):
	Likewise.  Fix argument types.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela_relative):
	Likewise.  Fix argument types.
	* sysdeps/sh/dl-machine.h (elf_machine_rela_relative): Likewise.
	Fix argument types.
	* sysdeps/mips/dl-machine.h (elf_machine_rel_relative): Use
	ElfW(Rel) in argument.
	* sysdeps/mips/mips64/dl-machine.h (elf_machine_rel_relative): New
	function.
2001-08-24 14:58:03 +00:00
Ulrich Drepper
ad427d6e08 (elf_dynamic_do_rel): RELATIVE relocations comes first if RELCOUNT is set. 2001-08-24 13:56:33 +00:00
Ulrich Drepper
c65c9d8ba0 (elf_dynamic_do_rel): If not relocating lazily, don't call elf_machine_rel for the last DT_RELCOUNT relocations but instead elf_machine_rel_relative. 2001-08-24 08:40:21 +00:00
Ulrich Drepper
962a3cdd2a (print_statistics): Nicer format for cache hit output. 2001-08-23 23:40:28 +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
Ulrich Drepper
40b145c443 Update.
* elf/dl-addr.c (_dl_addr): Handle broken binaries with zero
	symbol sizes a bit better.
2001-08-23 02:46:15 +00:00
Ulrich Drepper
46b05e5d74 Update.
2001-08-22  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-addr.c (_dl_addr): Fix tests to determine dli_sname.
	* malloc/mtrace.c (tr_where): dli_sname always points to a
	non-empty string is != NULL.
	Reported by Tim Janik <timj@gtk.org>.
2001-08-22 17:55:23 +00:00
Ulrich Drepper
44ad8377fb (_dl_map_object_from_fd): Use correct symbolic constant in mprotect call. 2001-08-11 20:27:50 +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
Ulrich Drepper
07ba734927 Update.
* elf/dl-open.c (add_to_global): Remove stale comment.

	* elf/dl-load.c (fillin_rpath): In SUID binaries, don't mark
	non-system-dirs in LD_LIBRARY_PATH as nonexisting, simply drop them.
2001-08-11 02:42:19 +00:00
Ulrich Drepper
c2a714f32e Update.
* elf/rtld.c: Correct use of __builtin_expect.

	* elf/dl-close.c: Remove commented-out code.
2001-08-04 15:05:57 +00:00
Ulrich Drepper
821563a985 (_dl_important_hwcaps): Avoid using malloc early in the program. 2001-07-27 03:48:11 +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
39ab0fdf56 (routines): Add dl-iteratephdr and dl-iteratephdr-static. 2001-07-25 20:42:02 +00:00
Ulrich Drepper
0f127f134d Add more definitions from Sun's latest version. 2001-07-23 17:11:21 +00:00
Ulrich Drepper
32463b1aa6 Update.
* elf/dl-load.c (_dl_dst_count): In SUID binaries expand $ORIGIN
	if it is alone.
	(_dl_dst_substitute): Likewise.
2001-07-23 01:13:01 +00:00
Ulrich Drepper
95ce33a55a (search_dir): Avoid use of uninitialized memory. Add a few __builtin_expect to mark unlikely error cases. 2001-07-20 17:51:33 +00:00
Ulrich Drepper
c96873d780 Update.
2001-07-17  Ulrich Drepper  <drepper@redhat.com>

	* elf/ldconfig.c (parse_conf): Disable implicit locking for the
	stream.  Remove some unnecessary initializers.
2001-07-17 21:56:59 +00:00
Ulrich Drepper
0cfbb8c6ed Update.
2001-07-17  Andreas Jaeger  <aj@suse.de>

	* elf/ldconfig.c: Add new variable hwcap_mask to honour LD_HWCAP_MASK.
	(is_hwcap_platform): Use it.
	(set_hwcap): New function to set hwcap_mask.
	(main): Call set_hwcap.

2001-07-17  Jakub Jelinek  <jakub@redhat.com>

	* time/getdate.c (__getdate_r): Initialize tm_isdst, tm_gmtoff and
	tm_zone before calling strptime.
2001-07-17 19:47:50 +00:00
Andreas Jaeger
41bdb6e20c Update to LGPL v2.1.
2001-07-06  Paul Eggert  <eggert@twinsun.com>

	* manual/argp.texi: Remove ignored LGPL copyright notice; it's
	not appropriate for documentation anyway.
	* manual/libc-texinfo.sh: "Library General Public License" ->
	"Lesser General Public License".

2001-07-06  Andreas Jaeger  <aj@suse.de>

	* All files under GPL/LGPL version 2: Place under LGPL version
	2.1.
2001-07-06 04:58:11 +00:00
Ulrich Drepper
505d4b248b Update.
2001-06-25  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-deps.c (_dl_map_object_deps): Fix handling of failing
	_dl_catch_error calls.
2001-06-26 04:17:42 +00:00
Andreas Jaeger
e15df0bbd7 Update.
* elf/reldep4mod4.c: Add prototype to avoid warning.
	* elf/reldep4mod2.c: Likewise.
2001-06-22 13:50:51 +00:00
Andreas Schwab
0f843f8938 * elf/ldconfig.c (search_dir): Fix check for regular file. 2001-06-14 14:43:23 +00:00
Ulrich Drepper
6999d70e2f Update.
* libio/iolibio.h (_IO_freopen): Correct last parameter to
	_IO_file_open.
	(_IO_freopen64): Likewise.
	Reported by simanek@quantum.karlov.mff.cuni.cz [PR libc/2326].

	* elf/elf.h: Add a few more EM_* constants.

2001-06-12  Bruno Haible  <haible@clisp.cons.org>

	* intl/dcigettext.c (DCIGETTEXT): Release the lock before returning.

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

	* sysdeps/unix/sysv/linux/bits/termios.h: Define __MAX_BAUD.
	* sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise.
	* sysdeps/unix/sysv/linux/speed.c: Use __MAX_BAUD instead of
	hardcoded B400000.

2001-06-13  Ulrich Drepper  <drepper@redhat.com>
2001-06-14 00:45:57 +00:00
Roland McGrath
563e3528e5 2001-06-10 Roland McGrath <roland@frob.com>
* elf/reldep4mod2.c: Use fully typed decls to avoid warnings.
	* elf/reldep4mod4.c: Likewise.
2001-06-10 23:06:25 +00:00
Ulrich Drepper
64b7897d6d Update.
2001-05-23  kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/dl-machine.h (_dl_runtime_resolve): Handle newer PLT.
	(_dl_runtime_profile): Likewise..

2001-05-23  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/posix/getaddrinfo.c: Support for AF_UNIX commented out.
	* posix/tst-getaddrinfo.c: Remove AF_UNIX test.

2001-05-19  H.J. Lu  <hjl@gnu.org>

	* elf/dl-deps.c (_dl_map_object_deps): Pass objname and
	errstring of the failed DSO to _dl_signal_error ().
2001-05-23 23:56:31 +00:00
Ulrich Drepper
1826d7933b Update.
2001-05-22  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-close.c (_dl_close): Save imap->l_reldeps, not map->l_reldeps.

	* elf/Makefile (distribute): Add reldep4mod[1234].c.
	(tests): Add reldep4.
	(modules-names): Add reldep4mod[1234].
	(reldep4mod1.so, reldep4mod2.so, reldep4, reldep4.out): New rules.
	* elf/reldep4.c: New file.
	* elf/reldep4mod1.c: Likewise.
	* elf/reldep4mod2.c: Likewise.
	* elf/reldep4mod3.c: Likewise.
	* elf/reldep4mod4.c: Likewise.
2001-05-22 23:55:23 +00:00
Ulrich Drepper
80d9c5f0b1 Update.
2001-05-18  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (PROTECTED): Remove defines.
	(add_dependency): Mark it with internal_function.
	(_dl_do_lookup, _dl_do_lookup_versioned): New functions.
	(_dl_lookup_symbol, _dl_lookup_symbol_skip,
	_dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip): Use
	it if we don't want do_lookup* inlined.

2001-05-18  Jakub Jelinek  <jakub@redhat.com>

	* include/link.h (struct r_scope_elem): Remove r_duplist and
	r_nduplist fields.
	* elf/dl-load.c (_dl_map_object_from_fd): Don't initialize them.
	* elf/dl-lookup.c (_dl_lookup_symbol_skip): Look in r_list, not
	r_duplist.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	* elf/dl-deps.c (struct list): Remove dup field, rename unique to next.
	(_dl_map_object_deps): Don't compute duplicate list.

	* elf/dl-symbol.c: Removed.
	* elf/Makefile (routines): Remove dl-symbol.

2001-05-22  Ulrich Drepper  <drepper@redhat.com>

	* po/el.po: Update from translation team.
	* po/sv.po: Likewise.
2001-05-22 23:42:35 +00:00
Ulrich Drepper
2373b30ea8 Update.
2001-05-20  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/cp1255.c: Completely rewritten.
	* iconvdata/Makefile (gen-8bit-gap-modules): Remove cp1255.
	* iconvdata/testdata/WINDOWS-1255: New file.
	* iconvdata/testdata/WINDOWS-1255..UTF8: New file.
	* iconvdata/TESTS: Add WINDOWS-1255 test.
	* iconvdata/CP1255.irreversible: New file.

2001-05-20  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/cp1258.c: Completely rewritten.
	* iconvdata/Makefile (gen-8bit-gap-modules): Remove cp1258.
	* iconvdata/testdata/WINDOWS-1258: New file.
	* iconvdata/testdata/WINDOWS-1258..UTF8: New file.
	* iconvdata/TESTS: Add WINDOWS-1258 test.
	* iconvdata/tst-table-from.c (try): Reset the iconv descriptor before
	the main call, and flush it afterwards.
	(utf8_decode): Return a string, possibly containing several Unicode
	characters.
	(main): Update all utf8_decode calls.
	* iconvdata/CP1258.irreversible: New file.

2001-05-20  Bruno Haible  <haible@clisp.cons.org>

	* iconv/gconv.c (__gconv): For flush without output, pass do_flush = 2.
	* iconv/skeleton.c: Distinguish do_flush = 1 and do_flush = 2. In the
	first case, set outbuf, outstart, outend, and call PREPARE_LOOP before
	EMIT_SHIFT_TO_INIT; then pass the output produced by this step down to
	the next step. In the second case, clear the state without calling
	EMIT_SHIFT_TO_INIT.
	* iconvdata/ibm930.c (EMIT_SHIFT_TO_INIT): Use outbuf instead of
	data->__outbuf, and outend instead of data->__outbufend.
	* iconvdata/ibm933.c (EMIT_SHIFT_TO_INIT): Likewise.
	* iconvdata/ibm935.c (EMIT_SHIFT_TO_INIT): Likewise.
	* iconvdata/ibm937.c (EMIT_SHIFT_TO_INIT): Likewise.
	* iconvdata/ibm939.c (EMIT_SHIFT_TO_INIT): Likewise.
	* iconvdata/iso-2022-cn.c (EMIT_SHIFT_TO_INIT): Likewise.
	* iconvdata/iso-2022-cn-ext.c (EMIT_SHIFT_TO_INIT): Likewise.
	* iconvdata/iso-2022-jp.c (EMIT_SHIFT_TO_INIT): Likewise.
	* iconvdata/iso-2022-kr.c (EMIT_SHIFT_TO_INIT): Likewise.
	* iconvdata/utf-7.c (EMIT_SHIFT_TO_INIT): Likewise.

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

	* elf/rtld.c (dl_main): Compute l_map_end for the main program.
	* elf/dl-sym.c (_dl_sym): Don't check for l_addr == 0.
	If match == _dl_loaded, caller can still come from the main program.
	(_dl_vsym): Likewise.
	* elf/dl-open.c (dl_open_worker): Don't check for l_addr == 0.
	* elf/dl-error.c (_dl_signal_error): Change NULL objname into "".
	* elf/restest2.c: New test.
	* elf/Makefile (tests): Add restest2.
	(restest2, LDFLAGS-restest2): Add rules.
2001-05-22 22:30:18 +00:00
Ulrich Drepper
7f81ac7007 Update.
2001-05-17  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-profile.c (_dl_mcount): Check whether state is
	GMON_PROF_ON before doing anything.
2001-05-17 19:31:03 +00:00
Ulrich Drepper
8d88a16405 Update.
2001-05-17  H.J. Lu  <hjl@gnu.org>

	* elf/sprof.c (read_symbols): Move "++symtab" into the while loop.
2001-05-17 19:07:36 +00:00
Andreas Jaeger
8645ad4729 * elf/ldconfig.c (add_dir): Only warn about stat failure if
opt_verbose. 
(search_dir): Likewise.
2001-05-17 15:46:45 +00:00
Andreas Jaeger
4ceae91566 Update. 2001-05-08 10:40:10 +00:00
Ulrich Drepper
3b5c1b57d3 Update.
* sysdeps/unix/i386/i586/clock_getres.c: Removed.
	* sysdeps/unix/i386/i586/clock_gettime.c: Removed.
	* sysdeps/unix/i386/i586/clock_nanosleep.c: Removed.
	* sysdeps/unix/i386/i586/clock_settime.c: Removed.
	* sysdeps/unix/i386/i586/cpuclock-init.h: Removed.
	* sysdeps/generic/cpuclock-init.h: Removed.
	* sysdeps/unix/i386/i686/Implies: Removed.
	* sysdeps/unix/i386/i686/tempname.c: Removed.
	* sysdeps/i386/i686/Versions: New file.
	* sysdeps/unix/i386/i586/Versions: Removed.

	* sysdeps/posix/clock_getres.c: If HP_TIMING_AVAIL is nonzero handle
	CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID.
	* sysdeps/unix/clock_gettime.c: Likewise.
	* sysdeps/unix/clock_nanosleep.c: Likewise.
	* sysdeps/unix/clock_settime.c: Likewise.
	* sysdeps/posix/tempname.c: Is HP_TIMING_AVAIL is nonzero define
	RANDOM_BITS use CPU clock.

	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/bits/time.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9b/bits/time.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/time.h: New file.
	* sysdeps/sparc/Versions: New file.

	* elf/dl-support.c: Don't use cpuclock-init.h definitions, use
	hp-timing.h definitions.
	* sysdeps/generic/dl-sysdep.c: Likewise.

	* include/libc-internal.h: Include hp-timing.h.  Use hp_timing_t in
	__get_clockfreq prototype.

	* sysdeps/unix/sysv/linux/i386/get_clockfreq.c (__get_clockfreq):
	Use hp_timing_t type.

	* sysdeps/unix/sysv/linux/ia64/get_clockfreq.c: New file.
2001-04-23 19:01:10 +00:00
Ulrich Drepper
463468350f Update.
2001-04-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* sysdeps/unix/sysv/linux/powerpc/mmap64.c: Correct check for invalid
	offset.

2001-04-21  Ulrich Drepper  <drepper@redhat.com>

	* posix/getopt.h: Treat __cplusplus like __STDC__.

2001-04-20  John S. Marvin  <jsm@fc.hp.com>

	* sysdeps/unix/sysv/linux/hppa/clone.S: Fix clone system call
	entry point stub.

2001-04-20  Richard Hirst  <rhirst@linuxcare.com>

	* elf/elf.h: Corrected R_PARISC_DIR14R (should be 6, not 5),
	and added R_PARISC_DPREL21L and R_PARISC_DPREL14R for modutils.

	* sysdeps/unix/sysv/linux/hppa/syscalls.list: Removed ptrace
	entry so the ptrace.c wrapper is used.

2001-04-20  Alan Modra  <amodra@one.net.au>

	* sysdeps/hppa/dl-lookupcfg.h (_dl_function_address): Prototype.
	(DL_FUNCTION_ADDRESS): Define.
	(DL_DT_INIT_ADDRESS): Define.
	(DL_DT_FINI_ADDRESS): Define.
	* sysdeps/hppa/Versions: Add _dl_function_address.
	* sysdeps/hppa/dl-machine.h (ELF_MACHINE_START_ADDRESS): Define.
	* sysdeps/hppa/dl-symaddr.c (_dl_start_address): Rename to
	_dl_function_address.
2001-04-22 03:33:47 +00:00
Ulrich Drepper
5fc48cd78f Update.
2001-04-21  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-support.c: Include cpuclock-init.h.  Use CPUCLOCK_VARDEF and
	CPUCLOCK_INIT if defined.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/cpuclock-init.h: New file.
	* sysdeps/unix/i386/i586/cpuclock-init.h: New file.
	* sysdeps/unix/i386/i586/Versions: New file.
	* sysdeps/unix/i386/i586/clock_settime.c: New file.
	* sysdeps/unix/i386/i586/clock_gettime.c: Handle thread CPU clock
	separately by calling __pthread_clock_gettime if this function is
	available.  Subtract offset from tsc value before computing time value.
2001-04-21 07:55:01 +00:00
Ulrich Drepper
28966366a2 Update.
2001-04-10  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-minimal.c (__assert_fail): Change error string.  It's
	most of the time no bug in ld.so.
	(__assert_perror_fail): Likewise.
2001-04-11 04:53:37 +00:00
Ulrich Drepper
390911beb3 Update.
2001-04-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* elf/elf.h (AT_DCACHEBSIZE, AT_ICACHEBSIZE, AT_UCACHEBSIZE,
	AT_IGNOREPPC): New defines.
	* sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Print them.
	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_STD_AUXV):
	Define for newer powerpc kernels.
	* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Use the standard
	DL_FIND_ARG_COMPONENTS if __ASSUME_STD_AUXV is defined.
2001-04-11 04:42:14 +00:00
Ulrich Drepper
951d5dd80f Update.
2001-04-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/fpu/libm-test-ulps: Add deltas for tgamma to help
	the lousy AMD FPU.

2001-04-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/Dist: Add sys/ptrace.h.
	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Delete wrong stuff.
	* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: Correct typedefs.

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

	* elf/dl-deps.c (_dl_map_object_deps): Provide complete error
	message.  Based on a patch by HJ Lu.
2001-04-11 00:29:09 +00:00
Ulrich Drepper
a16956f331 Update.
2001-04-10  Andreas Schwab  <schwab@suse.de>

	* math/libm-test.inc (csinh_test): Don't require the invalid
	exception for csinh (x + iNaN), but make it optional.

2001-04-09  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/ia64/elf/start.S (_start): Add unwind directives.

	* sysdeps/generic/entry.h [!__ASSEMBLY__]: Declare _start.
	* sysdeps/ia64/elf/entry.h: New file.
	* sysdeps/unix/sysv/linux/mips/entry.h [!__ASSEMBLY__]: Declare
	__start.
	* elf/rtld.c: Don't declare ENTRY_POINT.  Use ENTRY_POINT instead
	of &ENTRY_POINT.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
	* sysdeps/ia64/elf/start.S: Save base address of register backing
	store in __libc_ia64_register_backing_store_base.
2001-04-10 23:12:08 +00:00
Ulrich Drepper
eacde9d081 Update.
2001-04-08  Hans-Peter Nilsson  <hp@axis.com>

	* sysdeps/unix/sysv/linux/cris/Dist: New file.
	* sysdeps/unix/sysv/linux/cris/Makefile: New file.
	* sysdeps/unix/sysv/linux/cris/_G_config.h: New file.
	* sysdeps/unix/sysv/linux/cris/bits/fcntl.h: New file.
	* sysdeps/unix/sysv/linux/cris/bits/mman.h: New file.
	* sysdeps/unix/sysv/linux/cris/bits/resource.h: New file.
	* sysdeps/unix/sysv/linux/cris/brk.c: New file.
	* sysdeps/unix/sysv/linux/cris/chown.c: New file.
	* sysdeps/unix/sysv/linux/cris/clone.S: New file.
	* sysdeps/unix/sysv/linux/cris/fchown.c: New file.
	* sysdeps/unix/sysv/linux/cris/fcntl.c: New file.
	* sysdeps/unix/sysv/linux/cris/fxstat.c: New file.
	* sysdeps/unix/sysv/linux/cris/getegid.c: New file.
	* sysdeps/unix/sysv/linux/cris/geteuid.c: New file.
	* sysdeps/unix/sysv/linux/cris/getgid.c: New file.
	* sysdeps/unix/sysv/linux/cris/getgroups.c: New file.
	* sysdeps/unix/sysv/linux/cris/getresgid.c: New file.
	* sysdeps/unix/sysv/linux/cris/getresuid.c: New file.
	* sysdeps/unix/sysv/linux/cris/getrlimit.c: New file.
	* sysdeps/unix/sysv/linux/cris/getrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/cris/getuid.c: New file.
	* sysdeps/unix/sysv/linux/cris/lchown.c: New file.
	* sysdeps/unix/sysv/linux/cris/lockf64.c: New file.
	* sysdeps/unix/sysv/linux/cris/lxstat.c: New file.
	* sysdeps/unix/sysv/linux/cris/mmap.S: New file.
	* sysdeps/unix/sysv/linux/cris/mmap64.S: New file.
	* sysdeps/unix/sysv/linux/cris/msgctl.c: New file.
	* sysdeps/unix/sysv/linux/cris/profil-counter.h: New file.
	* sysdeps/unix/sysv/linux/cris/register-dump.h: New file.
	* sysdeps/unix/sysv/linux/cris/semctl.c: New file.
	* sysdeps/unix/sysv/linux/cris/setegid.c: New file.
	* sysdeps/unix/sysv/linux/cris/seteuid.c: New file.
	* sysdeps/unix/sysv/linux/cris/setfsgid.c: New file.
	* sysdeps/unix/sysv/linux/cris/setfsuid.c: New file.
	* sysdeps/unix/sysv/linux/cris/setgid.c: New file.
	* sysdeps/unix/sysv/linux/cris/setgroups.c: New file.
	* sysdeps/unix/sysv/linux/cris/setregid.c: New file.
	* sysdeps/unix/sysv/linux/cris/setresgid.c: New file.
	* sysdeps/unix/sysv/linux/cris/setresuid.c: New file.
	* sysdeps/unix/sysv/linux/cris/setreuid.c: New file.
	* sysdeps/unix/sysv/linux/cris/setrlimit.c: New file.
	* sysdeps/unix/sysv/linux/cris/setuid.c: New file.
	* sysdeps/unix/sysv/linux/cris/shmctl.c: New file.
	* sysdeps/unix/sysv/linux/cris/socket.S: New file.
	* sysdeps/unix/sysv/linux/cris/sys/ucontext.h: New file.
	* sysdeps/unix/sysv/linux/cris/syscall.S: New file.
	* sysdeps/unix/sysv/linux/cris/sysdep.S: New file.
	* sysdeps/unix/sysv/linux/cris/sysdep.h: New file.
	* sysdeps/unix/sysv/linux/cris/vfork.S: New file.
	* sysdeps/unix/sysv/linux/cris/xstat.c: New file.

2001-04-08  Hans-Peter Nilsson  <hp@axis.com>

	* sysdeps/cris/Dist: New file.
	* sysdeps/cris/Implies: New file.
	* sysdeps/cris/Makefile: New file.
	* sysdeps/cris/__longjmp.S: New file.
	* sysdeps/cris/_mcount.S: New file.
	* sysdeps/cris/bits/endian.h: New file.
	* sysdeps/cris/bits/setjmp.h: New file.
	* sysdeps/cris/bits/string.h: New file.
	* sysdeps/cris/dl-machine.h: New file.
	* sysdeps/cris/elf/start.S: New file.
	* sysdeps/cris/machine-gmon.h: New file.
	* sysdeps/cris/memcopy.h: New file.
	* sysdeps/cris/memusage.h: New file.
	* sysdeps/cris/setjmp.S: New file.
	* sysdeps/cris/sysdep.h: New file.
	* sysdeps/cris/wordcopy.c: New file.

2001-04-08  Hans-Peter Nilsson  <hp@axis.com>

	* elf/elf.h: Add new relocations for CRIS.

2001-04-08  Hans-Peter Nilsson  <hp@axis.com>

	* shlib-versions: Add cases for Linux on CRIS.

2001-04-08  Hans-Peter Nilsson  <hp@axis.com>

	* configure.in (ASM_LINE_SEP tests): Handle CRIS assembly, with
	';' for comments and '@' for line separator.

2001-04-08  Hans-Peter Nilsson  <hp@axis.com>

	* sysdeps/unix/sysv/linux/hppa/sysdep.h (INLINE_SYSCALL): Fix
	typo; s/==/=/ for assignment.

2001-04-08  Hans-Peter Nilsson  <hp@axis.com>

	* malloc/Makefile: Correct comment; mtrace is Perl, not AWK.

2001-04-08  Hans-Peter Nilsson  <hp@axis.com>

	* iconv/gconv_simple.c (internal_ucs4_loop_unaligned): Check for
	empty input before checking full output.

2001-04-08  Hans-Peter Nilsson  <hp@axis.com>

	* iconv/gconv.c (__gconv): Don't derefer parameter cd before
	checking if == -1L.

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

	* inet/rexec.c (rexec_af): Avoid calling perror with errno being set.
2001-04-09 04:55:59 +00:00
Andreas Jaeger
f4964b5cd4 Update.
2001-04-06  Andreas Jaeger  <aj@suse.de>

	* include/sys/profil.h: New file.

	* dlfcn/modatexit.c: Add prototypes to silence GCC.
	* dlfcn/modcxaatexit.c: Likewise.
	* elf/globalmod1.c: Likewise.
2001-04-06 15:23:41 +00:00
Ulrich Drepper
5e01438702 Update.
2001-04-05  David S. Miller  <davem@redhat.com>

	* elf/elf.h (HWCAP_SPARC_ULTRA3): Define it.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Add it to
	capability flags table and HWCAP_IMPORTANT, increase
	_DL_HWCAP_COUNT to 6.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
2001-04-05 20:45:54 +00:00
Andreas Jaeger
f457369d01 Update.
* sysdeps/ieee754/dbl-64/uroot.h: Add missing braces arount
	initializers.
	* sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Likewise.

	* elf/rtld.c (print_statistics)[!HP_TIMING_NONAVAIL]: Avoid
	warning about unused variable.
2001-04-02 11:26:16 +00:00
Roland McGrath
8a0746ae74 * sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Don't append
options after $(build-module), which is no longer a single command.
	(LDFLAGS-link-rpcuserlibs): New variable to hold those options.
	(LDFLAGS-libmachuser-link.so, LDFLAGS-libhurduser-link.so): New
	variables using it.  Reported by Mark Kettenis <kettenis@gnu.org>.

2001-03-11  Roland McGrath  <roland@frob.com>

	* elf/rtld.c (dl_main): Add cast to quiet warning.
	* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
	* iconv/gconv_conf.c (__gconv_get_path): Likewise.
	(__gconv_read_conf): Likewise.
	* iconv/gconv_db.c (gen_steps): Likewise.
	(__gconv_find_transform): Likewise.
	* locale/programs/charmap-dir.c (fopen_uncompressed): Likewise.
	(fopen_uncompressed): Use const in second argument's type.

2001-03-11  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/dl-sysdep.c (__writev): New function.

	* mach/mach_error.h: Fix ancient #endif syntax.
	* hurd/hurdmalloc.c: Likewise.

	* sysdeps/generic/atomicity.h (exchange_and_add, atomic_add,
	compare_and_swap): Add volatile qualifier to first arg, to bring
	these prototypes in line with all the other implementations.
	Add a #warning to remind the builder that these are not atomic.

2001-03-04  Roland McGrath  <roland@frob.com>

	* hurd/vpprintf.c (vpprintf) [USE_IN_LIBIO]: Use innermore first
	member of TEMP_F so its type is _IO_FILE * as expected.

	* hurd/fopenport.c (seekio): Conditionalize type of POS argument
	on [USE_IN_LIBIO].  Check the value for overflow, since for libio
	it might exceed off_t's range.

2001-02-25  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/sysd-stdio.c (__stdio_reopen): Use prototype.
	* sysdeps/unix/bsd/getpt.c (__posix_openpt): Likewise.

	* sysdeps/mach/hurd/i386/intr-msg.h (SYSCALL_EXAMINE): Make this a
	macro instead of an inline function,
	(MSG_EXAMINE): Likewise.

	* hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS_1): Remove extraneous ##.

	* hurd/get-host.c: Include <string.h> for decls of built-ins.
	* hurd/hurdchdir.c: Likewise.
	* sysdeps/mach/hurd/i386/sigreturn.c: Likweise.
	* sysdeps/mach/hurd/opendir.c: Likewise.

	* mach/mach_init.c: Include <unistd.h> for _exit decl.

	* mach/errsystems.awk: Give output file a trailing newline.

	* mach/Machrules (MIG): Prepend CC='${CC}' to the mig command, so that
	the script will use our compiler for the cpp stage.

	With --enable-all-warnings we get a whole bunch of warnings,
	and these are just a few fixes; there are more needed to silence it.
	* mach/mach/mig_support.h (__mig_strncpy, mig_strncpy): Add extern
	decls before extern inline defns to quiet gcc warning.
	* hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp): Likewise.
	* sysdeps/mach/i386/machine-sp.h (__thread_stack_pointer): Likewise.
2001-04-01 05:04:31 +00:00
Ulrich Drepper
8c0fe29004 (tests): Don't depend on $(objpfx)tst-pathopt.out for cross-compiling. ($(objpfx)tst-pathopt.out):Undo the last change. 2001-03-25 04:57:51 +00:00
Andreas Jaeger
5b5d078570 (main): Use proper prototype. 2001-03-21 07:21:34 +00:00
Ulrich Drepper
55c910213e Update.
* elf/dl-load.c: Various little optimizations.
2001-03-20 09:26:25 +00:00
Ulrich Drepper
2541eda0d4 Update.
2001-03-19  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-dst.h (DL_DST_COUNT): Add __builtin_expect.

	* elf/dl-load.c (_dl_dst_count): Make DST recognition more robust.
	(_dl_dst_substitute): Likewise.
2001-03-20 06:52:36 +00:00
Ulrich Drepper
96c0d65dc3 Update.
* elf/cache.c: Mark and have translated a few more messages.

2001-03-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* elf/cache.c: Add case for FLAG_S390_LIB64.
	* sysdeps/generic/ldconfig.h: Add define for FLAG_S390_LIB64.
	* sysdeps/unix/sysv/linux/s390/ldconfig.h: New file.
	* sysdeps/unix/sysv/linux/s390/readelflib.c: New file.

2001-03-19  Ulrich Drepper  <drepper@redhat.com>
2001-03-19 22:08:34 +00:00
Ulrich Drepper
7c91639ec9 Update.
2001-03-16  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/makecontext.c (__makecontext):
	Internationalize.
2001-03-17 00:49:09 +00:00
Ulrich Drepper
e1f578d63b Update.
2001-02-06  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-load.c (_dl_map_object): Don't test l_opencount when
	looking for name matches.
2001-03-17 00:01:01 +00:00
Ulrich Drepper
b15ff9d65e Update.
2001-03-16  Jakub Jelinek  <jakub@redhat.com>

	* elf/ldconfig.c (search_dir): Remove bogus diagnostic, instead
	update osversion from more recent library.
2001-03-16 09:59:58 +00:00
Ulrich Drepper
136d43328b Update.
2001-03-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* shlib-versions: Add rule for Linux on 64 bit S/390.
	* sysdeps/s390/s390-64/pt-machine.h: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c: New file.

2001-03-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/pt-machine.h: Move to...
	* sysdeps/s390/s390-32/pt-machine.h: ...here.
	Add defines for FLOATING_STACK and ARCH_STACK_MAX_SIZE.
2001-03-16 08:53:02 +00:00
Ulrich Drepper
a986484f67 Update.
2001-03-12  Jakub Jelinek  <jakub@redhat.com>

	* csu/Makefile (abi-tag.h): Define OS and version separately, allow
	version to be overriden from config.h.
	* csu/abi-note.S: Use OS and version separately, include config.h.
	* elf/dl-load.c (_dl_osversion): New.
	(_dl_map_object_from_fd): Kill some warnings.
	(open_verify): Check .note.ABI-tag of the library if present.
	* elf/Makefile (CPPFLAGS-dl-load.c): Add -I$(csu-objpfx).
	* elf/cache.c (struct cache_entry): Add osversion.
	(print_entry): Print osversion.
	(print_cache): Pass osversion to it.
	(compare): Sort according to osversion.
	(save_cache): Set osversion.
	(add_to_cache): Add osversion argument.
	* sysdeps/generic/ldconfig.h (add_to_cache, process_file,
	process_elf_file): Add osversion argument.
	* elf/readlib.c (process_file): Likewise.
	* sysdeps/generic/readelflib.c (process_elf_file): Likewise.
	* sysdeps/unix/sysv/linux/ia64/readelflib.c (process_elf_file,
	process_elf32_file, process_elf64_file): Likewise.
	* sysdeps/unix/sysv/linux/i386/readelflib.c (process_elf_file,
	process_elf32_file, process_elf64_file): Likewise.
	* sysdeps/unix/sysv/linux/sparc/readelflib.c (process_elf_file,
	process_elf32_file, process_elf64_file): Likewise.
	* elf/ldconfig.c (manual_link): Pass it.
	(search_dir): Issue diagnostic if two libs with the same soname in
	the same directory have different .note.ABI-tag.  Record osversion in
	dlib_entry and use it from there.
	(struct lib_entry): Remove.
	(struct dlib_entry): Add osversion.
	* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Check
	osversion.
	* sysdeps/generic/dl-cache.h (struct file_entry_new): Replace __unused
	field with osversion.
	* sysdeps/generic/ldsodefs.h (_dl_osversion): Declare.
	* sysdeps/unix/sysv/linux/init-first.c: Include ldsodefs.h.
	* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Save kernel
	version in _dl_osversion.
	* sysdeps/unix/sysv/linux/configure.in: Define __ABI_TAG_VERSION.
	* Makerules (build-shlib-helper, build-module-helper): New.
	(build-shlib, build-module-helper): Make sure .note.ABI-tag comes
	early.
	* config.h.in (__ABI_TAG_VERSION): Add.
	* elf/dl-minimal.c (__strtoul_internal): Set endptr on return.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS):
	Handle LD_ASSUME_KERNEL.
	* sysdeps/unix/sysv/linux/dl-librecon.h: New.
2001-03-16 07:40:05 +00:00
Ulrich Drepper
328c5f650f Update.
* timezone/antarctica: Update from tzdata2001a.
	* timezone/asia: Likewise.
	* timezone/australasia: Likewise.
	* timezone/backward: Likewise.
	* timezone/etcetera: Likewise.
	* timezone/europe: Likewise.
	* timezone/leapseconds: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/systemv: Likewise.
	* timezone/yearistype: Likewise.
	* timezone/zone.tab: Likewise.
	* timezone/tzdump.c: Update from tzcode2001a.

2001-03-15  H.J. Lu  <hjl@gnu.org>

	* intl/Makefile: Fix a typo.

2001-03-14  David Mosberger  <davidm@hpl.hp.com>

	* gmon/gmon.c (write_call_graph): Avoid unaligned accesses when
	writing arc structures.

2001-03-15  H.J. Lu  <hjl@gnu.org>

	* elf/Makefile ($(objpfx)tst-pathopt.out): Protected against
	cross-compiling.

2001-03-13  Andreas Schwab  <schwab@suse.de>

	* posix/PTESTS2C.sed: Replace literal CRs by `\r'.

2001-03-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/cmsg_nxthdr.c (__cmsg_nxthdr): Fix test
	for control message fitting into message data.
	Patch by James Antill <james@and.org>.
2001-03-16 01:10:29 +00:00
Andreas Jaeger
a3d655ca67 (EM_*): Synch with official list. 2001-03-11 15:46:56 +00:00
Ulrich Drepper
667b057725 Update.
2001-03-07  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/ia64/bits/fenv.h (FE_NONIEEE_ENV): New macro.

2001-03-07  Jes Sorensen  <jes@linuxcare.com>

	* sysdeps/unix/sysv/linux/ia64/ioperm.c (_ioperm): Remove unused
	variables addr & len.

2001-02-22  Jes Sorensen  <jes@linuxcare.com>

	* sysdeps/ia64/fpu/feenablxcpt.c (feenableexcept): Remove
	punctuation in asm constraint.

2001-03-07  Mark Kettenis  <kettenis@gnu.org>

	* resolv/netdb.h [__USE_GNU]: Define __need_timespec and include
	<time.h> to get definition of `struct timespec'.

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

	* elf/rtld.c (dl_main): If tracing, warn about undefined symbols if
	LD_WARN=1, not if LD_WARN is unset.

2001-03-07  Andreas Schwab  <schwab@suse.de>

	* elf/ldconfig.h: Moved to ...
	* sysdeps/generic/ldconfig.h: ... here.
	* sysdeps/unix/sysv/linux/i386/ldconfig.h: New file.
	* sysdeps/unix/sysv/linux/m68k/ldconfig.h: New file.
	* sysdeps/unix/sysv/linux/ia64/ldconfig.h: New file.
	* elf/readlib.c (interpreters, known_libs): Use
	SYSDEP_KNOWN_INTERPRETER_NAMES and SYSDEP_KNOWN_LIBRARY_NAMES
	instead of hard coding old names.
2001-03-10 16:40:59 +00:00
Andreas Jaeger
9672b9372f Update.
2001-03-09  Andreas Jaeger  <aj@suse.de>

	* sysdeps/s390/dl-machine.h (elf_machine_matches_host): Handle
	both new and old EM_S390 values.
	(EM_S390_OLD): New constant.

	* elf/elf.h (EM_S390): Use official value.
2001-03-09 17:33:11 +00:00
Andreas Jaeger
504216a081 Update.
* elf/ldconfig.c (_dl_sysdep_message): Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Include
	ldsodefs.h.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
2001-03-07 13:35:58 +00:00
Ulrich Drepper
273a3cfb99 Update.
* elf/global.c: New file.
	* elf/globalmod1.c: New file.
	* elf/Makefile: Add rules to build and run global.
2001-03-04 19:51:54 +00:00
Ulrich Drepper
1746f2b0a1 Update.
2001-02-27  Philip Blundell  <pb@futuretv.com>

	* elf/elf.h: Add new ARM definitions from latest (B-01)
	specification.  Correct naming of EF_ARM_ALIGN8 et al.

2001-03-04  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/tst-printf.sh: Remove bashisms.
	Patch by Matthew Clarke <Matthew_Clarke@mindlink.bc.ca>.

	* shlib-versions: Add entry for libanl.
2001-03-04 08:47:11 +00:00
Ulrich Drepper
2ace572170 Update.
* Versions.def: Add libanl definition.
	* shlig-versions: Add entry for libanl.
	* resolv/Makefile (distribute): Add gai_misc.h and ga_test.c.
	(routines): Add gai_sigqueue.
	(extra-libs): Add libanl.
	(libanl-routines): New variable.
	Add rules to build libanl and ga_test.
	* resolv/Versions [libc] (GLIBC_2.2.3): Add __gai_sigqueue.
	[libanl]: New library.
	* resolv/netdb.h: Add definitions for libanl.
	* resolv/getaddrinfo_a.c: New file.
	* resolv/gai_cancel.c: New file.
	* resolv/gai_error.c: New file.
	* resolv/gai_misc.c: New file.
	* resolv/gai_misc.h: New file.
	* resolv/gai_notify.c: New file.
	* resolv/gai_suspend.c: New file.
	* resolv/ga_test.c: New file.
	* sysdeps/generic/gai_sigqueue.c: New file.
	* sysdeps/unix/sysv/linux/gai_sigqueue.c: New file.
	* sysdeps/generic/bits/siginfo.h: Allow __need_sigevent_t being defined
	and provide only that definition.
	* sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h: Likewise.

	* rt/aio_misc.c: Fix typos in comments.
	* rt/lio_listio.c: Pretty printing.  Little optimization in request
	list handling.

	* elf/rtld.c: Remove commented out code.
2001-03-03 18:21:04 +00:00
Ulrich Drepper
c1d32f33b2 Update.
2001-03-01  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c: Pretty printing.

	* elf/dl-object.c (_dl_new_object): Don't add the loader's scope
	twice.

	* elf/dl-misc.c (_dl_debug_vdprintf): Fix typo visible on 64-bit
2001-03-01 08:17:40 +00:00
Ulrich Drepper
7b97934bf9 Update.
2001-02-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Don't handle
	relocations which are not in ld.so if RTLD_BOOTSTRAP is defined.

	* sysdeps/powerpc/dl-machine.c (__process_machine_rela): Fix typo.

	* elf/dl-misc.c (_dl_debug_vdprintf): Fix type visible on 64-bit
	machines.

	* sysdeps/unix/sysv/linux/powerpc/sysdep.h (C_TEXT): Define.
2001-02-28 15:24:30 +00:00
Ulrich Drepper
35fc382add Update.
* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-machine.h: Likewise.
	* sysdeps/s390/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
2001-02-28 06:36:10 +00:00
Ulrich Drepper
b5ba065963 Update.
* elf/Versions [ld]: Don't export _dl_debug_message anymore.  Export
	_dl_debug_printf.
	* elf/dl-misc.c: Remove definition of _dl_sysdep_output and
	_dl_debug_message.  Define _dl_debug_vdprintf, _dl_debug_printf,
	_dl_debug_printf_c, and _dl_printf.
	* sysdeps/generic/ldsodefs.h: Don't declare _dl_sysdep_output,
	_dl_debug_message, _dl_sysdep_message, _dl_sysdep_error, and
	_dl_sysdep_fatal.  Declare _dl_debug_printf, _dl_debug_printf_c,
	_dl_printf, _dl_error_printf, and _dl_fatal_printf.
	* elf/dl-close.c: Replace use of old output functions with the new
	ones.
	* elf/dl-deps.c: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-minimal.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.

	* sysdeps/generic/ldsodefs.h: Remove _dl_secure declaration.

	* dlfcn/Makefile: Don't run tstatexit test unless .hidden is
	supported by assembler.
2001-02-28 06:24:03 +00:00
Ulrich Drepper
ba9fcb3f41 Update.
* elf/rtld.c: Little optimizations in handling _dl_lazy.

	* elf/cache.c (save_cache): Portability changes.
	* elf/dl-profile.c (_dl_start_profile): Likewise.

	* elf/sln.c: Cleanups.  Remove arbitrary limits.
2001-02-27 17:59:27 +00:00
Ulrich Drepper
b76a75de25 Update.
2001-02-27  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c: Replace _dl_debug_* variables with _dl_debug_mask.
	* elf/dl-deps.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* elf/Versions: Don't export _dl_debug_impcalls and _dl_debug_files.
	Export _dl_debug_mask.
	* Versions.def: Define GLIBC_2.2.3 for ld.
2001-02-27 09:36:33 +00:00
Ulrich Drepper
62dcee574f Replace _dl_debug_* variables with _dl_debug_mask. 2001-02-27 09:34:31 +00:00
Ulrich Drepper
3f1866e362 Update.
* elf/elf.h (DT_CHECKSUM): Define.
2001-02-15 18:08:37 +00:00
Andreas Jaeger
e1e3ba549a Update.
* stdlib/Makefile (tests): Don't run tst-fmtmsg when
	cross-compiling.
	($(objpfx)tst-fmtmsg.out): Pass run-program-prefix.

	* stdlib/tst-fmtmsg.sh (test): Use run_program_prefix for static
	only builds.

	* elf/Makefile (tests): Only run tst-pathopt with shared libs.
2001-02-10 23:06:59 +00:00
Ulrich Drepper
421f0c9dce (distribute): Add firstobj.c. 2001-02-09 19:48:34 +00:00
Andreas Jaeger
49a9dd2b6c Add prototype. 2001-02-06 10:38:10 +00:00
Ulrich Drepper
681627531b Update.
* elf/cache.c (print_entry): Use PRIx64 instead of Lx in printf
	string.  Include <inttypes.h> instead of <stdint.h>.
2001-02-06 05:48:26 +00:00
Ulrich Drepper
5a35dfca75 Update.
* elf/ldconfig.c (search_dir): Use PRIx64 instead of Lx in printf
	string.  Include <inttypes.h> instead of <stdint.h>.
2001-02-06 00:56:59 +00:00
Ulrich Drepper
bd929413af Update.
* elf/dl-init.c: Add a few __builtin_expect.
2001-02-03 08:44:01 +00:00
Ulrich Drepper
b71e7ce864 Update.
* elf/Makefile: Add rules to build and run initfirst test.
	* elf/initfirst.c: New file.
	* elf/firstobj.c: New file.
2001-02-02 06:54:15 +00:00
Ulrich Drepper
5d9167133c Update.
2001-02-01  Ulrich Drepper  <drepper@redhat.com>

	* Makerules (build-shlib): Add $(extra-B-$(@F:lib%.so=%).so).
	* configure.in: Test for -z initfirst linker option.
	* config.make.in: Add have-z-initfirst.
	* elf/dl-init.c (_dl_init): Split out actual initialization code in
	new function call_init.  If _dl_initfirst is non-NULL initialize first.
	* elf/dl-load.c (_dl_map_from_fd): If DF_1_INITFIRST flag is set
	remember object in _dl_initfirst.
	* elf/soinit.c: Remove special support for calling
	__pthread_initialize_minimal.

	* conform/conformtest.pl: Add missing $prepend in type test.

	* elf/elf.h (SHT_CHECKSUM): New definition.

	* posix/tst-fnmatch.input: Add tests for [. .] in locales.
2001-02-02 06:19:24 +00:00
Andreas Jaeger
b0ed91aecf Update.
* elf/dl-load.c (_dl_init_paths): Don't use strdupa in function
	arguments.  Reported by Jiri Kubicek <kubicek@bitsmart.com>,
	closes PR libc/2039.
2001-01-23 09:29:53 +00:00
Andreas Jaeger
59b139cb9c Add prototype for init. 2001-01-21 17:15:50 +00:00
Ulrich Drepper
1e71bd5279 Update.
* elf/rtld.c (process_envvars): Call __strtoul_internal instead of
	strtoul.
	* elf/dl-minimal.c (strtol, __strtol_internal, strtoul): Removed.
	(__sigjmp_save): Set __mask_was_saved to zero since we don't save
	anything.
	* dlfcn/eval.c (__strtol_internal): Define here.
	(eval): Use __strtol_internal instead of strtol.
2001-01-19 00:36:48 +00:00
Ulrich Drepper
2e42b53ca2 Update.
2001-01-18  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Add a few more EF_MIPS_* constants.
2001-01-18 23:46:16 +00:00
Andreas Jaeger
2e47aff5ac * posix/fnmatch_loop.c (FCT): Remove signed warnings.
* posix/wordexp.c (do_parse_glob): Likewise. 
* sysdeps/posix/sigblock.c (__sigblock): Likewise. 
* sysdeps/posix/sigsetmask.c (__sigsetmask): Likewise. 
* elf/dl-open.c (_dl_open): Likewise. 
* elf/dl-close.c (_dl_close): Likewise. 
* elf/dl-load.c (_dl_map_object): Likewise. 
* iconv/iconv_prog.c (process_fd): Likewise.
2001-01-12 17:03:52 +00:00
Ulrich Drepper
7e36861e77 Update.
2001-01-11  H.J. Lu  <hjl@gnu.org>

	* elf/dl-libc.c (do_dlopen): Move DL_STATIC_INIT to ...
	* elf/dl-open.c (_dl_open): Here.
	* sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_lock):
	Make it static.
	(_dl_static_init): Initialize the variables every time when possible.
	* sysdeps/unix/sysv/linux/ia64/ldsodefs.h (DL_STATIC_INIT):
	Undefine it first.
2001-01-11 19:42:21 +00:00
Ulrich Drepper
beb5387cf6 Update.
2001-01-10  H.J. Lu  <hjl@gnu.org>

	* elf/dl-libc.c (do_dlopen): Call DL_STATIC_INIT for static binaries.
	* sysdeps/unix/sysv/linux/ia64/Makefile (sysdep-dl-routines): Add
	dl-static.
	* sysdeps/unix/sysv/linux/ia64/Versions (ld): Add _dl_var_init.
	* sysdeps/generic/ldsodefs.h (DL_STATIC_INIT): Defined if not defined.
	* sysdeps/unix/sysv/linux/ia64/ldsodefs.h: New file.
	* sysdeps/unix/sysv/linux/ia64/dl-static.c: New file.
	* sysdeps/unix/sysv/linux/ia64/Dist: Add dl-static.c.
2001-01-11 17:50:24 +00:00
Ulrich Drepper
92effacf83 Update.
* elf/rtld.c (process_envvars): Place output files for profiling
	in SUID binaries in /var/profile.
2001-01-09 04:32:41 +00:00
Ulrich Drepper
27f9ede1e9 Update.
* elf/dl-load.c (_dl_map_object): Don't look in cache for
	preloading in SUID binaries.
2001-01-09 04:26:31 +00:00
Ulrich Drepper
f2a8d16bed Update.
* elf/dl-profile.c (_dl_start_profile): Open the output file with
	O_NOFOLLOW if possible.
2001-01-09 03:08:54 +00:00
Ulrich Drepper
e4a5f77de6 Update.
2001-01-05  H.J. Lu  <hjl@gnu.org>

	* elf/dl-support.c (non_dynamic_init): Move the auxiliary
	vector checking to ...
	(_dl_aux_init): Here. New function. Defined only if
	HAVE_AUX_VECTOR is defined.

	* sysdeps/generic/libc-start.c (__libc_start_main): Call
	_dl_aux_init for static binaries if HAVE_AUX_VECTOR is defined.

	* sysdeps/powerpc/elf/libc-start.c (__libc_start_main): Call
	_dl_aux_init.

	* sysdeps/unix/sysv/linux/ldsodefs.h (DL_FIND_AUXV): Removed.
	(HAVE_AUX_VECTOR): Defined.
	(_dl_aux_init): Declared.
2001-01-07 02:00:21 +00:00
Ulrich Drepper
155fd00c74 Update.
* elf/dl-support.c (non_dynamic_init): Don't define DL_FIND_AUXV
	if it is not available.  Instead use it only if it is available.
	* sysdeps/unix/sysv/linux/ldsodefs.h: New file.
2001-01-05 16:27:04 +00:00
Ulrich Drepper
f8f900ecb9 Update
2001-01-04  H.J. Lu  <hjl@gnu.org>

	* elf/dl-support.c (DL_FIND_AUXV): New.  Defined if not defined.
	(_dl_clktck): Declared.
	(non_dynamic_init): Take 3 arguments.
	Set _dl_pagesize, _dl_platform and _dl_clktck from AUX.

2001-01-01  Bruno Haible  <haible@clisp.cons.org>

	Finish implementation of plural form handling.
	* intl/dcigettext.c (known_translation_t): Rename 'domain' field to
	'domainname'.  Remove 'plindex' field. Add 'domain' and
	'translation_length' fields.
	(transcmp): Don't compare 'plindex' fields.
	(plural_lookup): New function.
	(DCIGETTEXT): Change cache handing in the plural case.  Don't call
	plural_eval before the translation and its catalog file have been
	found. Remove plindex from cache key.  Add 'translation_length' and
	'domain' to cache result.
	(_nl_find_msg): Remove index argument, return length of translation
	to the caller instead.  Weaken comparison of string lengths, to account
	for plural entries.  Call iconv() on the entire result string, not
	only on the portion needed so far.
	* intl/loadinfo.h (_nl_find_msg): Remove index argument, add lengthp
	argument.
	* intl/loadmsgcat.c (_nl_load_domain): Adapt to _nl_find_msg change.
2001-01-05 06:43:17 +00:00
Ulrich Drepper
06a60d9c89 Update.
2001-01-04  Ulrich Drepper  <drepper@redhat.com>

	* Versions.def (ld): Add GLIBC_2.2.

	* catgets/gencat.c: Copyright 2001.
	* csu/version.c: Likewise.
	* debug/catchsegv.sh: Likewise.
	* debug/xtrace.sh: Likewise.
	* elf/ldconfig.c: Likewise.
	* elf/sprof.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* locale/locale.c: Likewise.
	* locale/localedef.c: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/mtrace.pl: Likewise.
	* nscd/nscd.c: Likewise.
	* posix/getconf.c: Likewise.

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

	* include/stdio.h: Only provide __getwc_unlocked prototype if
	USE_IN_LIBIO is defined.

2001-01-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/socket.S (__socket): Fix error code
	handling.

2001-01-03  Andreas Schwab  <schwab@suse.de>

	* sysdeps/generic/strtoll.c: Remove unused __strtoq_internal alias.
	* sysdeps/generic/strtoull.c: Remove unused __strtouq_internal alias.

	* sysdeps/wordsize-64/strtol.c: Add strtoq alias and fix strtoll alias.
	* sysdeps/wordsize-64/strtoul.c: Add strtouq alias and fix
	strtoull alias.
	* sysdeps/wordsize-64/wcstol.c: Add wcstoq alias and fix wcstoll alias.
	* sysdeps/wordsize-64/wcstoul.c: Add wcstouq alias and fix
	wcstoull alias.

	* sysdeps/generic/strtoul.c: Make sure we find strtol.c in this
	directory.
	* sysdeps/generic/strtol_l.c: Likewise.
	* sysdeps/generic/strtoul_l.c: Likewise.
	* sysdeps/generic/wcstoul.c: Likewise, for wcstol.c.

	* sysdeps/wordsize-64/strtol_l.c: Fix alias.
	* sysdeps/wordsize-64/strtoul_l.c: Likewise.
	* sysdeps/wordsize-64/wcstol_l.c: Fix alias.
	* sysdeps/wordsize-64/wcstoul_l.c: Likewise.
2001-01-05 01:01:31 +00:00
Andreas Jaeger
66539a737d Update.
* include/libc-internal.h: Add prototype for __libc_freeres.

	* malloc/mtrace.c: Likewise.
	* malloc/set-freeres.c: Likewise.
2000-12-31 19:13:04 +00:00
Andreas Jaeger
72f70279f4 Update.
* sysdeps/unix/sysv/linux/init-first.c: Include <libc-internals.h>
	for prototypes, remove redundant prototypes.
	* gmon/gmon.c: Likewise.
	* sysdeps/unix/i386/i586/clock_getres.c: Likewise.
	* sysdeps/unix/i386/i586/clock_gettime.c: Likewise.

	* sysdeps/generic/enbl-secure.c: Include <libc-internals.h> for
	prototypes.
	* elf/soinit.c: Likewise.
	* sysdeps/generic/prof-freq.c: Likewise.
	* sysdeps/mach/hurd/profil.c: Likewise.
	* debug/noophooks.c: Likewise.
	* debug/pcprofile.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/get_clockfreq.c: Likewise.
	* sysdeps/generic/get_clockfreq.c: Likewise.

	* locale/localeinfo.h: Add internal prototypes.

	* elf/rtld.c (dl_main): Fix prototype.
2000-12-31 18:24:24 +00:00
Ulrich Drepper
09f5e1635a Update.
2000-12-28  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c (MALLOC_COPY): Handle case if source and
	destination overlap.  Assume dest is always below source if
	overlapping.
2000-12-31 07:39:50 +00:00
Ulrich Drepper
c77a447822 Update.
2000-12-30  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): We can ignore the NODELETE flag if the
	object was not yet initialized.

2000-12-28  H.J. Lu  <hjl@gnu.org>

	* elf/dl-deps.c (_dl_map_object_deps): Make sure the DSO state
	is always consistent even if its dependency is failed.

	* elf/dl-open.c (_dl_open): Increment the open count before
	calling _dl_close () in case of failure.

	* elf/neededtest4.c: New file.
	* elf/neededobj5.c: New file.
	* elf/neededobj6.c: New file.

	* elf/Makefile (distribute): Add neededobj5.c and neededobj6.c.
	(tests): Add neededtest4.
	(modules-names): Add neededobj5 and neededobj6.
	($(objpfx)neededobj6.so): New target.
	($(objpfx)neededtest4): New target.
	($(objpfx)neededtest4.out): New target.
2000-12-31 06:09:08 +00:00
Andreas Jaeger
728c24ff87 Update.
* elf/dl-minimal.c: Add prototypes.

	* include/locale.h: Add internal prototypes.
	* include/sys/gmon.h: Likewise.
2000-12-28 07:58:08 +00:00
Ulrich Drepper
7231f6f940 Update.
2000-12-27  Ben Collins  <bcollins@debian.org>

	* elf/dl-open.c (_dl_open): Correctly set the new objname pointer
	when reallocating the error strings.
	Reported by Kalle Olavi Niemitalo <kon@iki.fi>
2000-12-28 04:19:14 +00:00
Andreas Jaeger
938c669eb4 * stdio-common/printf_fp.c (__printf_fp): Add prototype for nested
function. 
* elf/dl-load.c (_dl_map_object_from_fd): Likewise. 
* locale/programs/locale.c (show_locale_vars): Likewise. 
(show_info): Likewise. 
* locale/programs/ld-collate.c (collate_output): Likewise. 
* locale/programs/ld-ctype.c (set_class_defaults): Likewise. 
* elf/dl-deps.c (_dl_map_object_deps): Likewise. 
* stdlib/rpmatch.c (rpmatch): Likewise.
2000-12-27 20:18:52 +00:00
Andreas Jaeger
ed073f0e62 Add prototype for foo. 2000-12-27 19:58:36 +00:00
Andreas Jaeger
5c80f57cfc Update.
* elf/neededobj1.c: Likewise.
	* elf/neededobj2.c: Likewise.
	* elf/neededobj3.c: Likewise.
	* elf/neededobj4.c: Likewise.
	* elf/nextmod1.c: Likewise.
	* elf/nextmod2.c: Likewise.
2000-12-17 17:50:56 +00:00
Andreas Jaeger
715ed1e9a5 Update.
2000-12-17  Andreas Jaeger  <aj@suse.de>

	* elf/vismain.c: Move prototypes for functions in vismod*.c to
	vismod.h.
	* elf/vismod.h: New file.
	* elf/Makefile (distribute): Add vismod.h.
	* elf/vismod1.c: Include vismod.h.
	* elf/vismod2.c: Likewise.
	* elf/vismod3.c: Likewise.

	* elf/constload3.c: Add prototype declarations to shut up gcc.
	* elf/failobj.c: Likewise.
	* elf/nodelmod3.c: Likewise.
	* elf/filtmod1.c: Likewise.
	* elf/filtmod2.c: Likewise.
	* elf/reldepmod1.c: Likewise.
	* elf/reldepmod2.c: Likewise.
	* elf/reldepmod3.c: Likewise.
	* elf/reldepmod4.c: Likewise.
	* elf/unload2dep.c: Likewise.
	* elf/unload2mod.c: Likewise.
	* elf/ltglobmod1.c: Likewise.
	* elf/pathoptobj.c: Likewise.

	* locale/programs/ld-collate.c (collate_finish): Don't use labels
	at end of compound statement.
	* locale/programs/locale.c (show_info): Likewise.
	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise.
2000-12-17 17:09:01 +00:00
Andreas Jaeger
1a511d3105 Update.
2000-12-15  Andreas Jaeger  <aj@suse.de>

	* stdio-common/scanf9.c (main): Reformat and change to avoid
	warnings.

	* stdio-common/tstdiomisc.c: Make local functions static.
	* stdio-common/tst-printf.c: Likewise.

	* elf/constload2.c: Add prototype declarations to shut up gcc.
	* elf/dep1.c: Likewise.
	* elf/dep2.c: Likewise.
	* elf/dep3.c: Likewise.
	* elf/dep4.c: Likewise.
	* elf/ltglobmod2.c: Likewise.

	* libio/fmemopen.c: Make local functions static.

	* elf/Makefile (distribute): Added testobj.h.

	* elf/testobj.h: New file.

	* elf/testobj1.c: Include testobj.h and move prototype
	declarations to testobj.h.
	* elf/testobj2.c: Likewise.
	* elf/testobj3.c: Likewise.
	* elf/testobj4.c: Likewise.
	* elf/testobj5.c: Likewise.
	* elf/testobj6.c: Likewise.
	* elf/testobj1_1.c: Likewise.
	* elf/preloadtest.c: Likewise.
2000-12-15 16:03:57 +00:00
Ulrich Drepper
7b70fef6ae Update.
2000-12-08  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-open.c (_dl_open): If objname points right after errstring,
	allocate it together with errstring using alloca.
	* elf/dl-error.c (_dl_signal_error): If malloc failed, set objname
	to "", because it might point to local stack.
2000-12-09 00:02:12 +00:00
Ulrich Drepper
e9c9f3a1c2 Fix a few more places. 2000-12-08 17:34:49 +00:00
Ulrich Drepper
104d0bd3ef Update.
2000-12-08  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-load.c (fillin_rpath): Don't assume there is '\0' at
	cp + len.  Compute where from dirname.
	Reported by <jreiser@BitWagon.com>.

2000-12-08  Richard Henderson  <rth@twiddle.net>

	* sysdeps/alpha/_mcount.S: Fix typo.
	* sysdeps/alpha/strncpy.S: Likewise.

	* sysdeps/alpha/alphaev6/Implies: New file.
	* sysdeps/alpha/alphaev67/Implies: New file.
	* sysdeps/alpha/alphaev67/ffs.S: New file.
	* sysdeps/alpha/alphaev67/ffsll.S: New file.
	* sysdeps/alpha/alphaev67/rawmemchr.S: New file.
	* sysdeps/alpha/alphaev67/stpcpy.S: New file.
	* sysdeps/alpha/alphaev67/stpncpy.S: New file.
	* sysdeps/alpha/rawmemchr.S: New file.
	* sysdeps/alpha/strcat.S: Tail call to __stxcpy.
	* sysdeps/alpha/strcpy.S: Likewise.

	From GMP 3.1.1:
	* sysdeps/alpha/alphaev6/addmul_1.s: New file.

	From rick.gorton@alpha-processor.com:
	* sysdeps/alpha/alphaev6/memchr.S: New file.
	* sysdeps/alpha/alphaev6/memcpy.S: New file.
	* sysdeps/alpha/alphaev6/memset.S: New file.
	* sysdeps/alpha/alphaev6/stxcpy.S: New file.
	* sysdeps/alpha/alphaev6/stxncpy.S: New file.
	* sysdeps/alpha/alphaev67/strcat.S: New file.
	* sysdeps/alpha/alphaev67/strchr.S: New file.
	* sysdeps/alpha/alphaev67/strlen.S: New file.
	* sysdeps/alpha/alphaev67/strncat.S: New file.
	* sysdeps/alpha/htonl.S: Use a shorter sequence.

2000-12-08  Jakub Jelinek  <jakub@redhat.com>

	* inet/getnameinfo.c (getnameinfo): Fix NI_NOFQDN support.
	Reported by <pspencer@fields.utoronto.ca>.

2000-12-07  Jes Sorensen  <jes@linuxcare.com>

	* sysdeps/ia64/elf/start.S (__data_start): Add __data_start variable.
	Pointed out by Hans Boehm.

2000-12-07  H.J. Lu  <hjl@gnu.org>

	* elf/dl-version.c (match_symbol): Check map->l_name[0] for printing.

2000-12-07  Andreas Jaeger  <aj@suse.de>

	* misc/error.c: Add format attributes for __error and __error_at_line.

	* nscd/dbg_log.h: Add format attribute.

2000-12-08  Ulrich Drepper  <drepper@redhat.com>

	* misc/sys/syslog.h: Add format attributes to syslog and vsyslog.
	Patch by Joseph S. Myers <jsm28@cam.ac.uk>.

	* sysdeps/generic/dl-cache.c (HWCAP_CHECK): Fix access to _dl_hwcap.
	* manual/install.texi: Recommend to set LANGUAGE=C LC_ALL=C during
2000-12-08 17:27:11 +00:00
Andreas Jaeger
48896b9dba Update.
2000-12-05  Andreas Jaeger  <aj@suse.de>

	* elf/dl-misc.c (_dl_sysdep_read_whole_file): Mark as
	internal_function.
	* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Likewise.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start_cleanup): Likewise.

	* sysdeps/generic/dl-cache.c: Remove declaration of
	_dl_sysdep_read_whole_file.

	* elf/dl-load.c (_dl_map_object): Remove declaration of
	_dl_load_cache_lookup.

	* sysdeps/generic/ldsodefs.h: Add declarations of
	_dl_load_cache_lookup, _dl_unload_cache,
	_dl_sysdep_read_whole_file, _dl_sysdep_start and
	_dl_sysdep_start_cleanup.

	* elf/rtld.c: Remove prototypes that are defined in ldsodefs.h
	now.

	* elf/dl-misc.c: Include <ldsodefs.h> to get prototypes.
	* sysdeps/generic/dl-environ.c: Likewise.

	* stdio-common/printf_fp.c: Include <gmp.h> instead of
	<stdlib/gmp.h>.
	* math/atest-exp.c: Likewise.
	* math/atest-exp2.c: Likewise.
	* math/atest-sincos.c: Likewise.
	* stdio-common/_itoa.c: Likewise.
	* stdio-common/_itowa.c: Likewise.

	* include/gmp.h: New file with internal prototypes.

	* sysdeps/generic/longjmp.c: Move _longjmp_unwind declaration from
	here to...
	* include/setjmp.h: ...here.

	* locale/Makefile (routines): Remove codeset_name since it's not
	needed anywhere.

	* locale/codeset_name.c: Removed.
2000-12-05 17:34:28 +00:00
Ulrich Drepper
a850e77f3f Update.
* elf/loadfail.c: Little cosmetic changes to avoid warnings.
	* elf/loadtest.c: Likewise.
	* elf/multiload.c: Likewise.
	* elf/next.c: Likewise.
	* elf/nodelete.c: Likewise.
	* elf/noload.c: Likewise.
	* elf/order.c: Likewise.
	* elf/origtest.c: Likewise.
	* elf/preloadtest.c: Likewise.
	* elf/restest1.c: Likewise.
2000-11-26 06:18:02 +00:00
Ulrich Drepper
595538976b Update.
2000-11-20  Jakub Jelinek  <jakub@redhat.com>

	* iconvdata/bug-iconv2.c (main): Use %zd in format string.
	* io/test-lfs.c (do_test): Cast statbuf.st_size to long long.
	* malloc/tst-valloc.c (main): Cast valloc return value to long.
	* malloc/tst-obstack.c (verbose_malloc): Use %zd in format string.
	* math/test-fpucw.c (main): Use %lx in format string, cast
	control words to long.
	* stdio-common/tst-fmemopen.c (main): Use %td in format strings.
	* stdlib/tst-strtol.c (tests): Avoid (bogus?) decimal constant is so
	large that it is unsigned warning.

	* sysdeps/unix/sysv/linux/sparc/bits/types.h (__ssize_t): Changing
	it to long on sparc64.

2000-11-20  Andreas Jaeger  <aj@suse.de>

	* nscd/nscd.h (termination_handler): Add noreturn attribute.
	(receiv_print_stats): Likewise.

	* elf/ldconfig.c (path_hwcap): Cast -1 for proper comparison.
2000-11-20 17:40:29 +00:00
Ulrich Drepper
40306912c9 Update.
2000-11-15  H.J. Lu  <hjl@gnu.org>

	* sysdeps/generic/ldsodefs.h (DL_DT_INIT_ADDRESS): Defined if
	ELF_FUNCTION_PTR_IS_SPECIAL is not defined.
	(DL_DT_FINI_ADDRESS): Likewise.

	* sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): Set the
	return type to ElfW(Addr).
	(_dl_function_address): New prototype.
	(DL_FUNCTION_ADDRESS): Defined.
	(DL_DT_INIT_ADDRESS): Defined as DL_FUNCTION_ADDRESS.
	(DL_DT_FINI_ADDRESS): Likewise.

	* sysdeps/ia64/Versions (GLIBC_2.2): Add _dl_function_address.

	* sysdeps/ia64/dl-machine.h (_dl_start_address): Removed.
	(ELF_MACHINE_START_ADDRESS): Changed to DL_FUNCTION_ADDRESS.

	* sysdeps/ia64/dl-symaddr.c (_dl_start_address): Renamed to ...
	(_dl_function_address): This.

	* elf/dl-fini.c (_dl_fini): Use DL_DT_FINI_ADDRESS to get the
	function pointer for DT_FINI.
	* elf/dl-close.c (_dl_close): Likewise.

	* elf/dl-init.c (_dl_init): Use DL_DT_INIT_ADDRESS to get the
	function pointer for DT_INIT.

2000-11-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/printf_fphex.c (__printf_fphex): Compute correctly
	end of wexpbuf buffer.
2000-11-16 18:15:26 +00:00
Andreas Jaeger
0b87a270e2 Update.
* elf/chroot_canon.c: Include <stdint.h>.
2000-11-15 09:41:20 +00:00
Andreas Jaeger
a6c1c03a44 Update.
2000-11-15  Andreas Jaeger  <aj@suse.de>

	* elf/cache.c (struct cache_entry): Use uint64_t for hwcap.
	(print_entry): Likewise.
	(add_to_cache): Likewise.

	* elf/ldconfig.h (add_to_cache): Change prototype for hwcap change.

	* elf/ldconfig.c (struct lib_entry): Use uint64_t for hwcap.
	(path_hwcap): Likewise.
	(search_dir): Likewise.

	* sysdeps/generic/dl-cache.c (HWCAP_CHECK): Handle platform.

	* elf/cache.c (add_to_cache): Handle 64 bit hwcap entry.

	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h
	(_dl_platform_string): New. 
	(_DL_HWCAP_PLATFORM): New.
	(_dl_string_platform): New.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.

	* sysdeps/generic/dl-procinfo.h (_DL_HWCAP_COUNT): New.
	(_dl_string_platform): New.
	(_DL_HWCAP_PLATFORM): New.
	(_dl_platform_string): New.

	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Added x86 platform
	recognition.
	(_DL_HWCAP_COUNT): New.
	(_dl_string_platform): New.
	(_DL_HWCAP_PLATFORM): New.
	(_dl_platform_string): New.
2000-11-15 08:46:30 +00:00
Andreas Jaeger
ad1a5cc746 (struct cache_entry): Use uint64_t for hwcap. (print_entry): Likewise. (add_to_cache): Likewise. 2000-11-15 08:42:13 +00:00
Andreas Jaeger
7c545dbe46 (create_links): Fix alloca calculation. Patch by Ben Collins <bcollins@debian.org>. 2000-11-10 14:06:06 +00:00
Ulrich Drepper
8bc6161d50 Update.
* iconvdata/Makefile (distribute): Add viscii.c.

	* elf/Makefile (distribute): Add tst-pathopt.sh.
2000-11-03 01:24:42 +00:00
Ulrich Drepper
25b3dd49a7 Update.
* elf/Versions [ld] (GLIBC_2.2): Export _dl_clktck and _dl_pagesize.
	* elf/dl-load.c: Define _dl_clktck.
	* elf/elf.h: Define AT_CLKTCK.
	* include/time.h: Declare __getclktck.
	* misc/Makefile (routines): Add getclktck.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Handle AT_CLKTCK.
	(_dl_show_auxv): Show AT_CLKTCK value.
	* sysdeps/generic/getclktck.c: New file.
	* sysdeps/unix/sysv/linux/getclktck.c: New file.
	* sysdeps/unix/sysv/linux/alpha/getclktck.c: New file.
	* sysdeps/unix/sysv/linux/ia64/getclktck.c: New file.
	* sysdeps/posix/sysconf.c: Use __getclktck to handle _SC_CLK_TCK.
	* sysdeps/unix/sysv/linux/getpagesize.c: New file.
	* sysdeps/unix/sysv/linux/bits/time.h: Use __sysconf to for CLK_TCK.
	* sysdeps/unix/sysv/linux/alpha/bits/time.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/time.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/time.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/time.h: Likewise.
2000-11-01 08:10:10 +00:00
Ulrich Drepper
f58580396d Update.
* elf/dl-load.c (open_path): Don't exit loop early if we didn't
	use a directory at all.
2000-10-30 03:21:39 +00:00
Ulrich Drepper
5a384a9143 Update.
* elf/Makefile: Add rules to build and run tst-pathopt.
	* elf/tst-pathopt.c: New file.
	* elf/tst-pathopt.sh: New file.
	* elf/pathoptobj.c: New file.
2000-10-30 00:13:29 +00:00
Ulrich Drepper
775106de7d Update.
2000-10-29  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h (SHN_XINDEX): Define.
2000-10-29 17:30:30 +00:00
Ulrich Drepper
9987236eb1 Update.
2000-10-28  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (open_verify): Only try to load ET_DYN and ET_EXEC
	objects.  Reject all other types.
	(_dl_map_object_from_fd): Optimize a bit.
2000-10-28 09:16:32 +00:00
Ulrich Drepper
5ab7f7c12a Update.
* inet/getipnodebyad.c: Removed.
	* inet/getipnodebynm.c: Removed.
	* inet/tst-ipnode.c: Removed.
	* inet/freehostent.c: Removed.

	* sysdeps/unix/bsd/osf/=dirstream.h: Removed.

	* sysdeps/unix/sysv/linux/Dist: Add bits/initspin.h.

	* elf/Makefile (distribute): Add neededobj4.c.

	* iconvdata/Makefile (distribute): Add BIG5HKSCS.irreversible.

	* sysdeps/hppa/Dist: New file.
	* sysdeps/unix/sysv/linux/hppa/Dist: New file.
2000-10-27 06:51:12 +00:00
Andreas Jaeger
3509e9f246 (_dl_map_object_from_fd): Remove unused variable. (_dl_map_object): Likewise. 2000-10-25 14:11:27 +00:00
Ulrich Drepper
7e036a0134 Update.
2000-10-25  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): Optimize a bit by optimizing out the
	nsearchlist variable.
2000-10-25 07:06:03 +00:00
Ulrich Drepper
e30f2b9828 Update.
* elf/dl-lookup.c (add_dependency): Fix test to check whether
	dependency already exists.
	* elf/Makefile: Add testobj1 and testobj2 as dependencies of testobj6.
	* elf/loadtest.c (main): Add test at the end that everything is
	unloaded.

	* elf/dl-open.c (dl_open_worker): Fix typo in comment.
2000-10-25 04:00:08 +00:00
Ulrich Drepper
e950d61f64 Add even more IA-64 relocations. 2000-10-25 00:16:25 +00:00
Ulrich Drepper
4b4fcf99d1 Update.
* elf/dl-close.c (_dl_close): Handle relocation dependencies of
	the dependencies of the object currently unloaded.
2000-10-24 20:20:37 +00:00
Ulrich Drepper
e3e5f6725b Update.
* elf/dl-close.c (_dl_close): Don't free memory for global scope
	list immediately when empty.  Move code to...
	(free_mem): ...here.  Called as part of __libc_subfreeres list.
2000-10-24 19:31:51 +00:00
Ulrich Drepper
2e93b4a4cd Update.
* elf/dl-deps.c (_dl_map_object_deps): Put l_initfini array before
	r_list array in allocated memory.
	* elf/dl-close.c (_dl_close): Optimize access to l_initfini list
	and remove use of r_list.
2000-10-24 19:18:25 +00:00
Ulrich Drepper
8edd917253 Update.
2000-10-24  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): Use correct list (l_initfini) when
	computing new opencounts.
	* elf/Makefile: Add rules to build and run neededtest3.
	* neededtest3.c: New file.
	* neededobj4.c: New file.

	* elf/neededtest.c (main): Correct tests for failing dlopen.
2000-10-24 17:04:14 +00:00
Ulrich Drepper
ef044fc8bf Object for unload testing. 2000-10-24 16:59:10 +00:00
Ulrich Drepper
a51deec480 (main): Correct tests for failing dlopen. 2000-10-24 15:25:53 +00:00
Andreas Jaeger
7bbaa3b260 (add_dependency): Remove unused variable j. 2000-10-24 11:17:45 +00:00
Ulrich Drepper
42c4f32a44 Update.
2000-10-24  Ulrich Drepper  <drepper@redhat.com>

	Complete revamp of the reference counter handling.
	* include/link.h (struct link_map): Add l_idx field.
	* elf/dl-close.c: Handle decrementing of reference counters more
	correctly. If necessary decrement reference counters of dependencies
	of dependencies.
	* elf/dl-lookup.c (add_dependency): Only increment reference counter
	of the object itself and not also its dependencies.
	* elf/dl-open.c: Increment reference counters here.
	* elf/dl-deps.c: Remove reference counter handling here.
	* elf/dl-load.c: Likewise.
	* elf/rtld.c: Adjust for _dl_map_deps not handling reference counters.

	* elf/loadtest.c: Print loaded objects at the beginning.
2000-10-24 07:36:55 +00:00
Ulrich Drepper
a881e0a074 Update.
* include/link.h (struct link_map): New bit field l_faked.
	* elf/dl-deps.c: Use l_faked field in struct link_map instead of
	the magic l_opencount==0.
	* elf/dl-load.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/rtld.c: Likewise.
2000-10-24 01:02:15 +00:00
Ulrich Drepper
c41c89d35d Update.
2000-10-23  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): Add a few more __builtin_expect.
2000-10-24 00:03:37 +00:00
Ulrich Drepper
9807e5408b Update.
* elf/unload.c: Generate more debugging output.

	* elf/neededtest.c: Make it more complicated.
	* elf/neededtest2.c: New file.
	* elf/Makefile: Add rules to build and run neededtest2.
2000-10-23 22:58:40 +00:00
Ulrich Drepper
f92338be6e Update.
* elf/dl-sym.c (_dl_sym): Use exact check for caller PC in range
	of DSO address space.
	(_dl_vsym): Likewise.
2000-10-23 21:40:57 +00:00
Ulrich Drepper
0d0db00c02 Update.
2000-10-23  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-sym.c (_dl_sym): For RTLD_DEFAULT, search in objects
	global scope if we can determine it.
2000-10-23 20:02:38 +00:00
Ulrich Drepper
949d553a58 Update.
2000-10-23  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h (R_IA64_GPREL32MSB, R_IA64_GPREL32LSB): New definitions.
2000-10-23 18:51:39 +00:00
Ulrich Drepper
a35e137a99 Update.
* elf/dl-load.c (_dl_map_object_from_fd): Split out ELF file
	verification in open_verify.
	(open_verify): New function.  Called instead of open.  Ignores valid
	files for other architectures.
	(open_path): Call open_verify instead of open.
	(_dl_map_object): Likewise.
	Somewhat based on a patch by Don Dugger <n0ano@valinux.com>.

	* io/pwd.c (main): The output was missing a newline.
2000-10-21 17:08:18 +00:00
Ulrich Drepper
d785c36692 Update.
2000-10-21  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-open.c (add_to_global): New function.  Split out from
	dl_open_worker.
	(dl_open_worker): Call add_to_global not only for new objects, also for
	previously loaded objects when (mode & RTLD_GLOBAL) and the object
	was not yet in the global scope.
	* elf/Makefile: Add rules to build and run lateglobal.
	* elf/lateglobal.c: New file.
	* elf/ltglobmod1.c: New file.
	* elf/ltglobmod2.c: New file.
2000-10-21 07:16:18 +00:00
Ulrich Drepper
c91bc73e3e Update.
* include/link.h (struct link_map): Add l_soname_added bitfield.
	* elf/dl-load.c (_dl_map_object): Remember when we added the
	SONAME to the l_libname list and don't try it again.
2000-10-21 06:32:16 +00:00
Ulrich Drepper
8699e7b1da Update.
* elf/dl-close.c: Decrement opencount for all dependencies which can
	be removed even if the object is not yet unloaded.
	* elf/dl-deps.c (_dl_map_object_deps): If dependency is already in
	the list decrement opencount of all dependencies.
	* elf/dl-load.c (_dl_map_object_from_fd): Increment object of object
	and all dependencies.
	(_dl_map_object): Likewise.
	* elf/dl-lookup.c (add_dependency): Likewise.

	* elf/loadtest.c: Add debug when with more output.
2000-10-21 06:02:49 +00:00