summary refs log tree commit diff
path: root/linuxthreads/sysdeps
Commit message (Collapse)AuthorAgeFilesLines
* * sysdeps/x86_64/pt-machine.h: Use %fs instead of %gs Andreas Jaeger2002-08-231-18/+19
| | | | | | | | | | | | as thread specific register. (testandset): Fix inline asm. (THREAD_GETMEM): Fix inline asm. 2002-08-23 Andreas Jaeger <aj@suse.de> * sysdeps/x86_64/pt-machine.h: Use %fs instead of %gs as thread specific register. (testandset): Fix inline asm. (THREAD_GETMEM): Fix inline asm.
* 2002-08-22 Roland McGrath <roland@redhat.com>Roland McGrath2002-08-221-14/+39
| | | | | | | | | | | * sysdeps/i386/useldt.h (INIT_THREAD_SELF): Remove [HAVE_TLS_SUPPORT] conditional. (INIT_THREAD_SELF): Pass second arg to DO_SET_THREAD_AREA. (DO_SET_THREAD_AREA): Take second arg, pass to DO_SET_THREAD_AREA_REUSE macro. That chooses whether to reuse %gs value or let kernel set it. [USE_TLS] (DO_SET_THREAD_AREA_REUSE): New macro, always 1. [!USE_TLS] (DO_SET_THREAD_AREA_REUSE): New macro, true if arg is not constant 0.
* Update.Ulrich Drepper2002-08-211-1/+2
| | | | | | | 2002-08-21 Ulrich Drepper <drepper@redhat.com> * sysdeps/i386/tls.h (TLS_SETUP_GS_SEGMENT): Add new parameter also to the third definition of this macro.
* (CFLAGS-pt-initfini.s): Set it.Andreas Jaeger2002-08-211-0/+1
| | | | | | | 2002-06-17 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/x86_64/Makefile (CFLAGS-pt-initfini.s): Set it.
* Update.Ulrich Drepper2002-08-212-8/+8
| | | | | | | * sysdeps/i386/useldt.h: Go back to using 16-bit instructions when loading/reading segment registers. Some old hardware doesn't handle the 32-bit instructions as expected. * sysdeps/i386/tls.h: Likewise.
* Update.Ulrich Drepper2002-08-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-08-20 Ulrich Drepper <drepper@redhat.com> * elf/rtld.c (_dl_start): Pass zero to TLS_INIT_TP. Set bootstrap_map.l_tls_tp_initialized to 1 if TLS_INIT_TP was called. (_dl_start_final): Copy l_tls_tp_initialized to GL(dl_rtld_map). (dl_main): If HAVE___THREAD is not defined pass l_tls_tp_initialized to TL_INIT_TP. Otherwise pass 1. * include/link.h (struct link_map): Add l_tls_tp_initialized. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass 0 to TL_INIT_TP. 2002-08-20 Brian Youmans <3diff@gnu.org> * manual/contrib.texi: Removed licenses, added acknowledgements for contributions by Intel, IBM, Craig Metz. * LICENSES: New file, contains the text of all non-FSF licenses in the * sysdeps/mach/hurd/net/if_ppp.h: Replaced CMU license with a new one modelled on the modern BSD license, per recent letter of permission from CMU. * sysdeps/unix/sysv/linux/net/if_ppp.h: Likewise. * sysdeps/ieee754/dbl-64/MathLib.h: Changed the copyright holder from IBM to FSF, per the recent Software Letter. Changed the distribution terms from GPL to LGPL. * sysdeps/ieee754/dbl-64/asincos.tbl: Added FSF copyright and copying permission notice (Lesser GPL), per recent IBM Software Letter. * sysdeps/ieee754/dbl-64/powtwo.tbl: Likewise. * sysdeps/ieee754/dbl-64/root.tbl: Likewise. * sysdeps/ieee754/dbl-64/sincos.tbl: Likewise. * sysdeps/ieee754/dbl-64/uatan.tbl: Likewise. * sysdeps/ieee754/dbl-64/uexp.tbl: Likewise. * sysdeps/ieee754/dbl-64/ulog.tbl: Likewise. * sysdeps/ieee754/dbl-64/upow.tbl: Likewise. * sysdeps/ieee754/dbl-64/utan.tbl: Likewise. * sysdeps/ieee754/dbl-64/atnat.h: Changed the copyright holder * sysdeps/ieee754/dbl-64/atnat2.h: Likewise. * sysdeps/ieee754/dbl-64/branred.h: Likewise. * sysdeps/ieee754/dbl-64/dla.h: Likewise. * sysdeps/ieee754/dbl-64/doasin.h: Likewise. * sysdeps/ieee754/dbl-64/dosincos.h: Likewise. * sysdeps/ieee754/dbl-64/mpa.h: Likewise. * sysdeps/ieee754/dbl-64/mpa2.h: Likewise. * sysdeps/ieee754/dbl-64/mpatan.h: Likewise. * sysdeps/ieee754/dbl-64/mpexp.h: Likewise. * sysdeps/ieee754/dbl-64/mplog.h: Likewise. * sysdeps/ieee754/dbl-64/mpsqrt.h: Likewise. * sysdeps/ieee754/dbl-64/mydefs.h: Likewise. * sysdeps/ieee754/dbl-64/sincos32.h: Likewise. * sysdeps/ieee754/dbl-64/uasncs.h: Likewise. * sysdeps/ieee754/dbl-64/uexp.h: Likewise. * sysdeps/ieee754/dbl-64/ulog.h: Likewise. * sysdeps/ieee754/dbl-64/upow.h: Likewise. * sysdeps/ieee754/dbl-64/urem.h: Likewise. * sysdeps/ieee754/dbl-64/uroot.h: Likewise. * sysdeps/ieee754/dbl-64/usncs.h: Likewise. * sysdeps/ieee754/dbl-64/utan.h: Likewise. * sysdeps/ieee754/dbl-64/branred.c: Corrected the text of the copying * sysdeps/ieee754/dbl-64/doasin.c: Likewise. * sysdeps/ieee754/dbl-64/dosincos.c: Likewise. * sysdeps/ieee754/dbl-64/e_asin.c: Likewise. * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. * sysdeps/ieee754/dbl-64/e_log.c: Likewise. * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise. * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. * sysdeps/ieee754/dbl-64/halfulp.c: Likewise. * sysdeps/ieee754/dbl-64/mpa.c: Likewise. * sysdeps/ieee754/dbl-64/mpatan.c: Likewise. * sysdeps/ieee754/dbl-64/mpatan2.c: Likewise. * sysdeps/ieee754/dbl-64/mpexp.c: Likewise. * sysdeps/ieee754/dbl-64/mplog.c: Likewise. * sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise. * sysdeps/ieee754/dbl-64/mptan.c: Likewise. * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. * sysdeps/ieee754/dbl-64/s_sin.c: Likewise. * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. * sysdeps/ieee754/dbl-64/sincos32.c: Likewise. * sysdeps/ieee754/dbl-64/slowexp.c: Likewise. * sysdeps/ieee754/dbl-64/slowpow.c: Likewise.
* (TLS_DO_SET_THREAD_AREA): Second parameter is renamed to secondcall and use ↵Ulrich Drepper2002-08-201-7/+7
| | | | is negated. (TLS_SETUP_GS_SEGMENT): Likewise. (TLS_INIT_TP): Likewise.
* Update.Ulrich Drepper2002-08-202-8/+12
| | | | * include/unistd.h: Don't hide _exit.
* Update.Ulrich Drepper2002-08-202-7/+12
| | | | | | | | | | * elf/rtld.c (_dl_start): Pass extra argument 1 to TLS_INIT_TP. (dl_main): Padd extra argument 0 to TLS_INIT_TP. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass extra argument 1 to TLS_INIT_TP. * sysdeps/generic/tls.h (TLS_INIT_TP): Describe new parameter. * locale/loadarchive.c (_nl_load_locale_from_archive): Store strdup of
* (DO_SET_THREAD_AREA): Use correct shift when computing index from %gs value.Ulrich Drepper2002-08-191-1/+1
|
* * sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Calculate segmentRoland McGrath2002-08-171-1/+1
| | | | register value from entry number properly.
* * sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): Rewrite asm to use %ebxRoland McGrath2002-08-162-46/+69
| | | | | | | | | | | | | optimally conditional on [__PIC__]. (TLS_DO_SET_THREAD_AREA): New macro, implement inline syscall without touching errno, and use latest modify_ldt-like interface. (TLS_SETUP_GS_SEGMENT): Use that instead of INLINE_SYSCALL. * sysdeps/i386/useldt.h (DO_MODIFY_LDT): Set %gs in this macro. (DO_SET_THREAD_AREA): New macro, uses current syscall interface with existing %gs value as the segment to set. (INIT_THREAD_SELF): Rewritten using those. Use set_thread_area only under [HAVE_TLS_SUPPORT] so we can rely on the initialization done by the first thread's early TLS setup.
* 2002-08-16 Jakub Jelinek <jakub@redhat.com>Roland McGrath2002-08-161-7/+9
| | | | | * locale/loadarchive.c (_nl_load_locale_from_archive): Braino fix in change before last: MAX -> MIN.
* (TLS_INIT_TP): Convert to statement expression returning 0.Ulrich Drepper2002-08-151-2/+4
|
* Update.Ulrich Drepper2002-08-081-8/+0
| | | | | | 2002-08-08 Ulrich Drepper <drepper@redhat.com> * gmon/gmon.c (write_gmon): Use O_NOFOLLOW in open calls if available.
* 2002-08-07 Roland McGrath <roland@redhat.com>Roland McGrath2002-08-081-2/+6
| | | | | * sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): Add an extra argument with an "m" constraint to the asm so the compiler knows LDT_ENTRY was used.
* Add _LIBC_TSD_KEY_LOCALE.Ulrich Drepper2002-08-041-0/+1
|
* 2002-08-02 Roland McGrath <roland@redhat.com>Roland McGrath2002-08-031-6/+6
| | | | * sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Add missing \s.
* * sysdeps/pthread/bits/libc-tsd.h: Include <tls.h>.Roland McGrath2002-08-022-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [USE_TLS && HAVE___THREAD]: Just include the sysdeps/generic file, which does the right thing when __thread support is available. * descr.h (struct _pthread_descr_struct) [USE_TLS && HAVE___THREAD]: Omit `p_libc_specific', `p_errnop', `p_errno', `p_h_errnop', `p_h_errno', `p_resp', and `p_res' members. * pthread.c (__pthread_initialize_minimal) [USE_TLS && HAVE___THREAD]: Don't initialize `p_errnop' and `p_h_errnop' members. (__pthread_reset_main_thread): Likewise. (__pthread_initialize_manager): Likewise. * manager.c (__pthread_manager, pthread_handle_create): Likewise. * pthread.c (pthread_initialize) [USE_TLS && HAVE___THREAD]: Don't initialize `p_resp' member. (__pthread_reset_main_thread): Likewise. * manager.c (pthread_handle_create): Likewise. * specific.c (libc_internal_tsd_set, libc_internal_tsd_get): Conditionalize these on [!(USE_TLS && HAVE___THREAD)]. * errno.c [USE_TLS && HAVE___THREAD] (__h_errno_location, __res_state): Don't define these at all. * sysdeps/i386/tls.h (INSTALL_DTV): Add parens around arguments! (INSTALL_NEW_DTV, GET_DTV): Likewise. * sysdeps/sh/tls.h (INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV): Likewise. * weaks.c: Don't include <errno.h> here. 2002-08-01 Roland McGrath <roland@redhat.com> * sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): New macro, broken out of TLS_INIT_TP. (TLS_DO_SET_THREAD_AREA): New macro, uses thread_set_area syscall. (TLS_SETUP_GS_SEGMENT): New macro, try one or the other or both. (TLS_INIT_TP): Use that.
* 2002-08-01 Roland McGrath <roland@redhat.com>Roland McGrath2002-08-021-17/+43
| | | | | | | | * sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): New macro, broken out of TLS_INIT_TP. (TLS_DO_SET_THREAD_AREA): New macro, uses thread_set_area syscall. (TLS_SETUP_GS_SEGMENT): New macro, try one or the other or both. (TLS_INIT_TP): Use that.
* (public_cALLOc): Check for overflow on multiplication.Ulrich Drepper2002-08-021-1/+7
|
* (DO_MODIFY_LDT): Move from INIT_THREAD_SELF. (INIT_THREAD_SELF): Use ↵Ulrich Drepper2002-08-021-4/+55
| | | | sys_thread_area syscall instead if available. (FREE_THREAD): Avoid modify_ldt if using GDT.
* Update.Ulrich Drepper2002-07-253-5/+5
| | | | | | | | | | | | | | | | | | | 2002-07-24 Ulrich Drepper <drepper@redhat.com> * libio/fileops.c (_IO_file_seekoff_mmap): Do use fp->_offset to compute current position. * stdio-common/tst-fseek.c (main): Improve error messages. * libio/tst-freopen.c (main): Remove unused variable. * libio/fileops.c (_IO_file_seekoff_mmap): Set fp->_offset after succesful seek call. Simply error checking. 2002-07-25 Jakub Jelinek <jakub@redhat.com> * config.h.in: Use __ASSEMBLER__ test macro not ASSEMBLER. * sysdeps/ia64/fpu/libm_support.h: Likewise.
* Update.Ulrich Drepper2002-07-204-18/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-19 Ulrich Drepper <drepper@redhat.com> * configure.in: Add test for __thread support in compiler. * config.h.in: Add HAVE___THREAD. * Makefile (headers): Remove errno.h, sys/errno.h, and bits/errno.h. * include/sys/errno.h: Moved to... * stdlib/sys/errno.h: ...here. New file. * stdlib/errno.h: New file. Moved from... * include/errno.h: ...here. Changed into an internal header defining libc-local things like __set_errno. * stdlib/Makefile (headers): Add errno.h, sys/errno.h, and bits/errno.h. * elf/dl-minimal.c: Include <tls.h>. Define errno as thread-local variable if USE_TLS && HAVE___THREAD. Don't define __errno_location either. * elf/rtld.c (_dl_start): Add code to initialize TLS for ld.so from... (_dl_start_final): ...here. Add code to initialize tls elements from bootstrap_map. * sysdeps/generic/errno-loc.c: Define errno as thread-local variable if USE_TLS && HAVE___THREAD. * sysdeps/generic/bits/errno.h: Remove __set_errno definition. * sysdeps/mach/hurd/bits/errno.h: Likewise. * sysdeps/standalone/arm/bits/errno.h: Likewise. * sysdeps/standalone/bits/errno.h: Likewise. * sysdeps/unix/bsd/bsd4.4/bits/errno.h: Likewise. * sysdeps/unix/sysv/aix/bits/errno.h: Likewise. * sysdeps/unix/sysv/hpux/bits/errno.h: Likewise. * sysdeps/unix/sysv/linux/bits/errno.h: Likewise. * sysdeps/unix/sysv/linux/hppa/bits/errno.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/errno.h: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h: Likewise. * sysdeps/i386/dl-machine.c (elf_machine_rel) [RTLD_BOOTSTRAP]: Don't use GL(dl_rtld_map), use map parameter. * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.S: Define errno in .tbss if USE_TLS && HAVE___THREAD. * sysdeps/unix/sysv/linux/i386/sysdep.h: Unify SETUP_PIC_REG definitions. If USE_TLS && HAVE___THREAD store errooor value using TLS code sequence. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/getcwd.c: No real need to restore errno. * sysdeps/unix/sysv/linux/grantpt.c: Likewise. * sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise. * sysdeps/unix/sysv/linux/msgctl.c: Likewise. * sysdeps/unix/sysv/linux/readv.c: Likewise. * sysdeps/unix/sysv/linux/writev.c: Likewise.
* Update.Ulrich Drepper2002-07-162-19/+6
| | | | | | | | | | | | | 2002-07-02 H.J. Lu <hjl@gnu.org> * sysdeps/mips/atomicity.h: Don't include <sgidefs.h>. Always use ll/sc. * sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise. * sysdeps/unix/sysv/linux/configure.in: Set arch_minimum_kernel to 2.4.0 for mips. TLS fail if USE_TLS is not defined.
* (MEMORY_BARRIER): Fix typo.Andreas Jaeger2002-06-071-1/+1
|
* Update.Ulrich Drepper2002-05-241-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-05-21 Isamu Hasegawa <isamu@yamato.ibm.com> * posix/regex.c: Define `inline' as a macro into nothing for the compilers which lack the keyword. * posix/regex.h: (RE_SYNTAX_GNU_AWK): Remove RE_CONTEXT_INVALID_OPS for the compatibility of gawk. * posix/regcomp.c: Add fake implementation of isblank() for the environments which lack the function. Don't use free_charset() in case of non-i18n envs. (build_range_exp): Don't use i18n related code in case of non-i18n envs. (build_collating_symbol): Likewise. (build_equiv_class): Likewise. (build_charclass): Likewise. (re_compile_fastmap_iter): Likewise. (parse_bracket_exp): Likewise. (build_word_op): Likewise. (regfree): Don't use free_charset() in case of non-i18n envs. * posix/regex_internal.h: Remove COMPLEX_BRACKET from re_token_type_t in case of non-i18n envs. Don't define re_charset_t in case of non-i18n envs. Change the type of wcs of re_string_t from wchar_t to wint_t, since we store also WEOF. * posix/regex_internal.c: (re_string_realloc_buffers): Change the type of wcs of re_string_t from wchar_t to wint_t. (re_string_reconstruct): Likewise. (create_ci_newstate): Don't use i18n related code in case of non-i18n envs. (create_cd_newstate): Likewise. 2002-05-24 Ulrich Drepper <drepper@redhat.com> * iconv/loop.c: Fix typo. 2002-05-23 Jakub Jelinek <jakub@redhat.com> * inet/ether_line.c (ether_line): Fix a typo causing only lower 4 bits of each ethernet address byte being assigned. Don't modify what line points to. * inet/tst-ether_aton.c (main): Add ether_line tests. 2002-05-23 Marcus Brinkmann <marcus@gnu.org> * manual/filesys.texi: Don't make readlink example leak memory when readlink fails.
* Update.Ulrich Drepper2002-05-212-4/+4
| | | | | | | | | | 2002-05-21 Ulrich Drepper <drepper@redhat.com> * sysdeps/pthread/pthread.h (pthread_create): Rename first parameter. (pthread_cancel): Likewise. * internals.h (__pthread_create_2_1): Likewise. * sysdeps/unix/sysv/linux/bits/sigthread.h (pthread_kill): Likewise.
* Update.Ulrich Drepper2002-05-201-1/+1
| | | | | | | | | | | 2002-05-16 Bruno Haible <bruno@clisp.org> * MakeTAGS (libc.pot): Don't sort the output. * po/header.pot: Update to match xgettext 0.11 output. 2002-05-16 Bruno Haible <bruno@clisp.org> * MakeTAGS (subdirs): Remove duplicates.
* Update.Ulrich Drepper2002-05-011-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | 2002-04-30 Jakub Jelinek <jakub@redhat.com> * locale/programs/locarchive.c (create_archive): Add archivefname argument, create fname from it. (enlarge_archive): Honour output_prefix. (open_archive): Likewise. 2002-04-30 Jakub Jelinek <jakub@redhat.com> * locale/programs/locarchive.c (add_locales_to_archive): Don't nest too many stpcpy macros. 2002-04-26 Bruno Haible <bruno@clisp.org> * locale/programs/ld-collate.c (collate_read): Cast first argument for "%.*s" to int. 2002-04-26 Bruno Haible <bruno@clisp.org> * include/libintl.h (__ngettext, __dngettext, __dcngettext, __dcngettext_internal): New declarations. (__gettext, __dgettext, __dcgettext, __dcgettext_internal): Add attribute declarations.
* Update.Ulrich Drepper2002-04-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Update.Ulrich Drepper2002-04-091-1/+1
| | | | | | 2002-04-09 Ulrich Drepper <drepper@redhat.com> * extra-lib.mk: Mark assignment to lib with override.
* Update.Ulrich Drepper2002-04-093-5/+14
| | | | | | | | | | | | | | 2002-04-08 Ulrich Drepper <drepper@redhat.com> * sysdeps/pthread/timer_getoverr.c: Return real overrun. * sysdeps/pthread/posix-timer.h (struct timer_node): Add overrun_count. * sysdeps/pthread/timer_routines.c (thread_func): Schedule next timeout based on previous one and not on current time. Count overruns. Patch by Eric F. Sorton <eric@cctcorp.com>. * sysdeps/unix/sysv/linux/bits/local_lim.h: Add DELAYTIMER_MAX. (FLOATING_STACKS, ARCH_STACK_MAX_SIZE): Defined.
* Update.Ulrich Drepper2002-04-083-1/+124
| | | | | | | | | | | | | | | | 2002-04-08 kaz Kojima <kkojima@rr.iij4u.or.jp> * elf/elf.h: Define R_SH_TLS_xxx macros. * elf/rtld.c: Remove an extra parenthesis. * elf/tls-macros.h: Define SH version TLS_LE, TLS_IE, TLS_LD and TLS_GD macros. * sysdeps/generic/dl-tls.c: Add a missing semi-colon. * sysdeps/sh/dl-lookupcfg.h: New file. * sysdeps/sh/dl-tls.h: New file. * sysdeps/sh/dl-machine.h (elf_machine_type_class): Set ELF_RTYPE_CLASS_PLT also for the three TLS relocations. (elf_machine_rela): Handle R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32 and R_SH_TLS_TPOFF32 relocations.
* Update.Ulrich Drepper2002-04-0614-2/+71
| | | | | | | | | | | | | | 2002-04-05 Ulrich Drepper <drepper@redhat.com> * timezone/zic.c: Update from tzcode2002c. * timezone/asia: Update from tzdata2002c. * timezone/backward: Likewise. * timezone/europe: Likewise. * timezone/northamerica: Likewise. * timezone/northamerica: Likewise. * timezone/northamerica: Likewise. * timezone/southamerica: Likewise. * timezone/zone.tab: Likewise.
* (MEMORY_BARRIER): Define.Ulrich Drepper2002-04-021-0/+4
|
* Update.Ulrich Drepper2002-03-221-3/+0
| | | | | | 2002-03-22 Jakub Jelinek <jakub@redhat.com> * sysdeps/mips/pt-machine.h (MEMORY_BARRIER): Remove.
* * sysdeps/i386/pt-machine.h: Add testandset and __compare_and_swap Andreas Jaeger2002-03-1716-15/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | prototpyes. * sysdeps/alpha/pt-machine.h: Likewise. * sysdeps/arm/pt-machine.h: Likewise. * sysdeps/cris/pt-machine.h: Likewise. * sysdeps/hppa/pt-machine.h: Likewise. * sysdeps/i386/i686/pt-machine.h: Likewise. * sysdeps/ia64/pt-machine.h: Likewise. * sysdeps/m68k/pt-machine.h: Likewise. * sysdeps/mips/pt-machine.h: Likewise. * sysdeps/powerpc/pt-machine.h: Likewise. * sysdeps/s390/s390-32/pt-machine.h: Likewise. * sysdeps/s390/s390-64/pt-machine.h: Likewise. * sysdeps/sh/pt-machine.h: Likewise. * sysdeps/sparc/sparc32/pt-machine.h: Likewise. * sysdeps/sparc/sparc64/pt-machine.h: Likewise. * sysdeps/x86_64/pt-machine.h: Likewise. * internals.h: Move testandset and __compare_and_swap prototypes to pt-machine.h. 2002-03-17 Andreas Jaeger <aj@suse.de> * sysdeps/i386/pt-machine.h: Add testandset and __compare_and_swap prototpyes. * sysdeps/alpha/pt-machine.h: Likewise. * sysdeps/arm/pt-machine.h: Likewise. * sysdeps/cris/pt-machine.h: Likewise. * sysdeps/hppa/pt-machine.h: Likewise. * sysdeps/i386/i686/pt-machine.h: Likewise. * sysdeps/ia64/pt-machine.h: Likewise. * sysdeps/m68k/pt-machine.h: Likewise. * sysdeps/mips/pt-machine.h: Likewise. * sysdeps/powerpc/pt-machine.h: Likewise. * sysdeps/s390/s390-32/pt-machine.h: Likewise. * sysdeps/s390/s390-64/pt-machine.h: Likewise. * sysdeps/sh/pt-machine.h: Likewise. * sysdeps/sparc/sparc32/pt-machine.h: Likewise. * sysdeps/sparc/sparc64/pt-machine.h: Likewise. * sysdeps/x86_64/pt-machine.h: Likewise. * internals.h: Move testandset and __compare_and_swap prototypes to pt-machine.h.
* Update.Ulrich Drepper2002-02-243-2/+14
| | | | | | | | | | * attr.c (pthread_getattr_np): Don't take thread descriptor size into account if USE_TLS. * manager.c (pthread_handle_create): Free TLS data structures if call failed. Pass correct stack to clone if USE_TLS. * sysdeps/i386/pt-machine.h: Handle multiple inclusion. * sysdeps/i386/i686/pt-machine.h: Likewise. * sysdeps/i386/tls.h: Unconditionally include <pt-machine.h>.
* Update.Ulrich Drepper2002-02-231-5/+13
| | | | | | | | | | | | | | | | | 2002-02-23 Ulrich Drepper <drepper@redhat.com> * csu/set-init.c: Moved to... * sysdeps/mach/hurd/set-init.c: ...here. New file. * csu/Makefile: Don't compile set-init. * sysdeps/mach/hurd/Makefile: Compile set-init for subdir csu. * sysdeps/mach/hurd/i386/init-first.c: Call __init_misc in addition to __libc_init. * sysdeps/mach/hurd/mips/init-first.c: Likewise. * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Call __init_misc instead of __libc_init. * misc/init-misc.c: Always export __init_misc. Don't define hooks for __libc_subinit.
* Update.Ulrich Drepper2002-02-131-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper2002-02-091-0/+2
| | | | | | 2002-02-08 Ulrich Drepper <drepper@redhat.com> * sysdeps/i386/tls.h (TLS_INIT_TP): Also initialize %gs.
* Update.Ulrich Drepper2002-02-091-56/+54
| | | | | 2002-02-08 Richard Henderson <rth@twiddle.net> * sysdeps/alpha/elf/initfini.c: Use \n\ for multiline string.
* Update.Ulrich Drepper2002-02-091-11/+9
| | | | | | | | | | | | | | | | | | | 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.
* * sysdeps/mips/pspinlock.c (__pthread_spin_lock): Silence the Andreas Jaeger2002-02-082-9/+3
| | | | | | | | | | | | gcc warning. (__pthread_spin_lock): Remove ".set noreorder". * sysdeps/mips/pt-machine.h (__compare_and_swap): Liekwise. 2002-02-07 H.J. Lu <hjl@gnu.org> * sysdeps/mips/pspinlock.c (__pthread_spin_lock): Silence the gcc warning. (__pthread_spin_lock): Remove ".set noreorder". * sysdeps/mips/pt-machine.h (__compare_and_swap): Liekwise.
* Do not use branch likely.Andreas Jaeger2002-02-072-11/+9
| | | | | | | | | | | 2002-02-05 H.J. Lu <hjl@gnu.org> * sysdeps/mips/pspinlock.c (__pthread_spin_lock): Not use branch likely. * sysdeps/mips/pt-machine.h (testandset): Likewise. (__compare_and_swap): Likewise. >>>>>>> 1.469
* Update.Ulrich Drepper2002-02-071-4/+9
| | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper2002-02-071-0/+2
| | | | | | | | | | | | 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.
* Update.Ulrich Drepper2002-02-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper2002-02-051-0/+95
| | | | | | | | | | | | | | | * 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.