Commit Graph

846 Commits

Author SHA1 Message Date
Ulrich Drepper
ba737b94fd Update.
2002-03-14  Jakub Jelinek  <jakub@redhat.com>

	* locale/broken_cur_max.c (__ctype_get_mb_cur_max): Use nl_langinfo.
	* locale/Versions (_nl_current_LC_COLLATE, _nl_current_LC_CTYPE):
	Remove.

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

	* sysdeps/generic/mp_clz_tab.c: New file.
	* sysdeps/i386/mp_clz_tab.c: New file.
	* sysdeps/hppa/mp_clz_tab.c: New file.
	* sysdeps/powerpc/mp_clz_tab.c: New file.
	* stdlib/Makefile (aux): Revert last patch.
	* math/Makefile (gmp-objs): Likewise.

2002-03-13  Paul Eggert  <eggert@twinsun.com>

	* time/strftime.c: Comment fixes for references to obsolescent
	standards, In most cases the simplest fix is to remove the
	confusing comments.  Cross-referencing all the standards properly
	is a bit of a pain, and it should be enough to put that info in
	the documentation as I did in my recent time.texi patch.

2002-03-13  Paul Eggert  <eggert@twinsun.com>

	* manual/time.texi (Formatting Calendar Time):
	ISO C99 also specifies the E and O modifiers.
	%P is a GNU extension, and is not in ISO C99.
	Mention that %r is equivalent to %I:%M:%S %p in the POSIX locale.
	%T is also in ISO C99.
	The RFC 822 example is not valid in arbitrary locales.
	Reword the POSIX.2 wording slightly, to make it a bit clearer
	that POSIX.2 formats are also supported by later POSIX versions.
	If a format was introduced in ISO C99 it is also required by
	POSIX.1-2001.
