special case for dl_rtld_map in R_PPC64_RELATIVE; it's harmless to
repeat it and avoids the test for the common case.
Clean up and fix calculations for TLS relocs.
* sysdeps/powerpc/powerpc64/dl-tls.h: Moved to ...
* sysdeps/powerpc/dl-tls.h: ... here.
(TLS_TP_OFFSET): New macro.
* sunrpc/svc_udp.c (svcudp_recv): Add a cast to last change.
2003-02-25 Roland McGrath <roland@redhat.com>
* sysdeps/powerpc/powerpc64/dl-machine.h: Support new TLS relocs.
* sysdeps/powerpc/powerpc64/dl-tls.h: New file.
* resolv/Makefile (tests): Add tst-leaks.
($(objpfx)tst-leaks): Depend on $(objpfx)libresolv.so.
(tst-leaks-ENV): New variable.
($(objpfx)mtrace-tst-leaks): New target.
(tests): Depend on it.
* catgets/gencat.c (read_input_file): Collision between
auto-assigned numbers and user-defined nubmers is not fatal.
Handle it.
Patch by Michael M. Lampkin <michael.lampkin@ieee.org>.
* catgets/gencat.c (main): Return 1 if messages have been printed.
2003-02-22 Ulrich Drepper <drepper@redhat.com>
* stdlib/strtod.c (INTERNAL): Remove bogus clearing of second word
when shifting retval.
* stdlib/tst-strtod.c (main): Add strtold test case.
Reported by Fred J. Tydeman <tydeman@tybor.com>.
* malloc/thread-freeres.c: New file.
* malloc/Makefile (aux): Add it.
* sunrpc/Versions (GLIBC_PRIVATE): Removed.
* sunrpc/rpc_thread.c (__rpc_thread_destroy): Put in special section
"__libc_thread_freeres_fn" and add to __libc_thread_subfreeres set.
* sysdeps/unix/sysv/linux/i386/geteuid.c (__geteuid): Typo fix.
* sysdeps/unix/sysv/linux/i386/getgid.c (__getgid): Typo fix.
2003-02-21 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/opendir.c (__opendir): Use O_NONBLOCK in open.
* iconvdata/Makefile (tests): Add bug-iconv3 only if
[$(have-thread-library) = yes].
2003-02-21 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/getuid.c: Use INTERNAL_SYSCALL and do
not chechk for errors (unless testing for 32bit variant).
* sysdeps/unix/sysv/linux/i386/getgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/geteuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/getegid.c: Likewise.
2003-02-21 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/sparc64/elf/configure.in: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile (sysdep-CFLAGS):
Use -fcall-used-g6, not -fcall-used-g7.
2003-02-21 Andreas Jaeger <aj@suse.de>
* sysdeps/x86_64/fpu/fesetenv.c (fesetenv): Fix setting of default
mode.
* sysdeps/x86_64/fpu/fsetexcptflg.c (fesetexceptflag): Do not
clear whole mxcsr but only exceptions.
2003-02-20 Ulrich Drepper <drepper@redhat.com>
* version.h (VERSION): Bump to 2.3.2.
* math/Makefile: Rearrange variable definitions slightly to get
definition in the right order.
* inet/rcmd.c (rresvport_af): Avoid using invliad values. Wrap
around in search if port IPPORT_RESERVED/2 has been test.
2002-02-20 Paolo Bonzini <bonzini@gnu.org>
* posix/regcomp.c: Remove inclusions.
* posix/regexec.c: Likewise.
* posix/regex_internal.c: Likewise.
* posix/regex_internal.h: Add inclusions here.
* posix/regex.c: Only include sys/types.h before regex.h. Include
regex_internal.h here. Include regex_internal.c before regcomp.c
and regexec.c (might expose more opportunities to the C compiler).
* posix/regcomp.c (parse_expression): Fix construct rejected by SGI CC.
* posix/regex_internal.h [!_LIBC] (__mempcpy): Fix typo.
[!_LIBC] (__wcrtomb): New definition.
[!_LIBC]: Conditionalize enabling of I18N on HAVE_WCSCOLL and
HAVE_LOCALE_H as well.
2003-02-20 Ulrich Drepper <drepper@redhat.com>
2003-02-20 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/sysdep.h (INLINE_SYSCALL): Add
missing arguments to INTERNAL_SYSCALL_ERROR_P and
INTERNAL_SYSCALL_ERRNO.
2003-02-20 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/pread.c: New file.
* sysdeps/unix/sysv/linux/sh/pread64.c: New file.
* sysdeps/unix/sysv/linux/sh/pwrite.c: New file.
* sysdeps/unix/sysv/linux/sh/pwrite64.c: New file.
* stdlib/strtod.c (INTERNAL): Up the safety margin for cutting off
2003-02-17 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/sysconf.c (__sysconf): Test for LOGIN_NAME_MAX and
TTY_NAME_MAX and not the _POSIX_* minimal value macros.
* sysdeps/unix/sysv/linux/bits/local_lim.h: Define TTY_NAME_MAX
and LOGIN_NAME_MAX.
use target mach-before-compile instead of generated.
(mach-before-compile): New target.
* Makerules: Disable use of tls.make if $(generating) is set.
* mach/Makefile: Include mach-syscalls.mk even if no_deps=t.
* sysdeps/mach/hurd/Makefile: Make generated hurd headers depend on
mach-shortcuts.h so mach/ generation happens before hurd/.
* sysdeps/i386/fpu/s_nextafterl.c: Decrement high word of mantissa
of demorm correctly if low word is zero.
Reported by Fred J. Tydeman <tydeman@tybor.com>.
2003-02-14 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/libc-start.c [HAVE_PTR_NTHREADS]: Decrement thread
counter and only call __exit_thread if this is not the last thread.
* sysdeps/generic/bits/confname.h: Define _CS_GNU_LIBC_VERSION and
_CS_GNU_LIBPTHREAD_VERSION.
* posix/conststr.c: Handle these new values.
* posix/getconf.c: Likewise.
* io/ftw.c (ftw_startup): When using FTW_CHDIR, always remember
2003-02-10 Ulrich Drepper <drepper@redhat.com>
* elf/Makefile (check-textrel-CFLAGS): Pass _XOPEN_SOURCE and
_BSD_SOURCE to compiler.
* elf/check-textrel.c (SWAP): Add parenthesis to avoid warnings.
Patches by Alan Modra.
2003-02-08 Ulrich Drepper <drepper@redhat.com>
* io/ftwtest.c: Get current working directory before and after the
nftw call and make sure they match.
2003-02-08 Jim Meyering <jim@meyering.net>
* ftw.c (ftw_startup): When using FTW_CHDIR, always remember
the current directory, not just when DIR contains a slash.
Reported by Manoj Srivastava.
2003-02-07 Jim Meyering <jim@meyering.net>
* io/ftw.c: Add autoconf-recommended block of alloca-related code.
Include autoconf-recommended block of dirent/NAMELEN-related
definitions and includes. Use NAMELEN throughout, rather than
_D_EXACT_NAMLEN.
[_LIBC]: Define NAMELEN to _D_EXACT_NAMLEN.
[!_LIBC] (__getcwd): Define to xgetcwd and declare xgetcwd.
(stpcpy): Declare, if necessary.
(mempcpy): Define, if necessary.
[!_LIBC] (__stpcpy, __mempcpy): Define.
[!_LIBC] (LXSTAT, XSTAT): Define.
(lstat) [!LIBC && !LSTAT_FOLLOWS_SLASHED_SYMLINK]: Define to rpl_lstat.
(find_object): Don't use c99-style struct initializer.
Tweak wording in a couple comments.
2003-02-07 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* elf/tls-macros.h: Add non-PIC TLS macros and fix clobber list
for SH.
* sysdeps/unix/sysv/linux/sh/brk.c: Add SYSCALL_INST_PAD
after the trapa instruction.
* sysdeps/unix/sysv/linux/sh/clone.S (__clone): Add additional
parameters.
* sysdeps/unix/sysv/linux/sh/sh4/sysdep.h: New file.
(NEED_SYSCALL_INST_PAD): Define.
* sysdeps/unix/sysv/linux/sh/sys/user.h (start_thread): Undef to
avoid to use definition for the kernel.
* sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER):
Save and restore the frame pointer.
(SYSCALL_INST_PAD): Define.
(INLINE_SYSCALL): Make use of INTERNAL_SYSCALL.
(INTERNAL_SYSCALL): Make use of ERR parameter. Add SYSCALL_INST_PAD
after trapa instruction.
(INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO,
INTERNAL_SYSCALL_ERROR_P): Adjust accordingly.
2003-02-07 Jakub Jelinek <jakub@redhat.com>
* resolv/res_libc.c (_res): Ensure _res is not common symbol,
so that it can have aliases.
* inet/herrno.c (h_errno): Put it into .bss not .data section.
Patch by Lance Larsh <Lance.Larsh@oracle.com>.
2002-11-24 Robert Love <rml@tech9.net>
* posix/sched.h: Second parameter of sched_setaffinity and
sched_getaffinity is `unsigned int', not `unsigned long'.
* sysdeps/generic/sched_setaffinity.c: Likewise.
* sysdeps/generic/sched_getaffinity.c: Likewise.
Reported by John Levon <levon@movementarian.org>.
2003-02-05 Ulrich Drepper <drepper@redhat.com>
* libio/putwc_u.c: Use _IO_putwc_unlocked, not _IO_putc_unlocked.
Patch by Moritz Schulte <moritz@duesseldorf.ccc.de>.
2003-02-05 Jim Meyering <jim@meyering.net>
Fix a heap-corrupting bug.
* io/ftw.c: Include <limits.h>.
(PATH_MAX) [!defined PATH_MAX]: Define to 1024.
(process_entry): Allocate enough space to hold the resulting
file name. Don't presume that 2*dirbufsize is enough.
(ftw_startup): Always use PATH_MAX to compute buffer size, now that
it is guaranteed to be defined.
2003-01-25 Jim Meyering <jim@meyering.net>
* io/ftw.c (object_compare): Compare inode numbers before device
numbers, since the former are much more likely to differ.
2003-01-28 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Reorder additional
clone parameters to match the order used on ia32.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise.
2003-01-28 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/common/pause.c (do_pause): New function. Split
from __libc_pause. Implement using sigsuspend.
(__libc_pause): Call do_pause to do the real work.
* sysdeps/posix/sigpause.c (do_sigpause): Check range of
sig_or_mask parameter is is_sig != 0.
* stdio-common/vfprintf.c [USE_IN_LIBIO]: Use _IO_cleanup_region_start
instead of __libc_cleanup_region_start and _IO_cleanup_region_end
instead of __libc_cleanup_region_end.
* sysdeps/unix/sysv/linux/i386/system.c (CLEANUP_HANDLER): Pass 1
as first parameter to __libc_cleanup_region_start.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c
(__fe_nomask_env): Use __prctl not prctl.
* sysdeps/unix/sysv/linux/syscalls.list: Add __prctl alias for
prctl syscall.
2003-01-19 Ulrich Drepper <drepper@redhat.com>
* nis/nss_nis/nis-spwd.c: Make _nss_nis_endspent an alias of
_nss_nis_setspent. Work around the different prototypes.
* nis/nss_nis/nis-rpc.c (internal_nis_setrpcent): Use
internal_nis_endrpcent.
(internal_nis_endrpcent): Change return type to void. Change callers.
* nis/nss_nis/nis-pwd.c: Make _nss_nis_endpwent an alias of
_nss_nis_setpwent. Work around the different prototypes.
* nis/nss_nis/nis-proto.c (_nss_nis_endprotoent): Split out body
of the function to...
(internal_nis_endprotoent): ... here. New function.
(internal_nis_setprotoent): Use internal_nis_endprotoent.
* nis/nss_nis/nis-network.c: Make _nss_nis_endnetent an alias of
_nss_nis_setnetent. Work around the different prototypes.
* nis/nss_nis/nis-netgrp.c (_nss_nis_endnetgrent): Split out body
of the function to...
(internal_nis_endnetgrent): ... here. New function.
(_nss_nis_setnetgrent): Use internal_nis_endnetgrent.
* nis/nss_nis/nis-hosts.c: Make _nss_nis_endhostent an alias of
_nss_nis_sethostent. Work around the different prototypes.
* nis/nss_nis/nis-grp.c: Make _nss_nis_endgrent an alias of
_nss_nis_setgrent. Work around the different prototypes.
* nis/nss_nis/nis-ethers.c (internal_nis_endetherent): New
function. Split out from _nss_nis_endetherent.
(internal_nis_setetherent): Use internal_nis_endetherent instead of
duplicating the code.
* nis/nss_nis/nis-alias.c: Make _nss_nss_nis_endaliasent an alias
of _nss_nis_setaliasent.
* nis/nss_nis/nis-service.c (internal_nis_setservent): Reuse
internal_nis_endservent code, don't duplicate it.
2003-01-17 Richard Henderson <rth@redhat.com>
* sysdeps/alpha/dl-machine.h (elf_machine_type_class): Add TLS
relocs for class PLT.
* sysdeps/alpha/libc-tls.c: New file.
* sysdeps/unix/alpha/sysdep.S (EPILOGUE, GPSAVEREG): New.
(LOADGP) [!PIC]: Rewrite to preserve caller's gp.
2003-01-17 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_init): Use
__libc_lock_{,un}lock_recursive instead of __libc_lock_{,un}lock
on _dl_static_lock.
* posix/regcomp.c (parse_bracket_exp): If build_charclass fails,
set *err to the returned error, not to REG_ESPACE unconditionally.
(build_word_op): Likewise.
* posix/Makefile (tests): Add bug-regex16.
* posix/bug-regex16.c: New test.
2003-01-16 Jakub Jelinek <jakub@redhat.com>
2003-01-16 Jakub Jelinek <jakub@redhat.com>
* elf/dl-load.c (_dl_map_object_from_fd): Use
GL(dl_tls_dtv_slotinfo_list) != NULL to check whether TLS has
been already initialized.
2003-01-16 Jakub Jelinek <jakub@redhat.com>
* posix/regcomp.c (re_compile_internal): If clearing buffer, clear
allocated too. Reported by Al Viro <aviro@redhat.com>.
different sets into multi-version stanzas with new "| SET regexp..."
header continuation lines.
* scripts/merge-abilist.awk: Rewritten for new format.
* scripts/extract-abilist.awk: Likewise.
* nscd/connections.c (nscd_run): Remove bogus return which isn't
necessary with gcc 3.2+.
(nscd_init): Don't use error() to print message, use dbg_log.
* iconv/gconv_simple.c (STORE_REST): Explicitly store the total
expected size into state.
(UNPACK_BYTES): Do the reverse.
* wcsmbs/tst-mbrtowc.c (utf8_test_1): Add test for the bug.
Reported by Al Viro <aviro@redhat.com>.
2003-01-15 Ulrich Drepper <drepper@redhat.com>
* stdio-common/vfscanf.c: When recognizing multibyte characters in
string reset the byte counter after mbrtowc reported it is not a
partial character. Reported by Al Viro <aviro@redhat.com>.
(common-generated): Add s-proto-bp.d.
* sysdeps/unix/make-syscalls.sh: Use s-proto-bp.d for dependencies
of bp thunks.
* sysdeps/unix/s-proto-bp.S: New file.
* sysdeps/generic/bp-thunks.h: Don't include <sys/vm86.h> here.
Use <io/sys/sendfile.h> instead of <sys/sendfile.h>.
* sysdeps/unix/sysv/linux/i386/bp-thunks.h: New file.
* nscd/nscd_getpw_r.c (nscd_getpw_r): Consolidate writing of the
request with one writev call. Protect all read calls with
TEMP_FAILURE_RETRY.
* nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
* nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
* nscd/hstcache.c: Use extend_alloca to reallocate alloca'd buffer.
Protect writev calls with TEMP_FAILURE_RETRY.
* nscd/grpcache.c: Likewise.
* nscd/pwdcache.c: Likewise.
$(objpfx) directories, and get rid of vpath directives. The previous
arrangement resulted in files being written to the source directories
when run in a clean build. Find all .abilist files in $(..)abilist/.
(update-abi-%): Likewise.
(generated): Don't add .symlist files, they'll be intermediates.
* sysdeps/generic/init-first.c: Add a comment.
* elf/Makefile ($(objpfx)ld.so): Pass -z defs in link.
* scripts/gen-as-const.awk: Grok lone "--" as a separator between
#includes and expressions.
* scripts/merge-abilist.awk: Omit cpu-.*-os.*/modifier from merged
config list when it already contains cpu-.*-os.* without / part.
* Makerules (sed-remove-dotdot): New variable.
($(common-objpfx)%.make): Use it. Depend on $(before-compile).
($(common-objpfx)%.h $(common-objpfx)%.h.d): Likewise.
(check-abi-config): New variable, append /tls or /notls to the tuple.
(check-abi-%): Use that for -v config value.
Find .abilist files in abilist/libfoo.abilist, not in subdir.
* Rules: Move bits/stdio_lim.h generation rules to Makerules.
2003-01-14 Ulrich Drepper <drepper@redhat.com>
* manual/install.texi: Correct description of header preparation for
Linux build. Patch by mhwood@Ameritech.Net [PR libc/4941].
2003-01-14 Guido Guenther <agx@sigxcpu.org>
* sysdeps/unix/sysv/linux/mips/sysdep.h (INTERNAL_SYSCALL,
INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO,
INTERNAL_SYSCALL_ERROR_P, INLINE_SYSCALL): Define.
2003-01-14 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
(INTERNAL_SYSCALL): Make use of ERR parameter.
(INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO,
INTERNAL_SYSCALL_ERROR_P): Adjust accordingly.
(INLINE_SYSCALL): Make use of INTERNAL_SYSCALL.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: New file.
Patch by Denis Zaitsev <zzz@cd-club.ru>.
that %eax is modified. Reported by Denis Zaitsev <zzz@cd-club.ru>.
2003-01-13 Ulrich Drepper <drepper@redhat.com>
* string/tester.c (test_strcpy): Use the previously #if 0'ed code
to test void* parameters.
* sysdeps/i386/i486/bits/string.h (__STRING_SMALLL_GET16): Cast
source pointer before dereferencing.
(__STRING_SMALLL_GET32): Likewise.
(__memset_gc): Add missing parenthesis around macro arguments.
Patch by Denis Zaitsev<zzz@cd-club.ru>.
* sysdeps/i386/i486/bits/string.h (__strspn_cg): Tell the compiler
that %eax is modified. Reported by Denis Zaitsev<zzz@cd-club.ru>.
2003-01-13 Ulrich Drepper <drepper@redhat.com>
* locale/programs/charmap-dir.c (charmap_readdir): Use struct
dirent64 instead of struct dirent for dirent. Call readdir64
instead of readdir.
* locale/programs/locfile.c (siblings_uncached): Use struct
dirent64 instead of struct dirent for other_dentry. Call
readdir64 instead of readdir.
* elf/ldconfig.c (direntry): Change type to struct dirent64.
(search_dir): Use readdir64 instead of readdir.
Patch by Zhangfan Xing <xing@pacific.jpl.nasa.gov>.
* io/ftwtest-sh: Add test for case of symlink to nonexisting file
given as start file.
* io/ftw.c (ftw_startup): Use correct name in check for symlink
without existing target. Patch by Jim Meyering.
* io/ftwtest-sh: Add test case for relative path with /. at the end.
2003-01-12 Jim Meyering <jim@meyering.net>
* io/ftw.c (ftw_startup): When trying to stat the starting directory,
use the basename if we've already chdir'd into its parent directory.
2003-01-12 Ulrich Drepper <drepper@redhat.com>
to change directory after call to ftw_dir.
2003-01-12 Ulrich Drepper <drepper@redhat.com>
* io/ftw.c (process_entry): Use relative path when using chdir()
to change direcoty after call to ftw_dir.
* io/ftwtest-sh: Add test for relative path argument to nftw()
with FTW_CHDIR option.
2002-01-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL):
Define for powerpc.
* sysdeps/unix/sysv/linux/powerpc/syscall.S: Take register alignment
into account.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
(INTERNAL_SYSCALL): Make use of ERR parameter.
(INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO,
INTERNAL_SYSCALL_ERROR_P): Adjust accordingly.
(INLINE_SYSCALL): Make use of INTERNAL_SYSCALL.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: New file.
2002-01-09 Richard Henderson <rth@redhat.com>
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Compute
DTPREL64 and TPREL64 without loadbase applied.
2002-01-09 Richard Henderson <rth@redhat.com>
* sysdeps/unix/alpha/sysdep.S: Use correct definition of errno
for NOT_IN_libc.
* sysdeps/unix/sysv/linux/alpha/sysdep.h: Move inline syscall bits...
* sysdeps/unix/alpha/sysdep.h: ... here.
(PSEUDO_LOADGP): Remove.
(PSEUDO_PROLOGUE): Load GP in non-pic case.
(SYSCALL_ERROR_LABEL): New.
(PSEUDO): Use it in error branch.
(PSEUDO_END): Add $syscall_error label.
2003-01-11 Jim Meyering <jim@meyering.net>
* io/ftw.c [HAVE_CONFIG_H]: Include <config.h>.
[HAVE_SYS_PARAM_H || _LIBC]: Guard inclusion of <sys/param.h>.
Include <sys/stat.h>, not <include/sys/stat.h>, if !_LIBC.
[!_LIBC] (__chdir, __closedir, __fchdir, __getcwd, __opendir): Define.
[!_LIBC] (__readdir64, __tdestroy, __tfind, __tsearch): Define.
[!_LIBC] (internal_function, dirent64, MAX): Define.
(__set_errno): Define if not already defined.
(open_dir_stream): When FTW_CHDIR is enabled, invoke opendir on
the basename, not the entire file name.
(process_entry): When FTW_CHDIR is enabled, invoke XSTAT or LXSTAT on
the basename, not the entire file name.
2003-01-12 Ulrich Drepper <drepper@redhat.com>
* string/tester.c (test_strcpy): Disable last added strcpy until
it is fixed.
2003-01-11 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/socket.S: Add cancellation support.
2003-01-11 Andreas Schwab <schwab@suse.de>
* Makerules: Add vpath for %.dynsym and %.so so that the
implicit rule chaining for check-abi works.
2003-01-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER):
Add non-PIC case.
2003-01-11 Jakub Jelinek <jakub@redhat.com>
* elf/tls-macros.h [__ia64__] (__TLS_CALL_CLOBBERS): Define.
[__ia64__] (TLS_LE, TLS_IE): Fix typos. Add ;; at start of asm if
gp is used early.
[__ia64__] (TLS_LD, TLS_GD): Likewise. Use __TLS_CALL_CLOBBERS.
* elf/Makefile ($(objpfx)tst-tlsmod5.so, $(objpfx)tst-tlsmod6.so):
Ensure libc.so in DT_NEEDED.
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Move
CHECK_STATIC_TLS before l_tls_offset use.
* sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela):
Likewise.
* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage) [TLS_DTV_AT_TP]:
Allocate TLS_PRE_TCB_SIZE bytes below result.
(_dl_deallocate_tls) [TLS_DTV_AT_TP]: Adjust before freeing.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): If
TLS_INIT_TP_EXPENSIVE is not defined, allocate even if no PT_TLS
segment has been found. If TLS_DTV_AT_TP, allocate TLS_PRE_TCB_SIZE
bytes below result and add tcb_offset to memsz.
* sysdeps/ia64/dl-tls.h (__tls_get_addr): New prototype.
* sysdeps/ia64/dl-machine.h: Include tls.h.
(elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS relocs
too.
(elf_machine_rela): Assume if sym_map != NULL sym is non-NULL too.
Handle R_IA64_DTPMOD*, R_IA64_DTPREL* and R_IA64_TPREL* relocations.
* sysdeps/ia64/libc-tls.c: New file.
2003-01-10 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_RET): Add branch hit.
* sysdeps/unix/sysv/linux/powerpc/bits/stat.h (STAT_VER_LINUX):
Fix type. Move definition out of #if.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Add cancellation
support.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Remove
ftruncate64, pread64, pwrite64, truncate64 entries.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
(INLINE_SYSCALL): New version that supports function call like
syscalls. Add __builtin_expect.
(LOADARGS_n): Add argument size safety checks.
(INTERNAL_SYSCALL): New Macro.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [__PPC_ELF_H]: Avoid
redefinition of elf_fpreg_t and elf_fpregset_t.
2003-01-12 Ulrich Drepper <drepper@redhat.com>
* elf/dl-close.c (_dl_close): Add several asserts. Correct and
simplify test for unloading. If loader of a DSO is unloaded do not
use its scope anymore. Fall back to own scope and adjust opencounts.
Fix several comments.
* elf/dl-deps.c (_dl_map_object_deps): Always allocate memory for
the l_searchlist, not only for l_initfini.
* elf/dl-lookup.c (add_dependencies): Avoid creating relocation
dependencies if objects cannot be removed. Remove object with the
definition as not unloadable if necessary.
* elf/reldep6.c: Create relocation dependency before closing the first
module.
2003-01-10 Guido Gnther <agx@sigxcpu.org>
* elf/Makefile: Add rules to build and run reldep9 test.
* elf/reldep9.c: New file.
* elf/reldep9mod1.c: New file.
* elf/reldep9mod2.c: New file.
* elf/reldep9mod3.c: New file.
2003-01-09 Jakub Jelinek <jakub@redhat.com>
* elf/Makefile: Add rules to build and run nodelete2 test.
* elf/nodelete2.c: New file.
* elf/nodel2mod1.c: New file.
* elf/nodel2mod2.c: New file.
* elf/nodel2mod3.c: New file.
2003-01-09 Jakub Jelinek <jakub@redhat.com>
are known to have the vfork syscall.
* sysdeps/m68k/sysdep.h (JUMPTARGET): Undefine before defining it.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_MMAP2_SYSCALL, __ASSUME_TRUNCATE64_SYSCALL)
(__ASSUME_STAT64_SYSCALL, __ASSUME_FCNTL64)
(__ASSUME_VFORK_SYSCALL): Define for m68k kernels >= 2.4.12.
2003-01-06 Philip Blundell <philb@gnu.org>
* sysdeps/unix/arm/sysdep.S (syscall_error): Optimise a little.
[__LIBC_REENTRANT]: Unify PIC and non-PIC cases.
* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Remove .type
directive.
(PSEUDO_RET): Use SYSCALL_ERROR in place of __syscall_error.
(SYSCALL_ERROR): New.
(SYSCALL_ERROR_HANDLER) [NOT_IN_libc]: Provide local copy of error
handling code.
(INTERNAL_SYSCALL): Define.
(INLINE_SYSCALL): Use it.
(INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Define.
* sysdeps/unix/sysv/linux/arm/socket.S (__socket): Use
SYSCALL_ERROR in place of __syscall_error.
2003-01-07 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ia64/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16,
__bswap_32, __bswap_64): Put x into temporary variable
to avoid warnings.
[!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static
(inline) functions.
* sysdeps/s390/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16,
__bswap_32, __bswap_64): Put x into temporary variable
to avoid warnings.
[!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static
(inline) functions.
* sysdeps/i386/bits/byteswap.h [!__GNUC__] (__bswap_16, __bswap_32):
Likewise.
2003-01-07 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/alpha/adjtime.c (ntp_adjtime): New weak
alias.
2003-01-07 Ulrich Drepper <drepper@redhat.com>
* math/libm-test.inc (significand_test): New function.
(main): Call it.
* elf/dl-misc.c (_dl_debug_vdprintf): Help PPC port by explicitly
* sysdeps/i386/fpu/s_significandl.c (__significandl): Really
return significand and not the exponent.
Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
2003-01-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/clone.S (__clone): Use
SYSCALL_ERROR_HANDLER.
* sysdeps/unix/sysv/linux/sh/pipe.S (__libc_pipe): Likewise.
* sysdeps/unix/sysv/linux/sh/socket.S (__socket): Likewise.
Add support for cancellation handling.
* sysdeps/unix/sysv/linux/sh/syscall.S (__syscall): Use
SYSCALL_ERROR_HANDLER.
* sysdeps/unix/sysv/linux/sh/vfork.S (__vfork): Likewise.
* sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Likewise.
Add support for cancellation handling.
(SYSCALL_ERROR_HANDLER): Define PIC variants.
(void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
when compiling Bison 1.875's `bitset bset = obstack_alloc
(bobstack, bytes);'. Problem reported by Nelson H. F. Beebe.
2002-07-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/memcpy.S: Optimize. Based on a patch by Toshiyasu
Morita <toshiyasu.morita@hsa.hitachi.com>.
* sysdeps/sh/memcpy.S: Likewise.
2002-12-31 Ulrich Drepper <drepper@redhat.com>
* string/string-inlines.c: Define __memcpy_g and __strchr_g macros
to avoid using the exported symbols. Define aliases with the
original names separately.
* include/time.h: Add libc_hidden_proto for __strftime_l.
* include/wchar.h: Add libc_hidden_proto for __wcsftime_l.
* time/strftime.c: Always use libc_hidden_def if _LIBC.
* libio/libioP.h: Add libc_hidden_proto for _IO_file_open.
* libio/fileops.c: Add libc_hidden_def for _IO_file_open.
* malloc/mtrace.c: Add libc_hidden_proto and libc_hidden_def for
tr_break.
* csu/Makefile (routines): Add dso_handle.
* csu/dso_handle.c: New file.
* libio/libioP.h: Add libc_hidden_proto for _IO_list_lock,
_IO_list_unlock, and _IO_list_resetlock.
* libio/genops.c: Add libc_hidden_def for _IO_list_lock,
_IO_list_unlock, and _IO_list_resetlock.
* libio/libioP.h: Add libc_hidden_proto for _IO_iter_begin,
_IO_iter_end, _IO_iter_next, and _IO_iter_file.
* libio/genops.c: Add libc_hidden_def for _IO_iter_begin,
_IO_iter_end, _IO_iter_next, and _IO_iter_file.
* elf/dl-close.c (_dl_close): Handle relocation dependencies among
the to-be-deleted objects right away instead of later separately.
The latter fails because the scope data structures of the DSO
might already have gone.
2002-12-30 Ulrich Drepper <drepper@redhat.com>
* elf/Makefile: Add rules to build and run reldep8 test.
* elf/reldep8.c: New file.
* elf/reldep8mod1.c: New file.
* elf/reldep8mod2.c: New file.
* elf/reldep8mod3.c: New file.
Contributed by Jakub Jelinek.
($(common-objpfx)s-%.d): Generalized from
$(common-objpfx)s-proto.d rule.
(common-generated): Add s-proto-cancel.d.
* sysdeps/unix/make-syscalls.sh: Use s-proto-cancel.d for
cancellable syscalls.
* sysdeps/unix/s-proto-cancel.S: New file.
2002-12-27 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysdep.h (I386_USE_SYSENTER):
Only define if USE_DL_SYSINFO is defined.
2002-12-22 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/ia64/sysdep.h (INLINE_SYSCALL,
INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERROR):
Define. Patch by Richard Henderson and Jes Sorensen.
(PSEUDO): Remove unnecessary ;;.
* elf/rtld.c (dl_main): Initialize TLS even if no PT_TLS segments
are found unless TLS_INIT_TP_EXPENSIVE. Use NONTLS_INIT_TP.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Use NONTLS_INIT_TP
if not initializing thread pointer.
[!USE_TLS && NONTLS_INIT_TP] (__pthread_initialize_minimal): New.
* sysdeps/generic/libc-start.c (__pthread_initialize_minimal): Don't
make it weak also if NONTLS_INIT_TP.
* sysdeps/unix/common/pause.c: Handle cancellation.
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h [DONT_LOAD_G1]
(LOADSYSCALL): Remove.
(SYSCALL_ERROR_HANDLER_ENTRY): Define.
(SYSCALL_ERROR_HANDLER): Use it.
(PSEUDO): Don't jump around error handler.
* sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S (__libc_pipe): Don't
jump around error handler.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S (syscall): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/socket.S (__socket): Branch
to __syscall_error_handler on failure.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h [DONT_LOAD_G1]
(LOADSYSCALL): Remove.
(SYSCALL_ERROR_HANDLER_ENTRY): Define.
(SYSCALL_ERROR_HANDLER): Use it.
(PSEUDO): Don't jump around error handler.
* sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S (__libc_pipe): Don't
jump around error handler.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S (syscall): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/socket.S (__socket): Branch
to __syscall_error_handler on failure.
stanzas for each version set, the set name listed only once.
* scripts/extract-abilist.awk: New file.
* scripts/merge-abilist.awk: New file.
* Makerules (check-abi-%, update-abi-%): New pattern rules.
(update-abi, check-abi): New targets.
* Makefile (+subdir_targets): Add subdir_{check,update}-abi.
* Makerules (%.symlist): Use LC_ALL=C when running awk script.
2002-12-20 Art Haas <ahaas@airmail.net>
* sysdeps/gnu/siglist.c: Convert GCC extension initializer
syntax to C99.
2002-12-21 Philip Blundell <philb@gnu.org>
* sysdeps/arm/elf/start.S (_start): Optimise a little. Push stack
top as seventh arg to __libc_start_main.
Reported by paulnash@wildseed.com.
* sysdeps/unix/sysv/linux/arm/clone.S: Small optimisation.
* sysdeps/unix/sysv/linux/arm/sigcontextinfo.h: Elide
compatibility cruft when new enough kernel is assumed.
2002-12-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysdep.h: Add support to use AT_SYSINFO
information for system calls.
* sysdeps/generic/dl-sysdep.h: Define RTLD_PRIVATE_ERRNO to 1 only
for ld.so.
* elf/rtld.c (_dl_start) [USE___THREAD]: Define initdtv.
2002-12-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/system.c: Define FORK only if
__ASSUME_CLONE_THREAD_FLAGS is defined.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_CLONE_THREAD_FLAGS): Define for x86 and kernel >=
2.5.50.
* sysdeps/unix/sysv/linux/i386/brk.c: Use INTERNAL_SYSCALL instead
of asm.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
2002-12-18 Ulrich Drepper <drepper@redhat.com>
* elf/dl-support.c [NEED_DL_SYSINFO]: Define and initialize
_dl_sysinfo.
[DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
code.
* elf/rtld.c [DL_NEED_SYSINFO]: Initialize _dl_sysinfo element of
_rtld_global.
[DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
code.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]:
Check for AT_SYSINFO and set _dl_sysinfo appropriately.
* sysdeps/generic/ldsodefs.h (struct rtld_global) [NEED_DL_SYSINFO]:
Add _dl_sysinfo.
2002-12-17 Jakub Jelinek <jakub@redhat.com>
* malloc/thread-m.h (mutex_init, mutex_lock, mutex_trylock,
mutex_unlock): If not building NPTL, use __libc_maybe_call2 if
available, otherwise __libc_maybe_call.
* sysdeps/unix/sysv/linux/x86_64/recv.c: Add support for
cancellation handling.
* sysdeps/unix/sysv/linux/x86_64/send.c: Likewise.
2002-12-17 Isamu Hasegawa <isamu@yamato.ibm.com>
* posix/regcomp.c (free_workarea_compile): Free the new member
ORG_INDICES.
(analyze): Initialize ORG_INDICES.
(duplicate_node_closure): Search for a existing node, which is
duplicated from the node ORG_DEST and satisfies the constraint
CONSTRAINT. And use it to avoid inifimite loop.
(search_duplicated_node): New function.
(duplicate_node): Store the index of the original node.
* posix/regex_internal.c (re_dfa_add_node): Realloc ORG_INDICES
if needed.
* posix/regex_internal.h (re_dfa_t): Add new members.
* sysdeps/posix/system.c (do_system): Add support for installation
of cancellation handlers.
* sysdeps/unix/sysv/linux/i386/system.c: New file.
* stdlib/Makefile (tests): Add tst-system.
* stdlib/tst-system.c: New file.
2002-12-16 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/getaddrinfo.c (gaih_inet): If __nss_lookup_function
fails to return a function pointer don't use it.
2002-12-16 Ulrich Drepper <drepper@redhat.com>
* stdio-common/Makefile (routines): Remove lockfile. Add
flockfile, ftrylockfile, and funlockfile.
* sysdeps/generic/lockfile.c: Removed. Each function has its own file.
* sysdeps/generic/flockfile.c: New file.
* sysdeps/generic/ftrylockfile.c: New file.
* sysdeps/generic/funlockfile.c: New file.
is now u_int, not int.
(struct XDR.x_handy): Now u_int, not int.
* sunrpc/xdr_mem.c: Include <limits.h>.
(xdrmem_getlong, xdrmem_putlong, xdrmem_getbytes, xdrmem_putbytes,
xdrmem_inline, xdrmem_getint32, xdrmem_putint32):
x_handy is now unsigned, not signed.
Do not decrement x_handy if no change is made.
(xdrmem_setpos): Check for int overflow.
* sunrpc/xdr_sizeof.c (x_inline): 2nd arg is now unsigned.
(xdr_sizeof): Remove cast that is now unnecessary, now that
x_handy is unsigned.
* sysdeps/unix/sysv/linux/wait.c: Don't include <nptl/pthreadP.h> or
<tls.h> here, no need for it.
* sysdeps/unix/sysv/linux/waitpid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): Take ARG as void *
parameter, not varargs parameter.
* sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_RESET): Evaluate the
argument so it's not an unused variable.
* resolv/resolv.h (__p_key_syms, __p_cert_syms, __p_class_syms,
__p_type_syms, __p_rcode_syms): Remove decls, never really intended
for users.
* resolv/Versions (libresolv: GLIBC_2.3.2): New set, add __p_rcode.
2002-12-15 Art Haas <ahaas@airmail.net>
* nscd/connections.c: C99 initializer conversion.
* nscd/grpcache.c: Same.
* nscd/hstcache.c: Same.
* nscd/pwdcache.c: Same.
2002-12-15 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): This is the
original __libc_fcntl code. Just renamed.
* sysdeps/unix/sysv/linux/m68k/clone.S: Make inline syscall to _exit.
2002-12-14 Olaf Hering <olh@suse.de>
* sysdeps/powerpc/bits/setjmp.h: Include <bits/wordsize.h>.
* sysdeps/powerpc/powerpc64/setjmp.S: Fix typo in r18 load.
2002-12-13 Jakub Jelinek <jakub@redhat.com>
* locale/programs/locale.c: Include locarchive.h.
(ARCHIVE_NAME): Define.
(write_archive_locales): New function.
(write_locales): Use it. Ensure the same locale is not printed
multiple times in verbose mode.
Mode LC_IDENTIFICATION and LC_CTYPE printing into...
(print_LC_IDENTIFICATION, print_LC_CTYPE): ... these helper
functions.
(struct nameent): New type.
(nameentcmp): New function.
* posix/Makefile (tests): Add it.
* test-skeleton.c (TEST_DATA_LIMIT): New macro, default to 64MB.
(main): Set RLIMIT_DATA limit to TEST_DATA_LIMIT (or lower if need be).
2002-12-13 Ulrich Drepper <drepper@redhat.com>
* misc/syslog.c (log_cleanup): Don't use parameter in
__libc_lock_unlock call, use syslog_lock directly. Adjust callers to
pass NULL instead of a pointer to syslog_lock.
* iconvdata/Makefile: iconv-rules: Add definition to use gconv.map
linker map for all iconv modules.
(distribute): Add gconv.map.
* iconvdata/gconv.map: New file.
2002-04-30 Bruno Haible <bruno@clisp.org>
* intl/loadmsgcat.c (_nl_init_domain_conv): Don't append //TRANSLIT to
the encoding if it already has slashes.
Reported by Perry Rapp <prapp@erols.com>.
2002-12-11 Ulrich Drepper <drepper@redhat.com>
* malloc/thread-m.h: Remove thread_id type and MUTEX_INITIALIZER
definitions. Not needed.
[_LIBC]: Use definitions from libc-lock.h instead of referencing
pthread routines directly.
* malloc/arena.c (ptmalloc_unlock_all2): Don't add (void) to
mutex_init calls.
(arena_get2): Don't look at return value of mutex_lock.
2002-12-10 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/sigpause.c: Define all functions as weak.
* elf/tst-tls7.c (do_test): Adjustments for l_tls_modid being of
type size_t.
and move contents to ...
(EXTRA_LD_ENVVARS_LINUX): ... this new macro. Add break for nonmatch.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): Use
it instead of duplicating its contents.
(EXTRA_LD_ENVVARS): Likewise. Add break for nonmatch.
2002-12-09 Jakub Jelinek <jakub@redhat.com>
* elf/dl-support.c (_dl_non_dynamic_init): Add DL_OSVERSION_INIT if
defined.
* sysdeps/unix/sysv/linux/dl-librecon.h (_dl_osversion_init): New
function.
(EXTRA_LD_ENVVARS): Use it.
(DL_OSVERSION_INIT): Define.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Include linux
dl-librecon.h.
(EXTRA_LD_ENVVARS): Undef before defining. Use _dl_osversion_init.
2002-12-10 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/closedir.c (__closedir): Remove __libc_lock_lock
call. It is not allowed to destroy pthread mutexes which are
still in use even though it is safe for our implementations. If
somebody still uses the descriptor it is a bug.