2003-07-22 Andreas Jaeger <aj@suse.de>
* include/libc-symbols.h (_elf_set_element): Use attribute used so
that gcc will not optimize it away.
(link_warning): Likewise.
2003-07-21 Ulrich Drepper <drepper@redhat.com>
* Makerules (build-module-helper): Add -z defs unless explicitly said
not to do it.
* dlfcn/Makefile: Define various *-no-z-defs variables for test DSOs
which has undefined symbols.
* elf/Makefile: Likewise.
2003-07-16 Daniel Jacobowitz <drow@mvista.com>
Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/mips/bits/shm.h (SHMLBA): Define to
256K, remove unneeded declaration of __getpagesize.
More cancellation handling fixups.
* sysdeps/unix/sysv/linux/not-cancel.h: Add waitpid_not_cancel.
* sysdeps/generic/not-cancel.h: Likewise.
* catgets/open_catalog.c: Use not-cancelable syscalls.
* time/Makefile (CFLAGS-getdate.c): Add -fexceptions.
* sysdeps/unix/sysv/linux/llseek.c: Must not be cancelable.
* sysdeps/unix/syscalls.list: Don't mark lseek as cancelable.
* dlfcn/dlfcn.h: Mark dlopen with __THROW again.
* io/fcntl.h: Don't mark posix_fallocate with __THROW.
* libio/fileops.c: Use not-cancelable syscalls for fclose.
* libio/iopopen.c: Use no-cancelable syscalls.
* libio/stdio.h: Mark popen and pclose with __THROW again.
* misc/Makefile (CFLAGS-syslog.c): Add -fexceptions.
* misc/syslog.c: Fix locking and cancellation cleanup handling.
* posix/unistd.h: Mark ttyname and ttyname_r again with __THROW.
* stdio-common/Makefile (CFLAGS-tmpfile.c, CFLAGS-tmpfile64.c,
CFLAGS-tempname.c): Add -fexceptions.
* stdlib/Makefile (CFLAGS-mkstemp.c): Add -fexceptions.
* string/string.h: Mark strerror and strerror_r with _THROW again.
* sysdeps/generic/unwind.inc: New file. Copied from gcc.
* sysdeps/generic/unwind-dw2.c: Update from gcc version. Remove
#ifs since we now need all the code compiled.
* sysdeps/posix/spawni.c: Use close_not_cancel instead of close.
* sysdeps/unix/closedir.c: Use not-cancelable syscalls.
* sysdeps/unix/opendir.c: Likewise.
2003-07-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_FIXED_CLONE_SYSCALL): New macro.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Use it.
* sysdeps/unix/sysv/linux/utimes.c: Include sysdep.h.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_UTIMES for x86 and kernels > 2.5.75.
* sysdeps/unix/sysv/linux/futimes.c (__futimes): Handle case with
second parameter == NULL.
* sysdeps/unix/sysv/linux/utimes.c: New file.
2003-07-12 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/futimes.c: Include kernel-features.h.
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_UTIMES): Fix
a typo.
2003-07-12 Ulrich Drepper <drepper@redhat.com>
2003-07-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_UTIMES for the architectures which always had the syscall.
* sysdeps/unix/sysv/linux/futimes.c: New file.
* sysdeps/unix/sysv/linux/sigwait.c: Include string.h.
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
* sysdeps/unix/sysv/linux/sleep.c (__sleep): Cast value to unsigned
int before assigning to max to avoid warnings.
2003-07-11 Jakub Jelinek <jakub@redhat.com>
2003-07-04 Jakub Jelinek <jakub@redhat.com>
* sysdeps/s390/s390-32/elf/start.S: Emit position independent code
if PIC.
* sysdeps/s390/s390-64/elf/start.S: Likewise.
2003-07-07 Jakub Jelinek <jakub@redhat.com>
* sysdeps/powerpc/powerpc64/elf/start.S: Put L(start_address)
into .data.rel.ro.local section if PIC to avoid DT_TEXTREL.
2003-07-07 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h: Version
__ASSUME_CORRECT_SI_PID and __ASSUME_TGKILL if possible.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Adjust for
compilation with HAVE_AUX_SECURE defined.
2003-07-02 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Protect new_sysinfo
decl and use with #ifdef NEED_DL_SYSINFO.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Don't set
GL(dl_sysinfo) unles GL(dl_sysinfo_dso) is also set.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_VSYSCALL only for 2.5.69 and up since this is when the
vsyscall DSO was added.
2003-07-02 Ulrich Drepper <drepper@redhat.com>
* posix/bits/posix1_lim.h (_POSIX_NGROUPS_MAX): Define to 8 or 0
depending on selected standard.
(NGROUPS_MAX): Define to 8 if not defined.
2003-06-30 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/sysdep.h: Define cfi_rel_offset and CFI_REL_OFFSET.
* nis/nss_compat/compat-grp.c: Remove unused nis_first variable.
(getgrent_next_file): Don't store group name to early in blacklist.
* sysdeps/alpha/bits/atomic.h (__arch_compare_and_exchange_bool_*_int):
Invert the sense of the return value.
(__arch_exchange_16_int): Fix paste-o.
(__arch_exchange_{32,64}_int): Fix think-o.
* sysdeps/unix/sysv/linux/alpha/clone.S: Load child_tid properly.
2003-06-30 Richard Henderson <rth@redhat.com>
2003-06-29 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/sleep.c (__sleep): Handle parameter
values which cannot be handled in one nanosleep call.
2003-06-07 Thorsten Kukuk <kukuk@suse.de>
* nis/nss_compat/compat-grp.c: Remove unused nis_first variable
(getgrent_next_file) Don't store group name to early in blacklist.
* nis/nss_compat/compat-pwd.c (internal_getpwuid_r): Save strlen result
and use memcpy instead of strcpy.
2003-06-28 Ulrich Drepper <drepper@redhat.com>
* nis/nss_compat/compat-grp.c: Optimize several little things. Use
stream unlocked.
* nis/nss_compat/compat-initgroups.c: Likewise.
* nis/nss_compat/compat-pwd.c: Likewise.
* nis/nss_compat/compat-spwd.c: Likewise.
2003-06-27 Thorsten Kukuk <kukuk@suse.de>
* nis/nss_compat/compat-initgroups.c: Don't use our own NIS/NIS+
functions, dlopen corresponding NSS module instead.
declaration.
* stdio-common/tst-fphex.c: Fix format string.
* posix/tst-nanosleep.c: Include <time.h> for nanosleep
declaration.
* stdio-common/tst-fphex.c: Fix format string.
declarations.
* stdio-common/tst-sprintf.c: Include <stdlib.h> for free declaration.
* stdlib/tst-strtod.c (main): Pass long double value.
* test-skeleton.c: Include <time.h> for nanosleep declaration.
2003-06-25 Andreas Jaeger <aj@suse.de>
* posix/transbug.c: Include <string.h> for memset and strlen
declarations.
* stdio-common/tst-sprintf.c: Include <stdlib.h> for free declaration.
* stdlib/tst-strtod.c (main): Pass long double value.
* test-skeleton.c: Include <time.h> for nanosleep declaration.
2003-06-11 Jakub Jelinek <jakub@redhat.com>
* elf/Versions (libc): Add _dl_open_hook@GLIBC_PRIVATE.
* elf/dl-libc.c (struct dl_open_hook): New.
(_dl_open_hook): New variable.
(do_dlsym_private): New function.
(__libc_dlopen_mode) [!SHARED]: Lookup _dl_open_hook@GLIBC_PRIVATE
and initialize it if found.
(__libc_dlopen_mode) [SHARED]: If _dl_open_hook is non-NULL,
call dlopen_mode hook.
(__libc_dlsym) [SHARED]: If _dl_open_hook is non-NULL,
call dlsym hook.
(__libc_dlclose) [SHARED]: If _dl_open_hook is non-NULL,
call dlclose hook.
2003-06-25 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/cris/sysdep.h (INLINE_SYSCALL): Cast
result to long int so that extensions to long long int work.
Patch by Uwe Reimann <libc-alpha@pulsar.homelinux.net>.
2003-06-19 Jakub Jelinek <jakub@redhat.com>
* elf/ldconfig.c (main): Use add_system_dir instead of add_dir.
* sysdeps/generic/dl-cache.h (add_system_dir): Define.
* sysdeps/unix/sysv/linux/x86_64/dl-cache.h: Include sparc
dl-cache.h.
* sysdeps/unix/sysv/linux/s390/dl-cache.h: New file.
* sysdeps/unix/sysv/linux/mips/dl-cache.h: New file.
* sysdeps/unix/sysv/linux/powerpc/dl-cache.h: New file.
* sysdeps/unix/sysv/linux/sparc/dl-cache.h: New file.
2003-06-19 Jakub Jelinek <jakub@redhat.com>
* test-skeleton.c (timeout_handler): If waitpid returned 0,
retry once after a second. If killed == 0, assume
WTERMSIG (status) == SIGKILL.
* include/time.h: Define CLOCK_IDFIELD_SIZE.
* sysdeps/posix/clock_getres.c: Recognize thread CPU clock IDs.
* sysdeps/unix/clock_gettime.c: Likewise.
* sysdeps/unix/clock_settime.c: Likewise.
* sysdeps/unix/clock_nanosleep.c (CPUCLOCK_P): Adjust for new
clock id for thread CPU clocks.
2003-06-24 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/fstatfs64.c (__fstatfs64): Add support
for the fstatfs64 syscall.
* sysdeps/unix/sysv/linux/statfs64.c (__statfs64): Add support for
the statfs64 syscall.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_STATFS64 appropriately.
* sysdeps/unix/sysv/linux/internal_statvfs.c: Use f_frsize field
from statfs structure if it has been filled in.
* sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): Add f_frsize
field.
(struct statfs64): Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/statfs.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/statfs.h: Likewise.
instead of __libc_cleanup_region_*.
* sysdeps/unix/sysv/linux/alpha/clone.S: Use HIDDEN_JUMPTARGET.
* sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Use
libc_hidden_def.
* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/setfpucw.c: Use libc_hidden_proto
on them.
* sysdeps/pthread/aio_misc.h: Mark __aio_requests_mutex,
__aio_enqueue_request, __aio_find_req, __aio_find_req_fd,
__aio_free_request, __aio_notify, and __aio_sigqueue as hidden.
* sysdeps/pthread/aio_suspend.c (aio_suspend): Set errno to the result
of pthread_cond_wait if there was an error. Use pthread_cleanup_*
instead of __lbic_cleanup_region_*.
2003-06-23 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/aio_suspend.c (aio_suspend): Set errno to EINTR
if this is what pthread_cond_wait returned.
2003-06-18 Ulrich Drepper <drepper@redhat.com>
* intl/localealias.c (read_alias_file): Determine whether line is
read incompletely early, before we modify the line.
2003-06-17 Paul Mackerras <paulus@samba.org>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h: New file.
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Adjust.
* sysdeps/unix/clock_nanosleep.c (clock_nanosleep): nanosleep
takes care of enabling cancellation.
* sysdeps/pthread/aio_suspend.c (aio_suspend): Make aio_suspend
cancelable. It's not correct to disable cancellation. Instead of
a cleanup handler.
* sysdeps/unix/sysv/linux/sigtimedwait.c: If SIGCANCEL is defined
and part of the incoming set, create a temporary set without this
signal.
* sysdeps/unix/sysv/linux/sigwait.c: Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
returning because seconds==0. Add __builtin_expect.
2003-06-16 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/socket.S: Add unwind information.
* sysdeps/unix/sysv/linux/wait.c (__libc_wait): Fix type of result
variable.
* sysdeps/posix/getaddrinfo.c (gaih_inet): Set no_inet6_date also
2003-06-16 Ulrich Drepper <drepper@redhat.com>
* elf/rtld.c (dl_main): Use l_map_start not l_addr in Phdr
computation so that prelinking wroks.
* inet/netinet/ip6.h (IP6OPT_PAD1, IP6OPT_PADN): Define.
2003-06-15 Ulrich Drepper <drepper@redhat.com>
Fix cancellation point handling wrt exception based cleanup.
* io/Makefile: Compile fcntl.c, poll.c, and lockf.c with exceptions.
* misc/Makefile: Compile pselect.c, readv.c, writev.c, and usleep.c
with exceptions.
* posix/Makefile: Compile pread.c, pread64.c, pwrite.c, pwrite64.c,
sleep.c, wait.c, waitid.c, and waitpid.c with exceptions.
* rt/Makefile: Compile aio_suspend.c and clock_nanosleep.c with
exceptions.
* signal/Makefile: Compile sigpause.c, sigsuspend.c, sigtimedwait.c,
sigwait.c, and sigwaitinfo.c with exceptions.
* stdlib/Makefile: Compile system.c with exceptions.
* sysvipc/Makefile: Compile msgrcv.c and msgsnd.c with exceptions.
* termios/Makefile: Compile tcdrain.c with exceptions.
* sysdeps/generic/lockf.c: Add comment explaining the cancellation
situation.
* sysdeps/generic/pselect.c: Likewise.
* sysdeps/posix/sigpause.c: Likewise.
* sysdeps/posix/system.c: Likewise.
* sysdeps/posix/waitid.c: Likewise.
* sysdeps/unix/sysv/linux/sleep.c: Likewise.
* sysdeps/unix/sysv/linux/usleep.c: Likewise.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Major rewrite of
INTERNAL_SYSCALL to not use push inside asm statement so that
unwind info is correct around the syscall.
* sysdeps/unix/clock_nanosleep.c: Add cancellation support.
* sysdeps/unix/sysv/linux/clock_nanosleep.c: Likewise.