2002-03-14 20:48:50 +00:00
Ulrich Drepper
ab26a24a17 Update.
* ctype/ctype-info.c: Declare _nl_C_LC_CTYPE_class,
	_nl_C_LC_CTYPE_class32, _nl_C_LC_CTYPE_toupper, _nl_C_LC_CTYPE_tolower,
	_nl_C_LC_CTYPE_class_upper, _nl_C_LC_CTYPE_class_lower,
	_nl_C_LC_CTYPE_class_alpha, _nl_C_LC_CTYPE_class_digit,
	_nl_C_LC_CTYPE_class_xdigit, _nl_C_LC_CTYPE_class_space,
	_nl_C_LC_CTYPE_class_print, _nl_C_LC_CTYPE_class_graph,
	_nl_C_LC_CTYPE_class_blank, _nl_C_LC_CTYPE_class_cntrl,
	_nl_C_LC_CTYPE_class_punct, _nl_C_LC_CTYPE_class_alnum,
	_nl_C_LC_CTYPE_map_toupper, _nl_C_LC_CTYPE_map_tolower, and
	_nl_C_LC_CTYPE_width: Declare as hidden.
	* include/locale.h: Declare _nl_locale_file_list.
	* locale/C-address.c: Define _nl_C_LC_ADDRESS as hidden.
	* locale/C-collate.c: Define _nl_C_LC_COLLATE as hidden.
	* locale/C-identification.c: Define _nl_C_LC_IDENTIFICATION as hidden.
	* locale/C-measurement.c: Define _nl_C_LC_MEASUREMENT as hidden.
	* locale/C-messages.c: Define _nl_C_LC_MESSAGES as hidden.
	* locale/C-monetary.c: Define _nl_C_LC_MONETARY as hidden.
	* locale/C-name.c: Define _nl_C_LC_NAME as hidden.
	* locale/C-numeric.c: Define _nl_C_LC_NUMERIC as hidden.
	* locale/C-paper.c: Define _nl_C_LC_PAPER as hidden.
	* locale/C-telephone.c: Define _nl_C_LC_TELEPHONE as hidden.
	* locale/C-time.c: Define _nl_C_LC_TIME as hidden.
	* locale/C-ctype.c: Define _nl_C_LC_CTYPE_class,
	_nl_C_LC_CTYPE_class32, _nl_C_LC_CTYPE_toupper, _nl_C_LC_CTYPE_tolower,
	_nl_C_LC_CTYPE_class_upper, _nl_C_LC_CTYPE_class_lower,
	_nl_C_LC_CTYPE_class_alpha, _nl_C_LC_CTYPE_class_digit,
	_nl_C_LC_CTYPE_class_xdigit, _nl_C_LC_CTYPE_class_space,
	_nl_C_LC_CTYPE_class_print, _nl_C_LC_CTYPE_class_graph,
	_nl_C_LC_CTYPE_class_blank, _nl_C_LC_CTYPE_class_cntrl,
	_nl_C_LC_CTYPE_class_punct, _nl_C_LC_CTYPE_class_alnum,
	_nl_C_LC_CTYPE_map_toupper, _nl_C_LC_CTYPE_map_tolower,
	_nl_C_LC_CTYPE_width, and as hidden.
	* locale/findlocale.c: Declare _nl_C as hidden.
	* locale/newlocale.c: Likewise.
	* locale/setlocale.c: Define _nl_C as hidden.  Remove declaration of
	_nl_locale_file_list.
	* locale/xlocale.c: Declare _nl_C_LC_CTYPE_class,
	_nl_C_LC_CTYPE_toupper, and _nl_C_LC_CTYPE_tolower as hidden.
	Define _nl_C_locobj as hidden.

	* malloc/mtrace.c (_mtrace_file): Define as hidden.
	(_mtrace_line): Likewise.

	* include/time.h: Declare __mon_yday as hidden.
	* time/strptime.c [_LIBC] (__mon_yday): Remove declaration.

	* libio/libioP.h: Declare __libio_codecvt as hidden.
	* libio/fileops.c: Declare __libio_translit as hidden.
	* libio/iofwide.c: Define __libio_translit as hidden.

	* login/getutent_r.c: Define __libc_utmp_lock as hidden.
	* login/getutid_r.c: Declare __libc_utmp_lock as hidden.
	* login/getutline_r.c: Likewise.
	* login/utmpname.c: Likewise.

	* login/utmp-private.h: Declare __libc_utmp_file_functions,
	__libc_utmp_unknown_functions, __libc_utmp_jump_table, and
	__libc_utmp_file_name as hidden.

	* locale/setlocale.c (__libc_setlocale_lock): Define as hidden.
	* locale/duplocale.c (__libc_setlocale_lock): Declare as hidden.
	* locale/freelocale.c: Likewise.
	* locale/lc-time.c: Likewise.

	* sysdeps/unix/bsd/getpt.c (__libc_ptyname1): Define as hidden.
	(__libc_ptyname2): Likewise.
	* sysdeps/unix/sysv/linux/ptsname.c (__libc_ptyname1): Declare as
	hidden.
	(__libc_ptyname2): Likewise.

	* sysdeps/generic/sbrk.c: Declare __libc_multiple_libcs as hidden.
	* sysdeps/arm/init-first.c (__libc_multiple_libcs): Define as hidden.
	* sysdeps/generic/init-first.c: Likewise.
	* sysdeps/i386/init-first.c: Likewise.
	* sysdeps/mach/hurd/i386/init-first.c: Likewise.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.
	* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
	* sysdeps/sh/init-first.c: Likewise.
	* sysdeps/unix/sysv/aix/init-first.c: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c: Likewise.
2002-03-13 06:33:52 +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
0e25633a77 Update.
* sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): Fix creation
	of .str elements in the returned data structure.
