aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2002-04-14Update.Ulrich Drepper
* include/sys/socket.h: Declare __libc_sa_len_internal and define SA_LEN macro to use it if not NOT_IN_libc. * sysdeps/unix/sysv/linux/sa_len.c: Use INTDEF for __libc_sa_len. * include/fcntl.h: Declare __open_internal and define __open and __libc_open macros if not NOT_IN_libc. * sysdeps/generic/open.c: Use INTDEF for __open. * sysdeps/mach/hurd/open.c: Likewise. * sysdeps/unix/sysv/aix/open.c: Likewise. * sysdeps/unix/syscalls.list: Add __open_internal alias. * sysdeps/generic/check_fds.c: Make sure newly opened file descriptor has correct number. * include/fcntl.h: Define __libc_fcntl macro if not NOT_IN_libc. * sysdeps/mach/hurd/fcntl.c: Undefine __libc_fcntl as well. * sysdeps/unix/sysv/aix/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * include/wctype.h: Declare __iswalpha_l_internal, __iswdigit_l_internal, __iswspace_l_internal, __iswxdigit_l_internal, and __iswctype_internal. Define __iswalpha_l, __iswctype, __iswdigit_l, __iswspace_l, and __iswxdigit_l macros if not NOT_IN_libc. * wctype/iswctype.c: Use INTDEF for __iswctype. * wctype/wcfuncs_l.c: Use INTDEF for all __iswXXX_l.
2002-04-14Update.Ulrich Drepper
* include/math.h: Declare __isinf_internal, __isinfl_internal, __isnan_internal, and __isnanl_internal. * stdio-common/printf_fp.c: Use INTUSE for calls to __isinf, __isinfl, __isnan, and __isnanl. * stdio-common/printf_size.c: Likewise. * sysdeps/generic/printf_fphex.c: Likewise. * sysdeps/i386/fpu/s_isinfl.c: Also define _internal alias. * sysdeps/i386/fpu/s_isnanl.c: Likewise. * sysdeps/ia64/fpu/s_isinf.S: Likewise. * sysdeps/ia64/fpu/s_isnan.S: Likewise. * sysdeps/ieee754/dbl-64/s_isinf.c: Likewise. * sysdeps/ieee754/dbl-64/s_isnan.c: Likewise. * sysdeps/ieee754/flt-32/s_isinff.c: Likewise. * sysdeps/ieee754/flt-32/s_isnanf.c: Likewise. * sysdeps/ieee754/ldbl-128/s_isinfl.c: Likewise. * sysdeps/ieee754/ldbl-128/s_isnanl.c: Likewise. * sysdeps/ieee754/ldbl-96/s_isinfl.c: Likewise. * sysdeps/m68k/s_isinfl.c: Likewise. * sysdeps/m68k/fpu/s_isinf.c: Likewise. * sysdeps/powerpc/fpu/s_isnan.c: Likewise.
2002-04-14Update.Ulrich Drepper
* include/sys/time.h: Declare __gettimeofday_internal and define __gettimeofday macro if not NOT_IN_libc. * sysdeps/generic/gettimeofday.c: Use INTEDEF for __gettimeofday. * sysdeps/mach/gettimeofday.c: Likewise. * sysdeps/posix/gettimeofday.c: Likewise. * sysdeps/unix/sysv/aix/gettimeofday.c: Likewise. * sysdeps/unix/common/syscalls.list: Define __gettimeofday alias. * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/gettimeofday.S: Likewise.
2002-04-14Update.Ulrich Drepper
2002-04-14 Ulrich Drepper <drepper@redhat.com> * include/sys/stat.h: Declare __fxstat_internal and __fxstat64_internal and define __fxstate and __fxstat64 macros if not NOT_IN_libc. Remove __lstat and __fstat inline functions. * sysdeps/generic/fxstat.c: Use INTDEF for __fxstat. * sysdeps/mach/hurd/fxstat.c: Likewise. * sysdeps/unix/fxstat.c: Likewise. * sysdeps/unix/sysv/aix/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/ia64/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Likewise. * sysdeps/generic/fxstat64.c: Use INTDEF for __fxstat64. * sysdeps/mach/hurd/fxstat64.c: Likewise. * sysdeps/unix/sysv/aix/fxstat64.c: Likewise. * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. * include/unistd.h: Declare __getpid_internal and define __getpid macro if not NOT_IN_libc. * sysdeps/mach/hurd/getpid.c: Use INTDEF for __getpid. * sysdeps/generic/getpid.c: Likewise. * sysdeps/unix/syscalls.list: Add __getpid_internal alias. * include/unistd.h: Declare __getpgid_internal and define __getpgid macro if not NOT_IN_libc. * sysdeps/generic/getpgid.c: Use INTDEF for __getpgid. * sysdeps/mach/hurd/getpgid.c: Likewise. * sysdeps/unix/sysv/aix/getpgid.c: Likewise. * sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise. * sysdeps/unix/sysv/sysv4/getpgid.c: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Add _getpgid_internal alias. * include/unistd.h: Declare __getpagesize_internal and define __getpagesize macro if not NOT_IN_libc. * sysdeps/unix/sysv/linux/shmat.c: Include <unistd.h> for __getpagesize. * sysdeps/generic/getpagesize.c: Use INTDEF for __getpagesize. * sysdeps/mach/getpagesize.c: Likewise. * sysdeps/posix/getpagesize.c: Likewise. * sysdeps/unix/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/m68k/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c: Likewise.
2002-04-14Declare __getpid_internaland define __getpid macro if not NOT_IN_libc.Ulrich Drepper
Declare __getpgid_internaland define __getpgid macro if not NOT_IN_libc. Declare __getpagesize_internaland define __getpagesize macro if not NOT_IN_libc.
2002-04-10Remove extra char.Andreas Jaeger
2002-04-09Update.Ulrich Drepper
* sysdeps/mach/hurd/chown.c: Use INTDEF for __chown. * sysdeps/unix/sysv/aix/chown.c: Likewise. * sysdeps/unix/grantpt.c: Use INTUSE for __chown calls. * sysdeps/unix/sysv/linux/m68k/chown.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise. * sysdeps/unix/sysv/linux/i386/chown.c: Use INTDEF2 to define __chown_internal. * sysdeps/unix/sysv/linux/s390/s390-32//chown.c: Likewise. * intl/dcngettext.c [_LIBC]: Use INTUSE for __dcngettext. * intl/dngettext.c [_LIBC] (DCNGETTEXT): Use INTUSE. * intl/ngettext.c: Likewise. * include/sys/socket.h: Declare __connect_internal and define __connect macro if not NOT_IN_libc. * sysdeps/mach/hurd/connect.c: Use INTDEF for __connect. * sysdeps/unix/sysv/aix/connect.c: Likewise. * sysdeps/unix/sysv/linux/connect.S: Add __connect_internal alias. * include/unistd.h: Declare __close_internal and define __close macro if not NOT_IN_libc. * libio/libioP.h (JUMO0, JUMP1, JUMP2, JUMP3, WJUMP0, WJUMP1, WJUMP2, WJUMP3): Add extra parenthesis to avoid expanding element names with macors like __close. * sysdeps/unix/syscalls.list: Add __close_internal alias. * include/unistd.h: Declare __dup2_internal and define __dup2 macro if not NOT_IN_libc. * sysdeps/mach/hurd/dup2.c: Use INTDEF for __dup2. * sysdeps/posix/dup2.c: Use INTDEF for __dup2. * sysdeps/unix/syscalls.list: Add __dup2_internal alias. * include/unistd.h: Declare __fork_internal and define __fork macro if not NOT_IN_libc. * sysdeps/mach/hurd/fork.c: Use INTDEF for __fork. * sysdeps/unix/sysv/aix/fork.c: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Add __fork_internal alias. * include/stdio_ext.h: Declare __fsetlocking_internal and define __fsetlocking macro to use it if not NOT_IN_libc. * libio/__fsetlocking.c: Use INTDEF for __fsetlocking. * libio/__fbufsize.c: Correct copyright. * libio/__flbf.c: Likewise. * libio/__fpending.c: Likewise. * libio/__fpurge.c: Likewise. * libio/__freadable.c: Likewise. * libio/__freading.c: Likewise. * libio/__fsetlocking.c: Likewise. * libio/__fwritable.c: Likewise. * libio/__fwriting.c: Likewise. * include/stdio.h: Declare __asprintf_internal and define __asprintf macro to use it if not NOT_IN_libc. * stdio-common/asprintf.c: Use INTDEF for __asprintf. * include/mntent.h: Declare __setmntent_internal, __getmntent_r_internal, __endmntent_internal. Define __setmntent, __getmntent_r, and __endmntent macros to use these functions if not NOT_IN_libc. * misc/mntent_r.c: Use INTDEF for __setmntent, __getmntent_r, and __endmntent. * include/math.h: Declare __finite_internal, __finitef_internal, and __finitel_internal. Redefine isfinite macro if in libc or libm using these functions. * sysdeps/generic/s_ldexp.c: Use INTUSE for __finite calls. * sysdeps/generic/s_ldexpf.c: Use INTUSE for __finitef calls. * sysdeps/generic/s_ldexpl.c: Use INTUSE for __finitel calls. * sysdeps/i386/fpu/s_finite.S: Define _internal alias. * sysdeps/i386/fpu/s_finitef.S: Likewise. * sysdeps/i386/fpu/s_finitel.S: Likewise. * sysdeps/ieee754/dbl-64/s_finite.c: Likewise. * sysdeps/ieee754/flt-32/s_finitef.c: Likewise. * sysdeps/ieee754/ldbl-128/s_finitel.c: Likewise. * sysdeps/ieee754/ldbl-96/s_finitel.c: Likewise. * include/fcntl.h: Declare __fcntl_internal. Define __fcntl macro to use this function if not NOT_IN_libc. * libio/iofdopen.c (_IO_fcntl): Use INTUSE. * sysdeps/generic/fcntl.c: Use INTDEF for __fcntl. * sysdeps/mach/hurd/fcntl.c: Likewise. * sysdeps/unix/sysv/aix/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * include/argz.h: Declare __argz_count_internal and __argz_stringify_internal. * intl/l10nflist.c [_LIBC]: Use INTUSE for __argz_count and __argz_stringify. * string/argz-count.c: Use INTDEF for __argz_count. * string/argz-stringify.c: Use INTDEF for __argz_stringify. * include/stdlib.h: Declare __cxa_atexit_internal and define __cxa_atexit macro if not NOT_IN_libc. * stdlib/cxa_atexit.c: Use INTDEF for __cxa_atexit. * dlfcn/Makefile: Define NOT_IN_libc when compiling modcxaatexit.c. * assert/assert.c: Use INTDEF for __assert_fail. * assert/__assert.c: Use INTUSE for call to __assert_fail. * include/assert.h: Declare __assert_fail_internal.
2002-04-08Update.Ulrich Drepper
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-08For libc itself replace MB_CUR_MAX definition with one accessing the locale ↵Ulrich Drepper
data structures directly.
2002-04-08Update.Ulrich Drepper
2002-04-08 Ulrich Drepper <drepper@redhat.com> * Makeconfig (CPPFLAGS): Also add CPPFLAGS-<basename> where <basename> is the name of the source file without extension. * Makefile (distribute): Add cppflags-iterator.mk. * cppflags-iterator.mk: New file. * extra-lib.mk: For the sources of the library run cppflags-iterator.mk. * include/libintl.h: Declare __dcgettext_internal and _libc_intl_domainname_internal. Define __dcgettext using these two symbols if used in libc itself. * argp/argp-help.c: Define dgettext using __dcgettext_internal and _libc_intl_domainname_internal. * argp/argp-parse.c: Likewise. * intl/dcgettext.c (__dcgettext): Use INTDEF to define alias. * intl/dgettext.c: Call __dcgettext_internal instead of __dcgettext. * intl/gettext.c: Likewise. * locale/SYS_libc.c (_libc_intl_domainname): Use INTDEF to define alias. * posix/regcomp.c (gettext): Use __dcgettext_internal instead of __dcgettext. * posix/regex_internal.c (gettext): Likewise.
2002-03-18Declare __getaliasent_r as hidden.Ulrich Drepper
2002-03-17Update.Andreas Jaeger
2002-03-17 Andreas Jaeger <aj@suse.de> * sysdeps/mips/fpu/fraiseexcpt.c (__feraiseexcept): Set cause bits. * sysdeps/mips/fpu/fgetexcptflg.c (__fegetexceptflag): Add comment. * sysdeps/mips/fpu/fclrexcpt.c (__feclearexcept): Clear also cause bits. * sysdeps/mips/fpu/fenv_libc.h (CAUSE_MASK): New. (CAUSE_SHIFT): New. Patch by Hartvig Ekner <hartvige@mips.com>. * sysdeps/generic/unwind-dw2-fde-glibc.c: Add prototypes. * sysdeps/generic/unwind-pe.h: Likewise. * libio/iofdopen.c (_IO_new_fdopen): Pass parameter of correct type to _IO_setb. * libio/stdio.c (AL2): Define variant when visibility attribute is not supported. * include/libc-symbols.h (_INTVARDEF): Define variant when visibility attribute is not supported.
2002-03-15Update.Ulrich Drepper
2002-03-15 Ulrich Drepper <drepper@redhat.com> * sysdeps/i386/i386-mcount.S: Just call __mcount_internal, it is an internal function. Adjust for internal_function calling convention. * sysdeps/i386/machine-gmon.h: Declare and define __mcount_internal as internal_function. * sysdeps/generic/framestate.c: Declare fallback_frame_state_for as hidden. * nss/XXX-lookup.c (DB_LOOKUP_FCT): Add internal_function to declaration and definition. * nss/getXXbyYY_r.c (DB_LOOKUP_FCT): Add internal_function to declaration. * nss/getXXent_r.c: Likewise. * nss/nsswitch.h (db_lookup_function): Add internal_function to definition. * include/time.h: Declare __localtime_r as hidden. * include/grp.h: Declare __getgrent_r as hidden. * include/netdb.h: Declare __gethostent_r, __getnetent_r, __getservent_r, and __getprotoent_r as hidden. * include/pwd.h: Declare __getpwent_r as hidden. * include/shadow.h: Declare __getspent_r as hidden. * include/rpc/netdb.h: Declare __getrpcent_r as hidden. * iconv/gconv_int.h: Declare __gconv_read_conf, __gconv_alias_compare, and __gconv_transliterate as hidden. Add internal_function to __gconv_get_path declaration. * iconv/gconv_int.h: Add internal_function to __gconv_get_path definition. Add attribute_hidden to __gconv_read_conf definition.
2002-03-14Update.Ulrich Drepper
* sysdeps/gnu/errlist.awk: Define _sys_errlist_internal and _sys_nerr_internal with INTVARDEF2. * include/libc-symbols.h (INTVARDEF2): New macro. * include/stdio.h (_sys_errlist_internal): Declare as hidden. (_sys_nerr_internal): Library. * sysdeps/posix/signal.c (_sigintr): Define as hidden. * sysdeps/posix/sigintr.c (_sigintr): Declare as hidden.
2002-03-13Update.Ulrich Drepper
* include/locale.h (_nl_C_locobj): Declare as hidden. * time/asctime.c (_nl_C_LC_TIME): Declare as hidden. * time/strptime.c (_nl_C_LC_TIME): Likewise. * include/netinet/in.h (in6addr_any_internal): Mark as hidden. * include/sys/gmon.h: Declare _gmonparam as hidden. * locale/lc-ctype.c (__ctype32_wctype): Declare as hidden. (__ctype32_wctrans): Likewise. (__ctype32_width): Likewise.
2002-03-13Update.Ulrich Drepper
* 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-13Update.Ulrich Drepper
* 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-12Update.Ulrich Drepper
* 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-12Update.Ulrich Drepper
2002-03-12 Ulrich Drepper <drepper@redhat.com> * posix/bug-regex5.c (main): Use nl_langinfo instead of _NL_CURRENT. * locale/localeinfo.h: Add attribute_hidden to _nl_current_LC_XXX, _nl_category_names, _nl_category_name_sizes, _nl_current, _nl_C_name, _nl_POSIX_name, _nl_C_codeset, and _nl_C_LC_XXX. * intl/dcigettext.c (_nl_default_default_domain): Define as hidden. (_nl_current_default_domain): Likewise (_nl_state_lock): Likewise. * intl/textdomain.c (_nl_default_default_domain): Declare as hidden. (_nl_current_default_domain): Likewise (_nl_state_lock): Likewise. * intl/bindtextdom.c (_nl_state_lock): Likewise. * stdlib/fpioconst.h (__tens): Add attribute_hidden. (_fpioconst_pow10): Likewise. * include/time.h (_tmbuf): Add attribute_hidden. * time/tzset.c (tzstring_list): Define as static. * include/time.h: Add attribute_hidden to __tzname_cur_max and __use_tzfile declaration. * wcsmbs/wcsmbsload.h: Add attribute_hidden to __wcsmbs_gconv_fcts and __wcsmbs_last_locale declaration.
2002-03-11Update.Ulrich Drepper
2002-03-11 Ulrich Drepper <drepper@redhat.com> * gmon/Makefile (elide-routines.os): Add bb_init_func and bb_exit_func. They were never exported anyway. * gmon/gmon.c (_gmonparam): Add attribute_hidden. * gmon/sys/gmon.h: Remove declaration of _gmonparam. It wasn't exported. * include/sys/gmon.h: Declare _gmonparam. * sysdeps/unix/sysv/linux/i386/getdents64.c: Don't define compatibility symbols for getdents64. They were never exported.
2002-03-03Update.Andreas Jaeger
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-01Update.Ulrich Drepper
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-02-26Update.Ulrich Drepper
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-13Update.Ulrich Drepper
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-07Update.Ulrich Drepper
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-06Update.Andreas Jaeger
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-06Update.Ulrich Drepper
* 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-05Update.Ulrich Drepper
* 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-05Update.Ulrich Drepper
* 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-03Update.Ulrich Drepper
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-01-03(__GLIBC_MINOR__): Bump to 3.Ulrich Drepper
2002-01-02Define inlines for the _l variants of the strto* functions.Ulrich Drepper
2001-12-12Update.Ulrich Drepper
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-10Update.Ulrich Drepper
2001-12-09 Ulrich Drepper <drepper@redhat.com> Implement transliteration of characters in strings of the locale definitions. * locale/programs/linereader.c: Adjust for additional parameter to lr_token. (get_string): If character <Uxxxx> is not found try to transliterate it. * locale/programs/ld-ctype.c: Adjust for additional parameter to lr_token. Add const to charmap parameter of all functions. (find_translit, find_translit2): New functions. * locale/programs/charmap.c: Adjust for additional parameter to lr_token. * locale/programs/repertoire.c: Likewise. * locale/programs/linereader.h: Likewise. * locale/programs/ld-address.c: Likewise. Add const to charmap parameter of all functions. * locale/programs/ld-collate.c: Likewise. * locale/programs/ld-identification.c: Likewise. * locale/programs/ld-measurement.c: Likewise. * locale/programs/ld-messages.c: Likewise. * locale/programs/ld-monetary.c: Likewise. * locale/programs/ld-name.c: Likewise. * locale/programs/ld-numeric.c: Likewise. * locale/programs/ld-paper.c: Likewise. * locale/programs/ld-paper.c: Likewise. * locale/programs/ld-telephone.c: Likewise. * locale/programs/ld-time.c: Likewise. * locale/programs/locfile.c: Likewise. * locale/programs/localedef.c: Likewise. * locale/programs/localedef.h: Likewise. * locale/programs/locfile.h: Likewise. Add declaration for find_translit. * locale/programs/simple-hash.c: Add const to first parameter of find_entry, iterate_table, and lookup. * locale/programs/simple-hash.h: Likewise. * locale/localeinfo.h: Don't define __LC_LAST here. Include <locale.h> instead. * include/locale.h: Define __LC_LAST. * iconv/Makefile (CFLAGS-linereader.c): Define to -DNO_TRANSLITERATION.
2001-11-19* include/features.h (__GLIBC_HAVE_LONG_LONG): Define for Andreas Jaeger
compilers that support it. * posix/sys/types.h: Use __GLIBC_HAVE_LONG_LONG. * sysdeps/unix/sysv/linux/bits/types.h: Likewise. * stdlib/stdlib.h: Likewise.
2001-11-01Update.Ulrich Drepper
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-09-23Update.Ulrich Drepper
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-07(struct link_map): Add l_scope_mem and l_scope_max elements. Change l_scope ↵Ulrich Drepper
to be a pointer only.
2001-08-30Update.Ulrich Drepper
2001-08-30 Ulrich Drepper <drepper@redhat.com> * string/argz-stringify.c (__argz_stringify): Use __strnlen instead of strnlen. * include/string.h (strndupa): Redefine here to use __strnlen instead of strnlen. * string/strndup.c (__strndup): Use __strnlen not strnlen. * misc/syslog.c (vsyslog): Fix typo in last change (connect -> connected).
2001-08-26Update.Ulrich Drepper
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-26Update.Ulrich Drepper
* 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-20Update.Ulrich Drepper
2001-08-20 Ulrich Drepper <drepper@redhat.com> * include/dirent.h: Include <dirstream.h> first.
2001-08-17Update.Ulrich Drepper
2001-08-17 Ulrich Drepper <drepper@redhat.com> * sunrpc/svc_simple.c (universal): Use __write instead of write. * wcsmbs/wcscoll.c: Also define __wcscoll. * include/wchar.h: Declare __wcscoll. * libio/fwprintf.c: Use __vfwprintf instead of vfwprintf. * libio/vwprintf.c: Likewise. * libio/wprintf.c: Likewise. * iconv/gconv_cache.c: Use __munmap instead of munmap. * posix/regex.c [_LIBC] (convert_mbs_to_wcs): Use __mbrtowc instead of mbrtowc. [_LIBC]: Use __iswctype instead of iswctype, __wcslen instead of wcslen, and __wcscoll instead of wcscoll. * sysdeps/unix/sockatmark.c (sockatmark): Use __ioctl instead of ioctl. * sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): Use __getuid instead of getuid. * stdio-common/perror.c (perror): Use __close instead of close. * iconv/gconv_cache.c (__gconv_load_cache): Likewise. * libio/freopen.c (freopen): Likewise. * libio/freopen64.c (freopen64): Likewise.
2001-08-17Update.Ulrich Drepper
* libio/tst-ungetwc2.c (main): Define str const. * include/wchar.h: Add prototypes for __fwprintf and __vfwprintf. * libio/fwprintf.c: Also define __fwprintf. * stdio-common/vfprintf.c [COMPILE_WPRINTF]: Also define __vfwprintf. * argp/argp-fmtstream.c: Handle wide oriented stderr stream. * assert/assert-perr.c: Likewise. * assert/assert.c: Likewise. * gmon/gmon.c: Likewise. * inet/rcmd.c: Likewise. * malloc/obstack.c: Likewise. * misc/err.c: Likewise. * misc/error.c: Likewise. * misc/getpass.c: Likewise. * posix/getopt.c: Likewise. * resolv/res_hconf.c: Likewise. * stdio-common/perror.c: Likewise. * stdio-common/psignal.c: Likewise. * stdlib/fmtmsg.c: Likewise. * sunrpc/auth_unix.c: Likewise. * sunrpc/clnt_perr.c: Likewise. * sunrpc/clnt_tcp.c: Likewise. * sunrpc/clnt_udp.c: Likewise. * sunrpc/clnt_unix.c: Likewise. * sunrpc/svc_simple.c: Likewise. * sunrpc/svc_tcp.c: Likewise. * sunrpc/svc_udp.c: Likewise. * sunrpc/svc_unix.c: Likewise. * sunrpc/xdr.c: Likewise. * sunrpc/xdr_array.c: Likewise. * sunrpc/xdr_rec.c: Likewise. * sunrpc/xdr_ref.c: Likewise. * sysdeps/generic/wordexp.c: Likewise. * misc/err.c: Handle wide oriented stderr stream.
2001-08-14Update.Ulrich Drepper
2001-08-14 Jakub Jelinek <jakub@redhat.com> * resolv/nss_dns/dns-host.c (RESOLVSORT): Define. (addrsort): New function. * resolv/gethnamaddr.c (RESOLVSORT): Define. 2001-08-14 Jakub Jelinek <jakub@redhat.com> * string/strsignal.c (free_mem): Remove. 2001-08-14 Andreas Jaeger <aj@suse.de> * inet/inet_ntoa.c (free_mem): Remove, it's not used anymore. Closes PR libc/2477, reported by Dylan Alex Simon <dylan@dylex.caltech.edu>. 2001-08-14 Ulrich Drepper <drepper@redhat.com> * locale/Makefile (aux): Add xlocale. * locale/xlocale.c: New file. * include/locale.c (_nl_C_locobj): Declare. * iconv/gconv_charset.h: Use __tolower_l, __isdigit_l, __isspace_l with _nl_C_locobj instead of tolower, isdigit, isspace. * iconv/gconv_conf.c: Likewise. * iconv/gconv_int.h: Likewise. * iconv/gconv_open.c: Likewise. * locale/newlocale.c: Minor cleanups.
2001-08-03Update.Ulrich Drepper
2001-08-03 Tom Rix <trix@redhat.com> * config.h.in: Add HAVE_XCOFF for AIX. * configure.in: Add --with-xcoff option. * include/libc-symbols.h: Disable the .stabs macros.
2001-07-26Update.Ulrich Drepper
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-25Update.Ulrich Drepper
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-212001-07-20 Roland McGrath <roland@frob.com>Roland McGrath
* libio/stdio_ext.h: Moved to ... * stdio-common/stdio_ext.h: ... here. * libio/Makefile (headers): Move stdio_ext.h from here ... * stdio-common/Makefile (headers): ... to here. * include/stdio_ext.h: New file. * stdio/Makefile (routines): Add the stdio_ext.h functions here. * stdio/Versions (GLIBC_2.2.4): Export the stdio_ext.h functions. * stdio/__flbf.c: New file. * stdio/__fbufsize.c: New file. * stdio/__fpending.c: New file. * stdio/__fpurge.c: New file. * stdio/__freadable.c: New file. * stdio/__freading.c: New file. * stdio/__fsetlocking.c: New file. * stdio/__fwritable.c: New file. * stdio/__fwriting.c: New file.
2001-07-08Update.Ulrich Drepper
* include/libc-symbols.h: Provide more dummy definitions for the case if GNU ld isn't used.