2003-08-15 Ulrich Drepper <drepper@redhat.com>
* io/Versions [GLIBC_2.3.3]: Add posix_fadvise64.
* io/fcntl.h (posix_fadvise64): Change type of third parameter to
off_t.
* sysdeps/unix/sysv/linux/posix_fadvise.c: Adjust definition.
* sysdeps/unix/make-syscalls.sh: Recognize V prefix to the parameter
description indicating the error value is returned, not -1.
* sysdeps/unix/sysv/linux/Makefile [subdir=io] (subdir_routines): Add
posix_fadvise64_64.
* sysdeps/unix/sysv/linux/kernel-features.h: Add definition of
__ASSUME_FADVISE64_64_SYSCALL.
* sysdeps/unix/sysv/linux/syscalls.list: Don't define madvise and
posix_madvise in one file. Have posix_madvise defined with error
value returned.
Define posix_fadvise64_64 entry. Add version info to posix_fadvise64
entry.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Define
posix_fadvise64_64 entry. Add version info to posix_fadvise64 entry.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/i386/posix_fadvise.S: New file.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Define PSEUDO_ERRVAL,
PSEUDO_END_ERRVAL, and ret_ERRVAL.
* sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
* posix/Makefile (routines): Add posix_madvise.
* sysdeps/generic/madvise.c: Don't define posix_madvise.
* sysdeps/generic/posix_madvise.c: New file.
* sysdeps/unix/sysv/aix/posix_madvise.c: New file.
2003-08-11 Carlos O'Donell <carlos@baldric.uwo.ca>
* dlfcn/default.c (main): Cast dlsym loaded value to same type as main.
Address passed to test_in_mod1 and test_in_mod2 without casting.
* dlfcn/defaultmod1.c: Change prototype of test_in_mod1.
(test_in_mod1): Cast dlsym loaded value to same type as mainp.
* dlfcn/defaultmod2.c: Change prototype of test_in_mod2.
(test_in_mod2): Cast dlsym loaded value to same type as mainp.
2003-08-15 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/sparc32/elf/configure.in (libc_cv_sparc32_tls):
Change quotes before using [].
* sysdeps/unix/sysv/linux/sparc/sys/user.h: New file.
* sysdeps/sparc/sparc32/bits/atomic.h (__sparc32_atomic_lock):
Renamed to...
(__sparc32_atomic_locks): ...this. Change into 64-byte array.
(__sparc32_atomic_do_lock, __sparc32_atomic_do_unlock): Add addr
argument. Select one of 64 locks from address bits.
(atomic_compare_and_exchange_val_acq,
atomic_compare_and_exchange_bool_acq): Pass memory address to
__sparc32_atomic_do_{,un}lock.
2003-08-13 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/syscalls.list: Add time syscall.
* elf/Makefile: Use LC_ALL=C in a few cases where we call external
text processing tools.
* sysdeps/pthread/aio_misc.h (struct waitlist): Don't add caller_pid
element unless BROKEN_THREAD_SIGNALS is defined.
(struct requestlist): Likewise.
* sysdeps/pthread/aio_misc.c (__aio_enqueue_request): Don't fill in
caller_pid of new request unless BROKEN_THREAD_SIGNALS is defined.
* sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise.
* sysdeps/pthread/aio_notify.c (__aio_notify_only): Remove caller_pid
parameter unless BROKEN_THREAD_SIGNALS is defined. Adjust callers.
Pass current PID to __aio_sigqueue.
* sysdeps/pthread/lio_listio.c (lio_listio): Adjust __aio_notify_only
call. Don't initialize caller_pid field of waitlist element.
2003-08-07 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/ldsodefs.h (_rtld_global): Add
_dl_rtld_lock_recursive and _dl_rtld_unlock_recursive.
* elf/rtld.c (rtld_lock_default_lock_recursive,
rtld_lock_default_unlock_recursive): New functions.
(dl_main): Initialize _dl_rtld_lock_recursive and
_dl_rtld_unlock_recursive.
2003-08-05 Jakub Jelinek <jakub@redhat.com>
* elf/ldconfig.c (main): Append SLIBDIR and LIBDIR to
config_file directories instead of prepending.
2003-07-31 Jakub Jelinek <jakub@redhat.com>
* dlfcn/dlerror.c (once): New.
(dlerror): Call __libc_once.
(_dlerror_run): Remove once.
2003-07-31 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext):
Sync with 2.5.7 and 2.5.73 kernel changes.
2003-07-31 Jakub Jelinek <jakub@redhat.com>
* dlfcn/eval.c (funcall): Add noinline attribute to shut up warnings.
* elf/rtld.c (dl_main): Cast ElfW(Addr) arguments with %Zx/%Zd
formats to size_t.
* elf/dl-lookup.c (_dl_debug_bindings): Likewise.
* elf/tst-tls6.c (do_test): Use %zd format for l_tls_modid.
* elf/tst-tls8.c (do_test): Use %zd format for modid1 and modid2.
* gmon/tst-sprofil.c (main): Add parens to shut up warning.
* iconv/tst-iconv3.c (main): Use %td instead of %zd for pointer
difference argument.
* stdio-common/tst-wc-printf.c (main): Cast arguments with %C
format to wint_t.
* stdlib/tst-limits.c (main): For WORD_BIT and LONG_BIT, use
%d format and cast expected value to int.
* sysdeps/generic/libc-start.c (STATIC): Add
__attribute__((always_inline) if LIBC_START_MAIN is already defined.
* sysdeps/powerpc/fpu/w_sqrt.c (a_nan, a_inf): Change from uint32_t
to ieee_float_shape_type.
(__sqrt): Avoid type punning.
* sysdeps/powerpc/fpu/w_sqrtf.c (a_nan, a_inf): Change from uint32_t
to ieee_float_shape_type.
(__sqrtf): Avoid type punning.
* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Don't define
refsym if in dl-conflict.c.
* sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/unix/sysv/linux/i386/semctl.c (union semun): Add __old_buf.
(__new_semctl): Shut up warning.
* sysdeps/unix/sysv/linux/semctl.c (union semun): Add __old_buf.
(__new_semctl): Shut up warning.
* sysdeps/unix/sysv/linux/shmctl.c (__new_shmctl): Wrap long lines.
Change old into union of __old_shmid_ds and __old_shminfo structs.
Adjust all users.
* wcsmbs/wcsmbs-tst1.c (main): Cast arguments with %C format to wint_t.
2003-07-31 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/utimes.c (__utimes): Fix actime and
modtime computation.
* sysdeps/unix/sysv/linux/futimes.c (__futimes): Likewise.
* sysdeps/posix/utimes.c (__utimes): Likewise.
* sysdeps/unix/sysv/syscalls.list: time syscall never fails.
* sysdeps/unix/sysv/linux/x86_64/time.S: time syscall never fails.
* sysdeps/unix/sysv/i386/time.S: time syscall never fails.
2003-07-25 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/a.out.h: Replace with i386 version.
Include bits/a.out.h.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
bits/a.out.h.
* sysdeps/unix/sysv/linux/bits/a.out.h: New file.
* sysdeps/unix/sysv/linux/i386/bits/a.out.h: New file.
* sysdeps/unix/sysv/linux/m68k/bits/a.out.h: New file.
* sysdeps/unix/sysv/linux/x86_64/bits/a.out.h: New file.
* sysdeps/unix/sysv/linux/alpha/a.out.h: New file.
* sysdeps/unix/sysv/linux/alpha/bits/a.out.h: New file.
* sysdeps/unix/sysv/linux/sparc/a.out.h: New file.
* sysdeps/unix/sysv/linux/sparc/bits/a.out.h: New file.
2003-07-24 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/aio_cancel.c (aio_cancel): Return AIO_ALLDONE
if aiocbp != NULL and has already completed. Return -1/EINVAL if
aiocbp->aio_fildes does not match fildes.
2003-07-24 Ulrich Drepper <drepper@redhat.com>
* include/link.h (struct link_map): Add l_tls_firstbyte_offset field.
* sysdeps/generic/dl-tls.c [TLS_TCB_AT_TP] (_dl_determine_tlsoffset):
Fix calculation of offsets to take misalignment of first byte in
file into account.
* elf/dl-load.c (_dl_map_object_from_fd): Initialize
l_tls_firstbyte_offset field.
* elf/rtld.c (_dl_start_final, _dl_start, dl_main): Likewise.
* elf/dl-reloc.c (_dl_allocate_static_tls): Change return type to int.
Take l_tls_firstbyte_offset information into account.
(CHECK_STATIS_TLS): _dl_allocate_static_tls can fail now.
* sysdeps/generic/ldsodefs.h: Adjust _dl_allocate_static_tls prototype.
* elf/Makefile: Add rules to build and run tst-tls14.
* elf/tst-tls14.c: New file.
* elf/tst-tlsmod14a.c: New file.
* elf/tst-tlsmod14b.c: New file.
2003-07-23 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/lio_listio.c (LIO_OPCODE_BASE): Define.
(lio_listio): Use it.
* sysdeps/pthread/lio_listio64.c: Include lio_listio.c instead of
after few defines to avoid duplication.
2003-07-22 Jakub Jelinek <jakub@redhat.com>
* include/resolv.h (__resp): Declare. Define to __libc_resp
if in libc.so.
(_res): If USE___THREAD, define to (*__resp).
* resolv/res_libc.c (_res): Normal .bss variable with compat_symbol
even if USE___THREAD.
(__resp): New __thread variable.
(__libc_resp): New alias.
* resolv/Versions (libc): Export _res@GLIBC_2.0 even if
USE_TLS && HAVE___THREAD. Export __resp@@GLIBC_PRIVATE.
* sysdeps/generic/res-state.c (__res_state): Return __resp
if USE___THREAD.
2003-07-22 H.J. Lu <hongjiu.lu@intel.com>
* elf/dl-support.c (_dl_hwcap): New variable.
(_dl_aux_init): Initialize GL(dl_hwcap) for static binaries.
* sysdeps/i386/fpu/fclrexcpt.c: Include <unistd.h>, <ldsodefs.h>
and <dl-procinfo.h>.
(__feclearexcept): Clear MXCSR if needed.
* sysdeps/i386/fpu/fsetexcptflg.c: Likewise.
* sysdeps/i386/fpu_control.h (_FPU_GETCW, _FPU_SETCW): Document
that newer hardware needs more than these macros.
* sysdeps/i386/setfpucw.c: New file.
2003-07-22 Jakub Jelinek <jakub@redhat.com>
* elf/Makefile (CFLAGS-ldconfig.c): Define IS_IN_ldconfig.
* elf/ldconfig.c: Include dl-procinfo.c.
(PROCINFO_CLASS): Define.
* sysdeps/generic/ldsodefs.h (PROCINFO_CLASS): Define.
* sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c: New file.
* sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h: New file.
* sysdeps/unix/sysv/linux/i386/dl-procinfo.c (PROCINFO_CLASS):
Define if not yet defined. Use it instead of EXTERN. Undefine
at the end of the file.
* sysdeps/unix/sysv/linux/arm/dl-procinfo.c (PROCINFO_CLASS):
Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c
(PROCINFO_CLASS): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c
(PROCINFO_CLASS): Likewise.
2003-07-22 H.J. Lu <hongjiu.lu@intel.com>
* elf/ldconfig.c (main): Issue a fatal error if relative path
is used to build cache.
2003-07-22 Ulrich Drepper <drepper@redhat.com>
* elf/readlib.c (process_file): Avoid possible overflow in assignment.
2003-07-20 Ulrich Drepper <drepper@redhat.com>
* Makefile (libpthread-routines): Add pthread_attr_getaffinity and
pthread_attr_setaffinity.
* Versions [libpthread] (GLIBC_2.3.3): Likewise.
* sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c: New file.
* sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c: New file.
* pthread_attr_destroy.c: Free cpuset element if allocated.
* pthread_create.c: Pass iattr as additional parameter to
create_thread.
* sysdeps/pthread/createthread.c: If attribute is provided and
a new thread is created with affinity set or scheduling parameters,
start thread with CLONE_STOPPED.
* sysdeps/pthread/pthread.h: Declare pthread_attr_getaffinity and
pthread_attr_setaffinity.
* sysdeps/unix/sysv/linux/internaltypes.h (struct pthread_attr): Add
cpuset element.
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.
* 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>
* descr.h (struct pthread): Add pid field.
* allocatestack.c (allocate_stack): Initialize pid field in descriptor.
(__reclaim_stacks): Likewise.
* init.c (sigcancel_handler): If __ASSUME_CORRECT_SI_PID is defined
also check for PID of the signal source.
(__pthread_initialize_minimal_internal): Also initialize pid field
of initial thread's descriptor.
* pthread_cancel.c: Use tgkill instead of tkill if possible.
* sysdeps/unix/sysv/linux/fork.c: Likewise.
* sysdeps/unix/sysv/linux/pt-raise.c: Likewise.
* sysdeps/unix/sysv/linux/pthread_kill.c: Likewise.
* sysdeps/unix/sysv/linux/raise.c: Likewise.
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.
* 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-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.
* 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-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
* Makefile: Add CFLAGS definition to compile function wrappers
duplicated from libc with exceptions.
* tst-cancel4.c: Also check cancellation handlers.
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.
* sysdeps/posix/getaddrinfo.c (gaih_inet): Set no_inet6_date alse
if only PF_INET address is needed.
* nss/getXXbyYY_r.c: Make sure we always return a nonzero value in
case of an error.
2003-06-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/cris/sysdep.h: Fix handling of syscalls with
more than four parameters.
Patch by Uwe Reimann <libc-alpha@pulsar.homelinux.net>.
2003-06-12 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/ia64/kernel_stat.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: New file.
* sysdeps/unix/sysv/linux/x86_64/kernel_stat.h: New file.
* stdio-common/printf-parsemb.c: Include stdlib.h and sys/param.h.
2003-06-09 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_SETRESGID_SYSCALL): Define.
* sysdeps/unix/sysv/linux/setegid.c: Use __ASSUME_SETRESGID_SYSCALL
instead of __ASSUME_SETRESUID_SYSCALL.
(setegid): Only use setresgid32 inline syscall if __NR_setresgid32 is
defined.
* sysdeps/unix/sysv/linux/seteuid.c (seteuid): Only use setresgid32
inline syscall if __NR_setresuid32 is defined.
* sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Use
__ASSUME_SETRESGID_SYSCALL instead of __ASSUME_SETRESUID_SYSCALL.
* sysdeps/unix/sysv/linux/i386/setregid.c: Backout last changes.
* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c (setegid): Protect
code handling non-existant setresgid32 syscall with
#if __ASSUME_SETRESGID_SYSCALL == 0.
2003-06-09 Andreas Schwab <schwab@suse.de>
* sunrpc/Makefile (generated): Remove rpc-proto.c, rpc-proto.d.
($(rpcsvc:%.x=$(objpfx)x%$o)): Don't depend on
$(objpfx)rpc-proto.d.
(rpcsvc-dt-files, rpcsvc-depfiles): Define. Include
$(rpcsvc-depfiles) instead of $(objpfx)rpc-proto.d.
($(objpfx)rpc-proto.d, $(objpfx)rpc-proto.c): Remove rules.
* sysdeps/unix/sysv/linux/seteuid.c (seteuid): Use setresuid32
syscall directly if possible. If __ASSUME_SETRESUID_SYSCALL is
defined drop compatibility code.
* sysdeps/unix/sysv/linux/setegid.c (setegid): Use setresgid32
syscall directly if possible. If __ASSUME_SETRESUID_SYSCALL is
defined drop compatibility code.
* sysdeps/unix/sysv/linux/i386/seteuid.c (seteuid): Use
setresuid32 syscall directly if possible.
* sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Use
setresgid32 syscall directly if possible.
2003-06-06 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysdep.h (ASMFMT_2): Only allow
%edx for first parameter. This means no pushl and therefore the
unwind info isn't screwed up.
2003-06-03 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/glob.c [HAVE_D_TYPE] (glob_in_dir): Also allow
DT_LNK entries if GLOB_ONLYDIR is set [PR libc/5043].
* posix/globtest.sh: Adjust for this change.
* sysdeps/unix/sysv/linux/ifaddrs.c (netlink_open): Call getsockname
to get the actual PID value used in the records passed up.
(getifaddrs): Don't initialize nh.pid here.
2003-06-02 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym: New file.
* sysdeps/unix/sysv/linux/ia64/Makefile
[$(subdir) = stdlib] (gen-as-const-headers): Add it.
* sysdeps/unix/sysv/linux/ia64/ucontext_i.h: Include it instead of
defining SC_* macros here.
2003-05-31 Ulrich Drepper <drepper@redhat.com>
* libio/fileops.c (_IO_file_open): Don't mark as inline.
* sysdeps/ia64/elf/initfini.c ((gmon_initializer): Mark with
attribute used.
* Makerules: Always use -MP together with -MD.
(sed-remove-dotot): Substitute $(..) also at start of line.
($(stdio_lim:h=st)): Use -MD instead of SUNPRO_DEPENDENCIES.
Generated defines with a single compiler call.
Use $(sed-remove-dotdot).
* mach/Makefile ($(objpfx)mach-syscalls.mk): Use -MD instead
of DEPENDENCIES_OUTPUT, and use $(sed-remove-objpfx).
* sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h):
Use -MD instead of SUNPRO_DEPENDENCIES, and use $(sed-remove-objpfx).
* sysdeps/unix/sysv/linux/mips/Makefile
($(objpfx)syscall-%.h): Likewise.
* sysdeps/unix/sysv/linux/ia64/setcontext.S: Pass fourth argument to
rt_sigprocmask system call.
* sysdeps/unix/sysv/linux/ia64/ucontext_i.h (SC_MASK): Fix value.
From Peter A. Buhr <pabuhr@plg2.math.uwaterloo.ca>.
2003-05-28 Ulrich Drepper <drepper@redhat.com>
* include/libc-symbols.h: Define hidden attribute for real also if
LIBC_NONSHARED is defined. Patch by Jakub Jelinek.
* csu/Makefile: Add rules to build Scrt1.o.
* sysdeps/i386/elf/start.S: Make code compilable with SHARED.
2003-05-15 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Fix typo
(DL_NEED_SYSINFO -> NEED_DL_SYSINFO). If aux value is not known
print numeric values.
2003-05-13 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/setjmp.S: Fix the fix from
2003-03-27: setjmp is NOT a leaf-routine (due to the call to
__sigjmp_save) so we can't keep the saved unat value in a scratch
register (r16). Use loc2 instead.
2003-05-10 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/bits/sched.h: Define cpu_set_t only if not
already defined and when really needed.
* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
* sysdeps/generic/enbl-secure.c (__libc_enable_secure_decided): New
variable.
(__libc_init_secure): Don't do anything if __libc_enable_secure_decided
is nonzero.
* include/unistd.h: Declare __libc_enable_secure_decided.
* elf/dl-support.c (_dl_aux_init): Recognize AT_UID, AT_EUID, AT_GID,
and AT_EGID. If all found, set __libc_enable_secure and
__libc_enable_secure_decided.
2003-04-22 Roland McGrath <roland@redhat.com>
* elf/elf.h (AT_SYSINFO_EHDR): New macro, replaces AT_SYSINFO_EH_FRAME.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
dl_sysinfo_eh_frame member, add dl_sysinfo_dso member instead.
* elf/dl-support.c: Update defn.
* sysdeps/generic/libc-start.c: Don't call __register_frame_info_bases.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]:
Set GL(dl_sysinfo_dso) from AT_SYSINFO_EHDR.
(_dl_show_auxv): Grok AT_SYSINFO_EHDR, not AT_SYSINFO_EH_FRAME.
* elf/rtld.c (dl_main) [NEED_DL_SYSINFO]: If GL(dl_sysinfo_dso) is
set, set up a link_map for the preloaded, prelinked object.
* sysdeps/unix/sysv/linux/i386/bp-thunks.h: Likewise.
* sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h):
Use $(make-target-directory).
* sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Likewise.
* Makerules (compile-mkdep-flags): New variable, pass -MD -MF $@.d.
(compile-command.S): Don't use ifndef. Append $(compile-mkdep-flags).
(compile-command.s, compile-command.c): Likewise.
($(objpfx)%.d): All such pattern rules removed.
($(+sysdir_pfx)sysd-rules): Don't generate them.
($(common-objpfx)dummy.d): Target removed.
(make-dummy-dep): Variable removed.
(generate-md5): Likewise.
(%.d: %.dt): New pattern rule.
(+depfiles): Use $(wildcard) function to get just existing *.d files
and .d files for existing *.dt files.
(common-clean): Remove all *.d and *.dt files.
(before-compile): Add $(objpfx). when it doesn't exist,
regardless of $(no_deps).
* elf/rtld-Rules ($(objpfx)rtld-%.d): All such pattern rules removed.
(rtld-depfiles): Use .os.d instead of .d names.
Include existing *.d files and .d files for existing *.dt files.
* Makerules ($(common-objpfx)%.make): Protect with [! subdir].
Use -MD, -MT and -MF flags instead of SUNPRO_DEPENDENCIES variable.
* sysdeps/unix/Makefile ($(common-objpfx)s-%.d): Remove compat.h hack.
Do s-*.d includes only if we have some syscall routines in this subdir.
* include/libc-symbols.h (libc_freeres_ptr): Use %nobits instead of
@nobits. The former is accepted by gas on any ELF platform.
2003-04-29 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/fpu/Makefile: New file.
* sysdeps/i386/fpu/fedisblxcpt.c: Also set SSE control word.
* sysdeps/i386/fpu/feenablxcpt.c: Likewise.
* sysdeps/i386/fpu/feholdexcpt.c: Likewise.
* sysdeps/i386/fpu/fesetround.c: Also set SSE rounding mode
[PR libc/4987].