2002-03-02 10:32:19 +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
77fe0b9cd8 Update.
2002-02-25  Ulrich Drepper  <drepper@redhat.com>

	* assert/assert-perr.c: Use INTUSE to reference functions and variables
	inside libc itself.  Ise INTDEF and INTDEF2 to define appropriate
	aliases.  Add prototypes for the new aliases.
	* assert/assert.c: Likewise.
	* include/libc-symbols.h: Likewise.
	* include/stdio.h: Likewise.
	* include/netinet/in.h: Likewise.
	* include/rpc/auth.h: Likewise.
	* include/rpc/auth_unix.h: Likewise.
	* include/rpc/key_prot.h: Likewise.
	* include/rpc/pmap_prot.h: Likewise.
	* include/rpc/pmap_rmt.h: Likewise.
	* include/rpc/rpc_msg.h: Likewise.
	* include/rpc/xdr.h: Likewise.
	* inet/gethstbyad_r.c: Likewise.
	* inet/gethstbynm2_r.c: Likewise.
	* inet/gethstbynm_r.c: Likewise.
	* inet/gethstent_r.c: Likewise.
	* inet/in6_addr.c: Likewise.
	* libio/__fpurge.c: Likewise.
	* libio/filedoalloc.c: Likewise.
	* libio/fileops.c: Likewise.
	* libio/ftello.c: Likewise.
	* libio/ftello64.c: Likewise.
	* libio/genops.c: Likewise.
	* libio/iofclose.c: Likewise.
	* libio/iofdopen.c: Likewise.
	* libio/iofflush.c: Likewise.
	* libio/iofflush_u.c: Likewise.
	* libio/iofgetpos.c: Likewise.
	* libio/iofgetpos64.c: Likewise.
	* libio/iofgets.c: Likewise.
	* libio/iofgets_u.c: Likewise.
	* libio/iofopen.c: Likewise.
	* libio/iofopncook.c: Likewise.
	* libio/iofputs.c: Likewise.
	* libio/iofread.c: Likewise.
	* libio/iofread_u.c: Likewise.
	* libio/iofsetpos.c: Likewise.
	* libio/iofsetpos64.c: Likewise.
	* libio/ioftell.c: Likewise.
	* libio/iofwrite.c: Likewise.
	* libio/iogetline.c: Likewise.
	* libio/iogets.c: Likewise.
	* libio/iogetwline.c: Likewise.
	* libio/iolibio.h: Likewise.
	* libio/iopadn.c: Likewise.
	* libio/iopopen.c: Likewise.
	* libio/ioseekoff.c: Likewise.
	* libio/ioseekpos.c: Likewise.
	* libio/iosetbuffer.c: Likewise.
	* libio/iosetvbuf.c: Likewise.
	* libio/ioungetc.c: Likewise.
	* libio/ioungetwc.c: Likewise.
	* libio/iovdprintf.c: Likewise.
	* libio/iovsprintf.c: Likewise.
	* libio/iovsscanf.c: Likewise.
	* libio/libioP.h: Likewise.
	* libio/memstream.c: Likewise.
	* libio/obprintf.c: Likewise.
	* libio/oldfileops.c: Likewise.
	* libio/oldiofclose.c: Likewise.
	* libio/oldiofdopen.c: Likewise.
	* libio/oldiofgetpos.c: Likewise.
	* libio/oldiofgetpos64.c: Likewise.
	* libio/oldiofopen.c: Likewise.
	* libio/oldiofsetpos.c: Likewise.
	* libio/oldiofsetpos64.c: Likewise.
	* libio/oldiopopen.c: Likewise.
	* libio/oldstdfiles.c: Likewise.
	* libio/putc.c: Likewise.
	* libio/setbuf.c: Likewise.
	* libio/setlinebuf.c: Likewise.
	* libio/stdfiles.c: Likewise.
	* libio/stdio.c: Likewise.
	* libio/strops.c: Likewise.
	* libio/vasprintf.c: Likewise.
	* libio/vscanf.c: Likewise.
	* libio/vsnprintf.c: Likewise.
	* libio/vswprintf.c: Likewise.
	* libio/wfiledoalloc.c: Likewise.
	* libio/wfileops.c: Likewise.
	* libio/wgenops.c: Likewise.
	* libio/wstrops.c: Likewise.
	* malloc/mtrace.c: Likewise.
	* misc/error.c: Likewise.
	* misc/syslog.c: Likewise.
	* nss/getXXbyYY_r.c: Likewise.
	* nss/getXXent_r.c: Likewise.
	* nss/hosts-lookup.c: Likewise.
	* stdio-common/getw.c
	* stdio-common/printf-prs.c: Likewise.
	* stdio-common/printf_fp.c: Likewise.
	* stdio-common/printf_size.c: Likewise.
	* stdio-common/putw.c: Likewise.
	* stdio-common/scanf.c: Likewise.
	* stdio-common/sprintf.c: Likewise.
	* stdio-common/tmpfile64.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* stdio-common/vfscanf.c: Likewise.
	* stdlib/strfmon.c: Likewise.
	* sunrpc/auth_des.c: Likewise.
	* sunrpc/auth_none.c: Likewise.
	* sunrpc/auth_unix.c: Likewise.
	* sunrpc/authdes_prot.c: Likewise.
	* sunrpc/authuxprot.c: Likewise.
	* sunrpc/clnt_perr.c: Likewise.
	* sunrpc/clnt_raw.c: Likewise.
	* sunrpc/clnt_tcp.c: Likewise.
	* sunrpc/clnt_udp.c: Likewise.
	* sunrpc/clnt_unix.c: Likewise.
	* sunrpc/key_call.c: Likewise.
	* sunrpc/key_prot.c: Likewise.
	* sunrpc/openchild.c: Likewise.
	* sunrpc/pm_getmaps.c: Likewise.
	* sunrpc/pm_getport.c: Likewise.
	* sunrpc/pmap_clnt.c: Likewise.
	* sunrpc/pmap_prot.c: Likewise.
	* sunrpc/pmap_prot2.c: Likewise.
	* sunrpc/pmap_rmt.c: Likewise.
	* sunrpc/rpc_cmsg.c: Likewise.
	* sunrpc/rpc_prot.c: Likewise.
	* sunrpc/svc_authux.c: Likewise.
	* sunrpc/svc_raw.c: Likewise.
	* sunrpc/svc_simple.c: Likewise.
	* sunrpc/svc_tcp.c: Likewise.
	* sunrpc/svc_udp.c: Likewise.
	* sunrpc/svc_unix.c: Likewise.
	* sunrpc/xdr.c: Likewise.
	* sunrpc/xdr_array.c: Likewise.
	* sunrpc/xdr_mem.c: Likewise.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_ref.c: Likewise.
	* sunrpc/xdr_stdio.c: Likewise.
	* sysdeps/generic/_strerror.c: Likewise.
	* sysdeps/generic/printf_fphex.c: Likewise.
	* sysdeps/generic/tmpfile.c: Likewise.
	* sysdeps/gnu/errlist.awk: Likewise.
	* sysdeps/gnu/errlist.c: Likewise.

	* libio/Makefile (routines): Remove iosprint.
	* libio/iosprintf.c: Removed
