slotinfo list's len member to the proper size, not just 1.
Initialize static_map.l_tls_initimage.
* elf/dl-open.c (dl_open_worker): Fix loop searching for
dtv_slotinfo_list element containing new modules' l_tls_modid.
* elf/tst-tls9.c, elf/tst-tls9-static.c: New files.
* elf/tst-tlsmod5.c, elf/tst-tlsmod6.c: New files.
* elf/Makefile (tests): Add tst-tls9.
(tests-static): Add tst-tls9-static.
(tst-tls9-static-ENV): New variable.
($(objpfx)tst-tls9-static, $(objpfx)tst-tls9-static.out): New targets.
* elf/dl-close.c (remove_slotinfo): Remove an assert; the number of
modids used by partially loaded modules being closed can't be known.
variables and the AC_LINK_FILES call.
* sysdeps/powerpc/soft-fp/Versions (libc: GLIBC_2.3.2): Fix last
change to put new symbols here instead of in GLIBC_2.2.
* sysdeps/powerpc/Subdirs: Move this file ...
* sysdeps/powerpc/soft-fp/Subdirs: ... here.
sysdeps/unix/sysv/linux/i386/bits/time.h file. All the following
files were identical except for the absence of CLOCK_THREAD_CPUTIME_ID
and CLOCK_PROCESS_CPUTIME_ID in .../linux/bits/time.h; adding these
macros is ok even for architectures that don't now implement them.
* sysdeps/mach/hurd/bits/time.h: File removed.
* sysdeps/unix/sysv/linux/bits/time.h: File removed.
* sysdeps/unix/sysv/linux/i386/bits/time.h: File removed.
* sysdeps/unix/sysv/linux/ia64/bits/time.h: File removed.
* sysdeps/unix/sysv/linux/sparc/bits/time.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/bits/time.h: File removed.
* configure: Regenerated.
* sysdeps/mach/configure.in (MIG): Do the AC_CHECK_TOOL here.
Adding final - argument to all AC_CHECK_HEADER uses for .defs files.
* sysdeps/mach/configure: Regenerated.
* aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_TR_SH_PREPARE])
and AC_PROVIDE([_AS_CR_PREPARE]).
Remove AC_LANG(C) call, instead just define([_AC_LANG], [C]).
* elf/dl-support.c: Move _dl_tls_* variables to ...
* sysdeps/generic/libc-tls.c: ... here.
* elf/dl-close.c (remove_slotinfo): Take new argument. If false,
allow IDX to be one past the current last slotinfo entry.
(_dl_close): Pass IMAP->l_init_called for that parameter.
2002-10-08 Richard Henderson <rth@redhat.com>
* soft-fp/op-4.h: Handle carry correctly in
__FP_FRAC_ADD_3, __FP_FRAC_ADD_4, __FP_FRAC_SUB_3,
__FP_FRAC_SUB_4, __FP_FRAC_DEC_3, __FP_FRAC_DEC_4.
* soft-fp/op-common.h: New macros _FP_DIV_MEAT_N_loop.
2002-10-08 Aldy Hernandez <aldyh@redhat.com>
* configure.in: Compute completely-soft.
* config.make.in: Make completely-soft available to sub-makes.
* sysdeps/powerpc/soft-fp/Makefile: Add gcc-single-routines and
gcc-double-routines. Add sim-full.c. Add fenv_const and
fe_nomask to libm-support.
* sysdeps/powerpc/soft-fp/sim-full.c: New file.
* sysdeps/powerpc/soft-fp/fraiseexcpt.c: New file.
* sysdeps/powerpc/soft-fp/fegetexcept.c: New file.
* sysdeps/powerpc/soft-fp/fclrexcpt.c: New file.
* sysdeps/powerpc/soft-fp/ftestexcept.c: New file.
* sysdeps/powerpc/soft-fp/fgetexcptflg.c: New file.
* sysdeps/powerpc/soft-fp/fsetexcptflg.c: New file.
* sysdeps/powerpc/soft-fp/fedisblxcpt.c: New file.
* sysdeps/powerpc/soft-fp/feenablxcpt.c: New file.
* sysdeps/powerpc/soft-fp/fegetenv.c: New file.
* sysdeps/powerpc/soft-fp/fesetenv.c: New file.
* sysdeps/powerpc/soft-fp/fegetround.c: New file.
* sysdeps/powerpc/soft-fp/fesetround.c: New file.
* sysdeps/powerpc/soft-fp/feupdateenv.c: New file.
* sysdeps/powerpc/soft-fp/feholdexcpt.c: New file.
* sysdeps/powerpc/soft-fp/fenv_const.c: New file.
* sysdeps/powerpc/soft-fp/libm-test-ulps: New file.
* sysdeps/powerpc/soft-fp/Versions: Add libgcc soft-float
symbols. Add __sim_disabled_exceptions, __sim_exceptions,
__sim_round_mode.
* sysdeps/powerpc/soft-float/Dist: Add sim-full.c, fenv_const.c.
* sysdeps/powerpc/soft-float/sfp-machine.h: Define
FP_HANDLE_EXCEPTIONS.
Define FP_ROUNDMODE.
Redefine FP_* macros to correspond to the FE_* bit positions.
Define FP_DIV_MEAT_S to _FP_DIV_MEAT_1_loop.
Define externs for __sim_exceptions, __sim_disabled_exceptions,
__sim_round_mode, __simulate_exceptions.
* sysdeps/powerpc/fpu/bits/fenv.h: Move file from here...
* sysdeps/powerpc/bits/fenv.h: ...to here.
2002-10-06 Jakub Jelinek <jakub@redhat.com>
* sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela):
Store R_PPC_UADDR32 and R_PPC_UADDR16 one byte at a time.
Use __builtin_expect for R_PPC_ADDR24 overflow check. Fix
R_PPC_ADDR16, R_PPC_UADDR16 and R_PPC_ADDR14* overflow check, use
__builtin_expect.
* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Do CHECK_STATIC_TLS
before performing the reloc, not before.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
* elf/dl-reloc.c (_dl_relocate_object: CHECK_STATIC_TLS): New macro
to signal error if an IE-model TLS reloc resolved to a dlopen'd module.
* sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela):
Call it after performing TPOFF relocs.
* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
* elf/dl-conflict.c (CHECK_STATIC_TLS): New macro (no-op).
* elf/dl-close.c (remove_slotinfo): Change asserts so as not to crash
when closing a partially-initialized object.
* elf/dl-load.c (_dl_map_object_from_fd) [! USE_TLS]: Call lose
instead of _dl_fatal_printf when we see PT_TLS.
instead of += to append, to be sure $(lib) gets expanded at defn time.
(libof-$(cpp-src)): New variable, define this instead.
* extra-lib.mk (cpp-srcs-left): Reduce duplication in include setup.
(lib): Don't use override.
(CPPFLAGS-$(lib)): New variable, put -D's here.
* Makeconfig (CPPFLAGS): Use basename fn for CPPFLAGS-basename.
Also add $(CPPFLAGS-LIB) before the file-specific flags, for each
LIB found by $(libof-*) for basename, target, or source.
* Makerules (CPPFLAGS-nonlib): New variable.
* nscd/Makefile (lib): Set to nonlib when using cppflags-iterator.mk.
* locale/Makefile (lib): Likewise.
* sunrpc/Makefile (lib): Likewise.
* sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ...
* sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here.
* sysdeps/unix/sysv/linux/pathconf.h: New file.
(statfs_link_max): New function, guts from fpathconf.c.
* sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that.
* sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
* sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten
to use the linux/pathconf.c code by #include rather than duplication.
* sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise.
2002-10-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
Use __libc_errno only for libc itself.
* sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ...
* sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here.
* sysdeps/unix/sysv/linux/pathconf.h: New file.
(statfs_link_max): New function, guts from fpathconf.c.
* sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that.
* sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
* sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten
to use the linux/pathconf.c code by #include rather than duplication.
* sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise.
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL):
Define for 2.4+ kernels.
* sysdeps/unix/sysv/linux/i386/vfork.S: Optimize for kernels which
are known to have the vfork syscall. Don't confuse the CPUs
branch prediction unit by jumping to the return address.
* sysdeps/unix/sysv/linux/Makefile
($(objpfx)syscall-%.h $(objpfx)syscall-%.d): Take code from
sparc/Makefile to produce a bi-arch file as needed.
That's now parameterized by the variable $(64bit-predefine).
Use LC_ALL=C for `comm' commands in that rule.
No longer conditional on [$(no_syscall_list_h)].
* sysdeps/unix/sysv/linux/sparc/Makefile: Remove replacement rules.
(64bit-predefine): New variable.
* sysdeps/unix/sysv/linux/x86_64/Makefile: Likewise.
* sysdeps/unix/sysv/linux/s390/Makefile: New file.
* sysdeps/unix/sysv/linux/powerpc/Makefile
(64bit-predefine): New variable.
2002-10-15 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/Makefile
($(objpfx)syscall-%.h $(objpfx)syscall-%.d)
* login/utmp-private.h: Declare __libc_utmp_lock.
* sysdeps/unix/getlogin_r.c (getlogin_r): Take __libc_utmp_lock once
call __libc_utmp_jump_table functions directly, instead of using
__setutent et al.
* sysdeps/unix/sysv/linux/configure.in: Use case instead of if.
* sysdeps/unix/sysv/linux/configure: Regenerated.
(struct lastlog) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]:
Use int32_t for ll_time.
(struct utmp) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]:
Use int32_t instead of long int for ut_session.
Use an anonymous struct with 32-bit fields for ut_tv.
* sysdeps/gnu/bits/utmpx.h: Include <bits/wordsize.h>.
(struct utmpx) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]: Do the same
here as in utmp.h for `struct utmp'.
* sysdeps/unix/sysv/linux/powerpc/bits/utmp.h: File removed.
* sysdeps/unix/sysv/linux/powerpc/bits/utmpx.h: File removed.
* sysdeps/unix/sysv/linux/sparc/bits/utmp.h: File removed.
* sysdeps/unix/sysv/linux/sparc/bits/utmpx.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/bits/utmp.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/bits/utmpx.h: File removed.
* sysdeps/unix/sysv/linux/bits/resource.h: Replaced with the contents
of the sysdeps/unix/sysv/linux/i386/bits/resource.h file.
All the following files were identical or equivalent to it.
* sysdeps/unix/sysv/linux/i386/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/arm/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/cris/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/hppa/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/ia64/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/m68k/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/powerpc/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/s390/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/sh/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/bits/socket.h (struct msghdr): Use size_t
instead of int for msg_iovlen, instead of socklen_t for msg_controllen.
Other than the previously incorrect sign of msg_iovlen, this is a
no-op on 32-bit platforms. On 64-bit platforms it makes this header
match their layouts as well, so the following are now identical to it.
* sysdeps/unix/sysv/linux/s390/bits/socket.h: File removed.
* sysdeps/unix/sysv/linux/sparc/bits/socket.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/bits/socket.h: File removed.
* sysdeps/unix/sysv/linux/ia64/bits/socket.h: File removed.
* sysdeps/unix/sysv/linux/alpha/bits/socket.h: File removed.
2002-10-15 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/alpha/fpathconf.c (__fpathconf): Add
support for reiserfs and xfs.
* sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Add case for
XFS link count.
* sysdeps/unix/sysv/linux/linux_fsinfo.h: Define XFS_SUPER_MAGIC
and XFS_LINK_MAX.
Patch by Eric Sandeen <sandeen@sgi.com> [PR libc/4706].
Adjust TCB pointer before calling free, so we get the whole block.
2002-10-14 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sigaction.c
[HAVE_HIDDEN && !HAVE_BROKEN_VISIBILITY_ATTRIBUTE]: Declare restore_rt
extern using attribute_hidden instead of static, avoids warning.
2002-10-12 H.J. Lu <hjl@gnu.org>
* sunrpc/thrsvc.c (PROCQUIT): New.
(struct rpc_arg): New.
(dispatch): Call exit (0) if request->rq_proc == PROCQUIT.
(test_one_call): Take struct rpc_arg * instead of CLIENT *c.
(thread_wrapper): Modified for struct rpc_arg * and call PROCQUIT.
(main): Modified for struct rpc_arg *.
2002-10-14 Ulrich Drepper <drepper@redhat.com>
* dirent/scandir.c: Rearrange code a bit to reduce binary size.
2002-10-14 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Include tls.h.
(SYSCALL_ERROR_HANDLER): Use RTLD_PRIVATE_ERRNO sequence
in ld.so even if __thread is supported.
2002-10-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter):
Add hack to prevent the compiler from clobbering the signal context.
* sysdeps/unix/sysv/linux/sh/profil-counter.h (profil_counter):
Likewise.
* sysdeps/unix/sysv/linux/x86_64/profil-counter.h (profil_counter):
Likewise.
2002-10-11 Isamu Hasegawa <isamu@yamato.ibm.com>
* posix/regcomp.c (re_compile_fastmap_iter): Remove the handling
OP_CONTEXT_NODE.
(regfree): Likewise.
(create_initial_state): Likewise.
(analyze): Remove the substitutions which became useless.
(calc_first): Likewise.
(calc_epsdest): Use edests of OP_BACK_REF in case that it has
epsilon destination.
(duplicate_node_closure): New function.
(duplicate_node): Remove the handling OP_CONTEXT_NODE.
(calc_inveclosure): Likewise.
(calc_eclosure): Likewise.
(calc_eclosure_iter): Invoke duplicate_node_closure instead of
direct invocation of duplicate_node.
(parse): Don't use comma operator in the return to avoid compiler
warning.
(parse_reg_exp): Likewise.
(parse_branch): Likewise.
(parse_expression): Likewise.
(parse_sub_exp): Likewise.
(parse_dup_op): Likewise.
* posix/regex_internal.c (re_dfa_add_node): Remove the substitutions
which became useless.
(create_ci_newstate): Remove the handling OP_CONTEXT_NODE.
(create_cd_newstate): Likewise.
* posix/regex_internal.h (re_token_type_t): Remove the obsolete type.
(re_token_t): Likewise.
(re_dfa_t): Likewise.
(re_node_set_remove): New macro.
* posix/regexec.c (check_matching): Remove the handling
OP_CONTEXT_NODE.
(check_halt_node_context): Likewise.
(proceed_next_node): Likewise.
(pop_fail_stack): Fix the memory leak.
(set_regs): Likewise.
(free_fail_stack_return): New function.
(sift_states_backward): Fix the memory leak. Remove the handling
OP_CONTEXT_NODE.
(update_cur_sifted_state): Append some if clause to avoid redundant
call.
(sub_epsilon_src_nodes): Use IS_EPSILON_NODE since it might be a
back reference.
(check_dst_limits): Remove the handling OP_CONTEXT_NODE.
(check_subexp_limits): Likewise.
(search_subexp): Likewise.
(sift_states_bkref): Likewise.
(transit_state_mb): Likewise.
(transit_state_bkref_loop): Likewise.
(transit_state_bkref_loop): Likewise.
(group_nodes_into_DFAstates): Likewise.
(check_node_accept): Likewise.
(sift_ctx_init): Add initializing.
2002-10-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysdep.h (INLINE_SYSCALL): Use
__builtin_expect.
* elf/dl-load.c (_dl_map_object_from_fd): Remove unnecessarily
duplicated variable c.
* sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Use INTERNAL_SYSCALL
if possible.
Add hack to prevent the compiler from clobbering the signal context.
* sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Use
INTERNAL_SYSCALL is possible.
* sysdeps/unix/sysv/linux/i386/sysdep.h
(INTERNAL_SYSCALL_ERROR_P): New define.
(INTERNAL_SYSCALL_ERRNO): Likewise.
changed from [USE_TLS && HAVE___THREAD].
* sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel):
Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD].
* sysdeps/x86_64/dl-machine.h
(elf_machine_type_class, elf_machine_rela): Likewise.
* sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela):
Likewise.
* include/link.h (struct link_map): Remove member l_tls_tp_initialized.
* elf/rtld.c (_dl_start_final, dl_main): Don't use it.
(_dl_start): Conditionalize PT_TLS check on [USE___THREAD].
* sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal
instead of ___tls_get_addr.
(___tls_get_addr_internal): Add attribute_hidden to decl.
* sysdeps/generic/ldsodefs.h (struct rtld_global): New variable
_dl_error_catch_tsd.
* elf/rtld.c (startup_error_tsd): New function.
(dl_main): Point _dl_error_catch_tsd at that.
* elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR,
use new function pointer instead.
* elf/dl-tsd.c: New file.
* elf/Makefile (routines): Add it.
2002-10-07 Roland McGrath <roland@redhat.com>
* elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for
writev if it's available. Otherwise if [RTLD_PRIVATE_ERRNO] then
take _dl_load_lock around calling __writev.
* sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro.
(INLINE_SYSCALL): Use that.
* sysdeps/generic/dl-sysdep.h: New file.
* sysdeps/mach/hurd/dl-sysdep.h: New file.
* sysdeps/generic/ldsodefs.h: Include <dl-sysdep.h>.
* include/errno.h [IS_IN_rtld]: Include <dl-sysdep.h> to define ...
[RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and
access it directly.
* elf/dl-minimal.c (__errno_location): Removed.
* sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
Use GOTOFF access for errno.
* sysdeps/unix/sysv/linux/i386/sysdep.h
[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.
* sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
Use PC-relative access for errno.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h
[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.
* include/tls.h: New file.
(USE___THREAD): New macro.
Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling
libc or libpthread.
* sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional
changed from [USE_TLS && HAVE___THREAD].
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
* sysdeps/unix/i386/sysdep.S: Likewise.
* sysdeps/unix/x86_64/sysdep.S: Likewise.
* include/errno.h: Likewise.
* include/netdb.h: Likewise.
* include/resolv.h: Likewise.
* sysdeps/generic/errno.c: New file.
* csu/Makefile (aux): New variable, list errno.
* sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns.
* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise.
* sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise.
* sysdeps/unix/alpha/sysdep.S: Likewise.
* sysdeps/generic/start.c: Likewise.
* sysdeps/unix/start.c: Likewise.
* sysdeps/unix/arm/start.c: Likewise.
* sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
* sysdeps/unix/sparc/start.c: Likewise.
* sysdeps/unix/sysv/irix4/start.c: Likewise.
* sysdeps/unix/sysv/linux/mips/sysdep.S: File removed.
* manual/search.texi (Tree Search Function, Hash Search Function):
Mention search.h clearly.
2002-10-05 Roland McGrath <roland@redhat.com>
* elf/dl-fxstat64.c: File removed.
* elf/dl-xstat64.c: File removed.
* elf/Makefile (rtld-routines): Remove them.
* sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals.
Instead, use strong_alias instead of versioned_symbol in the
!SHLIB_COMPAT case.
* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
* include/shlib-compat.h
(SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero.
[! NOT_IN_libc] (IS_IN_libc): Define it.
* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx.
* elf/Makefile (CPPFLAGS-.os): Likewise.
* sunrpc/rpc_main.c (main): Don't declare with noreturn attribute.
Return the status instead of calling exit.
* Makeconfig (CFLAGS): Prepend -std=gnu99.
* Makerules (+make-deps): Use $(CFLAGS) only for .c sources.
Remove superfluous rm command, whose @ plus make bugs hid
all these commands from the make output.
* include/stubs-prologue.h: New file. Give #error under #ifdef _LIBC.
* Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it.
Use that file's contents instead of literal echo's for the prologue.
* include/features.h: Include <gnu/stubs.h> unconditionally.
* include/gnu/stubs.h: New file.
2002-09-30 Roland McGrath <roland@redhat.com>
* elf/rtld-Rules: New file.
* elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk,
$(objpfx)rtld-libc.a): New targets.
(generated): Add them.
(reloc-link): Remove -o $@ from the variable.
($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link).
(distribute): Add rtld-Rules.
(CPPFLAGS-.os): Define this instead of CFLAGS-.os.
* Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets.
(common-mostlyclean, common-clean): Clean up rtld-* files.
* sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules.
now-unused dtv slot, reset the slot to TLS_DTV_UNALLOCATED.
* elf/tls-macros.h [__x86_64__] (TLS_GD): Fix the sequence with the
proper set of no-op insn prefixes.
* elf/tst-tls8.c (do_test): Use %zd format for l_tls_modid members.
just return &_nl_C_locobj instead of copying it.
* locale/freelocale.c (__freelocale): Check for &_nl_C_locobj.
* locale/duplocale.c (__duplocale): Likewise.
2002-10-07 Roland McGrath <roland@frob.com>
* config.h.in (HAVE_I386_SET_GDT): New #undef.
* sysdeps/mach/configure.in: Define it with new check for i386_set_gdt.
* sysdeps/mach/configure: Regenerated.
2002-10-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
Add all necessary register outputs for syscall-clobbered registers.
2002-10-02 David Mosberger <davidm@hpl.hp.com>
* sysdeps/ia64/bzero.S: Rewritten by Sverre Jarp to tune for
Itanium 2 (and Itanium).
Fix unwind directives and make it fit in 80 columns.
* sysdeps/ia64/memset.S: Ditto.
* sysdeps/ia64/memcpy.S: Ditto.
Move jump table to .rodata section.
2002-10-03 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Add
clobbers to asm.
* sysdeps/generic/bits/libc-tsd.h [!(USE_TLS && HAVE___THREAD)]
(__libc_tsd_address): Use correct variable name.
Patch by sStefan Jones <tefan.jones@multigig.com>.
2002-10-09 Ulrich Drepper <drepper@redhat.com>
* Versions.def (libc): Add GLIBC_2.3.1.
(libpthread): Add GLIBC_2.3.1.
* include/signal.h: Add libc_hidden_proto for __sigwait, __sigwaitinfo,
and __sigtimedwait.
* signal/Versions: Add __sigtimedwait, __sigwait, and __sigwaitinfo.
* sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Add
libc_hidden_def.
* sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise.
* include/sys/msg.h: Declare __libc_msgrcv and __libc_msgsnd.
* sysdeps/unix/sysv/linux/msgrcv.c (__msgrcv): Rename to __libc_msgrcv
and make old name an alias.
* sysdeps/unix/sysv/linux/msgsnd.c (__msgsnd): Rename to __libc_msgsnd
and make old name an alias.
* sysvipc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_msgrcv and
__libc_msgsnd.
* include/sys/uio.h: Declare __libc_readv and __libc_writev.
* misc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_readv and
__libc_writev.
* sysdeps/generic/readv.c (__readv): Rename to __libc_readv and make
old name an alias.
* sysdeps/posix/readv.c: Likewise
* sysdeps/unix/sysv/aix/readv.c: Likewise.
* sysdeps/unix/sysv/linux/readv.c: Likewise.
* sysdeps/generic/writev.c (__writev): Rename to __libc_writev and make
old name an alias.
* sysdeps/posix/writev.c: Likewise
* sysdeps/unix/sysv/aix/writev.c: Likewise.
* sysdeps/unix/sysv/linux/writev.c: Likewise.
* include/sys/wait.h: Declare __waitid.
* posix/Versions (libc) [GLIBC_PRIVATE]: Add __waitid.
* sysdeps/generic/waitid.c (waitid): Rename to __waitid and make old
name an alias.
* sysdeps/posix/waitid.c: Likewise.
* sysdeps/unix/sysv/aix/waitid.c: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Add creat syscall.
2002-10-07 Jakub Jelinek <jakub@redhat.com>
* include/alloca.h (__libc_use_alloca, __libc_alloca_cutoff): New
prototypes.
(__MAX_ALLOCA_CUTOFF): Define.
Include allocalim.h.
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r,
_nss_dns_gethostbyaddr_r): Use alloca or malloc to allocate
host_buffer depending on __libc_use_alloca.
* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r,
_nss_dns_getnetbyaddr_r): Use alloca or malloc to allocate
net_buffer depending on __libc_use_alloca.
* resolv/res_query.c (res_nquery): Use alloca or malloc to allocate
buf depending on __libc_use_alloca.
* resolv/gethnamaddr.c (gethostbyname2, gethostbyaddr): Likewise.
* stdio-common/vfprintf.c (vfprintf): Use __libc_use_alloca
instead of hardcoded constants.
Pass proper size argument to alloca and compute end for wide char
version.
* stdio-common/printf_fp.c (__printf_fp): Use __libc_use_alloca
instead of hardcoded constants.
* string/strcoll.c (strcoll): Likewise.
* string/strxfrm.c (strxfrm): Likewise.
* sysdeps/posix/readv.c (__readv): Likewise.
* sysdeps/posix/writev.c (__writev): Likewise.
* sysdeps/generic/allocalim.h: New file.
2002-10-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* elf/tls-macros.h: Fix SH version of macros so as to match ABI syntax.
2002-10-03 Ulrich Drepper <drepper@redhat.com>
* version.h (RELEASE): Change to stable.
See ChangeLog.13 for earlier changes.
* sysdeps/unix/sysv/linux/powerpc/bits/ipc.h (struct ipc_perm):
Use __uint32_t and __uint64_t for __seq, __pad1, __unused[12] fields
so they are consistent between PPC32 and PPC64.
* sysdeps/unix/sysv/linux/xstatconv.c [STAT_IS_KERNEL_STAT]:
Conditionalize the function definitions on this.
* sysdeps/unix/sysv/linux/xstat.c (__xstat) [STAT_IS_KERNEL_STAT]:
Don't use xstat_conv, just fail if VERS != _STAT_VER_KERNEL.
* sysdeps/unix/sysv/linux/fxstat.c (__fxstat) [STAT_IS_KERNEL_STAT]:
Likewise.
* sysdeps/unix/sysv/linux/lxstat.c (__lxstat) [STAT_IS_KERNEL_STAT]:
Likewise.
2002-10-02 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/pt-machine.h: Make C code ifndef'ed with __ASSEMBLER__.
* sysdeps/sh/tls.h: Likewise.
* sysdeps/unix/sysv/linux/sh/smp.h: New file.
2002-10-01 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/ia64/bits/sigstack.h (MINSIGSTKSZ,
SIGSTKSZ): Changed to match kernel.
* sysdeps/unix/sysv/linux/sparc/bits/sigstack.h: New file.
2002-09-19 David Mosberger <davidm@hpl.hp.com>
* sysdeps/ia64/dl-fptr.c (make_fdesc): Load address of "local" via
a 64-bit gp-relative address to enable binaries with large data
sections.
2002-09-30 Ulrich Drepper <drepper@redhat.com>
* stdlib/cxa_finalize.c (__cxa_finalize): Call UNREGISTER_ATFORK
if it is defined.
* posix/Makefile (distribute): Add fork.h.
* sysdeps/generic/fork.h: New file.
2002-09-29 Bruno Haible <bruno@clisp.org>
* sysdeps/generic/utmp_file.c (LOCKING_FAILED): New macro.
(UNLOCK_FILE): Add a label.
(getutent_r_file, internal_getut_r, getutline_r_file, pututline_file,
updwtmp_file): Shut off the alarm clock when locking failed.
* sysdeps/unix/x86_64/sysdep.S [USE_TLS && HAVE___THREAD] [! PIC]:
Use direct-%fs form of TLS access for errno.
* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: File removed, since
the i386 version has all the same asm now.
* sysdeps/i386/elf/configure.in: Add @GOTNTPOFF and @NTPOFF uses to
the TLS support check.
* sysdeps/i386/elf/configure: Regenerated.
* sysdeps/unix/sysv/linux/i386/sysdep.h [USE_TLS && HAVE___THREAD]
(SYSCALL_ERROR_HANDLER): Use direct-%gs form of TLS access for errno.
* sysdeps/unix/i386/sysdep.S (syscall_error)
[USE_TLS && HAVE___THREAD]: Use TLS access for errno.
2002-09-30 Andreas Jaeger <aj@suse.de>
* iconvdata/tst-e2big.c (test): Use %td in printf for ptrdiff_t.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
Store 4 bytes into errno, not 8 bytes.
Define errno in .tbss.
* sysdeps/unix/x86_64/sysdep.S [USE_TLS && HAVE___THREAD]: Use TLS
access for setting errno.
* sysdeps/unix/x86_64/sysdep.S: Store 32 bits at errno, not 64 bits.
AFAICT, it was just blind luck that the word following errno in .bss
was just alignment padding and not some other variable to be clobbered.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_SETRESUID_SYSCALL): On the sparc, define to 1, not empty.
2002-09-29 Jakub Jelinek <jakub@redhat.com>
(__NR_pread, __NR_pwrite): Define these to __NR_pread64, __NR_pwrite64
if not defined.
* sysdeps/unix/sysv/linux/powerpc/lchown.S
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]: Use this condition
on chown compatibility symbol; use compat_symbol, not symbol_version.
unconditionally. Set dli_fname to _dl_argv[0] only for main program.
2002-09-27 Roland McGrath <roland@redhat.com>
* elf/dl-addr.c (_dl_addr): Add a cast.
* sysdeps/x86_64/dl-machine.h (elf_machine_rela) [USE_TLS]: Handle new
TLS relocs R_X86_64_DTPMOD64, R_X86_64_DTPOFF64, and R_X86_64_TPOFF64.
* elf/elf.h (R_X86_64_DTPMOD64, R_X86_64_DTPOFF64, R_X86_64_TPOFF64,
R_X86_64_TLSGD, R_X86_64_TLSLD, R_X86_64_DTPOFF32,
R_x86_64_GOTTPOFF, R_X86_64_TPOFF32): New macros.
(R_X86_64_NUM): Update the value.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_load_address): Don't
rely on *r_offset of R_SPARC_RELATIVE reloc in .got to contain the
addend.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_load_address): Use
the same l_addr computation.
* sysdeps/sparc/sparc64/configure.in: Removed.
* sysdeps/sparc/sparc64/configure: Removed.
* config.h.in (SPARC64_DYNAMIC_BEFORE_GOT): Remove.
* sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_DL_HWCAP_PLATFORM):
Correct the value so it covers all platforms, and is computed
from _DL_PLATFORMS_COUNT rather than hard-wired.
From Andrew Suffield <asuffield@debian.org>.
* sysdeps/powerpc/powerpc32/sysdep.h: New file. Define powerpc32
specific macros copied from sysdeps/powerpc/sysdep.h.
* sysdeps/powerpc/powerpc64/sysdep.h: New file. Define powerpc64
specific macros.
* sysdeps/unix/powerpc/sysdep.h: Include <bits/wordsize.h>.
[__WORDSIZE==64]: Include sysdeps/powerpc/powerpc64/sysdep.h.
[!__WORDSIZE==64]: Include sysdeps/powerpc/powerpc32/sysdep.h.
* sysdeps/generic/utmp_file.c (setutent_file): Invalidate last_entry
also on platforms with !HAVE_UT_TYPE.
(proc_utmp_eq): Remove function.
(internal_getut_r, pututline_file): Call __utmp_equal instead.
2002-09-20 Bruno Haible <bruno@clisp.org>
* abi-tags: Add support for FreeBSD with ABI OS value 3.
* elf/cache.c (print_entry): Support the GNU/FreeBSD ABI tag.
load, so as to work on both 32-bit and 64-bit. Remove unnecessary
casts. Align __libc_stack_end to 8 bytes.
2002-09-20 Roland McGrath <roland@redhat.com>
* sysdeps/powerpc/fpu/s_lrint.c: Use strong_alias/weak_alias macros
instead of asm for lrintf, __lrintf aliases.
* sysdeps/powerpc/fpu/s_lrint.c (__lrint): Change union long array to
int array for 32-/64-bit compatibility.
From Steven Munroe <sjmunroe@us.ibm.com>.
* sysdeps/unix/sysv/linux/ifreq.h (__if_nextreq): New function.
* sysdeps/mach/hurd/ifreq.h (__if_nextreq): New function.
* sysdeps/gnu/ifaddrs.c (getifaddrs): Use __if_nextreq
for iterating through the list of interfaces.
* resolv/res_hconf.c (_res_hconf_reorder_addrs): Likewise.
* sysdeps/unix/grantpt.c (pts_name): Set errno when __ptsname_r fails.
Reported by Bruno Haible <bruno@clisp.org>.
* sysdeps/unix/bsd/isatty.c (__isatty): Don't save and restore errno.
* sysdeps/unix/bsd/ptsname.c (__ptsname_r): Return errno value from
isatty unmodified. Reported by Bruno Haible <bruno@clisp.org>.
* sysdeps/powerpc/bits/wordsize.h: New file.
* sysdeps/powerpc/fpu/bits/mathinline.h (lrint, lrintf): Change long
array to int array for 32-/64-bit compatibility.
2002-09-20 Roland McGrath <roland@redhat.com>
* login/programs/utmpdump.c: Don't include <error.h>, <errno.h>.
* sysdeps/generic/utimes.c (__utimes): Don't check TVP for null.
Reported by Bruno Haible <bruno@clisp.org>.
* sysdeps/generic/ifreq.h (__ifreq): Compute termination condition
before doubling RQ_LEN.
* sysdeps/unix/sysv/linux/ifreq.h (__ifreq): Likewise.
Reported by Bruno Haible <bruno@clisp.org>.
2002-09-18 Bruno Haible <bruno@clisp.org>
* login/logout.c (logout): Don't assume ut_time has the same size as
a time_t.
* login/logwtmp.c (logwtmp): Likewise.
* sysdeps/pthread/configure: New file, moved here from
linuxthreads/sysdeps/unix/sysv/linux/configure.
* sysdeps/unix/sysv/linux/_exit.c: Include <errno.h>.
(_exit): Don't use ABORT_INSTRUCTION if it is not defined.
Reported by Glen Nakamura <glen@imodulo.com>.
the __ctype_* compat symbols, so the relocs generated bind to the
right versioned global symbol in the shared object.
* elf/do-rel.h (elf_dynamic_do_rel): Mask off 0x8000 bit (hidden flag)
from the value taken from the DT_VERSYM table.
* elf/dl-runtime.c (fixup, profile_fixup): Likewise.
* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Likewise.
(RESOLVE_GOTSYM): Likewise.
* sysdeps/unix/sysv/linux/sigaction.c: If SIGCANCEL is defined
define sigaction and __sigaction as wrappers around
__libc_sigaction which rejects changing SIGCANCEL.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
Ported to PowerPC64 running Linux.
* sysdeps/powerpc/powerpc64/Dist: New file.
* sysdeps/powerpc/powerpc64/Implies: New file.
* sysdeps/powerpc/powerpc64/Makefile: New file.
* sysdeps/powerpc/powerpc64/__longjmp.S: New file.
* sysdeps/powerpc/powerpc64/atomicity.h: New file.
* sysdeps/powerpc/powerpc64/backtrace.c: New file.
* sysdeps/powerpc/powerpc64/bp-asm.h: New file.
* sysdeps/powerpc/powerpc64/bsd-_setjmp.S: New file.
* sysdeps/powerpc/powerpc64/bsd-setjmp.S: New file.
* sysdeps/powerpc/powerpc64/dl-dtprocnum.h: New file.
* sysdeps/powerpc/powerpc64/dl-lookupcfg.h: New file.
* sysdeps/powerpc/powerpc64/dl-machine.c: New file.
* sysdeps/powerpc/powerpc64/dl-machine.h: New file.
* sysdeps/powerpc/powerpc64/memset.S: New file.
* sysdeps/powerpc/powerpc64/ppc-mcount.S: New file.
* sysdeps/powerpc/powerpc64/register-dump.h: New file.
* sysdeps/powerpc/powerpc64/setjmp.S: New file.
* sysdeps/powerpc/powerpc64/stpcpy.S: New file.
* sysdeps/powerpc/powerpc64/strchr.S: New file.
* sysdeps/powerpc/powerpc64/strcmp.S: New file.
* sysdeps/powerpc/powerpc64/strcpy.S: New file.
* sysdeps/powerpc/powerpc64/strlen.S: New file.
* sysdeps/powerpc/powerpc64/elf/bzero.S: New file.
* sysdeps/powerpc/powerpc64/elf/start.S: New file.
* sysdeps/powerpc/powerpc64/fpu/s_copysign.S: New file.
* sysdeps/powerpc/powerpc64/fpu/s_copysignf.S: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: New File.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/glob64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: New file.
(__ASSUME_TRUNCATE64_SYSCALL, __ASSUME_STAT64_SYSCALL, __ASSUME_IPC64,
__ASSUME_FCNTL64, __ASSUME_MMAP2_SYSCALL): Don't define these.
PowerPC64 does not have separate 64-bit syscalls.
* sysdeps/mach/hurd/_exit.c: Add libc_hidden_def.
* sysdeps/generic/_exit.c: Likewise.
2002-09-12 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (struct dl_start_final_info): New.
(_dl_start_final): Change second argument to struct
dl_start_final_info *. Set start_time from info.
(_dl_start): Remove bootstrap_map variable, add info.
Define bootstrap_map as macro. If not DONT_USE_BOOTSTRAP_MAP,
store HP_TIMING_NOW result into info.start_time.
2002-09-14 Ulrich Drepper <drepper@redhat.com>
* include/unistd.h: Declare __exit_thread.
* sysdeps/generic/libc-start.c: Remove dummy_addr.
Wrap call to main in setjmp if HAVE_CANCELBUF is defined.
* sysdeps/unix/sysv/linux/exit-thread.S: New file.
* sysdeps/unix/sysv/linux/_exit.c: New file.
* sysdeps/unix/sysv/linux/i386/_exit.S: New file.
* sysdeps/unix/sysv/linux/Makefile [subdir==posix] (sysdep_routines):
Add exit-thread.
* configure.in: Add dl_iterate_phdr to test using -nostdlib.
* elf/cache.c (print_entry): Add case for FLAG_POWERPC_LIB64.
Remove per-machine conditionals for FLAG_* cases.
* sysdeps/unix/sysv/linux/powerpc/ldconfig.h: New file.
* sysdeps/unix/sysv/linux/powerpc/readelflib.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/dl-cache.h: New file.
* csu/gmon-start.c [!TEXT_START]: Define TEXT_START if not already
defined in entry.h.
(__gmon_start__) [!ENTRY_POINT_DECL]: Use TEXT_START macro to obtain
lowest address for profiling in __monstartup call.
* sysdeps/powerpc/powerpc64/elf/entry.h: New file.
instead of __NR_pread.
* sysdeps/unix/sysv/linux/pread64.c: Likewise.
* sysdeps/unix/sysv/linux/pwrite.c: __NR_pwrite64 may be defined
instead of __NR_pwrite.
* sysdeps/unix/sysv/linux/pwrite64.c: Likewise.
no longer wrongly matches arbitrary prefixes of NAME.
Reported by Jakub Jelinek <jakub@redhat.com>.
2002-09-11 Jakub Jelinek <jakub@redhat.com>
* posix/bug-regex11.c (tests): New array.
(main): Rewritten to run more different tests.
* nscd/Makefile (CPPFLAGS-nscd, CPPFLAGS-nscd_conf, CPPFLAGS-dbg_log)
(CPPFLAGS-connections, CPPFLAGS-hstcache): Variables removed.
Instead, catch all of $(nscd-modules) via cppflags-iterator.mk.
2002-07-29 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/__longjmp.S: Moved to...
* sysdeps/powerpc/powerpc32/__longjmp.S: ...here.
* sysdeps/powerpc/add_n.S: Moved to...
* sysdeps/powerpc/powerpc32/add_n.S: ...here.
* sysdeps/powerpc/addmul_1.S: Moved to...
* sysdeps/powerpc/powerpc32/addmul_1.S: ...here.
* sysdeps/powerpc/atomicity.h: Moved to...
* sysdeps/powerpc/powerpc32/atomicity.h: ...here.
* sysdeps/powerpc/backtrace.c: Moved to...
* sysdeps/powerpc/powerpc32/backtrace.c: ...here.
* sysdeps/powerpc/bp-asm.h: Moved to...
* sysdeps/powerpc/powerpc32/bp-asm.h: ...here.
* sysdeps/powerpc/bsd-_setjmp.S: Moved to...
* sysdeps/powerpc/powerpc32/bsd-_setjmp.S: ...here.
* sysdeps/powerpc/bsd-setjmp.S: Moved to...
* sysdeps/powerpc/powerpc32/bsd-setjmp.S: ...here.
* sysdeps/powerpc/dl-machine.c: Moved to...
* sysdeps/powerpc/powerpc32/dl-machine.c: ...here.
* sysdeps/powerpc/dl-machine.h: Moved to...
* sysdeps/powerpc/powerpc32/dl-machine.h: ...here.
* sysdeps/powerpc/dl-start.S: Moved to...
* sysdeps/powerpc/powerpc32/dl-start.S: ...here.
* sysdeps/powerpc/gprrest0.S: Moved to...
* sysdeps/powerpc/powerpc32/gprrest0.S: ...here.
* sysdeps/powerpc/gprrest1.S: Moved to...
* sysdeps/powerpc/powerpc32/gprrest1.S: ...here.
* sysdeps/powerpc/gprsave0.S: Moved to...
* sysdeps/powerpc/powerpc32/gprsave0.S: ...here.
* sysdeps/powerpc/gprsave1.S: Moved to...
* sysdeps/powerpc/powerpc32/gprsave1.S: ...here.
* sysdeps/powerpc/lshift.S: Moved to...
* sysdeps/powerpc/powerpc32/lshift.S: ...here.
* sysdeps/powerpc/memset.S: Moved to...
* sysdeps/powerpc/powerpc32/memset.S: ...here.
* sysdeps/powerpc/mul_1.S: Moved to...
* sysdeps/powerpc/powerpc32/mul_1.S: ...here.
* sysdeps/powerpc/ppc-mcount.S: Moved to...
* sysdeps/powerpc/powerpc32/ppc-mcount.S: ...here.
* sysdeps/powerpc/register-dump.h: Moved to...
* sysdeps/powerpc/powerpc32/register-dump.h: ...here.
* sysdeps/powerpc/rshift.S: Moved to...
* sysdeps/powerpc/powerpc32/rshift.S: ...here.
* sysdeps/powerpc/setjmp.S: Moved to...
* sysdeps/powerpc/powerpc32/setjmp.S: ...here.
* sysdeps/powerpc/stpcpy.S: Moved to...
* sysdeps/powerpc/powerpc32/stpcpy.S: ...here.
* sysdeps/powerpc/strchr.S: Moved to...
* sysdeps/powerpc/powerpc32/strchr.S: ...here.
* sysdeps/powerpc/strcmp.S: Moved to...
* sysdeps/powerpc/powerpc32/strcmp.S: ...here.
* sysdeps/powerpc/strcpy.S: Moved to...
* sysdeps/powerpc/powerpc32/strcpy.S: ...here.
* sysdeps/powerpc/strlen.S: Moved to...
* sysdeps/powerpc/powerpc32/strlen.S: ...here.
* sysdeps/powerpc/sub_n.S: Moved to...
* sysdeps/powerpc/powerpc32/sub_n.S: ...here.
* sysdeps/powerpc/submul_1.S: Moved to...
* sysdeps/powerpc/powerpc32/submul_1.S: ...here.
* sysdeps/powerpc/elf/bzero.S: Moved to...
* sysdeps/powerpc/powerpc32/elf/bzero.S: ...here.
* sysdeps/powerpc/elf/start.S: Moved to...
* sysdeps/powerpc/powerpc32/elf/start.S: ...here.
* sysdeps/powerpc/fpu/__longjmp.S: Moved to...
* sysdeps/powerpc/powerpc32/fpu/__longjmp.S: ...here.
* sysdeps/powerpc/fpu/fprrest.S: Moved to...
* sysdeps/powerpc/powerpc32/fpu/fprrest.S: ...here.
* sysdeps/powerpc/fpu/fprsave.S: Moved to...
* sysdeps/powerpc/powerpc32/fpu/fprsave.S: ...here.
* sysdeps/powerpc/fpu/setjmp.S: Moved to...
* sysdeps/powerpc/powerpc32/fpu/setjmp.S: ...here.
* sysdeps/powerpc/fpu/s_copysign.S: Moved to...
* sysdeps/powerpc/powerpc32/fpu/s_copysign.S: ...here.
* sysdeps/powerpc/fpu/s_copysignf.S: Moved to...
* sysdeps/powerpc/powerpc32/fpu/s_copysignf.S: ...here.
* sysdeps/unix/sysv/linux/powerpc/brk.S: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: ...here.
* sysdeps/unix/sysv/linux/powerpc/clone.S: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: ...here.
* sysdeps/unix/sysv/linux/powerpc/glob64.c: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c: ...here.
* sysdeps/unix/sysv/linux/powerpc/kernel_stat.h: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: ...here.
* sysdeps/unix/sysv/linux/powerpc/socket.S: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: ...here.
* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: ...here.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: ...here.
Support PowerPC64. Separate powerpc into powerpc/powerpc32 and
powerpc/powerpc64.
2002-07-29 Steven Munroe <sjmunroe@us.ibm.com>
* FAQ.in: Add powerpc64 to supported targets list. Also state the
minimum gcc version is 3.2
* README: Add powerpc64 to supported targets list.
* configure.in: Change machine=powerpc to machine=powerpc/powerpc32.
Add powerpc64 and machine=powerpc/powerpc64.
(HAVE_ASM_GLOBAL_DOT_NAME): Define if linux*powerpc/powerpc64*.
* shlib-versions: Set DEFAULT version to 2.2.5 for powerpc64.
* sysdeps/powerpc/Dist: Remove dl-machine.c, dl-start.S, ppc-mcount.S,
gprsave1.S, gprsave0.S, gprrest1.S, and gprrest0.S.
* sysdeps/powerpc/powerpc32/Dist: New file.
* sysdeps/powerpc/Implies: Remove wordsize-32 and powerpc/soft-fp.
* sysdeps/powerpc/powerpc32/Implies: New file.
* sysdeps/powerpc/Makefile(cflags): Remove powerpc32 specific cflags.
($(with-fp) = no): Move test to powerpc32/Makefile.
($(subdir) = misc): Move to powerpc32/Makefile.
($(build-shared) = yes): Move to powerpc32/Makefile.
($(subdir) = csu): Move to powerpc32/Makefile.
(sysdep-rtld-routines): Remove dl-start. Moved these bits to ...
* sysdeps/powerpc/powerpc32/Makefile: New file.
* sysdeps/powerpc/Versions: Remove libgcc functions.
* sysdeps/powerpc/powerpc32/Versions: New file.
* sysdeps/powerpc/fpu/Makefile: Remove fprsave and fprrest.
* sysdeps/powerpc/powerpc32/fpu/Makefile: New file.
* sysdeps/unix/sysv/linux/configure.in (powerpc*):
Set arch_minimum_kernel=2.4.19 for powerpc/powerpc64. Also set
libc_cv_gcc_unwind_find_fde=yes only if !powerpc/powerpc64.
($machine): Add powerpc/powerpc64 to if ... | for
libc_cv_slibdir=/libc64.
(powerpc*): Set ldd_rewrite_script.
* sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed: New file.
* sysdeps/unix/sysv/linux/powerpc/Dist: Remove clone.S.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: New file.
Add clone.S.
* sysdeps/unix/sysv/linux/powerpc/Makefile: Remove oldgetrlimit64.
* sysdeps/unix/sysv/linux/powerpc/Versions: Remove GLIBC_2.0
functions. Remove GLIBC_2.2 functions except getrlimit and
setrlimit. Moved them to ...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: New file.
2002-09-04 Ulrich Drepper <drepper@redhat.com>
* libio/tst-atime.c: Include <errno.h>.
(do_test): Only perform fstatvfs check if ST_NOATIME is defined.
2002-09-03 Isamu Hasegawa <isamu@yamato.ibm.com>
* posix/regcomp.c (regcomp): Append "__restrict" modifier to avoid
warnings of some compilers.
(build_collating_symbol): Change the type of characters from
"unsigned char" to "char", and append a cast to "char*" pointer in
array subscript.
(build_collating_symbol): Likewise.
(build_equiv_class): Likewise.
(build_charclass): Likewise.
(re_compile_pattern): Remove incorrect cast.
(re_compile_fastmap_iter): Change the type of characters from
"unsigned char" to "char", and append a cast to "char*" pointer
in array subscript.
(parse_bracket_exp): Likewise.
* posix/regex_internal.c (re_string_construct_common): Likewise.
(re_string_allocate): Likewise.
(re_string_construct): Likewise.
(re_string_realloc_buffers): Likewise.
(build_wcs_buffer): Likewise.
(re_string_reconstruct): Likewise.
* posix/regex_internal.h: Change the type of characters in
re_string_t and bracket_elem_t from "unsigned char" to "char".
* posix/regexec.c (regexec): Append "__restrict" modifier to avoid
warnings of some compilers.
(transit_state_bkref_loop): Change the type of characters from
"unsigned char" to "char", and append a cast to "char*" pointer in
array subscript.
(check_node_accept_bytes): Likewise.
(find_collation_sequence_value): Likewise.
__pthread_initialize_minimal and __libc_check_standard_fds to
match the generic version.
* sysdeps/powerpc/Makefile (CFLAGS-pt-initfini.s): New variable.
* sysdeps/unix/sysv/linux/shmat.c (shmat): Add a cast to avoid a
warning when INLINE_SYSCALL macro uses the __syscall_ipc function.
* locale/localeconv.c (__localeconv): Cast -1 to char to avoid
warnings on platorms where char is unsigned.
Variable declarations removed.
(__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Declare
these functions to replace them.
(__isctype, tolower, toupper, _tolower, _toupper): Use those accessor
functions plus an indirection rather than the old global variables.
* include/ctype.h (__isctype, tolower, _tolower, toupper, _toupper):
Macros removed.
(__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): New extern
inline functions.
* ctype/ctype-info.c: Revert last reversion back the other way.
Define tsd vars CTYPE_B, CTYPE_TOLOWER, CTYPE_TOUPPER.
Define real function versions of include/ctype.h inlines here.
* ctype/Versions (libc: GLIBC_2.3): Add __ctype_b_loc,
__ctype_tolower_loc, __ctype_toupper_loc.
* locale/lc-ctype.c: Revert last reversion back the other way.
(_nl_postload_ctype): If current thread uses the global locale,
update its tsd vars.
* locale/uselocale.c (__uselocale): Update tsd vars from new locale.
* hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add CTYPE_B,
CTYPE_TOLOWER, CTYPE_TOUPPER.
* sysdeps/generic/bits/libc-tsd.h (__libc_tsd_address): New macro.
* sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_address): Renamed
from __libc_tsd_threadvar_location.
(__libc_tsd_set, __libc_tsd_get): Update uses.
* sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): Declare
external functions with hidden attribute.
(elf_machine_rela): Optimize.
* sysdeps/x86_64/memset.S: New file.
* sysdeps/x86_64/bzero.S: New file.
* sysdeps/x86_64/stpcpy.S: New file.
* sysdeps/x86_64/strcat.S: New file.
* sysdeps/x86_64/strchr.S: New file.
* sysdeps/x86_64/strcpy.S: New file.
* sysdeps/x86_64/strcspn.S: New file.
* sysdeps/x86_64/strlen.S: New file.
* sysdeps/x86_64/strpbrk.S: New file.
* sysdeps/x86_64/strspn.S: New file.
* sysdeps/x86_64/strcmp.S: New file.
* sysdeps/x86_64/strtok_r.S: New file.
* sysdeps/x86_64/strtok.S: New file.
* sysdeps/x86_64/memcpy.S: New file.
* sysdeps/x86_64/mempcpy.S: New file.
2002-08-31 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/x86_64/Makefile (sysdep_routines): Add
__start_context.
* sysdeps/unix/sysv/linux/x86_64/__start_context.S: New file.
* sysdeps/unix/sysv/linux/x86_64/makecontext.c: New file.
* sysdeps/unix/sysv/linux/x86_64/ucontext_i.h: Add defines for
registers used for passing args.
* sysdeps/unix/sysv/linux/x86_64/swapcontext.S: Save and restore
all needed registers.
* sysdeps/unix/sysv/linux/x86_64/setcontext.S: Restore all
registers.
* sysdeps/unix/sysv/linux/x86_64/getcontext.S: Save all needed
registers.
Change argument type from int to intptr_t.
* locale/global-locale.c (__libc_tsd_LOCALE_data): Conditionalize the
initializer on [! _HURD_THREADVAR_H] (bad kludge).
* sysdeps/mach/hurd/i386/init-first.c (init): Initialize
_HURD_THREADVAR_LOCALE slot to &_nl_global_locale.
* hurd/hurdsig.c (_hurdsig_init): Likewise. Zero other slots.
* sysdeps/mach/hurd/pwrite64.c: No libc_hidden_def (__libc_pwrite64).
* sysdeps/mach/hurd/dl-sysdep.c (__GI_abort): Define alias for abort.
* include/assert.h (__assert_perror_fail): Declare it, do hidden_proto.
* assert/assert-perr.c: Add libc_hidden_def.
* elf/dl-minimal.c [! NDEBUG] (__assert_perror_fail): New function.
* sysdeps/gnu/errlist-compat.awk: Don't fail if there are no versions
found at all.
* sysdeps/gnu/Versions: File removed. Moved all #errlist-compat
sys_errlist stuff to ...
* sysdeps/unix/sysv/linux/Versions: ... here.
* mach/mach.h: Include <features.h>.
2002-08-29 Jakub Jelinek <jakub@redhat.com>
* stdio-common/vfprintf.c (vfprintf): Add builtin_expect for
string_malloced, it is unlikely to be set.
Only call free with non-NULL workspace.
* sysdeps/sparc/sparc32/sparcv9/Makefile (sysdep-CFLAGS): Use
-mcpu=ultrasparc, not only tune for it.
(ASFLAGS*): Set unconditionally.
2002-08-29 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/readelflib.c (process_elf_file): Make loadaddr
ElfW(Addr). Don't mask upper 32-bits and lower 12 bits off from
p_vaddr/p_offset when computing loadaddr.
* sysdeps/generic/ldsodefs.h (__rtld_global_attribute__): Define.
(_rtld_global): Use it.
* sysdeps/gnu/Dist: Remove errlist-compat.c.
* sysdeps/gnu/Makefile (errlist-compat.c): Build this file in the
object directory. Pass all Versions files to the awk script.
* sysdeps/gnu/errlist-compat.c: Removed.
* sysdeps/gnu/errlist.awk: Use #errlist-compat comments from the
first Versions file in the search path which has them.
Allow multiple errlist symbol versions to have the same count of
errors.
* sysdeps/gnu/errlist-compat.awk: Include <errlist-compat.c> instead
of "errlist-compat.c".
* sysdeps/gnu/errlist.c: Regenerated.
* sysdeps/unix/sysv/linux/mips/Versions (libc): Add #errlist-compat
comments at GLIBC_2.0, GLIBC_2.1 and GLIBC_2.3.
* sysdeps/unix/sysv/linux/alpha/Versions: Likewise.
(librt): Add aio_cancel and aio_cancel64 as GLIBC_2.3.
* sysdeps/unix/sysv/linux/hppa/Versions: Likewise.
* sysdeps/unix/sysv/linux/sparc/Versions: New file.
* sysdeps/unix/sysv/linux/alpha/bits/errno.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/errno.h (ECANCELED): Define to
ECANCELLED if not defined by kernel headers.
* sysdeps/unix/sysv/linux/bits/errno.h: Don't redefine ECANCELED if
already defined by kernel headers.
* sysdeps/unix/sysv/linux/sparc/bits/errno.h: New file.
* sysdeps/pthread/aio_cancel.c: Don't include aio.h and its
aio_cancel64 renaming hack nor provide weak_alias if aio_cancel
is a macro.
* Versions.def (GLIBC_2.3) [librt]: Add.
* sysdeps/unix/sysv/linux/alpha/pipe.S: New file.
2002-08-28 Ulrich Drepper <drepper@redhat.com>
* include/libc-symbols.h [!__ASSEMBLER__] (declare_symbol_1): Add
missing comma to .type directive.
2002-08-28 Jakub Jelinek <jakub@redhat.com>
2002-08-28 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ia64/elf/configure.in (PI_STATIC_AND_HIDDEN): Define
unconditionally.
* sysdeps/alpha/elf/configure.in (libc_cv_alpha_hidden_gprel): New
check.
(PI_STATIC_AND_HIDDEN): Define if check succeeded.
2002-08-28 Jakub Jelinek <jakub@redhat.com>
* locale/loadarchive.c (_nl_load_locale_from_archive): Add fd >= 0
check to close_and_out close. Replace return NULL statements where
fd might be >= 0 with goto close_and_out. Close the file descriptor
when it is no longer needed.
PT_LOAD program headers and don't try to relocate PT_TLS's p_vaddr;
it is already absolute.
* elf/Makefile (tests): List tst-tls1 and tst-tls2 unconditionally.
[$(build-static) = yes] (tests): Add tst-tls1-static, tst-tls2-static.
[$(build-static) = yes] (tests-static): New variable.
($(tests-static):%=$(objfpx)%.o)): New static pattern rule.
2002-08-27 Ulrich Drepper <drepper@redhat.com>
* sysdeps/arm/Dist: Add bits/link.h.
* sunrpc/Makefile: Distribute thrsvc.
* stdio-common/Makefile: Remove more left-overs from old stdio.
* include/linewrap.h: Removed.
* libio/bug-mmap-fflush.c: Rewrite to not touch source directory.
* intl/Makefile (distribute): Add plural-eval.c.
* stdio-common/Makefile (headers): Remove bits/stdio_lim.h. This
file isn't distributed. Add special rules to install bits/stdio_lim.h.
* Make-dist: Remove traces of old stdio.
* Makeconfig: Likewise.
* locale/Makefile (localedef-aux): New variable. Only md5
assigned to it. These files are not ddistributed in this directory.
* sysdeps/unix/sysv/linux/s390/Dist: Add sys/procfs.h.
* sysdeps/unix/sysv/linux/s390/s390-64/Dist: Remove sys/procfs.h.
* sysdeps/unix/sysv/linux/s390/s390-32/Dist: Likewise.
* sysdeps/unix/sysv/linux/Dist: Remove sys/sendfile.h.
* sysdeps/mach/hurd/bits/errno.h: Regenerated.
* sysdeps/gnu/Versions: New file.
* sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.1): Remove
_sys_errlist; sys_errlist; _sys_nerr; sys_nerr; from here.
* sysdeps/gnu/Makefile ($(..)sysdeps/gnu/errlist-compat.c): New target.
($(objpfx)errlist.d): Depend on $(..)sysdeps/gnu/errlist-compat.c.
* sysdeps/gnu/errlist.awk: Make output define _sys_errlist_internal
and _sys_nerr_internal instead of anything else. Make it include
"errlist-compat.c" if [!NOT_IN_libc && !ERRLIST_NO_COMPAT].
Make it emit some asm magic if [EMIT_ERR_MAX].
* sysdeps/gnu/errlist.c: Regenerated.
* sysdeps/gnu/errlist-compat.awk: New file.
* sysdeps/gnu/errlist-compat.c: New file (generated).
* sysdeps/mach/hurd/errlist.c (ERRLIST_NO_COMPAT): New macro.
(_sys_errlist_internal): Define this as a macro for _hurd_errlist.
(_sys_nerr_internal): Define this is a macro for _hurd_nerr.
(SYS_ERRLIST, SYS_NERR): Macros removed.
(sys_nerr, _sys_nerr): Remove these weak aliases.
* sysdeps/unix/sysv/linux/errlist.c: File removed.
* sysdeps/unix/sysv/linux/errlist.h: File removed.
* sysdeps/unix/sysv/linux/arm/errlist.c: File removed.
* include/libc-symbols.h (declare_symbol): New macro.
* config.h.in (ASM_TYPE_DIRECTIVE_PREFIX): New #undef.
* configure.in: New check to define it.
* configure: Regenerated.
* sysdeps/gnu/Versions: New file.
* sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.1): Remove
_sys_errlist; sys_errlist; _sys_nerr; sys_nerr; from here.
* sysdeps/gnu/Makefile ($(..)sysdeps/gnu/errlist-compat.c): New target.
($(objpfx)errlist.d): Depend on $(..)sysdeps/gnu/errlist-compat.c.
* sysdeps/gnu/errlist.awk: Make output define _sys_errlist_internal
and _sys_nerr_internal instead of anything else. Make it include
"errlist-compat.c" if [!NOT_IN_libc && !ERRLIST_NO_COMPAT].
Make it emit some asm magic if [EMIT_ERR_MAX].
* sysdeps/gnu/errlist.c: Regenerated.
* sysdeps/gnu/errlist-compat.awk: New file.
* sysdeps/gnu/errlist-compat.c: New file (generated).
* sysdeps/mach/hurd/errlist.c (ERRLIST_NO_COMPAT): New macro.
(_sys_errlist_internal): Define this as a macro for _hurd_errlist.
(_sys_nerr_internal): Define this is a macro for _hurd_nerr.
(SYS_ERRLIST, SYS_NERR): Macros removed.
(sys_nerr, _sys_nerr): Remove these weak aliases.
* sysdeps/unix/sysv/linux/errlist.c: File removed.
* sysdeps/unix/sysv/linux/errlist.h: File removed.
* sysdeps/unix/sysv/linux/arm/errlist.c: File removed.
2002-08-26 Ulrich Drepper <drepper@redhat.com>
* libio/Makefile (tests): Add bug-fopena+.
* libio/bug-fopena+.c: New file.
* stdio-common/tst-swprintf.c (main): Add casts to avoid warnings.
* locale/xlocale.c: Fix the last change. The variable still has
to end in _data.
* sysdeps/generic/bits/libc-tsd.h [!(USE_TLS && HAVE___THREAD)]
(__libc_tsd_set): Add _data prefix to variable name.
resetting handler, to avoid the possibility of a spurious SIGALRM
delivered to the user's handler.
Reported by Amit D. Chaudhary <amitc@brocade.com>,
* misc/Makefile (CFLAGS-init-misc.c): Varaible removed. It served to
set -fkeep-inline-functions, which is not needed for the current file.
* sysdeps/generic/ldsodefs.h: Add attribute_hidden to *_internal decls.
(_dl_setup_hash): Add attribute_hidden.
(_dl_sysdep_start, _dl_sysdep_start_cleanup): Likewise.
(_dl_sysdep_read_whole_file, _dl_dprintf): Likewise.
(_dl_new_object, _dl_map_object_deps): Likewise.
(_dl_map_object_deps_internal): Remove decl.
* elf/rtld.c (__mempcpy, _exit): Redeclare locally as hidden.
* sysdeps/i386/dl-machine.h [PI_STATIC_AND_HIDDEN
&& HAVE_VISIBILITY_ATTRIBUTE && HAVE_HIDDEN
&& !HAVE_BROKEN_VISIBILITY_ATTRIBUTE]
(elf_machine_dynamic, elf_machine_load_address): Rewritten without asm,
instead relying on the compiler to produce only GOTOFF variable refs.
* sysdeps/ieee754/dbl-64/e_pow.c (log1): Define and initialize
two52 locally.
(log2): Likewise.
* sysdeps/ieee754/dbl-64/upow.h: Remove definition of two52.
Patch by Simon Gee <simong@agile.tv>.
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf):
Prefer reading /proc/stat since it is more uniform across
architectures.1
* manual/texinfo.tex: Update to latest official version.
* sysdeps/powerpc/elf/libc-start.c
(__cache_line_size): Declare.
(__aux_init_cache): New.
(__libc_start_main): Change type of `auxvec' parameter to
`ElfW(auxv_t) *'. Correct walking of aux vector. Call
__aux_init_cache.
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
(__cache_line_size): Declare.
(__aux_init_cache): New.
(DL_PLATFORM_INIT): Define.
* sysdeps/powerpc/memset.S: Define __cache_line_size and use its
value to select the correct stride for dcbz.
2002-08-22 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/elf/libc-start.c
(__cache_line_size): Declare.
(__aux_init_cache): New.
(__libc_start_main): Change type of `auxvec' parameter to
`ElfW(auxv_t) *'. Correct walking of aux vector. Call
__aux_init_cache.
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
(__cache_line_size): Declare.
(__aux_init_cache): New.
(DL_PLATFORM_INIT): Define.
* sysdeps/powerpc/memset.S: Define __cache_line_size and use its
value to select the correct stride for dcbz.
Changes contributed by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
and Jack Howarth <howarth@bromo.med.uc.edu>.
* sysdeps/powerpc/Makefile [$(have-protected) = yes]
(CPPFLAGS-divdi3.c, CPPFLAGS-libgcc-compat.S): New variables,
pass -DHAVE_DOT_HIDDEN for these files.
* sysdeps/powerpc/Versions (libc: GLIBC_2.0): Added __floatdidf,
__floatdisf.
* sysdeps/powerpc/divdi3.c: New file.
* sysdeps/powerpc/libgcc-compat.S: New file, replacement for ...
* sysdeps/powerpc/libgcc-compat.c: ... this, file removed.
* 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
2002-08-20 Ulrich Drepper <drepper@redhat.com>
* elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_tls_static_info.
* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Move dtv
memory allocation to...
(allocate_dtv): ...here. New function.
(_dl_allocate_tls): Change to take parameter. If parameter is non-NULL
call allocate_dtv instead of _dl_allocate_tls_storage.
(_dl_deallocate_tls): New parameter. Deallocate TCB only if true.
(_dl_get_tls_static_info): New function.
* sysdeps/generic/ldsodefs.h: Adjust prototypes of _dl_allocate_tls
and _dl_deallocate_tls. Add prototype for _dl_get_tls_static_info.
2002-08-15 Ulrich Drepper <drepper@redhat.com>
* csu/Makefile: Define elide-routines.os not static-only-routines.
* include/sched.h (__clone): Add varargs at the end.
* elf/rtld.c (_dl_start): All TLS_INIT_TP to fail and stop in that
case.
(TLS_INIT_HELPER): If defined use it.
* sysdeps/generic/libc-tls.c (TLS_INIT_HELPER): Likewise.
* locale/loadarchive.c (archfname): Add missing slash.
* sysdeps/generic/strtold.c (__strtold_internal): Add libc_hidden_def.
* wcsmbs/wcstold.c (__wcstold_internal): Add libc_hidden_def.
the type of locale_data_t's elements.
* locale/programs/locarchive.c (cmpcategorysize): New static function.
(add_locale): Use that to sort the categories by size and put all
those that fit into two pages into the LC_ALL block, instead of
hard-coding it to do everything but LC_CTYPE and LC_COLLATE.
(show_archive_content): Detect categories inside LC_ALL block
directly, instead of hard-coding.
2002-08-14 Jakub Jelinek <jakub@redhat.com>
* locale/programs/locarchive.c (struct oldlocrecent): New.
(oldlocrecentcmp): New.
(enlarge_archive): Re-add locales in the order they were added
to the archive.
(add_locale): Put all the small locale files together, if the small
locale file block would occupy less pages if page size aligned, align
it.
(show_archive_content): Adjust for locale archives optimized for speed.
2002-08-14 Roland McGrath <roland@frob.com>
* configure.in: Use "MISSING" as not-found value for MIG.
* sysdeps/mach/configure.in: Fatal if mig not found.
* configure, sysdeps/mach/configure: Regenerated.
2002-08-11 Philip Blundell <philb@gnu.org>
* sysdeps/arm/Makefile: New file.
2002-08-08 Jakub Jelinek <jakub@redhat.com>
* posix/regcomp.c (parse_reg_exp): If '|' is immediately followed
by another '|', end of regex or enclosing ')', clear branch.
* posix/bug-regex9.c: New test.
* posix/Makefile (tests): Add bug-regex9.
start count condition, use TOTAL instead of variable that was never
set. Fix outer loop termination condition to TOTAL >= after update.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Initialize
dl_tls_static_align and dl_tls_static_nelem.
* include/signal.h: No libc_hidden_proto for raise,
__libc_current_sigrtmin, __libc_current_sigrtmax.
These need to be overridden by linuxthreads.
* sysdeps/posix/raise.c: Reverted.
* sysdeps/generic/raise.c: Reverted.
* signal/allocrtsig.c: Reverted.
name to find codeset name (if any) and normalize it. If the
normalized name differs, look up only that in the archive.
* locale/programs/locarchive.c (add_locale_to_archive): If the name
contains a codeset, normalize the codeset store only the normalized
name in the archive. If not, add an alias containing the locale's
normalized codeset name. Apply codeset name normalization when
matching entries in the alias file.
* locale/programs/locarchive.c (delete_locales_from_archive): Don't
decrement HEAD->namehash_used here.
(add_locale): Only need to insert name string when name_offset != 0.
* locale/programs/localedef.c (options): Add -A/--alias-file.
(alias_file): New variable.
(parse_opt): Grok -A, set that.
* locale/programs/localedef.h: Declare it.
* locale/programs/locarchive.c (insert_name): New function, broken out
of ...
(add_locale_to_archive): ... here. Call that.
(add_alias): New function.
(add_locale): New static function, add_locale_to_archive renamed.
(add_locale_to_archive): Call that and use add_alias to add an alias
for the name with codeset if the given name lacks it.
(enlarge_archive): Call add_locale instead of add_locale_to_archive.
* locale/Makefile (routines): Add loadarchive.
* locale/loadarchive.c: New file, started from code by Ulrich Drepper.
(_nl_load_locale_from_archive): New function.
* locale/localeinfo.h: Declare it.
* locale/findlocale.c (_nl_find_locale): If using default locale path,
try _nl_load_locale_from_archive first.
* locale/loadlocale.c (_nl_intern_locale_data): New function,
broken out of _nl_load_locale.
(_nl_load_locale): Call that.
* locale/localeinfo.h: Declare it.
(struct locale_data): Replace member `mmaped' with `alloc', an enum.
(struct locale_data): Remove unused member `options'.
* locale/findlocale.c (_nl_remove_locale): Update uses.
* locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise.
* locale/C-collate.c: Update initializer.
* locale/C-identification.c: Likewise.
* locale/C-measurement.c: Likewise.
* locale/C-telephone.c: Likewise.
* locale/C-address.c: Likewise.
* locale/C-name.c: Likewise.
* locale/C-paper.c: Likewise.
* locale/C-time.c: Likewise.
* locale/C-numeric.c: Likewise.
* locale/C-monetary.c: Likewise.
* locale/C-messages.c : Likewise.
* locale/C-ctype.c: Likewise.
* locale/hashval.h [! LONGBITS]: Include <limits.h> here and
use CHAR_BIT instead of BITSPERBYTE.
* locale/localeinfo.h (_nl_find_locale, _nl_load_locale,
_nl_unload_locale): Add `internal_function attribute_hidden' to decls.
* locale/findlocale.c (_nl_find_locale): Add internal_function to defn.
(_nl_remove_locale): Likewise.
* locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise.
* locale/findlocale.c (_nl_default_locale_path): New variable.
(_nl_find_locale): If LOCALE_PATH is null, default to that.
* locale/localeinfo.h: Declare it.
* locale/setlocale.c (setlocale): Use _nl_default_locale_path
in place of LOCALEDIR. If no LOCPATH, pass null to _nl_find_locale.
* locale/newlocale.c (__newlocale): Likewise.
* misc/err.c (vwarnx, vwarn): Fix typos in libc_hidden_def uses.
* inet/rexec.c (rexec_af): Add libc_hidden_def.
* sysdeps/generic/morecore.c: Likewise.
* signal/allocrtsig.c (__libc_current_sigrtmin): Likewise.
(__libc_current_sigrtmax): Likewise.
2002-08-08 Roland McGrath <roland@redhat.com>
* locale/loadlocale.c (_nl_load_locale): Don't use MAP_INHERIT.
* catgets/open_catalog.c (__open_catalog): Likewise.
* locale/programs/locarchive.c (INITIAL_NUM_NAMES): Renamed
from typo INITIAL_NUM_NANES.
(create_archive): Update use.
2002-08-08 Jakub Jelinek <jakub@redhat.com>
* sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define to something
else and undefine after including wcstol_l.c.
* sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Similarly.
2002-05-24 Robert Love <rml@tech9.net>
* posix/Makefile (routines): Add sched_getaffinity and
sched_setaffinity.
* posix/sched.h: Add declarations for sched_getaffinity and
sched_setaffinity.
* sysdeps/generic/sched_getaffinity.c: New file.
* sysdeps/generic/sched_setaffinity.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add sched_getaffinity and
sched_setaffinity.
2002-08-06 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/utime.c: If TIMES is NULL pass it through to utimes.
Use libc_hidden_proto for getopt_long, getopt_long_only.
* posix/getopt1.c [_LIBC]: Include <getopt.h> instead of "getopt.h".
Add libc_hidden_def.
* sysdeps/generic/unwind-dw2-fde-glibc.c [_LIBC] (dl_iterate_phdr):
Define as a macro for __dl_iterate_phdr.
* inet/getnetgrent_r.c (internal_setnetgrent): Renamed from __ name,
made static. Add __ name as a strong alias.
(internal_endnetgrent): Likewise.
(internal_getnetgrent_r): Likewise.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Replace member
`bool _dl_initial_dtv_malloced' with `void *_dl_initial_dtv'.
* elf/rtld.c (dl_main): Set it to the new dtv for the main thread.
* sysdeps/generic/dl-tls.c (__tls_get_addr): When reallocating the
dtv, check if it matches _dl_initial_dtv; if so, malloc and copy the
old data, abandoning the original memory allocated by rtld at startup,
instead of calling realloc normally.
actually iterate over the elements. Fix typo p_type -> p_vaddr.
* include/pthread.h: Don't declare __pthread_initialize_minimal as
weak here; we declare it weak or strong in the one place we use it.
* sysdeps/generic/libc-start.c: ... which is here.
Don't make the decl weak if [USE_TLS], since static programs need TLS
setup even when single-threaded.
cppflags-iterator.mk, must append .c to $(tests) and $(xtests)
words. Combine the two loops into one on the concatenated list,
including those as well as $(test-srcs).
* elf/dl-minimal.c (__libc_memalign): Guts of malloc moved here,
since we align here with optimally minimal waste anyway.
(malloc): Just call that.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Set l_tls_offset to
the right variable.
* elf/dl-load.c (_dl_map_object_from_fd): Use p_vaddr, not p_offset,
to compute memory location for l_tls_initimage.
* elf/rtld.c (_dl_start): Likewise.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise.
* libio/oldiopopen.c: Move #include's before #if SHLIB_COMPAT,
because the .d file is generated in the non-shared case and
so fails to catch them otherwise.
* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): New function,
split out of _dl_allocate_tls.
(_dl_allocate_tls_init): Likewise.
(_dl_allocate_tls): Call those.
* sysdeps/generic/ldsodefs.h: Declare them with attribute_hidden.
* elf/rtld.c (dl_main): Call them separately instead of calling
_dl_allocate_tls. Delay _dl_allocate_tls_init until after relocation
is finished, so that the initializer data has been relocated before we
copy it into the main thread's TLS block.
* sysdeps/generic/dl-tls.c (_dl_allocate_tls): Fix off-by-one error in
loop conditions, prevented the last used module from being initialized.
* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): New function,
split out of _dl_allocate_tls.
(_dl_allocate_tls_init): Likewise.
(_dl_allocate_tls): Call those.
* sysdeps/generic/ldsodefs.h: Declare them with attribute_hidden.
* elf/rtld.c (dl_main): Call them separately instead of calling
_dl_allocate_tls. Delay _dl_allocate_tls_init until after relocation
is finished, so that the initializer data has been relocated before we
copy it into the main thread's TLS block.
* sysdeps/generic/dl-tls.c (_dl_allocate_tls): Fix off-by-one error in
loop conditions, prevented the last used module from being initialized.
2002-08-04 Ulrich Drepper <drepper@redhat.com>
* stdio-common/psignal.c: Declare _sys_siglist_internal. Use USEINT
to access _sys_siglist.
* string/strsignal.c: Likewise.
* sysdeps/generic/siglist.c: Add _sys_siglist_internal alias.
* sysdeps/gnu/siglist.c: Likewise.
* sysdeps/unix/siglist.c: Likewise.
* sysdeps/unix/sysv/linux/arm/siglist.c: Likewise.
* libio/fileops.c: Add missing INTUSEs for _IO_file_jumps.
* libio/wfileops.c: Add missing INTUSE for _IO_file_close.
* intl/dcigettext.c: Define _nl_default_dirname_internal as hidden
alias and use it.
* intl/bindtextdom.c: Use _nl_default_dirname_internal.
* include/netinet/in.h: Add declaration of in6addr_loopback_internal.
* inet/in6_addr.c: Add INTVARDEF for in6addr_loopback.
* sysdeps/posix/getaddrinfo.c: Use INTUSE for in6addr_loopback access.
* include/time.h: Add libc_hidden_proto for __gmtime_r.
* time/gmtime.c (__gmtime_r): Add libc_hidden_def.
* iconv/Versions: Replace __gconv_alias_db, __gconv_modules_db,
and __gconv_cache with __gconv_get_alias_db, __gconv_get_modules_db,
and __gconv_get_cache respectively.
* iconv/gconv_cache.c (gconv_cache): Renamed for __gconv_cache and
defined static. Change all users.
(__gconv_get_cache): New function.
* iconv/gconv_db.c (__gconv_get_modules_db): New function.
(__gconv_get_alias_db): New function.
* iconv/gconv_int.h (__gconv_alias_db): Declare as hidden.
(__conv_modules_db): Likewise.
Add prototypes for __gconv_get_cache, __gconv_get_modules_db,
and __gconv_get_alias_db.
* iconv/iconv_prog.c: Use the new functions instead of accessing the
variables.
* include/stdlib.h: Add prototype and libc_hidden_proto for
__default_morecore.
* sysdeps/generic/morecore.c: Include <stdlib.h>.
* malloc/obstack.c: Remove fputs macro.
* malloc/mtrace.c: Remove fopen macro.
* include/libc-symbols.h: Fix [__ASSEMBLY__] -> [__ASSEMBLER__].
[__ASSEMBLER__] (hidden_weak): Define using hidden_def, or to empty.
[__ASSEMBLER__] (HIDDEN_JUMPTARGET): New macro.
* sysdeps/unix/sysv/linux/i386/makecontext.S: Use it for exit.
[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.
* libio/stdio.h (sys_errlist, sys_nerr, _sys_errlist, _sys_nerr):
Declarations moved to <bits/sys_errlist.h>. Include that file.
* 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
provide declarations.
2002-07-15 Alexandre Oliva <aoliva@redhat.com>
* configure.in (static_nss): Set to `yes' if --disable-shared.
2002-07-23 Bruno Haible <bruno@clisp.org>
* intl/loadmsgcat.c (PRI*): Redefine the macros if PRI_MACROS_BROKEN
is set.
2002-07-25 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h: New file.
* sysdeps/unix/sysv/linux/ia64/profil-counter.h: Fix profil_counter
arguments.
2002-07-25 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/alpha/adjtime.c (__adjtimex_internal): Add
alias.
2002-07-21 Bruno Haible <bruno@clisp.org>
* intl/libintl.h (__GNU_GETTEXT_SUPPORTED_REVISION): New macro.
* intl/gettext.h (struct mo_file_header): New fields n_sysdep_segments,
sysdep_segments_offset, n_sysdep_strings, orig_sysdep_tab_offset,
trans_sysdep_tab_offset.
(struct sysdep_segment): New type.
(struct sysdep_string): New type.
(SEGMENTS_END): New macro.
* intl/gettextP.h (struct sysdep_string_desc): New type.
(struct loaded_domain): New fields malloced, n_sysdep_strings,
orig_sysdep_tab, trans_sysdep_tab, must_swap_hash_tab. Make fields
orig_tab, trans_tab, hash_tab to const pointers because they point
into read-only memory.
* intl/loadmsgcat.c: Include stdint.h, inttypes.h, hash-string.h.
(PRI*): Define fallback values.
(get_sysdep_segment_value): New function.
(_nl_load_domain): Distinguish major and minor revision parts. Add
support for minor revision 1 with system dependent strings.
(_nl_unload_domain): Also free the 'malloced' field.
* intl/dcigettext.c (_nl_find_msg): Remove test for domain->hash_size,
now done in loadmsgcat.c. Add support for system dependent strings.
This implementation supports only IPv4.
* inet/ifaddrs.h: New file.
* sysdeps/generic/ifaddrs.c: New file.
* sysdeps/gnu/ifaddrs.c: New file.
* inet/test-ifaddrs.c: New file.
* inet/Makefile (routines): Add ifaddrs.
(headers): Add ifaddrs.h here.
(tests): Add test-ifaddrs.
* inet/Versions (GLIBC_2.3): New set, add getifaddrs and freeifaddrs.
* resolv/res_hconf.c (_res_hconf_reorder_addrs): Use an explicit
socket call to get an AF_INET socket, instead of using __opensock.
The SIOCGIFNETMASK ioctl will work only with a PF_INET socket.
* sysdeps/generic/ifreq.h (__ifreq): Take third argument SOCKFD,
if not -1 use it instead of calling __opensock.
* sysdeps/unix/sysv/linux/ifreq.h (__ifreq): Likewise.
* sysdeps/mach/hurd/ifreq.h (__ifreq): Take new argument and ignore it.
* resolv/res_hconf.c (_res_hconf_reorder_addrs): Pass new argument.
* sysdeps/mach/hurd/ifreq.h: New file.
* sysdeps/generic/ifreq.h (__if_freereq): Take second argument NUM_IFS.
* sysdeps/unix/sysv/linux/ifreq.h (__if_freereq): Likewise.
* resolv/res_hconf.c (_res_hconf_reorder_addrs): Update caller.
2002-07-24 Philip Blundell <philb@gnu.org>
* sysdeps/unix/arm/brk.S: Improve schedule.
* sysdeps/unix/sysv/linux/arm/socket.S (PUSHARGS_1): Use more
efficient instruction.
(__socket): Optimize return sequence.
* locale/hashval.h: Make more self-contained by defining LONG_BITS.
2002-07-22 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/errlist.c: Remove extra weak alias
definiton of _old_sys_nerr. Define _old_sys_errlist as strong
alias.
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.
* sysdeps/unix/sysv/linux/ldsodefs.h (HAVE_AUX_XID): Define if
__ASSUME_AT_XID is defined.
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_AT_XID): Define
for 2.4.1 and up.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Optimize handling
of AT_UID, AT_EUID, AT_GID, and AT_EGID.
2002-07-18 Jakub Jelinek <jakub@redhat.com>
* resource/sys/resource.h (__rlimit_resource_t, __rusage_who_t,
__priority_which_t): Always typedef to int for C++.
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-07-06 Bruno Haible <bruno@clisp.org>
* sysdeps/i386/fpu/libm-test-ulps: Add some ulps for AMD K7.
* rt/Makefile (tests): Don't add tst-aio* in a single-threaded build.
* sysdeps/unix/bsd/sun/sunos4/bits/utsname.h: Test for _SYS_UTSNAME_H,
not _UTSNAME_H.
* sysdeps/unix/bsd/ultrix4/bits/utsname.h: Likewise.
* sysdeps/generic/bits/stropts.h: Protect against direct inclusion.
* sysdeps/generic/bits/ustat.h: Likewise.
* sysdeps/unix/sysv/linux/bits/statvfs.h (ST_NODIRATIME): Set to
2048.
2002-06-30 Ulrich Drepper <drepper@redhat.com>
* math/libm-test.inc (cexp_test): Add missing L suffix for
expected result. Reported by Stephen L Moshier <steve@moshier.net>.
* sysdeps/i386/fpu/libm-test-ulps: Adjust error for cexp (0.75 +
1.25 i).
2002-06-18 Amos Waterland <apw@us.ibm.com>
* sysdeps/pthread/aio_cancel.c (aio_cancel): Add check for invalid
file descriptor.
* sysdeps/pthread/aio_fsync.c (aio_fsync): Add check for invalid fd;
add check for fd not open for writing.
* sysdeps/pthread/aio_suspend.c (aio_suspend): Add check for
completed element(s) and do not suspend thread if so. Patch
heavily modified by drepper.
* rt/tst-aio7.c: New file. Regression test for problems which the
above three changes fix.
* rt/Makefile (tests): Add tst-aio7.
* rt/tst-aio6.c: Fix comment.
2002-05-26 Bruno Haible <bruno@clisp.org>
* iconv/loop.c (STANDARD_FROM_LOOP_ERR_HANDLER): New macro.
(STANDARD_TO_LOOP_ERR_HANDLER): Renamed from STANDARD_ERR_HANDLER.
All callers changed.
* iconv/gconv_simple.c (ascii_internal_loop): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(utf8_internal_loop): Likewise.
(ucs2_internal_loop): Likewise.
(internal_ucs2_loop): Perform error handling like in
STANDARD_FROM_LOOP_ERR_HANDLER.
* iconvdata/unicode.c (BODY for TO_LOOP): Perform error handling like
in STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
* iconvdata/utf-16.c (BODY for TO_LOOP): Perform error handling like
in STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
* iconvdata/utf-32.c (BODY for TO_LOOP): Perform error handling like
in STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
* iconvdata/big5.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
* iconvdata/iso-2022-jp.c (BODY for FROM_LOOP): Likewise.
* iconvdata/8bit-gap.c (BODY for FROM_LOOP): Likewise.
* iconvdata/8bit-generic.c (BODY for FROM_LOOP): Likewise.
* iconvdata/ansi_x3.110.c (BODY for FROM_LOOP): Likewise.
* iconvdata/armscii-8.c (BODY for FROM_LOOP): Likewise.
* iconvdata/cp1255.c (BODY for FROM_LOOP): Likewise.
* iconvdata/cp1258.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-cn.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-jisx0213.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-jp.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-kr.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-tw.c (BODY for FROM_LOOP): Likewise.
* iconvdata/big5hkscs.c (BODY for FROM_LOOP): Likewise.
* iconvdata/gb18030.c (BODY for FROM_LOOP): Likewise.
* iconvdata/gbk.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-cn.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-jp-3.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-kr.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso646.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso_6937-2.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso_6937.c (BODY for FROM_LOOP): Likewise.
* iconvdata/johab.c (BODY for FROM_LOOP): Likewise.
* iconvdata/shift_jisx0213.c (BODY for FROM_LOOP): Likewise.
* iconvdata/sjis.c (BODY for FROM_LOOP): Likewise.
* iconvdata/t.61.c (BODY for FROM_LOOP): Likewise.
* iconvdata/uhc.c (BODY for FROM_LOOP): Likewise.
* iconvdata/utf-7.c (BODY for FROM_LOOP): Likewise.
* iconvdata/gbbig5.c (BODY for FROM_LOOP): Likewise. When ignoring
an error, still set result = __GCONV_ILLEGAL_INPUT.
(BODY for TO_LOOP): Likewise.
* iconvdata/ibm930.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm932.c: Include <dlfcn.h> and <stdint.h>.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm933.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm935.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm937.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm939.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm943.c: Include <dlfcn.h> and <stdint.h>.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/gbgbk.c (BODY for FROM_LOOP): Update.
* iconvdata/iso8859-1.c (BODY for TO_LOOP): Update.
* iconvdata/tcvn5712-1.c (BODY for TO_LOOP): Update.
2002-06-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/dl-machine.h (elf_machine_load_address): Use local
labels in assembler instructions.
2002-06-20 Andreas Jaeger <aj@suse.de>
* math/libm-test.inc: Use exact values as input parameters,
compute output parameters with 36 digits for 128-bit long doubles.
* sysdeps/i386/fpu/libm-test-ulps: Regenerated.
* sysdeps/x86-64/fpu/libm-test-ulps: Regenerated.
2002-06-13 Stephen L Moshier <steve@moshier.net>
* sysdeps/ieee754/ldbl-96/s_scalbnl.c: Fix cases in which
argument or result is subnormal.
2002-06-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/fpu/s_remquo.S: Fix three mistakes in computing the
quotient.
* sysdeps/i386/fpu/s_remquof.S: Likewise.
* sysdeps/i386/fpu/s_remquol.S: Likewise.
* sysdeps/hppa/dl-machine.h: Don't use multi-line string literals.
* sysdeps/unix/sysv/linux/alpha/sendfile64.c: New file.
* sysdeps/unix/sysv/linux/ia64/sendfile64.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/sendfile64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/sendfile64.c: New file.
* hurd/hurdstartup.h (_hurd_startup): int -> intptr_t in MAIN arg type.
* hurd/hurdstartup.c (_hurd_startup): Likewise.
Use intptr_t instead of int for argc in stack layout.
* sysdeps/mach/hurd/alpha/init-first.c (init): Fix argument type.
(_dl_init_first): Likewise.
(_hurd_stack_setup): Likewise.
(init1): Add a cast.
file on [!RTLD_STAT64].
* sysdeps/mach/hurd/fxstat64.c: Likewise.
* sysdeps/mach/hurd/tmpfile.c (tmpfile64): Define as alias of tmpfile.
(__fdopen): Use INTUSE.
* sysdeps/mach/hurd/tmpfile64.c: New file, empty placeholder.
* stdio-common/tmpfile64.c: File removed.
* sysdeps/generic/tmpfile64.c: New file.
* sysdeps/generic/tmpfile.c (GEN_THIS): New macro, define to __GT_FILE
if not already defined.
(tmpfile): Use it in place of __GT_FILE.
* include/unistd.h: Declare __chown_internal.
* sysdeps/mach/hurd/sendfile64.c (sendfile64): Do real work here.
* sysdeps/mach/hurd/sendfile.c (sendfile): Call that.
2002-06-09 Roland McGrath <roland@frob.com>
Update to new Hurd RPC interfaces supporting 64-bit file sizes.
* sysdeps/mach/hurd/configure.in: Check for <hurd/version.h> with
value of HURD_INTERFACE_VERSION >= 20020609.
* sysdeps/mach/hurd/configure: Regenerated.
* shlib-versions (.*-.*-gnu-gnu.*): Set libhurduser=0.3.
* sysdeps/mach/hurd/xstatconv.c (xstat64_conv): Rewritten to
convert a struct stat64 into a struct stat and return 0 or -1
with errno set to EOVERFLOW.
* sysdeps/mach/hurd/statfsconv.c (statfs64_conv): Likewise
for struct statfs64 to struct statfs.
* sysdeps/mach/hurd/xstat.c (__xstat): Use converter and call ...
* sysdeps/mach/hurd/xstat64.c (__xstat64): ... this, real work here.
* sysdeps/mach/hurd/fxstat.c (__fxstat): Likewise.
* sysdeps/mach/hurd/fxstat64.c (__fxstat64): Likewise.
* sysdeps/mach/hurd/lxstat.c (__lxstat): Likewise.
* sysdeps/mach/hurd/lxstat64.c (__lxstat64): Likewise.
* sysdeps/mach/hurd/statfs.c (__statfs): Likewise.
* sysdeps/mach/hurd/statfs64.c (__statfs64): Likewise.
* sysdeps/mach/hurd/fstatfs.c (__fstatfs): Likewise.
* sysdeps/mach/hurd/fstatfs64.c (__fstatfs64): Likewise.
* sysdeps/mach/hurd/pwrite64.c (__libc_pwrite64): Do real work here.
* sysdeps/mach/hurd/pwrite.c (__libc_pwrite): Call that.
* sysdeps/mach/hurd/pread64.c (__libc_pread64): Do real work here.
* sysdeps/mach/hurd/pread.c (__libc_pread): Call that.
* sysdeps/mach/hurd/lseek64.c (__libc_lseek64): Do real work here.
* sysdeps/mach/hurd/lseek.c (__libc_lseek): Call that.
* sysdeps/mach/hurd/readdir64.c (__readdir64): Do real work here.
* sysdeps/mach/hurd/readdir.c (__readdir): Call that.
* sysdeps/mach/hurd/readdir64_r.c (__readdir64_r): Do real work here.
* sysdeps/mach/hurd/readdir_r.c (__readdir64_r): Call that.
* hurd/lookup-retry.c (__hurd_file_name_lookup_retry):
Use struct stat64 for io_stat argument.
* sysdeps/mach/hurd/readlink.c (__readlink): Likewise.
* hurd/fopenport.c (seekio): Remove EOVERFLOW check, pass POS directly
to io_seek.
* hurd/fd-read.c (_hurd_fd_read): Use loff_t for OFFSET argument.
* hurd/fd-write.c (_hurd_fd_write): Likewise.
* hurd/hurd/fd.h: Update decls.
* sysdeps/mach/hurd/getcwd.c
(_hurd_canonicalize_directory_name_internal): Use ino64_t
and struct dirent64.
* sysdeps/mach/hurd/dl-sysdep.c (open_file): Use struct stat64.
(__xstat): Renamed to __xstat64, use struct stat64 for argument.
(__fxstat): Renamed to __fxstat64, use struct stat64 for argument.
(__lseek): Renamed to __libc_lseek64, use off64_t for argument.
2002-06-08 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/dirstream.h (struct __dirstream): Use size_t
instead of unsigned long int for __allocation and __size members.
2002-05-19 Ulrich Drepper <drepper@redhat.com>
2002-06-04 Bruno Haible <bruno@clisp.org>
* sysdeps/cris/stackinfo.h: New file.
* sysdeps/hppa/dl-machine.h (elf_machine_rela): Cast reloc_addr
to an integer type before performing bit operations on it.
2002-06-01 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/alpha/init-first.c: New file, modified from
i386/init-first.c by Andrew M. Miklic <miklic@attglobal.net>.
* po/sk.po: Update from translation team.
2002-05-28 Andreas Schwab <schwab@suse.de>
* sysdeps/generic/readelflib.c (process_elf_file): Give correct
message when finding object of wrong class.
2002-05-28 Jakub Jelinek <jakub@redhat.com>
* sysdeps/wordsize-32/divdi3.c (__moddi3): Fix pasto.
Patch by <radu@netsoft.ro>.
2002-05-30 Ulrich Drepper <drepper@redhat.com>
2002-05-26 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/ioctl.c (__ioctl): Don't use sizeof in _IOTS.
Use integer_t instead of int for IOC_VOID case.
2002-05-17 David S. Miller <davem@redhat.com>
* sysdeps/unix/sysv/linux/sparc/fork.S: Define _internal aliases.
2002-05-16 David S. Miller <davem@redhat.com>
* sysdeps/sparc/sparc32/dl-machine.h (LOAD_PIC_REG): Define.
(elf_machine_dynamic): Use it to force PIC register to be loaded.
(elf_machine_load_address): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h: Mirror sparc32 changes.
* sysdeps/sparc/sparc64/strncmp.S: When second argument pointer
is unaligned, do not forget to fully initialize %g1 magic value.
* sysdeps/unix/sysv/linux/sparc/sys/procfs.h: Fix 64-bit elf
register definitions and provide 32-bit variants of structures
during 64-bit builds.
* soft-fp/op-1.h (_FP_FRAC_CLEAR_OVERP_1): Define.
* soft-fp/op-2.h (_FP_FRAC_CLEAR_OVERP_2): Define.
* soft-fp/op-4.h (_FP_FRAC_CLEAR_OVERP_4): Define.
* soft-fp/op-common.h (_FP_PACK_CANONICAL): After rounding, if
_FP_FRAC_OVERP_X is set, use _FP_FRAC_CLEAR_OVERP_X to clear it.
(_FP_FROM_INT): Perform right shifts on unsigned integer type.
Do not clear implicit one bit here, it must be done post-rounding.
Only pad to the left using left shift if value uses less than the
available fractional bits.
2002-05-12 Bruno Haible <bruno@clisp.org>
* iconvdata/testdata/EUC-JISX0213: New file.
* iconvdata/testdata/EUC-JISX0213..UTF8: New file.
* iconvdata/testdata/SHIFT_JISX0213: New file.
* iconvdata/testdata/SHIFT_JISX0213..UTF8: New file.
* iconvdata/testdata/ISO-2022-JP-3: New file.
* iconvdata/testdata/ISO-2022-JP-3..UTF8: New file.
* iconvdata/TESTS: Add EUC-JISX0213, SHIFT_JISX0213, ISO-2022-JP-3.
* iconvdata/run-iconv-test.sh: Skip the charmap test if the charmap
contains comments indicating precomposed characters.
2002-04-21 Bruno Haible <bruno@clisp.org>
* iconvdata/iso-2022-jp-3.c: New file.
* iconvdata/gconv-modules (ISO-2022-JP-3): New module.
* iconvdata/Makefile (modules): Add ISO-2022-JP-3.
(LDFLAGS-ISO-2022-JP-3.so): New variable.
(ISO-2022-JP-3.so): Depend on libJIS.so and libJISX0213.so.
(distribute): Add iso-2022-jp-3.c.
2002-05-12 Bruno Haible <bruno@clisp.org>
* iconvdata/tst-table-to.c (main): Restore handling of
transliterations, broken by last patch.
2002-05-12 Bruno Haible <bruno@clisp.org>
* iconvdata/TESTS: Add IBM922, IBM1124, IBM1129.
2002-05-12 Bruno Haible <bruno@clisp.org>
* iconvdata/euc-jisx0213.c (BODY for FROM_LOOP): Don't advance inptr
when there is not enough room in the output buffer.
* iconvdata/shift_jisx0213.c (BODY for FROM_LOOP): Likewise.
2002-04-20 Bruno Haible <bruno@clisp.org>
* iconv/skeleton.c ({FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}): New
macros.
(RESET_INPUT_BUFFER): Use them instead of {MIN,MAX}_NEEDED_{FROM,TO}.
Also make this macro work if FROM_DIRECTION evaluates to 0.
(gconv_init): Use the new macros instead of {MIN,MAX}_NEEDED_{FROM,TO}.
(FUNCTION_NAME): Likewise, in the handling of unaligned accesses and
of consume_incomplete.
* iconvdata/cp1255.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}
instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_TO to
4, not 8.
* iconvdata/cp1258.c: Likewise.
* iconvdata/ibm930.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}
instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set TO_LOOP_MAX_NEEDED_TO to 3,
not 2.
* iconvdata/ibm933.c: Likewise.
* iconvdata/ibm935.c: Likewise.
* iconvdata/ibm937.c: Likewise.
* iconvdata/ibm939.c: Likewise.
* iconvdata/iso-2022-cn.c: Define
{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
{MIN,MAX}_NEEDED_{FROM,TO}. Set TO_LOOP_MAX_NEEDED_TO to 6, not 4.
* iconvdata/iso-2022-cn-ext.c: Likewise.
* iconvdata/iso-2022-jp.c: Define
{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
{MIN,MAX}_NEEDED_{FROM,TO}.
* iconvdata/tcvn5712-1.c: Define
{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
{MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_FROM to 1, not 2.
* iconvdata/euc-jisx0213.c: Define
{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
{MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_TO to 8, not 4.
* iconvdata/shift_jisx0213.c: Likewise.
2002-05-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/powerpc/Makefile (sysdeps_routines): Add divdi3, cmpdi2,
shdi3, fixdfdi, fixsfdi in csu dir.
(shared-only-routines): Likewise.
* sysdeps/wordsize-32/cmpdi2.c: New file.
* sysdeps/wordsize-32/shdi3.c: New file.
* sysdeps/wordsize-32/fixdfdi.c: New file.
* sysdeps/wordsize-32/fixsfdi.c: New file.
* sysdeps/powerpc/Versions (__divdi3, __moddi3, __udivdi3, __umoddi3,
__ashldi3, __ashrdi3, __lshrdi3, __cmpdi2, __ucmpdi2, __fixdfdi,
__fixsfdi, __fixunsdfdi, __fixunssfdi): Export at GLIBC_2.0.
* sysdeps/unix/sysv/linux/semctl.c (__old_semctl, __new_semctl):
Only use va_arg if the argument will be used [PR libc/3259].
2002-05-06 Michael A. Schmidt <mmaass@us.ibm.com>
* catgets/catgets.c (catopen): Free buffer if internal catalog
open fails.
2002-05-14 Ulrich Drepper <drepper@redhat.com>
* debug/xtrace.sh: Make more robust. For realtime tracking use
non-buffering methods.
* debug/pcprofiledump.c: Implement -u option.
Patch by Roger Luethi <rl@hellgate.ch>.
* hurd/hurdchdir.c (_hurd_change_directory_port_from_name):
Allocate three, not two, more than LEN when appending '/.'.
* sysdeps/mach/hurd/chroot.c (chroot): Likewise. Don't check
if NAME ends with '/.' if it is shorter than 2 chars.
* mach/Makefile ($(mach-syscalls:%=$(objpfx)%.S)): Make the generated
files #include <sysdep.h> instead of <mach/machine/syscall_sw.h>.
and use INTDEF on it.
* sysdeps/mach/hurd/fcntl.c: Use INTDEF2.
* sysdeps/mach/hurd/dl-sysdep.c (errno): New variable.
* sysdeps/mach/hurd/alpha/static-start.S: New file (unfinished).