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.
[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-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.
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-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-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.
* 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.
* 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.
* 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-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-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-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.
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.
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-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>.
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-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-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-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-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-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.
* 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-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.
* 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.
* 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-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-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-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.
* posix/getconf.c: Add support for many more POSIX options.
* sysdeps/posix/sysconf.c: Likewise.
* sysdeps/generic/bits/confname.h: Add many more POSIX options.
* sysdeps/mach/hurd/bits/posix_opt.h: Add _POSIX_REGEXP and
_POSIX_SHELL.
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
* sysdeps/unix/sysv/linux/i386/bits/time.h: Rename __CLOCK_HIGHRES to
CLOCK_PROCESS_CPUTIME_ID. Add define CLOCK_MONOTONIC and
CLOCK_THREAD_CPUTIME_ID.
* sysdeps/unix/i386/clock_getcpuclockid.c: Set *clock_id to
CLOCK_PROCESS_CPUTIME_ID.
* sysdeps/unix/i386/i586/clock_getres.c: Change for renaming of
__CLOCK_HIGHRES to CLOCK_PROCESS_CPUTIME_ID. Handle
CLOCK_THREAD_CPUTIME_ID and CLOCK_MONOTONIC the same.
* sysdeps/unix/i386/i586/clock_gettime.c: Likewise.
* sysdeps/mips/pt-machine.h (MEMORY_BARRIER): Define.
(__compare_and_swap): Mark as modifying memory.
2000-04-11 Andreas Jaeger <aj@suse.de>
* sysdeps/mips/pt-machine.h (MEMORY_BARRIER): Define.
(__compare_and_swap): Mark as modifying memory.
2000-04-11 Geoff Keating <geoffk@cygnus.com>
* sysdeps/powerpc/pt-machine.h (MEMORY_BARRIER): Don't be
__volatile__.
(__compare_and_swap): Replace other 'sync' with MEMORY_BARRIER.
Don't have the 'asm' __volatile__.
2000-04-11 Ulrich Drepper <drepper@redhat.com>
* internals.h: Define MEMORY_BARRIER as empty if not defined already.
* spinlock.c (__pthread_lock): Add memory barriers.
(__pthread_unlock): Likewise.
* sysdeps/alpha/pt-machine.h (MEMORY_BARRIER): Define using mb
instruction.
(RELEASE): Not needed anymore.
(__compare_and_swap): Mark asm as modifying memory.
* sysdeps/powerpc/pt-machine.h (sync): Remove. Replace with definition
of MEMORY_BARRIER.
(__compare_and_swap): Use MEMORY_BARRIER instead of sync.
* sysdeps/sparc/sparc32/pt-machine.h (RELEASE): Not needed anymore.
(MEMORY_BARRIER): Define using stbar.
* sysdeps/sparc/sparc64/pt-machine.h (MEMORY_BARRIER): Define using
stbar.
(__compare_and_swap): Use MEMORY_BARRIER to ensure ordering.
Patch by Xavier Leroy <Xavier.Leroy@inria.fr> based on comments by
Mike Burrows <m3b@pa.dec.com>.
1999-12-01 Andreas Jaeger <aj@suse.de>
* sysdeps/generic/if_index.c (__protocol_available): Add missing
int for parameter.
* stdio/stdio.h: Fix typo.
Patches by Marcus G. Daniels <mgd@santafe.edu>.
1999-12-01 Andreas Jaeger <aj@suse.de>
* scripts/test-installation.pl (installation_problem): Filter out
libpthread_db.
1999-12-01 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/alpha/bits/types.h: Fix signedness of
__rlim_t and __rlim64_t.
* sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise.
1999-12-01 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
oldgetrlimit64 and oldsetrlimit64 for subdir = resource.
* sysdeps/unix/sysv/linux/Versions: Add getrlimit, setrlimit,
getrlimit64 and setrlimit64 to version GLIBC_2.1.3.
* sysdeps/unix/sysv/linux/setrlimit.c: Correct handling of old and
new kernel version. Add symbol versions.
* sysdeps/unix/sysv/linux/syscalls.list: Add oldsetrlimit and
oldgetrlimit.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add s_getrlimit
and s_ugetrlimit.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/getrlimit.c: New file.
* sysdeps/unix/sysv/linux/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/oldgetrlimit64.c: New file.
* sysdeps/unix/sysv/linux/oldsetrlimit64.c: New file.
* sysdeps/unix/sysv/linux/setrlimit64.c: New file.
* sysdeps/unix/sysv/linux/alpha/oldgetrlimit64.c: New file.
* sysdeps/unix/sysv/linux/alpha/oldsetrlimit64.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/oldgetrlimit64.c: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc64/oldsetrlimit64.c: New
file.
1999-10-25 Thorsten Kukuk <kukuk@suse.de>
* md5-crypt/md5.h: Remove prototypes for public interface. md5 is
used only internal.
* md5-crypt/md5-crypt.c: Use internal names for md5 functions,
remove weak alias for public names.
* md5-crypt/md5.c: Remove weak aliase.
1999-10-25 Andreas Jaeger <aj@suse.de>
* math/README.libm-test: New file, documents libm-test.inc.
1999-10-25 Andreas Jaeger <aj@suse.de>
* math/gen-libm-test.pl: Only generate a new ulps file when -n is
given.
(print_ulps_file): Fix loops to not read @tests and @functions
since those are not initialized with -n now.
(parse_ulps): Set $results{..}{"kind"}.
1999-05-18 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-64/stdint.h (INTPTR_MAX): Add missing ).
1999-05-17 David S. Miller <davem@redhat.com>
* sysdeps/sparc/sparc32/atomicity.h: New file.
* sysdeps/sparc/sparc32/sparcv9/atomicity.h: New file.
* sysdeps/sparc/sparc64/atomicity.h: New file.
* sysdeps/sparc/sparc32/sparcv9/Makefile: Add -Wa,-Av9a to
sysdep-CFLAGS.
1998-12-21 Ulrich Drepper <drepper@cygnus.com>
* inet/gethstbynm_r.c: Remove NEED__RES definition since we do this
anyway for digits_dots.c.
* nss/getXXbyYY.c: Initialize _res before using digits_dots.c
functions.
* nss/getXXbyYY_r.c: Likewise.
1998-12-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sunrpc/key_call.c (getkeyserv_handle): Use __fcntl instead of
fcntl.
1998-12-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* locale/weight.h (get_weight): Extract string elements as
unsigned values.
1998-12-10 Ulrich Drepper <drepper@cygnus.com>
* inet/getnetgrent_r.c (innetgr): Check host and domain name with
strcasecmp, not strcmp. [PR libc/894].
1998-12-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/regex.h: Declare re_comp, re_exec if compiling for libc to
get prototypes.
* wctype/wctype.h: Add prototypes for __iswblank_l and iswblank.
1998-12-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/gethostid.c: Include <netdb.h> to get
prototype for __gethostbyname_r.
* include/time.h: Add declarations of internal interfaces.
* time/tzset.c: Remove declarations of internal interfaces.
* time/gmtime.c: Likewise.
* time/localtime.c: Likewise.
* time/offtime.c: Likewise.
* time/tzfile.c: Likewise.
1998-11-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* nscd/nscd_getpw_r.c: Include nscd_proto.h for prototypes.
* sysdeps/generic/errno-loc.c: Include <errno.h> for prototype,
undefine errno to get variable.
* sysdeps/unix/sysv/linux/i386/setfsuid.c: Include <sys/fsuid.h>
instead of <unistd.h> for prototype.
* sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise.
1998-11-30 Ulrich Drepper <drepper@cygnus.com>
* misc/err.h: Correct comments and use protected attribute keywords.
Reported by Joseph Myers <jsm28@cam.ac.uk>.
1998-11-29 Roland McGrath <roland@baalperazim.frob.com>
* malloc/thread-m.h [_LIBC]: Include <bits/libc-tsd.h>, and
remove tsd stuff from pthreads/cthreads libc sections.
Use __libc_tsd_define for MALLOC key.
[_LIBC] (tsd_key_t, tsd_key_create): Define to a zero-size type and a
no-op, respectively.
[_LIBC] (tsd_setspecific, tsd_getspecific): Use __libc_tsd_get/set.
* elf/dl-error.c: Include <bits/libc-tsd.h>.
Use __libc_tsd_define for DL_ERROR key.
(tsd_setspecific, tsd_getspecific): Rewritten using __libc_tsd_get/set.
* sysdeps/mach/hurd/bits/libc-tsd.h: New file.
* sysdeps/generic/bits/libc-tsd.h: New file.
* Makefile (distribute): Add bits/libc-tsd.h.
1998-10-12 Roland McGrath <roland@baalperazim.frob.com>
* elf/dl-error.c: Remove kludge to check for ld.so load address.
There is no need if weak undefined symbols are not used in ld.so;
see linuxthreads/ChangeLog for changes to files
linuxthreads/sysdeps/pthread/bits/libc-lock.h and
linuxthreads/sysdeps/pthread/bits/libc-tsd.h.
1998-11-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/i386/bits/string.h (__memset_cc): Fix typo (s->__s).
* sysdeps/i386/i486/bits/string.h: Add prototypes for all new
inline functions.
* sysdeps/i386/bits/string.h: Likewise.
1998-11-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Remove ipc_kludge.
1998-11-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* db2/progs/db_load/db_load.c (main): Avoid -Wparentheses warning.
1998-11-12 Ulrich Drepper <drepper@cygnus.com>
* inet/netinet/in.h: Add a few more IPPROTO_* macros.
* libio/Makefile (headers): Add bits/stdio.h.
* libio/iofread_u.c: Undefine fread_unlocked before definition.
* libio/iofwrite_u.c: Undefine fwrite_unlocked before definition.
* libio/stdio.h: Move optimizations into ...
* libio/bits/stdio.h: ...here. New file.
* libio/iofread.c: Pretty print.
1998-11-12 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/gnu/bits/utmpx.h: Protect members of struct
__exit_status with `__'. Rename pad member of struct utmpx to
__unused.
(RUN_LVL): Define unconditionally.
* sysdeps/gnu/bits/utmp.h: Rename pad member of struct utmpx to
__unused.
1998-11-12 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/netlink/netlink.h: New file, support for
Linux AF_NETLINK sockets (needed since the kernel version is
unusable).
* sysdeps/unix/sysv/linux/Makefile: Install it.
* sysdeps/unix/sysv/linux/Dist: Distribute it.
1998-11-12 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* timezone/tst-timezone.c (tests): Add entry for America/Chicago
to test for bug in PR libc/863.
1998-11-12 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Cleanup comment.
* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Rename macro
parameter lazy to do_lazy to avoid clashing with struct member name.
Reported by Ralf Baechle <ralf@uni-koblenz.de>.
1998-11-10 H.J. Lu <hjl@gnu.org>
* sysdeps/unix/sysv/linux/bits/local_lim.h: Undefine NR_OPEN
if it is defined in <linux/limits.h>.
1998-11-09 13:07 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
* include/protocols/routed.h: Include the real header with
a full path from the top of the source tree.
* include/protocols/rwhod.h: Likewise.
* include/protocols/talkd.h: Likewise.
* include/protocols/timed.h: Likewise.
* timezone/Makefile: Don't include z.ZONE files if no_deps
is set, not if avoid-generated is set.
1998-11-12 Ulrich Drepper <drepper@cygnus.com>
* signal/signal.h: Undo last change. Get definition of timespec
if __USE_POSIX199309.
* string/bits/string2.h (__strpbrk_c2): Add intermediate cast to
size_t to prevent gcc warning when using -Wqual-cast.
(__strpbrk_c3): Likewise.
Suggested by Alan Curry <pacman@cqc.com>.
* sysdeps/unix/sysv/linux/powerpc/pread.c: Do not use the i386 version.
Instead call the system call wrapper function using an 64bit argument.
* sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise.
1998-10-09 Ulrich Drepper <drepper@cygnus.com>
* posix/ptestcases.h: Fix typo.
1998-10-08 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* posix/regex.c (regcomp): Allocate and prepare a fastmap.
(regexec): Allocate regs.start and regs.end as one block.
1998-10-08 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/bits/socket.h: Remove comma at end of
enum decl.
1998-10-08 Philip Blundell <pb@nexus.co.uk>
* sysdeps/unix/sysv/linux/arm/profil-counter.h: Move definition of
sigcontext union to ...
* sysdeps/unix/sysv/linux/arm/bits/armsigctx.h: ... here. New
file.
* sysdeps/unix/sysv/linux/arm/register-dump.h: Add support for
version 2.0 kernels.
1998-09-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/mach/hurd/dl-cache.c (_dl_unload_cache): New dummy
function. Reported by okuji@kuicr.kyoto-u.ac.jp [PR libc/789].
1998-09-15 David S. Miller <davem@pierdol.cobaltmicro.com>
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup):
Add profiling support.
(TRAMPOLINE_TEMPLATE): New macro.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that.
(RTLD_START): Prettify, and set __libc_stack_end properly.
(elf_machine_rela) [R_SPARC_COPY]: Remove RTLD_BOOTSTRAP ifndef
and check for sym being NULL instead.
* sysdeps/sparc/sparc64/addmul_1.S: Adjust to allocate 192 bytes
of stack space.
* sysdeps/sparc/sparc64/lshift.S: Likewise.
* sysdeps/sparc/sparc64/mul_1.S: Likewise.
* sysdeps/sparc/sparc64/rshift.S: Likewise.
* sysdeps/sparc/sparc64/submul_1.S: Likewise.
* sysdeps/sparc/sparc64/elf/crtbegin.S: Likewise and remove old
MEDANY code model %g4 usage.
* sysdeps/sparc/sparc64/elf/crtend.S: Likewise and remove old
MEDANY code model %g4 usage.
* sysdeps/sparc/sparc64/elf/start.S: Rework to not use old FULLANY
code model address formation.
* sysdeps/sparc/sparc64/dl-machine.h: Don't include link.h, do
include elf/ldsodefs.h
(DT_SPARC): Remove.
(elf_machine_matches_host): It is now EM_SPARCV9.
(elf_machine_dynamic): Clean up to remove ugly cast.
(elf_machine_fixup_plt): Rework for new V9 ABI, add support for
new PLT formats.
(elf_machine_rela): Don't do anything at all for R_SPARC_NONE.
Prettify rest of function.
[R_SPARC_COPY]: Check for sym being NULL.
[R_SPARC_32]: Handle it.
[R_SPARC_H44, R_SPARC_M44, R_SPARC_L44]: Handle them for the
MEDMID code model.
[R_SPARC_HH22, R_SPARC_HM10, R_SPARC_LM22]: Handle them for the
MEDANY code model.
[R_SPARC_NONE]: Remove this case, as it is now checked earlier.
(elf_machine_runtime_setup): Rewrite for new V9 ABI plt formats.
Add profiling support.
(TRAMPOLINE_TEMPLATE): New macro.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that.
(RTLD_START): Prettify and set __libc_stack_end.
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (SA_SIGINFO):
Define.
* sysdeps/unix/sysv/linux/sparc/bits/signum.h (_NSIG): Set to 64.
(SIGRTMIN, SIGRTMAX, __SIGRTMIN, __SIGRTMAX): Define.
* sysdeps/unix/sysv/linux/sparc/sparc32/brk.c (__brk): Remove
unused variable scratch.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
(__syscall_rt_sigaction, __rt_sigreturn_stub, __sigreturn_stub):
Declare.
(__sigaction): Rewrite rt_sigaction case to pass correct sigreturn
stub to rt_sigaction syscalls. Rewrite non-rt case to use correct
old format kernel sigaction structures.
* sysdeps/unix/sysv/linux/sparc/sparc64/ucontext.h: Move...
* sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: to here.
* sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Remove ucontext.h
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Fix
ucontext include.
(_JMPBUF_UNWINDS): Define.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Declare
statfs64 structure, which is exactly the same as the normal one.
* sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Allocate 192 bytes
of stack. Use correct syscall trap number. Add branch prediction
settings to branch instructions. Remove old MEDANY code model %g4
referneces for non-PIC.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add
__libc_longjmp and __libc_siglongjmp strong aliases.
* sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c (__readdir64):
Also define to __no__readdir64_decl around readdir.c inclusion.
(__readdir64): Add strong alias.
* sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (getrlimit):
Set strong and weak names properly.
1998-09-16 11:25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manual/Makefile (AWK): Default to gawk if standalone.
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (distribute): Undo last change.
* Make-dist (+tsrc) [not subdir]: Also include indirection headers
for sysdep headers.
(+subdir-headers): Removed, unused.
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdio-common/Makefile ($(inst_includedir)/bits/stdio_lim.h): Use
$(do-install).
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules ($(+sysdir_pfx)sysd-Makefile): Don't check for
absolute name in $(config-sysdirs), can never happen.
($(+sysdir_pfx)sysd-rules): Likewise.
* Makeconfig (full-config-sysdirs): Likewise.
(all-Subdirs-files): Prepend $(..).
* configure.in: Don't check for absolute name in $add_ons_pfx, can
not happen. Let --enable-add-ons=yes work if no add-ons actually
exist.
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Rules ($(common-objpfx)bits/stdio_%.h): Remove extra
continuations in command.
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/oldstdfiles.c (_IO_stdin_used): Update declaration.