2002-02-26 01:45: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
Roland McGrath
3a2832a07f * sysdeps/mach/hurd/times.c: Fix typo in last change.
* sysdeps/mach/hurd/setpriority.c [POLICY_TIMESHARE_BASE_COUNT]:
	Use task_policy in place of task_priority.

	* sysdeps/generic/bits/mman.h
	(MS_ASYNC, MS_SYNC, MS_INVALIDATE): New macros.
	* sysdeps/mach/msync.c: New file.

	* sysdeps/mach/powerpc/syscall.S: New file.

	* mach/msg.c [MACH_MSG_OVERWRITE]
	(__mach_msg_trap, __mach_msg_overwrite): New functions.
	* mach/Versions (libc: GLIBC_2.0): Add mach_msg_overwrite and __ name.

	* sysdeps/mach/configure.in: Check for clock.defs to put into
	mach_interface_list.
	* sysdeps/mach/configure: Regenerated.

	* mach/Makefile (mach-machine): New variable, set from $(base-machine).
	($(objpfx)mach-syscalls.mk): Use it in place of $(base-machine).
	($(mach-syscalls:%=$(objpfx)%.S) static pattern rule):
	Use <mach/machine/syscall_sw.h> instead of <sysdep.h>.
	(mach-shortcuts): Add device_read_overwrite_request,
	device_read_overwrite, vm_read_overwrite, thread_switch.

	* configure.in (base_machine): Set to $machine by default.
	* configure: Regenerated.
