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.
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.
* 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.
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.
* 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.
* 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
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.
of the TLS macros, otherwise the compiler might not have initialized
the PIC register yet when we use the PLT via asm.
* elf/tst-tlsmod3.c (in_dso2): Likewise.
* elf/tst-tlsmod2.c (in_dso): Likewise.
* stdlib/isomac.c (get_null_defines): Treat NOT_IN_libc special.
It is known to be defined.
* include/string.h: Define index and rindex only if _ISOMAC is not
defined.
[! _LIBC_REENTRANT] (_res): Move this conditional decl to ...
* include/resolv.h: ... here.
[USE_TLS && HAVE___THREAD] (_res): #undef it and declare
as a __thread variable.
* resolv/res_libc.c [USE_TLS && HAVE___THREAD] (_res): Define it as
a __thread variable instead of a global.
* resolv/res_data.c [_LIBC]: Don't #undef _res.
* include/errno.h: Include <tls.h> to make sure USE_TLS defined by the
time we test it.
* intl/loadmsgcat.c [__GNUC__]: #undef alloca before defining it.
* malloc/malloc.c [_LIBC]: Include <string.h> instead of using local
decls of memset and memcpy.
* sysdeps/generic/sysdep.h (END): Conditionalize on [__ASSEMBLER__].
* sysdeps/unix/sysv/linux/i386/sysdep.h (L): Likewise.
* elf/dl-load.c (_dl_map_object_from_fd): Comment fix.
* sysdeps/generic/bits/libc-tsd.h [USE_TLS && HAVE___THREAD]
(__libc_tsd_define): Define using __thread.
* sunrpc/rpc_thread.c: Use __libc_tsd_define.
(__rpc_thread_variables): Use __libc_tsd_get.
(__rpc_thread_destroy): Use __libc_tsd_get instead of calling
__rpc_thread_variables, which might allocate what we're about to free.
* inet/herrno.c [USE_TLS && HAVE___THREAD] (h_errno): Define as a
thread-local variable.
* resolv/netdb.h (h_errno): Define macro unconditionally.
[_LIBC] (__set_h_errno): Macro moved to ...
* include/netdb.h: ... here.
[USE_TLS && HAVE___THREAD] (h_errno): Declare __thread variable.
[USE_TLS && HAVE___THREAD] (__set_h_errno): Define using that.
[! _LIBC_REENTRANT]: #undef h_errno here.
* include/errno.h: Protect from multiple inclusion.
* misc/sys/select.h (__NFDBITS, __FDELT, __FDMASK): #undef these
before defining them, since Linux's <linux/posix_types.h> might have
defined them.
2002-08-01 Roland McGrath <roland@redhat.com>
2002-07-31 Roland McGrath <roland@redhat.com>
2002-07-31 Roland McGrath <roland@redhat.com>
[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.
* sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): New macro, broken out of
TLS_INIT_TP.
(TLS_DO_SET_THREAD_AREA): New macro, uses thread_set_area syscall.
(TLS_SETUP_GS_SEGMENT): New macro, try one or the other or both.
(TLS_INIT_TP): Use that.
2002-08-02 Jakub Jelinek <jakub@redhat.com>
* malloc/malloc.c (public_cALLOc): Check for overflow on
multiplication.
* sunrpc/xdr_array.c (xdr_array): Likewise.
* sunrpc/rpc/types.h (mem_free): Add comment.
Patch by Solar Designer <solar@openwall.com>.
2002-08-02 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_SET_THREAD_AREA_SYSCALL): Define.
* libio/stdio.h (sys_errlist, sys_nerr, _sys_errlist, _sys_nerr):
* libio/Makefile (headers): Add bits/sys_errlist.h to the list.
* sysdeps/generic/bits/sys_errlist.h: New file. This does *not*
declare sys_errlist and sys_nerr.
* sysdeps/unix/sysv/linux/bits/sys_errlist.h: New file. Does
2002-07-23 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/libc-tls.c: New file.
* csu/Makefile (routines): Add libc-tls.
(static-only-routines): Add libc-tls.
* elf/dl-support.c (_dl_phdr): New variable.
(_dl_phnum): New variable.
(_dl_aux_init): Initialize _dl_phdr and _dl_phnum from aux vector.
* sysdeps/generic/libc-start.c (__libc_start_main): Reorganize code
for !SHARED. First look through auxiliary vector. If TLS always
call __pthread_initialize_minimal.
* sysdeps/generic/dl-tls.c (_dl_allocate_tls): Make sure size argument
in mmap call is never zero.
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.
* malloc/hooks.c (realloc_check): If mremap succeeds actually use
the result.
* sysdeps/i386/i486/bits/string.h: Add early clobber for "a"
output parameter. Reported by Denis Zaitsev <zzz@cd-club.ru>.
* Versions.def (libthread_db): Add GLIBC_2.3.
2002-07-09 Jakub Jelinek <jakub@redhat.com>
* libio/freopen.c (freopen): Reset jump tables, use mmap stdio for the
new stream if possible.
* libio/freopen64.c (freopen64): Likewise.
* libio/Makefile (tests): Add tst-freopen.
* libio/tst-freopen.c: New file.
2002-07-03 Jakub Jelinek <jakub@redhat.com>
* libio/stdio.h (obstack_printf): Add format attribute.
(obstack_vprintf): Likewise.
2002-07-04 Jakub Jelinek <jakub@redhat.com>
* posix/regex_internal.h (re_token_t): Shrink the structure to 8
resp. 16 bytes on 32-bit resp. 64-bit platforms.
(re_charset_t, re_string_t): Reorder structure members for 64-bit
architectures.
2002-07-04 Jakub Jelinek <jakub@redhat.com>
* posix/regcomp.c (re_compile_internal): Move clearing of dfa...
(init_dfa): ...here.
2002-07-05 Isamu Hasegawa <isamu@yamato.ibm.com>
* posix/regcomp.c (parse_sub_exp): Add nodes OP_OPEN_SUBEXP and
OP_CLOSE_SUBEXP at both ends of sub expressions instead of SUBEXP
nodes in parse trees.
(calc_first): Fix the Definition of `firsts' of OP_OPEN_SUBEXP
and OP_CLOSE_SUBEXP, and remove the definition of SUBEXP.
(calc_epsdest): Treat OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP as the
nodes which can epsilon transit.
* posix/regex_internal.h: Add OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP
to IS_EPSILON_NODE macro.
* posix/regexec.c (update_regs): New function to update registers
by refering OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP nodes.
(proceed_next_node): Use the entities of the nodes to determine
whether the node can transit to.
(set_regs): Use update_regs function to update registers.
2002-07-03 Jakub Jelinek <jakub@redhat.com>
* posix/bug-regex4.c (main): Remove duplicate setlocale.
* posix/bug-regex6.c: New file.
* posix/Makefile (tests): Add bug-regex6.
(bug-regex6-ENV): Set LOCPATH.
2002-07-10 Ulrich Drepper <drepper@redhat.com>
2002-06-20 Ulrich Drepper <drepper@redhat.com>
* spinlock.c (wait_node_alloc): We cannot use compare-and-exchange.
Unconditionally use the code using spinlock. Use __pthread_release
to free a spinlock.
(wait_node_free): Likewise.
(__pthread_acquire, __pthread_release): Unconditionally define.
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.
* 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-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.
2002-04-08 kaz Kojima <kkojima@rr.iij4u.or.jp>
* elf/elf.h: Define R_SH_TLS_xxx macros.
* elf/rtld.c: Remove an extra parenthesis.
* elf/tls-macros.h: Define SH version TLS_LE, TLS_IE, TLS_LD and
TLS_GD macros.
* sysdeps/generic/dl-tls.c: Add a missing semi-colon.
* sysdeps/sh/dl-lookupcfg.h: New file.
* sysdeps/sh/dl-tls.h: New file.
* sysdeps/sh/dl-machine.h (elf_machine_type_class): Set
ELF_RTYPE_CLASS_PLT also for the three TLS relocations.
(elf_machine_rela): Handle R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32 and
R_SH_TLS_TPOFF32 relocations.
2002-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-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-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-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-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.
* 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-02 Ulrich Drepper <drepper@redhat.com>
* manual/examples/mkfsock.c (make_named_socket): Make sure name is
always NUL-terminated. Patch by Chris D. Sloan <cds@cs.hmc.edu>.
2002-02-01 H.J. Lu <hjl@gnu.org>
* sysdeps/mips/atomicity.h (exchange_and_add): Use branch
likely.
(atomic_add): Likewise.
(compare_and_swap): Return 0 only when failed to compare. Use
branch likely.
* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Use
branch likely.
2002-02-03 kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/dl-machine.h (elf_machine_rela): Fix a typo.
2002-02-02 Ulrich Drepper <drepper@redhat.com>
* elf/dl-minimal.c (__strsep): New minimal implementation.
2001-12-13 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/posix/cuserid.c (cuserid): If we don't find the UID,
but have a user supplied buffer, return the empty buffer, not NULL.
2001-12-12 NIIBE Yutaka <gniibe@m17n.org>
* sysdeps/sh/Makefile: New file.
* sysdeps/sh/_mcount.S: New file.
* sysdeps/sh/sysdep.h (CALL_MCOUNT): Implemented.
* sysdeps/sh/machine-gmon.h: Remove "NOTYET" comment, as we are ready.
2001-11-30 Andreas Schwab <schwab@suse.de>
* pthread.c (pthread_handle_sigcancel) [THREAD_SELF]: Double check
that self is the manager thread, and initialize the thread
register if not.
(thread_self_stack) [THREAD_SELF]: New function to find self via
stack pointer.
* manager.c (pthread_handle_create): Don't block cancel signal any
more.
(THREAD_GETMEM_NC):
2001-11-22 Wolfram Gloger <wg@malloc.de>
* pthread.c (pthread_onexit_process): Don't call free
after threads have been asynchronously terminated.
* manager.c (pthread_handle_exit): Surround cancellation
of threads with __flockfilelist()/__funlockfilelist().
2001-10-04 Ben Collins <bcollins@debian.org>
* sysdeps/generic/inttypes.h: Fix typo (define, not defined) in
decleration of __need_wchar_t.
2001-10-03 Jakub Jelinek <jakub@redhat.com>
* string/bits/string2.h (__strsep_g): Add prototype.
(__strsep): Use it.
* string/Versions (__strsep): Remove.
* sysdeps/generic/strsep.c (__strsep_g): Add alias to __strsep.
2001-10-07 Ulrich Drepper <drepper@redhat.com>
* manua/llio.texi: Clarify file references added by mmap.
Patch by Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>.
* sysdeps/unix/sysv/linux/x86_64/Makefile: New file.
* sysdeps/unix/sysv/linux/x86_64/Versions: New file.
* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: New file.
* sysdeps/unix/sysv/linux/x86_64/bits/mman.h: New file.
* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: New file.
* sysdeps/unix/sysv/linux/x86_64/bits/statfs.h: New file.
* sysdeps/unix/sysv/linux/x86_64/bits/time.h: New file.
* sysdeps/unix/sysv/linux/x86_64/bits/types.h: New file.
* sysdeps/unix/sysv/linux/x86_64/brk.c: New file.
* sysdeps/unix/sysv/linux/x86_64/clone.S: New file.
* sysdeps/unix/sysv/linux/x86_64/fstatfs64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/ftruncate64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/fxstat.c: New file.
* sysdeps/unix/sysv/linux/x86_64/fxstat64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/getdents.c: New file.
* sysdeps/unix/sysv/linux/x86_64/getdents64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/gettimeofday.c: New file.
* sysdeps/unix/sysv/linux/x86_64/glob64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/lxstat.c: New file.
* sysdeps/unix/sysv/linux/x86_64/lxstat64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/mmap64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/pread64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/profil-counter.h: New file.
* sysdeps/unix/sysv/linux/x86_64/pwrite64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/readdir.c: New file.
* sysdeps/unix/sysv/linux/x86_64/readdir64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/readdir64_r.c: New file.
* sysdeps/unix/sysv/linux/x86_64/readdir_r.c: New file.
* sysdeps/unix/sysv/linux/x86_64/recv.c: New file.
* sysdeps/unix/sysv/linux/x86_64/register-dump.h: New file.
* sysdeps/unix/sysv/linux/x86_64/send.c: New file.
* sysdeps/unix/sysv/linux/x86_64/setrlimit64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/sigaction.c: New file.
* sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h: New file.
* sysdeps/unix/sysv/linux/x86_64/sigpending.c: New file.
* sysdeps/unix/sysv/linux/x86_64/sigprocmask.c: New file.
* sysdeps/unix/sysv/linux/x86_64/sigsuspend.c: New file.
* sysdeps/unix/sysv/linux/x86_64/statfs64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/sys/perm.h: New file.
* sysdeps/unix/sysv/linux/x86_64/sys/procfs.h: New file.
* sysdeps/unix/sysv/linux/x86_64/sys/reg.h: New file.
* sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: New file.
* sysdeps/unix/sysv/linux/x86_64/sys/user.h: New file.
* sysdeps/unix/sysv/linux/x86_64/syscall.S: New file.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: New file.
* sysdeps/unix/sysv/linux/x86_64/sysdep.S: New file.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: New file.
* sysdeps/unix/sysv/linux/x86_64/time.c: New file.
* sysdeps/unix/sysv/linux/x86_64/truncate64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/umount.c: New file.
* sysdeps/unix/sysv/linux/x86_64/vfork.S: New file.
* sysdeps/unix/sysv/linux/x86_64/xstat.c: New file.
* sysdeps/unix/sysv/linux/x86_64/xstat64.c: New file.
* sysdeps/unix/x86_64/sysdep.S: New file.
* sysdeps/unix/x86_64/sysdep.h: New file.
* sysdeps/x86_64/Implies: New file.
* sysdeps/x86_64/Makefile: New file.
* sysdeps/x86_64/Versions: New file.
* sysdeps/x86_64/__longjmp.S: New file.
* sysdeps/x86_64/abort-instr.h: New file.
* sysdeps/x86_64/atomicity.h: New file.
* sysdeps/x86_64/bits/endian.h: New file.
* sysdeps/x86_64/bits/setjmp.h: New file.
* sysdeps/x86_64/bits/string.h: New file.
* sysdeps/x86_64/bp-asm.h: New file.
* sysdeps/x86_64/bsd-_setjmp.S: New file.
* sysdeps/x86_64/bsd-setjmp.S: New file.
* sysdeps/x86_64/dl-machine.h: New file.
* sysdeps/x86_64/elf/initfini.c: New file.
* sysdeps/x86_64/elf/start.S: New file.
* sysdeps/x86_64/ffs.c: New file.
* sysdeps/x86_64/ffsll.c: New file.
* sysdeps/x86_64/fpu/bits/fenv.h: New file.
* sysdeps/x86_64/fpu/bits/mathdef.h: New file.
* sysdeps/x86_64/fpu/e_acosl.c: New file.
* sysdeps/x86_64/fpu/e_atan2l.c: New file.
* sysdeps/x86_64/fpu/e_exp2l.S: New file.
* sysdeps/x86_64/fpu/e_expl.c: New file.
* sysdeps/x86_64/fpu/e_fmodl.S: New file.
* sysdeps/x86_64/fpu/e_log10l.S: New file.
* sysdeps/x86_64/fpu/e_log2l.S: New file.
* sysdeps/x86_64/fpu/e_logl.S: New file.
* sysdeps/x86_64/fpu/e_powl.S: New file.
* sysdeps/x86_64/fpu/e_rem_pio2l.c: New file.
* sysdeps/x86_64/fpu/e_scalbl.S: New file.
* sysdeps/x86_64/fpu/e_sqrtl.c: New file.
* sysdeps/x86_64/fpu/fclrexcpt.c: New file.
* sysdeps/x86_64/fpu/fedisblxcpt.c: New file.
* sysdeps/x86_64/fpu/feenablxcpt.c: New file.
* sysdeps/x86_64/fpu/fegetenv.c: New file.
* sysdeps/x86_64/fpu/fegetexcept.c: New file.
* sysdeps/x86_64/fpu/fegetround.c: New file.
* sysdeps/x86_64/fpu/feholdexcpt.c: New file.
* sysdeps/x86_64/fpu/fesetenv.c: New file.
* sysdeps/x86_64/fpu/fesetround.c: New file.
* sysdeps/x86_64/fpu/fgetexcptflg.c: New file.
* sysdeps/x86_64/fpu/fraiseexcpt.c: New file.
* sysdeps/x86_64/fpu/fsetexcptflg.c: New file.
* sysdeps/x86_64/fpu/ftestexcept.c: New file.
* sysdeps/x86_64/fpu/libm-test-ulps: New file.
* sysdeps/x86_64/fpu/math_ldbl.h: New file.
* sysdeps/x86_64/fpu/printf_fphex.c: New file.
* sysdeps/x86_64/fpu/s_atanl.c: New file.
* sysdeps/x86_64/fpu/s_cosl.S: New file.
* sysdeps/x86_64/fpu/s_expm1l.S: New file.
* sysdeps/x86_64/fpu/s_fpclassifyl.c: New file.
* sysdeps/x86_64/fpu/s_isinfl.c: New file.
* sysdeps/x86_64/fpu/s_isnanl.c: New file.
* sysdeps/x86_64/fpu/s_log1pl.S: New file.
* sysdeps/x86_64/fpu/s_logbl.c: New file.
* sysdeps/x86_64/fpu/s_nextafterl.c: New file.
* sysdeps/x86_64/fpu/s_nexttoward.c: New file.
* sysdeps/x86_64/fpu/s_nexttowardf.c: New file.
* sysdeps/x86_64/fpu/s_rintl.c: New file.
* sysdeps/x86_64/fpu/s_significandl.c: New file.
* sysdeps/x86_64/fpu/s_sincosl.S: New file.
* sysdeps/x86_64/fpu/s_sinl.S: New file.
* sysdeps/x86_64/fpu/s_tanl.S: New file.
* sysdeps/x86_64/gmp-mparam.h: New file.
* sysdeps/x86_64/hp-timing.c: New file.
* sysdeps/x86_64/hp-timing.h: New file.
* sysdeps/x86_64/htonl.S: New file.
* sysdeps/x86_64/memusage.h: New file.
* sysdeps/x86_64/setjmp.S: New file.
* sysdeps/x86_64/soft-fp/sfp-machine.h: New file.
* sysdeps/x86_64/stackinfo.h: New file.
* sysdeps/x86_64/sysdep.h: New file.
* sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed: New file.
2001-09-12 Jakub Jelinek <jakub@redhat.com>
* rt/Makefile (LDFLAGS-rt.so): Use shared thread library as librt's
filter.
* elf/dl-close.c (_dl_close): Don't free l_libname if it is not
2001-08-29 Ulrich Drepper <drepper@redhat.com>
* spinlock.c (__pthread_lock): Top max_count value with
MAX_ADAPTIVE_SPIN_COUNT.
* internals.h (MAX_ADAPTIVE_SPIN_COUNT): Define if not already done.
* sysdeps/i386/i686/pt-machine.h (BUSY_WAIT_NOP): New macro to
help P4.
2001-08-27 Ulrich Drepper <drepper@redhat.com>
* misc/syslog.c (vsyslog): Try a bit harder to use syslogd. If
the connection went down after we first used it try to connect
again and resend the message before printing to the console.
Reported by Coserea Gh. Tudor <tudore@tudore.gecadsoftware.com>.
2001-08-27 Jakub Jelinek <jakub@redhat.com>
* string/tst-strlen.c (main): Test strnlen (, -1) too.
* sysdeps/generic/strnlen.c (__strnlen): Fix for maxlens with top
bit set.
2001-08-27 Ulrich Drepper <drepper@redhat.com>
* iconv/strtab.c (searchstring): Use correct length for
comparison.
(strtabadd): Account total size correct if new string has old string as
substring.
2001-08-26 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/bits/libc-lock.h (__libc_lock_t): Define
non-opaque lock types also if _IO_MTSAFE_IO is defined.
__libc_lock_define_recursive.
* elf/dl-open.c: Don't declare it here any more.
* elf/dl-close.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-iteratephdr.c: Likewise.
* elf/dl-lookup.c (add_dependency): Use __libc_lock_lock_recursive and
__libc_lock_unlock_recursive.
* elf/dl-close.c (_dl_close): Likewise
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise
* elf/dl-open.c (_dl_open): Likewise
* sysdeps/generic/bits/libc-lock.h
(__libc_lock_define_recursive): New macro.
* sysdeps/generic/bits/stdio-lock.h (_IO_lock_t): Use it.
(_IO_lock_lock): Use __libc_lock_lock_recursive.
(_IO_lock_unlock): Use __libc_lock_unlock_recursive.
* sysdeps/unix/sysv/linux/i386/getcontext.S: Don't touch the %gs
register so that contexts can be used in different threads.
* sysdeps/unix/sysv/linux/i386/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/i386/swapcontext.S: Likewise.
2001-07-22 Bruno Haible <haible@clisp.cons.org>
* intl/libintl.h (ngettext, dngettext, dcngettext): Use both msgid1
and msgid2 for printf format argument checking.
* iconv/gconv_cache.c (find_module): Don't allocate room for the
filename. Use alloca, we don't need it beyond this function.
(__gconv_release_cache): New function.
* iconv/gconv_db.c (__gconv_close_transform): Call
__gconv_release_cache after the steps are handled.
* iconv/gconv_dl.c (__gconv_find_shlib): Allocate file name in the
record as well.
* iconv/gconv_int.h: Add prototype fpr __gconv_release_cache.
* libio/genops.c (_IO_list_all_stamp): New variable.
(_IO_un_link): Bump _IO_list_all_stamp after removing from list.
(_IO_link): Likewise for insertion.
(flush_cleanup): New function.
(_IO_flush_all): Get list_all_lock and all individual locks for the
streams. Detect and handle changes to the _IO_list_all list.
(_IO_flush_all_linebuffered): Likewise.
* sysdeps/generic/bits/stdio-lock.h: Define
_IO_cleanup_region_start_noarg.
* sysdeps/mach/hurd/bits/stdio-lock.c: Likewise.
2001-07-23 Jakub Jelinek <jakub@redhat.com>
* sunrpc/svc_tcp.c (svctcp_rendezvous_abort): New.
(svctcp_rendezvous_op): Use it.
* sunrpc/svc_unix.c (svcunix_rendezvous_abort): New.
(svcunix_rendezvous_op): Use it.
2001-07-23 Andreas Schwab <schwab@suse.de>
* math/Makefile (CPPFLAGS-test-ifloat.c, CPPFLAGS-test-idouble.c,
CPPFLAGS-test-ildoubl.c): Renamed from CFLAGS-*.
(math-CPPFLAGS): Set this instead of CPPFLAGS.
2001-07-13 H.J. Lu <hjl@gnu.org>
* sysdeps/mips/dl-machine.h (MAP_BASE_ADDR): Removed.
(elf_machine_got_rel): Defined only if RTLD_BOOTSTRAP is not defined.
(RESOLVE_GOTSYM): Rewrite to use RESOLVE.
* sysdeps/mips/rtld-ldscript.in: Removed.
* sysdeps/mips/rtld-parms: Likewise.
* sysdeps/mips/mips64/rtld-parms: Likewise.
* sysdeps/mips/mipsel/rtld-parms: Likewise.
2001-07-15 Ulrich Drepper <drepper@redhat.com>
* malloc/obstack.c: Define __attribute__ for non-gcc compilers.
Patch by Jim Meyering <jim@meyering.net>.
2001-07-12 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h: Reorder
fields in the sigaction struct to match the definition in the kernel.
2001-07-12 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Correct the
test for ENOSYS.
2001-07-12 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/s390-32/bits/setjmp.h: Add leading underscores
to the entries in the __jmp_buf structure.
* sysdeps/s390/s390-64/bits/setjmp.h: Likewise.
2001-07-12 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/s390-32/bcopy.S: Use mvcle for big blocks
(> 64K) and a mvc loop for small blocks.
* sysdeps/s390/s390-32/memcpy.S: Likewise.
* sysdeps/s390/s390-64/bcopy.S: Likewise.
* sysdeps/s390/s390-64/memcpy.S: Likewise.
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
2001-05-25 Bruce Mitchener <bruce@cubik.org>
* manual/ctype.texi: Minor fix.
* manual/install.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/examples/dir.c: Use perror() rather than puts().
2001-05-25 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Put stuff following
#endif directive inside a comment to avoid compiler warnings.
2001-05-25 Philipp Thomas <pthomas@suse.de>
* nis/nis_print.c (nis_nstype2str): Don't mark names of
naming services for translation, only UNKNOWN needs it.
Add comment to prevent it for the future.
2001-05-25 Joseph S. Myers <jsm28@cam.ac.uk>
* misc/sys/cdefs.h (__restrict_arr): Define appropriately for GCC
3.1 and non-GCC C99 compilers.
2001-05-24 Ulrich Drepper <drepper@redhat.com>
* spinlock.c (__pthread_lock) [HAS_COMPARE_AND_SWAP]: Before doing any
serious work try once whether the lock is uncontested.
Remove duplicate reading of __status before loop.
Change suggested by Hans Boehm <hans_boehm@hp.com>.
* spinlock.h (__pthread_trylock): Remove need for oldstatus variable.
(__pthread_alt_trylock): Likewise.
2001-05-01 Kaz Kylheku <kaz@ashi.footprints.net>
Memory barrier overhaul following line by line inspection.
* mutex.c (pthread_once): Missing memory barriers added.
* pthread.c (__pthread_wait_for_restart_signal,
__pthread_timedsuspend_new, __pthread_restart_new): Added
memory barriers ``just in case'' and for documentary value.
* spinlock.c (__pthread_release): New inline function for releasing
spinlock, to complement __pthread_acquire. Includes memory
barrier prior to assignment to spinlock, and __asm __volatile
dance to prevent reordering or optimization of the spinlock access.
* spinlock.c (__pthread_unlock, __pthread_alt_lock,
__pthread_alt_timedlock, __pthread_alt_unlock,
__pthread_compare_and_swap): Updated to use new __pthread_release
instead of updating spinlock directly.
* spinlock.c (__pthread_lock, __pthread_unlock, wait_node_alloc,
wait_node_free, wait_node_dequeue, __pthread_alt_lock,
__pthread_alt_timedlock, __pthread_alt_unlock, __pthread_acquire):
Memory barrier overhaul. Lots of missing memory barriers added,
a couple needless ones removed.
* spinlock.c (__pthread_compare_and_swap): testandset optimization
removed, just calls __pthread_acquire, which has the new read
barrier in it before its testandset.
* sysdeps/ia64/Makefile [subdir=csu] (sysdep_routines): Add hp-timing.
* sysdeps/ia64/Versions: Add _dl_cpuclock_offset for ld in 2.2.3.
* sysdeps/ia64/hp-timing.c: New file.
* sysdeps/ia64/hp-timing.h: New file.
* sysdeps/unix/sysv/linux/ia64/bits/time.h: Add definitions for
CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID.
* sysdeps/generic/clock_getcpuclockid.c: Make function generic, test
using #ifdef whether the clock is available.
* sysdeps/unix/i386/clock_getcpuclockid.c: Not needed anymore.
* sysdeps/generic/dl-sysdep.c: Initialize _dl_cpuclock_offset to move
it into data section.
* sysdeps/unix/sysv/linux/ia64/pt-initfini.c (_init): We don't
have to call __gmon_start__ in the libpthread DSO.
* sysdeps/pthread/pt-initfini.c (_init): Likewise.
noreturn attribute, remove statements that will never be executed.
* sysdeps/pthread/timer_routines.c (thread_func): Add noreturn
attribute, remove statements that will never be executed.
2001-04-21 Ulrich Drepper <drepper@redhat.com>
* elf/dl-support.c: Include cpuclock-init.h. Use CPUCLOCK_VARDEF and
CPUCLOCK_INIT if defined.
* sysdeps/generic/dl-sysdep.c: Likewise.
* sysdeps/generic/cpuclock-init.h: New file.
* sysdeps/unix/i386/i586/cpuclock-init.h: New file.
* sysdeps/unix/i386/i586/Versions: New file.
* sysdeps/unix/i386/i586/clock_settime.c: New file.
* sysdeps/unix/i386/i586/clock_gettime.c: Handle thread CPU clock
separately by calling __pthread_clock_gettime if this function is
available. Subtract offset from tsc value before computing time value.
2001-04-18 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.
* sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/swapcontext.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S (__setcontext):
Copy first word of uc_sigmask into __uc_sigmask.
* sysdeps/unix/sysv/linux/sparc/sparc64/getcontext.S (__getcontext):
Save uc_link around trap. Copy __uc_sigmask into first word of
uc_sigmask, clear the rest. Make sure setcontext to the created
context doesn't do this though.
* sysdeps/unix/sysv/linux/sparc/sparc64/ucontext_i.h: New file.
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Add
uc_stack and uc_sigmask, rename old uc_sigmask to __uc_sigmask in the
64bit version, make uc_sigmask __sigset_t in the 32bit version.
* rt/Makefile (otherlibs): Added for static NSS.
* glibcbug.in (BUGGLIBC): Send to new alias.
2001-04-16 Stephen L Moshier <moshier@mediaone.net>
* sysdeps/ieee754/flt-32/e_asinf.c (pio2_hi, pio2_lo, pio4_hi):
Correct the values. (pSx, qSx): Replace by shorter approximation.
Use f suffix on float constants.
* sysdeps/ieee754/ldbl-128/k_tanl.c: New file.
Contributed by Stephen L Moshier <moshier@mediaone.net>.
2001-04-12 Bruno Haible <haible@clisp.cons.org>
* iconvdata/TESTS2: New file.
* iconvdata/run-iconv-test.sh: Also run tests from TESTS2.
* iconvdata/testdata/alfabeta..UTF-8: New file.
* iconvdata/testdata/alfabeta..UTF-16.BE: New file.
* iconvdata/testdata/alfabeta..UTF-16.LE: New file.
* iconvdata/testdata/alfabeta..UTF-32.BE: New file.
* iconvdata/testdata/alfabeta..UTF-32.LE: New file.
2001-04-11 Bruno Haible <haible@clisp.cons.org>
* iconvdata/utf-32.c: New file.
* iconvdata/gconv-modules: Add entries for UTF-32, UTF-32LE, UTF-32BE.
* iconvdata/Makefile (modules): Add UTF-32.
(distribute): Add utf-32.c.
2001-04-11 Bruno Haible <haible@clisp.cons.org>
* iconvdata/utf-16.c (PREPARE_LOOP): Initialize 'swap' after possibly
changing it in the state. After incrementing 'inptr', store it back.
* iconvdata/unicode.c (PREPARE_LOOP): After incrementing 'inptr',
store it back.
2001-04-11 Bruno Haible <haible@clisp.cons.org>
* iconvdata/utf-16.c (gconv_init): Use MAX_NEEDED_FROM, not
MIN_NEEDED_FROM.
2001-04-11 David S. Miller <davem@redhat.com>
* sysdeps/sparc/sparc32/pt-machine.h (stack_pointer): Advance
up closer to user local variables so that new cleanup heuristics work.
* sysdeps/sparc/sparc64/pt-machine.h (stack_pointer): Likewise.
2001-04-10 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S: Fix return
value of getcontext.
* sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S: Fix return
value of setcontext.
* sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/s390/swapcontext.c: Skip setcontext
call by changing the saved context.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* sysdeps/unix/sysv/linux/cris/Dist: New file.
* sysdeps/unix/sysv/linux/cris/Makefile: New file.
* sysdeps/unix/sysv/linux/cris/_G_config.h: New file.
* sysdeps/unix/sysv/linux/cris/bits/fcntl.h: New file.
* sysdeps/unix/sysv/linux/cris/bits/mman.h: New file.
* sysdeps/unix/sysv/linux/cris/bits/resource.h: New file.
* sysdeps/unix/sysv/linux/cris/brk.c: New file.
* sysdeps/unix/sysv/linux/cris/chown.c: New file.
* sysdeps/unix/sysv/linux/cris/clone.S: New file.
* sysdeps/unix/sysv/linux/cris/fchown.c: New file.
* sysdeps/unix/sysv/linux/cris/fcntl.c: New file.
* sysdeps/unix/sysv/linux/cris/fxstat.c: New file.
* sysdeps/unix/sysv/linux/cris/getegid.c: New file.
* sysdeps/unix/sysv/linux/cris/geteuid.c: New file.
* sysdeps/unix/sysv/linux/cris/getgid.c: New file.
* sysdeps/unix/sysv/linux/cris/getgroups.c: New file.
* sysdeps/unix/sysv/linux/cris/getresgid.c: New file.
* sysdeps/unix/sysv/linux/cris/getresuid.c: New file.
* sysdeps/unix/sysv/linux/cris/getrlimit.c: New file.
* sysdeps/unix/sysv/linux/cris/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/cris/getuid.c: New file.
* sysdeps/unix/sysv/linux/cris/lchown.c: New file.
* sysdeps/unix/sysv/linux/cris/lockf64.c: New file.
* sysdeps/unix/sysv/linux/cris/lxstat.c: New file.
* sysdeps/unix/sysv/linux/cris/mmap.S: New file.
* sysdeps/unix/sysv/linux/cris/mmap64.S: New file.
* sysdeps/unix/sysv/linux/cris/msgctl.c: New file.
* sysdeps/unix/sysv/linux/cris/profil-counter.h: New file.
* sysdeps/unix/sysv/linux/cris/register-dump.h: New file.
* sysdeps/unix/sysv/linux/cris/semctl.c: New file.
* sysdeps/unix/sysv/linux/cris/setegid.c: New file.
* sysdeps/unix/sysv/linux/cris/seteuid.c: New file.
* sysdeps/unix/sysv/linux/cris/setfsgid.c: New file.
* sysdeps/unix/sysv/linux/cris/setfsuid.c: New file.
* sysdeps/unix/sysv/linux/cris/setgid.c: New file.
* sysdeps/unix/sysv/linux/cris/setgroups.c: New file.
* sysdeps/unix/sysv/linux/cris/setregid.c: New file.
* sysdeps/unix/sysv/linux/cris/setresgid.c: New file.
* sysdeps/unix/sysv/linux/cris/setresuid.c: New file.
* sysdeps/unix/sysv/linux/cris/setreuid.c: New file.
* sysdeps/unix/sysv/linux/cris/setrlimit.c: New file.
* sysdeps/unix/sysv/linux/cris/setuid.c: New file.
* sysdeps/unix/sysv/linux/cris/shmctl.c: New file.
* sysdeps/unix/sysv/linux/cris/socket.S: New file.
* sysdeps/unix/sysv/linux/cris/sys/ucontext.h: New file.
* sysdeps/unix/sysv/linux/cris/syscall.S: New file.
* sysdeps/unix/sysv/linux/cris/sysdep.S: New file.
* sysdeps/unix/sysv/linux/cris/sysdep.h: New file.
* sysdeps/unix/sysv/linux/cris/vfork.S: New file.
* sysdeps/unix/sysv/linux/cris/xstat.c: New file.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* sysdeps/cris/Dist: New file.
* sysdeps/cris/Implies: New file.
* sysdeps/cris/Makefile: New file.
* sysdeps/cris/__longjmp.S: New file.
* sysdeps/cris/_mcount.S: New file.
* sysdeps/cris/bits/endian.h: New file.
* sysdeps/cris/bits/setjmp.h: New file.
* sysdeps/cris/bits/string.h: New file.
* sysdeps/cris/dl-machine.h: New file.
* sysdeps/cris/elf/start.S: New file.
* sysdeps/cris/machine-gmon.h: New file.
* sysdeps/cris/memcopy.h: New file.
* sysdeps/cris/memusage.h: New file.
* sysdeps/cris/setjmp.S: New file.
* sysdeps/cris/sysdep.h: New file.
* sysdeps/cris/wordcopy.c: New file.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* elf/elf.h: Add new relocations for CRIS.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* shlib-versions: Add cases for Linux on CRIS.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* configure.in (ASM_LINE_SEP tests): Handle CRIS assembly, with
';' for comments and '@' for line separator.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* sysdeps/unix/sysv/linux/hppa/sysdep.h (INLINE_SYSCALL): Fix
typo; s/==/=/ for assignment.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* malloc/Makefile: Correct comment; mtrace is Perl, not AWK.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* iconv/gconv_simple.c (internal_ucs4_loop_unaligned): Check for
empty input before checking full output.
2001-04-08 Hans-Peter Nilsson <hp@axis.com>
* iconv/gconv.c (__gconv): Don't derefer parameter cd before
checking if == -1L.
2001-04-08 Ulrich Drepper <drepper@redhat.com>
* inet/rexec.c (rexec_af): Avoid calling perror with errno being set.
2001-03-16 Ulrich Drepper <drepper@redhat.com>
* sysdeps/ieee754/ldbl-96/s_erfl.c: New file.
Contributed by Stephen L. Moshier <moshier@na-net.ornl.gov>.
* sysdeps/i386/fpu/libm-test-ulps: Adjust for addition of erfl and
erfcl.
* sysdeps/ia64/fpu/libm-test-ulps: Likewise.
* sysdeps/unix/sysv/linux/ia64/swapcontext.c: New file.
2001-03-16 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext):
Drop hack that was needed for 2.1.1 kernel headers.
* sysdeps/unix/sysv/linux/ia64/ucontext_i.h: New file.
* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Rewrite to make it
overlay with kernel's "struct sigcontext".
* sysdeps/unix/sysv/linux/ia64/Makefile (sysdep_headers): Add
sys/rse.h for "misc" subdir.
(sysdep_routines): Add __start_context for "stdlib" subdir.
* sysdeps/unix/sysv/linux/ia64/sys/rse.h: New file (based on
kernel file of the same name).
* stdlib/Makefile (tests): Add tst-setcontext.
* stdlib/tst-setcontext.c: New file (based on a sample program by
Uli Drepper).
* sysdeps/unix/sysv/linux/ia64/setcontext.S: New file.
* sysdeps/unix/sysv/linux/ia64/getcontext.S: New file.
* sysdeps/unix/sysv/linux/ia64/__start_context.S: New file.
* sysdeps/unix/sysv/linux/ia64/makecontext.c: New file.
* sysdeps/unix/sysv/linux/ia64/__longjmp.S (__longjmp): Use extr.u
instead of shift & and.
2001-03-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
* shlib-versions: Add rule for Linux on 64 bit S/390.
* sysdeps/s390/s390-64/pt-machine.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c: New file.
2001-03-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/pt-machine.h: Move to...
* sysdeps/s390/s390-32/pt-machine.h: ...here.
Add defines for FLOATING_STACK and ARCH_STACK_MAX_SIZE.
code alignment.
2001-03-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/pt-initfini.c: Use 0x07 padding for
code alignment.
* sysdeps/ieee754/ldbl-96/e_jnl.c: New file.
Contributed by Stephen L. Moshier <moshier@na-net.ornl.gov>.
* sysdeps/i386/fpu/libm-test-ulps: Update for jnl and ynl introduction.
* sysdeps/ia64/fpu/libm-test-ulps: Likewise.
2001-02-18 Mark Kettenis <kettenis@gnu.org>
* malloc/mtrace.c [USE_IN_LIBIO]: Define fopen as _IO_fopen64.
(mtrace): Revert 2001-02-13 patch: use fopen instead of fopen64.
2001-02-17 H.J. Lu <hjl@gnu.org>
* sysdeps/unix/sysv/linux/ia64/clone2.S: Use clone2 and don't use
scratch registers across the system call.
2001-02-08 Ulrich Drepper <drepper@redhat.com>
* sysdeps/alpha/strrchr.S: Little optimization.
Patch by Richard Henderson <rth@redhat.com>.
* sysdeps/alpha/alphaev67/strrchr.S: New file.
Contributed by Rick Gorton <rick.gorton@alpha-processor.com>..
2001-02-08 kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/sh3/setjmp.S (__sigsetjmp): Correct function name
in the assembler end directive.
pointer in FILE structure before calling _IO_init.
correctly. For numbers ending in all zeros eat the zeros even before
2001-02-06 Ulrich Drepper <drepper@redhat.com>
* posix/regex.c: Fix a cast in the code for bracket handling which
caused 8-bit uncleanliness.
Patch by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>.
* posix/Makefile (tests): Add bug-regex1.
* posix/bug-regex1.c: New file.
Contributed by Jim Meyering <jim@meyering.net>.
* posix/regex.c: Many cleanups for incorrect format strings.
2001-02-06 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ia64/pt-initfini.c: First attempt to fix the
broken code. Patch by Jes Sorensen.
* conform/data/stdlib.h-data: Account for XPG6 changes.
* stdlib/stdlib.h (__random): Change return value type to long.
(posix_memalign): Cleanup parameter names.
(setenv, unsetenv): Make available for __USE_XOPEN2K.
Change return type of unsetenv to int.
(qecvt, qgcvt, qfcvt): Declare only if __USE_MISC.
* sysdeps/generic/setenv.c (unsetenv): Change return type to int.
Return -1 and set errno if parameter is invalid.
* stdlib/random.c (__random): Change return value type to long.
2001-01-13 Jakub Jelinek <jakub@redhat.com>
* inet/ether_ntoh.c (lookup_function): Change arguments to match
_nss_*_getntohost_r prototype.
(ether_ntohost): Pass errno pointer to NSS function.
2001-01-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/unix/sysv/linux/powerpc/bits/mman.h (MS_SYNC): Fix value.
(MAP_LOCKED): New definition.
(MAP_NORESERVE): New definition.
2001-01-11 H.J. Lu <hjl@gnu.org>
* elf/dl-libc.c (do_dlopen): Move DL_STATIC_INIT to ...
* elf/dl-open.c (_dl_open): Here.
* sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_lock):
Make it static.
(_dl_static_init): Initialize the variables every time when possible.
* sysdeps/unix/sysv/linux/ia64/ldsodefs.h (DL_STATIC_INIT):
Undefine it first.
2000-12-31 Ulrich Drepper <drepper@redhat.com>
* manager.c (pthread_alloca_stack): Remove MAP_FIXED from mmap calls.
(pthread_free): Always unmap the stack. It's safe now that we don't
use MAP_FIXED to allocate stacks.
2000-12-28 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (MALLOC_COPY): Handle case if source and
destination overlap. Assume dest is always below source if
overlapping.
* attr.c (__pthread_attr_setstack): Fix setting of __stackaddr element.
(__pthread_attr_getstack): Return correct address.
Add warnings for using pthread_attr_getstackaddr and
2000-12-27 Ulrich Drepper <drepper@redhat.com>
* attr.c (__pthread_attr_setstack): Fix setting of __stackaddr
element. Add warnings for using pthread_attr_getstackaddr and
pthread_attr_setstackaddr.
2000-12-18 Jes Sorensen <jes@linuxcare.com>
* linuxthreads/sysdeps/ia64/pt-machine.h: __compare_and_swap
and compare_and_swap_with_release_semantics returns int not long.
2000-11-20 Jakub Jelinek <jakub@redhat.com>
* iconvdata/bug-iconv2.c (main): Use %zd in format string.
* io/test-lfs.c (do_test): Cast statbuf.st_size to long long.
* malloc/tst-valloc.c (main): Cast valloc return value to long.
* malloc/tst-obstack.c (verbose_malloc): Use %zd in format string.
* math/test-fpucw.c (main): Use %lx in format string, cast
control words to long.
* stdio-common/tst-fmemopen.c (main): Use %td in format strings.
* stdlib/tst-strtol.c (tests): Avoid (bogus?) decimal constant is so
large that it is unsigned warning.
* sysdeps/unix/sysv/linux/sparc/bits/types.h (__ssize_t): Changing
it to long on sparc64.
2000-11-20 Andreas Jaeger <aj@suse.de>
* nscd/nscd.h (termination_handler): Add noreturn attribute.
(receiv_print_stats): Likewise.
* elf/ldconfig.c (path_hwcap): Cast -1 for proper comparison.
2000-11-08 Ulrich Drepper <drepper@redhat.com>
* iconvdata/euc-kr.c (euckr_from_ucs4): Map 0x20a9 to \xa3dc.
(BODY from direction): Remove special handling of \x5c.
* iconvdata/EUC-KR.irreversible: Adjust for this change.
* iconvdata/testdata/EUC-KR..UTF8: Likewise.
Reported by Jungshik Shin <jshin@pantheon.yale.edu>.
* posix/runtests.c (main): Don't use exit() to avoid warning with
broken compilers.
* string/bug-strncat1.c: Undefine __USE_STRING_INLINES before
defining it again to avoid warning.
* string/bug-strpbrk1.c: Likewise.
* string/bug-strspn1.c: Likewise.
2000-10-29 Bruno Haible <haible@clisp.cons.org>
* locale/C-translit.h.in: Include more rules from translit_neutral.
Remove a few German and Danish specific rules.
* locale/gen-translit.pl: Avoid an error when printing a string
containing a '%' character.
* locale/C-translit.h: Regenerated.
* intl/translit.po: Choose different translations.
* intl/tst-translit.c: Update.
2000-10-29 Bruno Haible <haible@clisp.cons.org>
* locale/programs/ld-ctype.c (translit_include_t): New type.
(locale_ctype_t): Remove translit_copy_locale, translit_copy_repertoire
fields, add translit_include field.
(ctype_read): After seeing "translit_start" in ignore_content mode,
skip the entire translit section, not only one line. Remove dead test
for tok_translit_end. Enqueue include statements into a list.
Signal error if tok_eof seen before tok_translit_end.
(translit_flatten): New function.
(allocate_arrays): Call translit_flatten.
2000-10-30 Ulrich Drepper <drepper@redhat.com>
* locale/findlocale.c (free_mem): We can remove NODELETE marked
data, just not the C locale data.
* intl/tst-gettext.c: Use setlocale() in addition to setting envvar.
* intl/tst-gettext.sh: Copy locale data if necessary.
* intl/Makefile (generated-dirs): Add localedir.
* intl/dcigettext.c (guess_category_value): For libc always use
the setlocale() method.
* intl/Makefile: Add rules to build, run and, distribute tst-gettext2.
* intl/tst-gettext2.c: New file.
* intl/tst-gettext2.sh: New file.
* intl/tstlang1.po: New file.
* intl/tstlang2.po: New file.
Patch by Andreas Jaeger <aj@suse.de>.
2000-10-26 GOTO Masanori <gotom@debian.or.jp>
* intl/locale.alias: Add ja_JP.ujis alias.
2000-10-30 Ulrich Drepper <drepper@redhat.com>
2000-10-22 Bruno Haible <haible@clisp.cons.org>
* iconvdata/big5hkscs.c (big5hkscs_to_ucs): Add irreversible mappings
for 0x8BF8, 0xA27E..0xA2A7.
* iconvdata/BIG5HKSCS.irreversible: New file.
2000-10-23 Jakub Jelinek <jakub@redhat.com>
* timezone/zdump.c (main): setlocale LC_CTYPE as well as LC_MESSAGES.
* timezone/zic.c (main): Likewise.
2000-10-23 Thorsten Kukuk <kukuk@suse.de>
* nscd/connections.c (invalidate_cache): Don't invalidate a cache
if it is not enabled.
2000-10-16 Ulrich Drepper <drepper@redhat.com>
* specific.c: Protect tsd array modification in thread data
structures by getting the thread lock in pthread_key_delete and
__pthread_destroy_specifics.
Patch by Wolfram Gloger <Wolfram.Gloger@dent.med.uni-muenchen.de>.
2000-10-14 Ulrich Drepper <drepper@redhat.com>
* math/libm-test.inc (frexp_test): Add L suffix also to parameters.
(hypot_test): Likewise.
* sysdeps/generic/printf_fphex.c: Compute width of decimal point
string correctly. Handle padding correctly.
* sysdeps/ia64/fpu/printf_fphex.c: Use sizeof in _itowa parameters
correctly.
* sysdeps/ieee754/ldbl-128/printf_fphex.c: Likewise.
* sysdeps/ieee754/ldbl-96/printf_fphex.c: Likewise.
2000-10-12 Alan Modra <alan@linuxcare.com.au>
* FAQ.in: Add --start-group and --end-group.
2000-10-12 Alan Modra <alan@linuxcare.com.au>
* malloc/memusage.c: Conditionalize stack usage calculation on
stack direction.
2000-10-12 Alan Modra <alan@linuxcare.com.au>
* config.h.in: Add ASM_LINE_SEP.
* configure.in: Add test for comment and line separators.
* include/libc-symbols.h: Define and use ASM_LINE_SEP, and add tabs to
placate some hppa assemblers.
* sysdeps/hppa/sysdep.h: Likewise.
* sysdeps/gnu/siglist.c: Insert \n and \t into inline asm.
* sysdeps/unix/sysv/linux/errlist.c: Likewise.
2000-10-12 David Huggins-Daines <dhd@linuxcare.com>
* sysdeps/unix/sysv/linux/Makefile: Include <bits/initspin> in
$(sysdep_headers).
* sysdeps/unix/sysv/linux/bits/initspin.h: Dummy version for
non-threaded platforms.
2000-10-12 David Huggins-Daines <dhd@linuxcare.com>
* configure.in: Add definitions for hppa.
* elf/elf.h: Add PLABEL32 relocation for hppa ELF32, comments
for IPLT and EPLT relocations.
* shlib-versions: Version symbol definitions for hppa-linux.
* sysdeps/unix/sysv/linux/configure.in: Define $arch_minimum_kernel
for hppa.
2000-10-12 David Huggins-Daines <dhd@linuxcare.com>
* sysdeps/hppa/Makefile: New file.
* sysdeps/hppa/Versions: New file.
* sysdeps/hppa/setjmp.S: New file.
* sysdeps/hppa/__longjmp.S: New file.
* sysdeps/hppa/bits/setjmp.h: New file.
* sysdeps/hppa/frame.h: New file.
* sysdeps/hppa/add_n.s: Don't use %r19 (linkage table pointer).
* sysdeps/hppa/sub_n.s: Likewise.
* sysdeps/hppa/lshift.s: Likewise.
* sysdeps/hppa/rshift.s: Likewise.
* sysdeps/hppa/udiv_qrnnd.s: Likewise.
* sysdeps/hppa/hppa1.1/addmul_1.s: Likewise.
* sysdeps/hppa/hppa1.1/submul_1.s: Likewise.
* sysdeps/hppa/hppa1.1/mul_1.s: Likewise.
* sysdeps/hppa/hppa1.1/udiv_qrnnd.s: Likewise.
* sysdeps/hppa/dl-machine.h: New file.
* sysdeps/hppa/dl-fptr.c: New file (note that this is almost
identical to the IA-64 one).
* sysdeps/hppa/dl-lookupcfg.h: Likewise.
* sysdeps/hppa/dl-symaddr.c: Likewise.
* sysdeps/hppa/elf/initfini.c: New file.
* sysdeps/hppa/elf/start.S: New file.
* sysdeps/hppa/fpu/bits/fenv.h: New file.
* sysdeps/hppa/fpu/fclrexcpt.c: New file.
* sysdeps/hppa/fpu/fedisblxcpt.c: New file.
* sysdeps/hppa/fpu/feenablxcpt.c: New file.
* sysdeps/hppa/fpu/fegetenv.c: New file.
* sysdeps/hppa/fpu/fegetexcept.c: New file.
* sysdeps/hppa/fpu/fegetround.c: New file.
* sysdeps/hppa/fpu/feholdexcpt.c: New file.
* sysdeps/hppa/fpu/fesetenv.c: New file.
* sysdeps/hppa/fpu/fesetround.c: New file.
* sysdeps/hppa/fpu/feupdateenv.c: New file.
* sysdeps/hppa/fpu/fegetexcptflg.c: New file.
* sysdeps/hppa/fpu/fraiseexcpt.c: New file.
* sysdeps/hppa/fpu/fsetexcptflg.c: New file.
* sysdeps/hppa/fpu/ftestexcept.c: New file.
* sysdeps/unix/sysv/linux/hppa/Makefile: New file.
* sysdeps/unix/sysv/linux/hppa/Versions: New file.
* sysdeps/unix/sysv/linux/hppa/syscalls.list: New file.
* sysdeps/unix/sysv/linux/hppa/sysdep.c: New file.
* sysdeps/unix/sysv/linux/hppa/sysdep.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/ioctls.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/mman.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/sigaction.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/signum.h: New file.
* sysdeps/unix/sysv/linux/hppa/brk.c: New file.
* sysdeps/unix/sysv/linux/hppa/clone.S: New file.
* sysdeps/unix/sysv/linux/hppa/socket.S: New file.
* sysdeps/unix/sysv/linux/hppa/syscall.S: New file.
* sysdeps/unix/sysv/linux/hppa/setrlimit.c: New file.
* sysdeps/unix/sysv/linux/hppa/getrlimit.c: New file.
* sysdeps/unix/sysv/linux/hppa/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/hppa/kernel_sigaction.h: New file.
* sysdeps/unix/sysv/linux/hppa/kernel_stat.h: New file.
* sysdeps/unix/sysv/linux/hppa/mmap.c: New file.
* sysdeps/unix/sysv/linux/hppa/profil-counter.h: New file.
* sysdeps/unix/sysv/linux/hppa/procfs.h: New file.
* sysdeps/unix/sysv/linux/hppa/ucontext.h: New file.
* sysdeps/unix/sysv/linux/hppa/umount.c: New file.
2000-10-12 Alan Modra <alan@linuxcare.com.au>
* sysdeps/hppa/hppa1.1/Implies: New file.
* sysdeps/hppa/memusage.h: New file.
2000-10-05 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/sparc64/fpu/libm-test-ulps: New file.
2000-10-02 Jakub Jelinek <jakub@redhat.com>
* sunrpc/svc_udp.c (svcudp_recv): Set msg_controllen to all
remaining xp_pad space.
2000-10-05 Jakub Jelinek <jakub@redhat.com>
* elf/dl-close.c (_dl_close): Check imap's l_flags_1 for
DF_1_NODELETE, not list[i]'s.
2000-09-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/unix/sysv/linux/kernel-features.h: Add __ASSUME_IPC64, only
define it for powerpc for kernel >= 2.4.0.
* sysdeps/unix/sysv/linux/msgctl.c: Test for __ASSUME_IPC64, not
__ASSUME_32BITUIDS.
* sysdeps/unix/sysv/linux/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/shmctl.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: Sync with kernel.
* sysdeps/unix/sysv/linux/powerpc/bits/msq.h: New file.
* sysdeps/unix/sysv/linux/powerpc/bits/sem.h: New file.
* sysdeps/unix/sysv/linux/powerpc/bits/shm.h: New file.
2000-09-28 Martin Schwidefsksy <schwidefsky@de.ibm.com>
* sysdeps/s390/atomicity.h: Fix compare_and_swap.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h
(F_GETLK64,F_SETLK64,F_SETLKW64): Use values from 2.4.0-test8.
2000-09-28 Denis Joseph Barrow <djbarrow@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/sys/procfs.h: Use definitions from
ucontext.h.
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Fix ucontext structure.
2000-09-27 Andreas Schwab <schwab@suse.de>
* math/Makefile (distribute): Explicitly add the long double test
sources, to get them included even if long double is not supported.
2000-09-27 Jes Sorensen <jes@linuxcare.com>
* elf/soinit.c (struct object): Move definition to gccframe.h and
include it. Problem identified by HJ Lu.
* sysdeps/ia64/gccframe.h: New file. ia64 specific version of
struct object to be searched for frame unwind info.
* sysdeps/generic/gccframe.h: New file. Generic version of
struct object to be searched for frame unwind info.
2000-09-28 Ulrich Drepper <drepper@redhat.com>
* manual/errno.texi: Correct error text for ENXIO.
Reported by Jrg Schilling <schilling@fokus.gmd.de>.
2000-09-27 Jes Sorensen <jes@linuxcare.com>
* sysdeps/ia64/fpu/fsetexcptflg.c (fesetexceptflag): Set the
exception status bits rather than the exception disable bits.
Don't include math.h.
* sysdeps/ia64/fpu/fgetexcptflg.c (fegetexceptflag): Report the
status of exceptions currently raised rather than which exceptions
are enabled.
* sysdeps/ia64/fpu/fclrexcpt.c (feclearexcept): Typecase to fenv_t
rather than unsigned long int.
* sysdeps/ia64/fpu/fedisblxcpt.c (fedisableexcept): Only disable
the exceptions actually requested by the caller and not just
disable all exceptions.
* sysdeps/ia64/fpu/feenablxcpt.c (feenableexcept): Exceptions on
the ia64 are enabled by clearing the respective bits in the fpsr,
not setting them.
* sysdeps/ia64/bits/fenv.h: typedef fexcept_t and fenv_t to
unsigned long int rather than unsigned long to be consistent with
the coding conventions.
2000-09-20 H.J. Lu <hjl@gnu.org>
* sysdeps/ia64/fpu/fesetenv.c (fesetenv): Use fenv_t instead of
unsigned long int.
* sysdeps/ia64/fpu/fesetround.c (fesetround): Likewise.
2000-09-28 Ulrich Drepper <drepper@redhat.com>
* string/bits/string2.h: Unify #if usage.
2000-09-27 Jakub Jelinek <jakub@redhat.com>
* math/test-fenv.c (feexcp_mask_test): If enabling all exceptions
and disabling underflow or overflow, disable inexact as well.
* sysdeps/gnu/netinet/tcp.h: Add tcp_info defines and types.
2000-09-05 Ulrich Drepper <drepper@redhat.com>
* mutex.c (__pthread_mutex_unlock): Correct test for already unlocked
mutex. Patch by dtc@cmucl.cons.org.
* ecmutex.c: New file.
2000-09-04 Andreas Schwab <schwab@suse.de>
* elf/Makefile (all-dl-routines): New variable.
(elide-routines.os): Use it instead of $(dl-routines).
(all-rtld-routines): New variable.
(extra-objs): Use it instead of $(rtld-routines).
($(objpfx)dl-allobjs.os): Likewise.
* sysdeps/ia64/Makefile [$(subdir) = elf]: Modify
sysdep-dl-routines and sysdep_routines instead of rtld-routines
and dl-routines.
2000-09-03 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_trans.c (__gconv_translit_find): Update open_count.
Set fname to NULL if the module wasn't found.
2000-09-03 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_trans.c (__gconv_translit_find): Don't set need_so to
true if trans->name already ends in ".so".
2000-09-03 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_int.h (__gconv_release_shlib): Change return type to
void.
* iconv/gconv_dl.c (do_release_shlib): Don't decrement the counter
below -TRIES_BEFORE_UNLOAD-1, to avoid wraparound.
(__gconv_release_shlib): Change return type to void.
* iconv/gconv_builtin.c (__gconv_get_builtin_trans): Don't set
step->__counter here.
* iconv/gconv_db.c (free_derivation): Don't call a step's destructor
if the reference is zero.
(release_step): New function.
(gen_steps): Always initialize the __counter to 1. Use release_step.
Don't call the destructor on the step whose initializer failed.
(increment_counter): Use release_step. Don't normally run destructors
here.
(__gconv_close_transform): Use release_step.
2000-09-03 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_simple.c (encoding_mask, encoding_byte): Remove.
(__gconv_transform_internal_utf8) [BODY]: Use simple shifts instead.
2000-09-03 Bruno Haible <haible@clisp.cons.org>
* iconvdata/euc-tw.c (BODY for FROM_LOOP): Initialize ch2 correctly.
If the first byte is 0x8E, don't ask for 4 bytes until it has been
verified that the second byte is valid. Leave it to cns11643_to_ucs4
to check for incomplete input.
* iconvdata/cns11643.h (cns11643_to_ucs4): The plane number is
ch - 0x20 - offset, not ch - 0x21 - offset. Upper bound for
__cns11643l1_to_ucs4_tab is 0x21f2, not 0x2196.
(ucs4_to_cns11643): Fix mapping for ranges 0x3105..0x3129 and
0x9f9d..0x9fa5.
* iconvdata/cns11643l1.h (cns11643l1_to_ucs4): Upper bound for
__cns11643l1_to_ucs4_tab is 0x21f2, not 0x2196.
(ucs4_to_cns11643l1): Fix mapping for range 0x3105..0x3129.
* iconvdata/cns11643l1.c (__cns11643l1_from_ucs4_tab6): Extend
upto index 0x0052.
2000-09-03 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_db.c (find_derivation): Always use the least-cost
solution.
2000-09-03 Bruno Haible <haible@clisp.cons.org>
* iconvdata/big5.c (BODY for FROM_LOOP): Bytes 0x81..0xA0, 0xFA..0xFF
are invalid.
2000-09-03 Bruno Haible <haible@clisp.cons.org>
* iconvdata/jis0208.c (__jis0208_to_ucs): Map EUC-JP 0xA1C0 to U+005C.
* iconvdata/jis0212.c (__jisx0212_to_ucs): Map EUC-JP 0x8FA2B7 to
U+007E.
2000-09-03 Bruno Haible <haible@clisp.cons.org>
* iconvdata/sjis.c (cjk_block1): Map 0x815F to U+005C.
2000-09-03 Bruno Haible <haible@clisp.cons.org>
* iconvdata/iso_6937-2.c (to_ucs4): Map 0xB4 to U+00D7.
2000-09-03 Bruno Haible <haible@clisp.cons.org>
* iconvdata/tst-tables.sh: New file.
* iconvdata/tst-table.sh: New file.
* iconvdata/tst-table-from.c: New file.
* iconvdata/tst-table-to.c: New file.
* iconvdata/tst-table-charmap.sh: New file.
* iconvdata/Makefile (test-srcs): Set to tst-table-from tst-table-to.
(distribute): Add tst-tables.sh, tst-table.sh, tst-table-charmap.sh,
tst-table-from.c, tst-table-to.c, EUC-JP.irreversible,
ISIRI-3342.irreversible, SJIS.irreversible.
(tests): Add dependency on tst-tables.out.
(tst-tables.out, tst-tables-clean): New rules.
(do-tests-clean, common-mostlyclean): Require tst-tables-clean.
* iconvdata/ISIRI-3342.irreversible: New file.
* iconvdata/EUC-JP.irreversible: New file.
* iconvdata/SJIS.irreversible: New file.
2000-09-04 Ulrich Drepper <drepper@redhat.com>
* manual/locale.texi (General Numeric): Update description of
representation of the grouping information in the locale data.
Patch by Gaute B. Strokkenes <gs234@cam.ac.uk>.
Reported by Rob Levin <lilo@transvirtual.com>.
2000-09-03 Ulrich Drepper <drepper@redhat.com>
* time/sys/time.h (gettimeofday): Move restrict for tz parameter
to the typedefs of __timezone_ptr_t.
Reported by MATSUMURA Hiromitsu <coji2@mb.infoweb.ne.jp>.
2000-09-02 Jakub Jelinek <jakub@redhat.com>
* nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Increment counter in
the loop.
2000-09-01 H.J. Lu <hjl@gnu.org>
* Makeconfig (built-program-cmd): Don't use the dynamic linker
to run a binary if it is in $(tests-static).
* Rules (binaries-static): Add $(tests-static).
2000-09-01 Ulrich Drepper <drepper@redhat.com>
* lockfile.c (__flockfile): If _IO_USER_LOCK bit is set don't do
anything.
(__funlockfile): Likewise.
(__ftrylockfile): If _IO_USER_LOCK bit is set return always 0.
* iconvdata/big5hkscs.c: Rewritten. Regenerate data from the
official file.
* iconvdata/TESTS: Add BIG5HKSCS entry.
* iconvdata/testdata/BIG5HKSCS: New file.
* iconvdata/testdata/BIG5HKSCS..UTF8: New file.
* iconvdata/big5.c (BODY for FROM_LOOP): Remove condition which is
always true.
2000-08-25 Ulrich Drepper <drepper@redhat.com>
* elf/Makefile (LDFLAGS-nodelete): Add -rdynamic.
* elf/nodelete.c (fini_ran): New global variable.
(do_test): Before every dlclose call clear fini_ran and test
afterwards that it is not set by the destructors.
* elf/nodelmod1.c: Add destructor which sets fini_ran.
* elf/nodelmod2.c: Likewise.
* elf/nodelmod4.c: Likewise.
2000-08-25 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/system.c (__libc_system): We cannot use vfork here
since we call sigaction in the child.
* Makefile (tests): Add ex13.
2000-08-22 Andreas Jaeger <aj@suse.de>
* Examples/ex13.c: New test by Kurt Garloff <garloff@suse.de>.
* Makefile (tests): Add ex13.
2000-08-12 Andreas Jaeger <aj@suse.de>
* include/features.h (__STDC_ISO_10646__): Define.
Reported by Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>.
* include/features.h (__USE_ISOC99): Define for _XOPEN_SOURCE >= 600.
* locale/langinfo.h: Define YESSTR and NOSTR also for XPG4 (but not
for revision 6 and up).
* posix/sys/types.h: Define __need_timer_t and __need_clockid_t before
including <time.h>.
* time/time.h: Allow __need_timer_t and __need_clockid_t to be defined
to get definitions of just these types.
* signal/signal.h: Define thread signal handling functions also for
POSIX95.
* sysdeps/unix/sysv/linux/bits/types.h: Define thread types also for
POSIX95.
* sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise.
* sysvipc/sys/shm.h: Define pid_t for XPG.
* wcsmbs/wchar.h: Make the various wide char string and stream
functions available for the respective XPG versions.
* internals.h: Declare __pthread_max_stacksize.
* pthread.c (__pthread_max_stacksize): New variable.
(__pthread_initialize_manager): Determine __pthread_initialize_manager
value.
* manager.c (thread_segment): Return always NULL if FLOATING_STACKS.
(pthread_allocate_stack): Allow kernel to choose stack address if
FLOATING_STACKS. This also handles variable-sized stacks.
Always allocate stack and guardoage together. Use mprotect to
change guardpage access.
* sysdeps/i386/useldt.h: Define FLOATING_STACKS and
ARCH_STACK_MAX_SIZE.
* attr.c (__pthread_attr_setstacksize): Also test value against
upper limit.
2000-08-04 Ulrich Drepper <drepper@redhat.com>
* manager.c (__pthread_nonstandard_stacks): Define only if
THREAD_SELF is not defined.
(pthread_allocate_stack): Always initialize gardaddr to a correct
value.
(pthread_handle_create): Unmap thread with one call.
(pthread_free): Remove test for initial thread before removing stack.
Unmap stack with one call.
* pthread.c (__pthread_initial_thread): Initialize p_userstack to
1 to avoid removing the stack.
2000-07-27 Jes Sorensen <jes@linuxcare.com>
* linuxthreads/sysdeps/ia64/pspinlock.c (__pthread_spin_lock): Add
load of spin lock to prime the cache before the atomic compare and
exchange operation (cmpxchg4). This avoids the spinning on the
cmpxchg4 instruction and reduces movement of the cache line back
and forth between the processors (explanation by Asis K. Mallick
from Intel). This basically makes the implementation operate the
same as the Linux kernel implementation.
* linuxthreads/shlib-versions: Use GLIBC_2_2 for Linux/ia64.
* linuxthreads/sysdeps/ia64/pspinlock.c: New file.
2000-08-02 Andreas Jaeger <aj@suse.de>
* linuxthreads/sysdeps/s390/pspinlock.c: New file.
* linuxthreads/sysdeps/s390/pt-machine.h: New file.
Patches by Martin Schwidefsky <schwidefsky@de.ibm.com>.
2000-07-27 Jes Sorensen <jes@linuxcare.com>
* sysdeps/unix/sysv/linux/ia64/fork.c: Make __libc_fork the strong
name and add weak alias for __fork.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Change llseek, pread
& pwrite to use __libc_<name> as strong names instead of
__syscall_<name>.
* include/sched.h: Add clone2 prototype.
2000-07-26 Jes Sorensen <jes@linuxcare.com>
* sysdeps/unix/sysv/linux/ia64/sysdep.h (ENTRY): Don't declare the
procedure name twice.
2000-07-27 Philip Blundell <philb@gnu.org>
* malloc/malloc.c (HAVE_MREMAP): Undo change of 1997-12-04.
* internals.h (strict __pthread_descr_struct): Add p_sem_avail.
* semaphore.c: Handle spurious wakeups.
* sysdeps/pthread/pthread.h: Add back PTHREAD_MUTX_FAST_NP as an alias
for PTHREAD_MUTEX_ADAPTIVE_NP for source code compatibility.
* pthread.c (__pthread_set_own_extricate): Use THREAD_GETMEM.
(__pthread_wait_for_restart): Likewise.
* condvar.c (pthread_cond_wait): Also check whether thread is
cancelable before aborting loop.
(pthread_cond_timedwait): Likewise.
2000-07-25 Mark Kettenis <kettenis@gnu.org>
* nss/nss_files/files-netgrp.c (strip_whitespace): New function.
(_nss_netgroup_parseline): Use strip_whitespace to strip off any
leading and trailing spaces from host, user and domain name.
2000-07-25 Jes Sorensen <jes@linuxcare.com>
* csu/defs.awk: Add support for need_endp.
2000-07-25 Mark Kettenis <kettenis@gnu.org>
* resolv/resolv.h: Remove __P from res_send_qhook and
res_send_rhook typedefs.
2000-07-25 Bruno Haible <haible@clisp.cons.org>
* intl/tst-translit.c (main): Unset OUTPUT_CHARSET.
2000-07-24 Ulrich Drepper <drepper@redhat.com>
* condvar.c: Handle spurious wakeups. [PR libc/1749].
* spinlock.h: If IMPLEMENT_TAS_WITH_CAS is defined use
* locale/programs/ld-collate.c (handle_ellipsis): Test for
duplication with generated name, not the name of the first
character.
Patch by Yong Li <yong.li@asu.edu>.
2000-07-19 Kaz Kylheku <kaz@ashi.footprints.net>
Bugfixes to the variant of the code for machines with no compare
and swap.
* spinlock.c (__pthread_alt_lock, __pthread_alt_timedlock): Wait
node was not being properly enqueued, due to failing to update
the lock->__status field.
* spinlock.c (__pthread_alt_timedlock): The oldstatus variable was
being set inappropriately, causing the suspend function to be called
with a null self pointer and crash.
2000-07-18 Kaz Kylheku <kaz@ashi.footprints.net>
* spinlock.c (__pthread_alt_lock, __pthread_alt_timedlock): Fixed
bug whereby thr field of waitnode structure would not be correctly
set unless a null self pointer is passed to the functions.
Eliminated redundant calls to thread_self().
2000-07-18 Ulrich Drepper <drepper@redhat.com>
* intl/Makefile: Make sure tst-translit is run after tst-gettext.
* locale/C-ctype.c: Add initializers for gap elements.
* locale/programs/ld-ctype.c (ctype_output): Write out index entries
for gap elements.
2000-05-05 H.J. Lu <hjl@gnu.org>
* sysdeps/ia64/pt-machine.h (__compare_and_swap): Change it to
have acquire semantics.
(__compare_and_swap_with_release_semantics): New inline
function.
(HAS_COMPARE_AND_SWAP_WITH_RELEASE_SEMANTICS): New macro.
2000-01-28 Hans Boehm <hboehm@exch.hpl.hp.com>
* manager.c: Fix the problem with signals at startup.
Change the way that thread stacks are allocated on IA64.
Clean up some of the guard page allocation stuff.
1999-12-19 H.J. Lu <hjl@gnu.org>
* internals.h (page_roundup): New.
* attr.c (__pthread_attr_setguardsize); Use page_roundup
instead of roundup.
* manager.c (pthread_allocate_stack): Make sure guardaddr is
page aligned with page_roundup if NEED_SEPARATE_REGISTER_STACK
is define.
1999-12-17 Hans Boehm <hboehm@exch.hpl.hp.com>
* manager.c (pthread_allocate_stack): Unmap the stack top
if failed to map the stack bottom.
Fix the guard page.
(pthread_free): Fix the guard page.
* pthread.c (pthread_initialize): Set rlimit correctly for
NEED_SEPARATE_REGISTER_STACK.
1999-12-16 H.J. Lu <hjl@gnu.org>
* pthread.c (__pthread_initialize_manager): Pass
__pthread_manager_thread_bos instead of
__pthread_manager_thread_tos to __clone2.
1999-12-16 H.J. Lu <hjl@gnu.org>
* manager.c (pthread_allocate_stack): Correct the calculation
of "new_thread_bottom". Remove MAP_GROWSDOWN from mmap for
stack bottom.
1999-12-13 H.J. Lu <hjl@gnu.org>
* sysdeps/ia64/pt-machine.h (__compare_and_swap): Added a stop
bit after setting ar.ccv.
1999-12-12 H.J. Lu <hjl@gnu.org>
* manager.c (pthread_allocate_stack): Make the starting
address of the stack bottom page aligned. FIXME: it may
need changes in other places.
(pthread_handle_create): Likewise.
1999-12-11 Hans Boehm <hboehm@exch.hpl.hp.com>
* manager.c (pthread_allocate_stack): Handle
NEED_SEPARATE_REGISTER_STACK.
(pthread_handle_create): Likewise.
* pthread.c (__pthread_initialize_manager): Likewise.
* sysdeps/ia64/pt-machine.h: Use r13 for thread pointer.
1999-12-02 H.J. Lu <hjl@gnu.org>
* sysdeps/ia64/pt-machine.h: New.
2000-07-12 H.J. Lu <hjl@gnu.org>
* resolv/Versions (libresolv): Add __res_hostalias to GLIBC_2.2
for _nss_dns_gethostbyname2_r in resolv/nss_dns/dns-host.c.
2000-07-12 Ulrich Drepper <drepper@redhat.com>
* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Shut gcc up although
it is wrong.
2000-07-12 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_open.c (__gconv_open): Merge duplicated code.
2000-07-12 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_builtin.c (__gconv_get_builtin_trans): Initialize
__modname.
2000-07-12 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_open.c (__gconv_open): Initialize
result->__steps[cnt].__data.
2000-07-12 Mark Kettenis <kettenis@gnu.org>
* nss/getent.c (services_keys): Pass port number in network byte
order in call to getservbyport.
2000-07-11 Andreas Jaeger <aj@suse.de>
* stdlib/Makefile (test-canon-ARGS): Fix for building in the
source dir.
* intl/Makefile (do-gettext-test): Likewise.
* dirent/Makefile (opendir-tst1-ARGS): Likewise.
2000-07-11 Andreas Schwab <schwab@suse.de>
* Makeconfig (run-program-prefix): New rule.
(built-program-cmd): Use run-program-prefix.
2000-07-06 Ulrich Drepper <drepper@redhat.com>
* condvar.c: Implement pthread_condattr_getpshared and
pthread_condattr_setpshared.
* mutex.c: Implement pthread_mutexattr_getpshared and
pthread_mutexattr_setpshared.
* Versions: Export new functions.
* sysdeps/pthread/pthread.h: Add prototypes for new functions.
* rwlock.c (pthread_rwlockattr_init): Use PTHREAD_PROCESS_PRIVATE.
(pthread_rwlockattr_setpshared): Fail if PTHREAD_PROCESS_PRIVATE
is not selected.
pragmas. Include bp-sym.h only if _LIBC.
2000-07-04 Greg McGary <greg@mcgary.org>
* sysdeps/pthread/bits/libc-lock.h: Remove BP_SYM from
pragmas. Include bp-sym.h only if _LIBC.
pthread functions that have pointers in their return+arg signatures.
2000-06-28 Greg McGary <greg@mcgary.org>
* weaks.c: Wrap BP_SYM () around weak extern declarations of
pthread functions that have pointers in their return+arg signatures.
* sysdeps/pthread/bits/libc-lock.h: Wrap BP_SYM () around weak
extern declarations of pthread functions that have pointers in
their return+arg signatures.
* include/libc-symbols.h (weak_extern): Add extra level of expansion.
(symbol_version, default_symbol_version): Factor redundant
definitions out of conditional.
* linuxthreads/sysdeps/pthread/bits/libc-lock.h:
Wrap BP_SYM () around weak extern declarations of pthread
functions that have pointers in their return+arg signatures.
2000-06-27 Greg McGary <greg@mcgary.org>
* elf/dl-open.c (_dl_sysdep_start): Wrap weak_extern decl in BP_SYM ().
* include/libc-symbols.h (weak_extern): Add extra level of expansion.
(symbol_version, default_symbol_version): Factor redundant
definitions out of conditional.
* linuxthreads/sysdeps/pthread/bits/libc-lock.h:
Wrap BP_SYM () around weak extern declarations of pthread
functions that have pointers in their return+arg signatures.
prototype.
* join.c: Include <stdlib.h> for exit prototype.
* elf/vismod2.c: Include <stdlib.h> for abort prototype.
* rt/aio_suspend.c: Likewise.
2000-06-21 Andreas Jaeger <aj@suse.de>
* sysdeps/pthread/timer_routines.c: Include <stdlib.h> for memset
prototype.
* join.c: Include <stdlib.h> for exit prototype.
* iconv/gconv_int.h (strict gconv_module): Remove all members
associated with regular expressions. Use a simple string as the
from name.
* iconv/gconv_db.c: Remove code handling regular expressions.
* iconv/gconv_conf.c: Likewise.
* iconv/iconv_prog.c: Likewise.
* iconv/gconv_builtin.h: Adjust for change in gconv_conf.c.
2000-06-14 Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/sh4/fpu/fclrexcpt.c: Remove definitions for backward
compatibility.
* sysdeps/sh/sh4/fpu/fegetenv.c: Likewise.
* sysdeps/sh/sh4/fpu/fesetenv.c: Likewise.
* sysdeps/sh/sh4/fpu/fraiseexcpt.c: Likewise.
* sysdeps/sh/sh4/fpu/fsetexcptflg.c: Likewise.
2000-06-14 Jakub Jelinek <jakub@redhat.com>
* include/libc-symbols.h (link_warning): If HAVE_SECTION_QUOTES is
defined, terminate quotes and read them after the comment char.
* configure.in (HAVE_SECTION_QUOTES): Test whether
__attribute__((section ("x"))) puts quotes around x or not.
* config.h.in (HAVE_SECTION_QUOTES): Add.
* configure: Rebuilt.
2000-06-13 Kaz Kylheku <kaz@ashi.footprints.net>
A few optimizations. Got rid of unnecessary wakeups of timer threads,
tightened up some critical regions and micro-optimized some list
manipulation code.
* sysdeps/pthread/timer_routines.c (__timer_thread_queue_timer):
Returns int value now to indicate whether timer was queued at head.
* sysdeps/pthread/posix-timer.h: Likewise.
* sysdeps/pthread/timer_settime.c (timer_settime): Takes advantage of
new return value from __timer_thread_queue_timer to avoid waking
up timer thread unnecessarily.
* sysdeps/pthread/posix-timer.h (timer_id2ptr): No longer checks
inuse flag, because this requires mutex to be held. Callers updated
to do the check when they have the mutex.
* sysdeps/pthread/timer_getoverr.c: Add check for inuse here.
* sysdeps/pthread/timer_settime.c (timer_settime): Tighter critical
regions: avoids making system calls while holding timer mutex, and
a few computations were moved outside of the mutex as well.
* sysdeps/pthread/timer_gettime.c (timer_gettime): Likewise.
* sysdeps/pthread/posix-timer.h (list_unlink_ip): Function name changed
to list_unlink_ip, meaning idempotent. Pointer manipulation
changed to get better better code out of gcc.
* sysdeps/pthread/timer_routines.c (list_unlink): Non-idempotent
version of list_unlink added here.
* sysdeps/pthread/timer_delete.c: Use appropriate list unlink
function in all places: idempotent one for timers, non-idempotent
one for thread nodes.
* sysdeps/pthread/timer_settime: Likewise.
* sysdeps/pthread/timer_routines.c: Likewise.
2000-06-12 Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Yutaka Niibe <gniibe@chroot.org>
* sysdeps/sh/Dist: New file.
* sysdeps/sh/Implies: New file.
* sysdeps/sh/gmp-mparam.h: New file.
* sysdeps/sh/init-first.c: New file.
* sysdeps/sh/machine-gmon.h: New file.
* sysdeps/sh/memcpy.S: New file.
* sysdeps/sh/memprof.h: New file.
* sysdeps/sh/memset.S: New file.
* sysdeps/sh/sh3/__longjmp.S: New file.
* sysdeps/sh/sh3/bits/endian.h: New file.
* sysdeps/sh/sh3/bits/huge_val.h: New file.
* sysdeps/sh/sh3/bits/setjmp.h: New file.
* sysdeps/sh/sh3/bsd-_setjmp.S: New file.
* sysdeps/sh/sh3/bsd-setjmp.S: New file.
* sysdeps/sh/sh3/dl-machine.h: New file.
* sysdeps/sh/sh3/elf/initfini.c: New file.
* sysdeps/sh/sh3/elf/start.S: New file.
* sysdeps/sh/sh3/setjmp.S: New file.
* sysdeps/sh/sh3/sys/ucontext.h: New file.
* sysdeps/sh/sh4/__longjmp.S: New file.
* sysdeps/sh/sh4/bits/endian.h: New file.
* sysdeps/sh/sh4/bits/huge_val.h: New file.
* sysdeps/sh/sh4/bits/setjmp.h: New file.
* sysdeps/sh/sh4/bsd-_setjmp.S: New file.
* sysdeps/sh/sh4/bsd-setjmp.S: New file.
* sysdeps/sh/sh4/dl-machine.h: New file.
* sysdeps/sh/sh4/elf/initfini.c: New file.
* sysdeps/sh/sh4/elf/start.S: New file.
* sysdeps/sh/sh4/fpu/bits/fenv.h: New file.
* sysdeps/sh/sh4/fpu/bits/huge_val.h: New file.
* sysdeps/sh/sh4/fpu/bits/mathdef.h: New file.
* sysdeps/sh/sh4/fpu/fclrexcpt.c: New file.
* sysdeps/sh/sh4/fpu/fegetenv.c: New file.
* sysdeps/sh/sh4/fpu/fegetround.c: New file.
* sysdeps/sh/sh4/fpu/feholdexcpt.c: New file.
* sysdeps/sh/sh4/fpu/fesetenv.c: New file.
* sysdeps/sh/sh4/fpu/fesetround.c: New file.
* sysdeps/sh/sh4/fpu/fpu_control.h: New file.
* sysdeps/sh/sh4/fpu/fraiseexcpt.c: New file.
* sysdeps/sh/sh4/fpu/fsetexcptflg.c: New file.
* sysdeps/sh/sh4/fpu/ftestexcept.c: New file.
* sysdeps/sh/sh4/fpu/libm-test-ulps: New file.
* sysdeps/sh/sh4/setjmp.S: New file.
* sysdeps/sh/sh4/sys/ucontext.h: New file.
* sysdeps/sh/strlen.S: New file.
* sysdeps/sh/sysdep.h: New file.
* sysdeps/unix/sh/sysdep.S: New file.
* sysdeps/unix/sh/sysdep.h: New file.
* sysdeps/unix/sysv/linux/sh/Dist: New file.
* sysdeps/unix/sysv/linux/sh/Makefile: New file.
* sysdeps/unix/sysv/linux/sh/Versions: New file.
* sysdeps/unix/sysv/linux/sh/bits/mman.h: New file.
* sysdeps/unix/sysv/linux/sh/bits/resource.h: New file.
* sysdeps/unix/sysv/linux/sh/brk.c: New file.
* sysdeps/unix/sysv/linux/sh/chown.c: New file.
* sysdeps/unix/sysv/linux/sh/clone.S: New file.
* sysdeps/unix/sysv/linux/sh/fchown.c: New file.
* sysdeps/unix/sysv/linux/sh/fxstat.c: New file.
* sysdeps/unix/sysv/linux/sh/getegid.c: New file.
* sysdeps/unix/sysv/linux/sh/geteuid.c: New file.
* sysdeps/unix/sysv/linux/sh/getgroups.c: New file.
* sysdeps/unix/sysv/linux/sh/getresgid.c: New file.
* sysdeps/unix/sysv/linux/sh/getresuid.c: New file.
* sysdeps/unix/sysv/linux/sh/getrlimit.c: New file.
* sysdeps/unix/sysv/linux/sh/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/sh/getuid.c: New file.
* sysdeps/unix/sysv/linux/sh/lchown.c: New file.
* sysdeps/unix/sysv/linux/sh/lxstat.c: New file.
* sysdeps/unix/sysv/linux/sh/msgctl.c: New file.
* sysdeps/unix/sysv/linux/sh/oldgetrlimit64.c: New file.
* sysdeps/unix/sysv/linux/sh/pipe.S: New file.
* sysdeps/unix/sysv/linux/sh/profil-counter.h: New file.
* sysdeps/unix/sysv/linux/sh/semctl.c: New file.
* sysdeps/unix/sysv/linux/sh/setegid.c: New file.
* sysdeps/unix/sysv/linux/sh/seteuid.c: New file.
* sysdeps/unix/sysv/linux/sh/setfsgid.c: New file.
* sysdeps/unix/sysv/linux/sh/setfsuid.c: New file.
* sysdeps/unix/sysv/linux/sh/setgid.c: New file.
* sysdeps/unix/sysv/linux/sh/setgroups.c: New file.
* sysdeps/unix/sysv/linux/sh/setregid.c: New file.
* sysdeps/unix/sysv/linux/sh/setresgid.c: New file.
* sysdeps/unix/sysv/linux/sh/setresuid.c: New file.
* sysdeps/unix/sysv/linux/sh/setreuid.c: New file.
* sysdeps/unix/sysv/linux/sh/setrlimit.c: New file.
* sysdeps/unix/sysv/linux/sh/setuid.c: New file.
* sysdeps/unix/sysv/linux/sh/sh3/register-dump.h: New file.
* sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: New file.
* sysdeps/unix/sysv/linux/sh/shmctl.c: New file.
* sysdeps/unix/sysv/linux/sh/sigcontextinfo.h: New file.
* sysdeps/unix/sysv/linux/sh/socket.S: New file.
* sysdeps/unix/sysv/linux/sh/sys/io.h: New file.
* sysdeps/unix/sysv/linux/sh/sys/ucontext.h: New file.
* sysdeps/unix/sysv/linux/sh/sys/user.h: New file.
* sysdeps/unix/sysv/linux/sh/syscalls.list: New file.
* sysdeps/unix/sysv/linux/sh/sysdep.S: New file.
* sysdeps/unix/sysv/linux/sh/sysdep.h: New file.
* sysdeps/unix/sysv/linux/sh/vfork.S: New file.
* sysdeps/unix/sysv/linux/sh/xstat.c: New file.
2000-06-10 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/timer_routines.c (list_append): Little fix to
reall append the entry.
list and remove from active list.
2000-06-10 Kaz Kylheku <kaz@ashi.footprints.net>
* sysdeps/pthread/timer_create.c: Thread matching now done on
clock type as well as thread attributes.
There are individual global signal-delivering threads for
different clock types.
* sysdeps/pthread/posix-timer.h: Likewise.
* sysdeps/pthread/timer_routines.c: Likewise.
* sysdeps/pthread/timer_routines.c: Thread allocation and
deallocation function now remembers to put thread on active
list and remove from active list.
Thus now the feature of binding multiple timers
to a single thread actually works.
2000-06-10 Ulrich Drepper <drepper@redhat.com>
* pthread.c (__pthread_create_2_1): Optimize a bit.
* internals.h (invalid_handle): Also test for p_terminated != 0.
(nonexisting_handle): New function. Same as old invalid_handle.
* join.c (pthread_join): Use nonexisting_handle instead of
invalid_handle to test for acceptable thread handle.
Reported by Permaine Cheung <pcheung@cygnus.com>.
* sysdeps/pthread/posix-timer.h (struct timer_node): Add creator_pid.
* sysdeps/pthread/timer_create.c: Fill in creator_pid.
* sysdeps/pthread/timer_routines.c (thread_expire_timer): Send signal
with sigqueueinfo is this system call is available.
* sysdeps/pthread/timer_create.c (timer_create): Allow
CLOCK_CPUTIME if _POSIX_CPUTIME is defined.
2000-05-22 Andreas Jaeger <aj@suse.de>
* math/Makefile: Add -D__FAST_MATH__ to CFLAGS-test-ifloat.c,
CFLAGS-test-idouble.c, CFLAGS-test-ildoubl.c.
* manual/math.texi (FP Function Optimizations): Document gcc
-ffast-math behaviour with mathinlines.
* sysdeps/i386/fpu/bits/mathinline.h: Only use save inline
functions unless -ffast-math is given to gcc.
* elf/soinit.c (__libc_global_ctors): Move
__pthread_initialize_minimal call out of HAVE_DWARF2_* defines.
* resolv/resolv.h (__res_state): Added __attribute__((const)).
(_res): If __RES_PTHREAD_INTERNAL is defined, declare it as
variable, don't define it to __res_state call.
2000-05-13 Jakub Jelinek <jakub@redhat.com>
* internals.h (__RES_PTHREAD_INTERNAL): Define.
2000-05-13 Jakub Jelinek <jakub@redhat.com>
* internals.h (__RES_PTHREAD_INTERNAL): Define.
2000-05-07 H.J. Lu <hjl@gnu.org>
* csu/initfini.c: Moved to ....
* sysdeps/generic/initfini.c: ...here.
* csu/Makefile (initfini.c): Set vpath to $(full_config_sysdirs).
2000-05-06 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_open.c (__gconv_open): If __gconv_find_transform
returned != __GCONV_OK, there is nothing to clean up.
2000-05-06 Bruno Haible <haible@clisp.cons.org>
* intl/tst-gettext.c (main): Disable possibly existing LC_CTYPE and
OUTPUT_CHARSET environment variables.
2000-05-06 Andreas Jaeger <aj@suse.de>
* sysdeps/generic/dl-cache.h (struct file_entry_new): New.
(struct cache_file_new): New.
(struct file_entry): New (moved from cache.c).
(struct cache_file): New (moved from cache.c).
* sysdeps/generic/dl-cache.c (SEARCH_CACHE): New macro, broken out
from _dl_load_cache_lookup.
(_dl_load_cache_lookup): Move search to SEARCH_CACHE macro, handle
the different cache formats.
New variable cache_new for new format.
* elf/ldconfig.h: Change according to changes in cache.c and
ldconfig.c; remove cache_libcmp; add opt_format.
* elf/ldconfig.c: Include "dl-cache.h" and "dl-procinfo.h"; remove
stuff that's defined in those headers.
Add hwcap to struct lib_entry.
(opt_format): New variable to select cache format.
(options): Add format parameter.
(is_hwcap): New function.
(path_hwcap): New function.
(parse_opt): Handle new format parameter.
(search_dir): Handle hwcap, search also subdirectories with hwcap.
* elf/cache.c (_GNU_SOURCE): Removed. Not needed anymore since
ldconfig is part of glibc.
Include dl-cache.h and remove stuff that's defined there.
(struct cache_entry): Add new member hwcap.
(print_entry): Print hwcap, cleanup a bit.
(print_cache): Print new and old formats.
(compare): Use _dl_cache_libcmp from dl-cache.h; handle hwcap.
(save_cache): Save new and old formats.
(add_to_cache): Handle hwcap.
* sysdeps/generic/dl-cache.c (_dl_cache_libcmp): Moved from here...
* sysdeps/generic/dl-cache.h (_dl_cache_libcmp): ...to here.
* sysdeps/generic/dl-cache.c (LD_SO_CACHE): Moved from here...
* sysdeps/generic/dl-cache.h (LD_SO_CACHE): ...to here.
* sysdeps/generic/dl-cache.c (CACHEMAGIC): Moved from here...
* sysdeps/generic/dl-cache.h (CACHEMAGIC): ...to here.
2000-05-05 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (alignof): New macro.
(_nl_find_msg): Use it instead of __alignof__. Pass correct output
buffer length to __gconv/iconv. If malloc (freemem_size) fails, set
freemem_size to 0.
2000-05-05 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (dcigettext): Fix interpretation of tsearch
return value.
* sysdeps/unix/sysv/linux/i386/getcpuclockid.c
(pthread_getcpuclockid): Correct test for ourselves.
2000-05-05 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/getcpuclockid.c
(pthread_getcpuclockid): Correct test for ourselves.
2000-05-03 Ulrich Drepper <drepper@redhat.com>
* string/bits/string2.h: Declare __strdup and __strndup if necessary.
Reported by Bruno Haible.
2000-04-29 Bruno Haible <haible@clisp.cons.org>
* manual/arith.texi: Remove @w from @itemize.
2000-04-27 Ulrich Drepper <drepper@redhat.com>
* elf/soinit.c (__libc_global_ctors): Call __pthread_initialize_minimal
if this function is available.
* sysdeps/i386/i486/atomicity.h (exchange_and_add): Use uint32_t for
all values.
<haible@clisp.cons.org>.
2000-04-24 Ulrich Drepper <drepper@redhat.com>
* manager.c (pthread_free): Use FREE_THREAD not FREE_THREAD_SELF.
* sysdeps/i386/useldt.h: Use "q" constraint instead of "r" where
necessary.
* sysdeps/i386/i686/pt-machine.h: Include "../useldt.h".
2000-04-20 Ulrich Drepper <drepper@redhat.com>
* manual/stdio.texi: Give advise about handling error when using
stream functions.
Patch by Michael Deutschmann <michael@talamasca.ocis.net>.
2000-04-19 Jakub Jelinek <jakub@redhat.com>
* locale/programs/ld-ctype.c (ctype_output): Set size of the idx
field to nelems * sizeof (uint32_t).
* locale/programs/ld-address.c (address_output): Align word fields
properly.
* locale/programs/ld-monetary.c (monetary_output): Likewise.
Don't restart idx pointers to idx end at the duo_int_curr_symbol
field.
Avoid giving arbitrary garbage in the crncystr field.
Use sizeof(uint32_t) instead of 4 for len in uno_valid_from,
uno_valid_to, duo_valid_from, duo_valid_to and conversion_rate
fields.
* locale/programs/ld-numeric.c (numeric_output): Likewise.
Don't restart idx pointers to idx end at the decimal_point_wc field.
* locale/programs/ld-time.c (time_output): week_1stday should be
word, not byte. Align it properly.
2000-04-19 H.J. Lu <hjl@gnu.org>
* csu/gmon-start.c (_start): Declared as "extern void".
(etext): Likewise.
2000-04-18 Andreas Jaeger <aj@suse.de>
* manual/install.texi (Running make install): Don't mention utmpd
anymore.
2000-04-18 Andreas Jaeger <aj@suse.de>
* linuxthreads/Versions: Use ld instead of ld.so.
* elf/Makefile (ld-map): Use ld.map.
* Versions.def: Use ld instead of ld.so.
* elf/Versions: Likewise.
* sysdeps/mach/hurd/Versions: Likewise.
2000-04-16 Ulrich Drepper <drepper@redhat.com>
* pthread.c: Correct long-time braino. We never set SA_SIGINFO and
therefore don't need the _rt versions of the signal handlers.
* internals.h: Declare __pthread_yield.
* elf/dl-version.c (_dl_check_map_versions): New argument trace_mode.
Before testing versions check that we actually loaded the object
and whether we are in trace mode. If not loaded during tracing don't
test versions in this object.
(_dl_check_all_versions): Take new parameter and pass to
_dl_check_map_versions.
* sysdeps/generic/ldsodefs.h: Update prototypes for
_dl_check_all_versions and _dl_check_map_versions.
* elf/rtld.c (struct version_check_args): Add dotrace.
(version_check_doit): Pass args->dotrace to _dl_check_all_versions.
(dl_main): Pass info about trace mode to version_check_doit.
* elf/dl-open.c (dl_open_worker): Pass zero as new argument to
_dl_check_all_versions.
* manual/users.texi (XPG Functions): Document utmpxname, getutmp,
and getutmpx.
Patch by Bryan Henderson <bryanh@giraffe-data.com>.
* sysdeps/unix/sysv/linux/alpha/adjtime.c: Fix typo in
compat_symbol call for old adjtime.
* sysdeps/alpha/dl-machine.h (RTLD_START): Rewrite for new init
* shlib-versions (mips.*-.*-linux.*): Support only GLIBC 2.0 and
2.2 for linuxthreads.
2000-04-14 Andreas Jaeger <aj@suse.de>
* shlib-versions (mips.*-.*-linux.*): Support only GLIBC 2.0 and
2.2 for libdl, ld and libm.
* shlib-versions (mips.*-.*-linux.*): Support only GLIBC 2.0 and
2.2 for linuxthreads.
2000-04-13 Ulrich Drepper <drepper@redhat.com>
* posix/globtest.sh: Work around inconsistency with expanding ~/
in shell (PR libc/1690). Reported by patsmith@pobox.com.
* sysdeps/pthread/pthread.h: Add prototypes for pthread_spin_init,
pthread_spin_destroy, pthread_spin_lock, pthread_spin_trylock,
and pthread_spin_unlock.
* sysdeps/pthread/bits/pthreadtypes.h: Change struct _pthread_fastlock
into pthread_spinlock_t. Change all uses.
* spinlock.c: Implement pthread_spin_lock.
Rename __pthread_unlock to __pthread_spin_unlock and define weak
alias for real name.
Define pthread_spin_trylock, pthread_spin_init, and
pthread_spin_destroy.
Change all uses of _pthread_fastlock to pthread_spinlock_t.
* spinlock.h: Rename __pthread_unlock to __pthread_spin_unlock.
Change all uses of _pthread_fastlock to pthread_spinlock_t.
* Versions [libpthread] (GLIBC_2.2): Add pthread_spin_init,
pthread_spin_destroy, pthread_spin_lock, pthread_spin_trylock,
and pthread_spin_unlock.
* cancel.c: Use __pthread_spin_unlock instead of __pthread_unlock.
Change all uses of _pthread_fastlock to pthread_spinlock_t.
* condvar.c: Likewise.
* internals.h: Likewise.
* join.c: Likewise.
* manager.c: Likewise.
* mutex.c: Likewise.
* pthread.c: Likewise.
* rwlock.c: Likewise.
* semaphore.c: Likewise.
* signals.c: Likewise.