2002-02-19 00:22:30 +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
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
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
03af57939c Update.
* sysdeps/generic/glob.c (glob): Explicitly set gl_pathc to zero
	after globfree() calls.
2002-02-10 23:36:05 +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
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
3065b0c799 Update.
2002-02-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls): Correctly terminate
	loop to initial TLS block.

	* csu/version.c (banner): If TLS support is available say so.
2002-02-09 19:02:31 +00:00
Ulrich Drepper
67eb7235ce Update.
2002-02-09  Richard Henderson  <rth@twiddle.net>

	* sysdeps/generic/ldsodefs.h (struct rtld_global): Also include
	_dl_cpuclock_offset if HP_SMALL_TIMING_AVAIL.

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

	* sysdeps/generic/dl-environ.c (unsetenv): Clear cnt before use.

	* po/ca.po: Update from translation team.
	* po/sk.po: Likewise.
2002-02-09 01:54:57 +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
d4468ab788 Don't read TLS header if TLS is not needed. 2002-02-07 17:29:14 +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
8d4b5a8a50 Update.
2002-02-06  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Add --without-tls option.
	* sysdeps/i386/elf/configure.in: Don't check for TLS support if
	--without-tls is given.

	* sysdeps/generic/dl-tls.c: Include <tls.h>.

	* sysdeps/i386/dl-tls.h: Don't define anything if !USE_TLS.
2002-02-07 06:38:57 +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
Roland McGrath
bcef95d89c 2002-02-06 Roland McGrath <roland@frob.com>
* sysdeps/unix/sysv/linux/netinet/ip.h: Moved to ...
	* sysdeps/generic/netinet/ip.h: ... here, replacing old file.
2002-02-07 03:49:18 +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
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
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
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
27ef89fbdc Update.
2002-02-01  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/ldsodefs.h (_dl_load_lock): Remove duplicate
	definition.
	* sysdeps/ia64/hp-timing.h: Move _dl_hp_timing_overhead in
	_rtld_global struct.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise.
	* sysdeps/sparc/sparc64/hp-timing.c: Likewise.
	* sysdeps/sparc/sparc64/hp-timing.h: Likewise.
	* sysdeps/sparc/sparc64/Makefile: Make hp-timing static only.
	* sysdeps/unix/sysv/aix/init-first.c (_dl_fpu_control,
	_dl_fpu_control_set): Remove unused externs.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Move procinfo
	related variables in _rtld_global struct.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c (_dl_fpu_control_set): Remove
	unused extern.
2002-02-01 19:06:42 +00:00
Ulrich Drepper
040006a36d Dummy dl-procinfo.c file for platforms which don't have one. 2002-02-01 18:25:44 +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
a204ea3607 Update.
2002-01-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/readv.c: Don't use alloca if the memory requirements
	are too high.

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

	* sysdeps/posix/readv.c: Check for ssize_t overflow.

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

	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Fix leftover
	reference to _dl_pagesize.
2002-01-31 19:43:44 +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
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
Andreas Jaeger
5c26fecb6f Prevent double inclusion. 2002-01-08 10:19:35 +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
Roland McGrath
6ede11aa0d * sysdeps/generic/htonl.c: Use uint32_t instead of u_int32_t.
* sysdeps/generic/htons.c: Use uint16_t instead of u_int16_t.
2002-01-02 10:24:13 +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
9cddf9deda Update.
2001-12-18  Jakub Jelinek  <jakub@redhat.com>

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

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

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

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

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

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

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

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

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

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

	* po/ca.po: Update from translation team.
2001-12-10 12:21:07 +00:00
Ulrich Drepper
f5e6e2ee30 Update.
* sysdeps/generic/strncase.c: Likewise.
2001-12-06 05:11:32 +00:00
Ulrich Drepper
516a9b2a85 (__strcasecmp): Little performance patch. 2001-12-06 01:22:25 +00:00