aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysdep.h
AgeCommit message (Collapse)Author
2015-06-04nptl: Rewrite cancellation macrosAdhemerval Zanella
This patch changes the way cancellation entrypoints are defined to instead call the macro SYSCALL_CANCEL. An usual cnacellation definition is defined as: if (SINGLE_THREAD_P) return INLINE_SYSCALL (syscall, NARGS, args...) int oldtype = LIBC_CANCEL_ASYNC (); return INLINE_SYSCALL (syscall, NARGS, args...) LIBC_CANCEL_RESET (oldtype); And it is rewrited as just: SYSCALL_CANCEL (syscall, args...) The idea is to remove LIBC_CANCEL_ASYNC/LIBC_CANCEL_RESET explicit usage. Tested on i386, x86_64, powerpc32, powerpc64le, arm, and aarch64. * sysdeps/unix/sysdep.h [SYSCALL_CANCEL]: New macro: define cancellable syscalls. (SYS_ify): Add guard to no redefine it. (INLINE_SYSCALL): Likewise. * sysdeps/unix/sysv/linux/accept4.c (accept4): Remove LIBC_CANCEL_ASYNC/INLINE_SYSCALL/LIBC_CANCEL_RESET and use SYSCALL_CANCEL instead. * sysdeps/unix/sysv/linux/alpha/fdatasync.c (__fdatasync): Likewise. * sysdeps/unix/sysv/linux/arm/pread.c (__libc_pread): Likewise. * sysdeps/unix/sysv/linux/arm/pread64.c (__libc_pread64): Likewise. * sysdeps/unix/sysv/linux/arm/pwrite.c (__libc_pwrite): Likewise. * sysdeps/unix/sysv/linux/arm/pwrite64.c (__libc_pwrite64): Likewise. * sysdeps/unix/sysv/linux/epoll_pwait.c (epoll_pwait): Likewise. * sysdeps/unix/sysv/linux/fallocate.c (fallocate): Likewise. * sysdeps/unix/sysv/linux/fallocate64.c (fallocate64): Likewise. * sysdeps/unix/sysv/linux/generic/open.c (__libc_open): Likewise. * sysdeps/unix/sysv/linux/generic/open64.c (__libc_open64): Likewise. * sysdeps/unix/sysv/linux/generic/pause.c (__libc_pause): Likewise. * sysdeps/unix/sysv/linux/generic/poll.c (__poll): Likewise. * sysdeps/unix/sysv/linux/generic/recv.c (__libc_recv): Likewise. * sysdeps/unix/sysv/linux/generic/select.c (__select): Likewise. * sysdeps/unix/sysv/linux/generic/send.c (__libc_send): Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pread.c (__libc_pread): Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pread64.c (__libc_pread64): Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c (__libc_preadv): Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/preadv64.c (__libc_readv64): Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite.c (__libc_pwrite): Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite64.c (__libc_pwrite64): Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev.c (__libc_pwritev): Likewise. * sysdeps/sysv/linux/generic/wordsize-32/pwritev64.c (__libc_pwritev64): Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl): Likewise. * sysdeps/unix/sysv/linux/mips/mips32/sync_file_range.c (sync_file_range): Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/fallocate.c (fallocate): Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/fallocate64.c (fallocate64): Likewise. * sysdeps/unix/sysv/linux/mips/pread.c (__libc_pread): Likewise. * sysdeps/unix/sysv/linux/mips/pread64.c (__libc_pread64): Likewise. * sysdeps/unix/sysv/linux/mips/pwrite.c (__libc_pwrite): Likewise. * sysdeps/unix/sysv/linux/mips/pwrite64.c (__libc_pwrite64): Likewise. * sysdeps/unix/sysv/linux/msgrcv.c (__libc_msgrcv): Likewise. * sysdeps/unix/sysv/linux/msgsnd.c (__libc_msgsnd): Likewise. * sysdeps/unix/sysv/linux/open64.c (__libc_open64): Likewise. * sysdeps/unix/sysv/linux/openat.c (__libc_openat): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c (__libc_pread): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c (__libc_read64): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c (__libc_write): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c (__libc_write64): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c (__libc_fcntl): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c (__libc_pread): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c (__libc_pread64): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c (__libc_pwrite): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c (__libc_pwrite64): Likewise. * sysdeps/sysv/linux/powerpc/powerpc64/sync_file_range.c (sync_file_range): Likewise. * sysdeps/unix/sysv/linux/ppoll.c (ppoll): Likewise. * sysdeps/unix/sysv/linux/pread.c (__libc_pread): Likewise. * sysdeps/unix/sysv/linux/pread64.c (__libc_pread64): Likewise. * sysdeps/unix/sysv/linux/preadv.c (__libc_preadv): Likewise. * sysdeps/unix/sysv/linux/pselect.c (__pselect): Likewise. * sysdeps/unix/sysv/linux/pwrite.c (__libc_pwrite): Likewise. * sysdeps/unix/sysv/linux/pwrite64.c (__libc_pwrite64): Likewise. * sysdeps/unix/sysv/linux/pwritev.c (PWRITEV): Likewise. * sysdeps/unix/sysv/linux/readv.c (__libc_readv): Likewise. * sysdeps/unix/sysv/linux/recvmmsg.c (recvmmsg): Likewise. * sysdeps/unix/sysv/linux/sendmmsg.c (sendmmsg): Likewise. * sysdeps/unix/sysv/linux/sh/pread.c (__libc_pread): Likewise. * sysdeps/unix/sysv/linux/sh/pread64.c (__libc_pread64): Likewise. * sysdeps/unix/sysv/linux/sh/pwrite.c (__libc_pwrite): Likewise. * sysdeps/unix/sysv/linux/sh/pwrite64.c (__libc_pwrite64): Likewise. * sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Likewise. * sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Likewise. * sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/msgrcv.c (__libc_msgrcv): Likewise. * sysdeps/unix/sysv/linux/sync_file_range.c (sync_file_range): Likewise. * sysdeps/unix/sysv/linux/tcdrain.c (__libc_tcdrain): Likewise. * sysdeps/unix/sysv/linux/timer_routines.c (timer_helper_thread): Likewise. * sysdeps/unix/sysv/linux/wait.c (__libc_wait): Likewise. * sysdeps/unix/sysv/linux/waitid.c (__waitid): Likewise. * sysdeps/unix/sysv/linux/waitpid.c (__libc_waitpid): Likewise. * sysdeps/unix/sysv/linux/wordsize-64/fallocate.c (fallocate): Likewise. * sysdeps/unix/sysv/linux/wordsize-64/preadv.c (preadv): Likewise. * sysdeps/unix/sysv/linux/wordsize-64/pwritev.c (pwritev): Likewise. * sysdeps/unix/sysv/linux/writev.c (__libc_writev): Likewise. * sysdeps/unix/sysv/linux/x86_64/recv.c (__libc_recv): Likewise. * sysdeps/unix/sysv/linux/x86_64/send.c (__libc_send): Likewise.
2015-01-02Update copyright dates with scripts/update-copyrights.Joseph Myers
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae
2013-01-02Update copyright notices with scripts/update-copyrights.Joseph Myers
2012-02-09Replace FSF snail mail address with URLs.Paul Eggert
2012-01-26Remove __STDC__ conditionals from non-installed headers.Joseph Myers
2003-08-17Update.Ulrich Drepper
2003-08-16 Jakub Jelinek <jakub@redhat.com> * sysdeps/powerpc/powerpc32/sysdep.h (PSEUDO_ERRVAL, PSEUDO_RET_ERRVAL, ret_ERRVAL, PSEUDO_END_ERRVAL): Define. * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_ERRVAL, PSEUDO_RET_ERRVAL, ret_ERRVAL, PSEUDO_END_ERRVAL): Define. * sysdeps/unix/alpha/sysdep.h (PSEUDO_ERRVAL, ret_ERRVAL, PSEUDO_END_ERRVAL): Define. * sysdeps/unix/mips/sysdep.h (PSEUDO_ERRVAL, ret_ERRVAL, PSEUDO_END_ERRVAL): Define. * sysdeps/unix/sparc/sysdep.h (PSEUDO_ERRVAL, ret_ERRVAL): Define. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO_ERRVAL, PSEUDO_END_ERRVAL, ret_ERRVAL): Define. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO_ERRVAL, PSEUDO_END_ERRVAL, ret_ERRVAL): Define. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (PSEUDO_ERRVAL): Define. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (PSEUDO_ERRVAL, PSEUDO_END_ERRVAL, ret_ERRVAL): Define. * sysdeps/unix/sysdep.h (PSEUDO_END_ERRVAL): Define. * sysdeps/unix/sysv/linux/syscalls.list (posix_fadvise64, posix_fadvise64_64): Remove. * sysdeps/unix/sysv/linux/alpha/syscalls.list (posix_fadvise64): Add V flag. * sysdeps/unix/sysv/linux/ia64/syscalls.list (posix_fadvise64): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list (posix_fadvise64): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (posix_fadvise64): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (posix_fadvise64): Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list (posix_fadvise64): Likewise. * sysdeps/unix/sysv/linux/i386/posix_fadvise64_64.S: Moved to... * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: ...here. (__posix_fadvise64_l64): Fix a typo in fadvise64 syscall invocation. (__posix_fadvise64_l32): New function. * sysdeps/unix/sysv/linux/i386/Makefile: Revert last change. * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions (libc): Export posix_fadvise64@@GLIBC_2.3.3. * sysdeps/unix/sysv/linux/s390/s390-32/Versions (libc): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/Versions (libc): Likewise. * sysdeps/unix/sysv/linux/posix_fadvise.c (posix_fadvise): Return error value. * sysdeps/unix/sysv/linux/posix_fadvise64.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (SYSCALL_ERROR_HANDLER): Use TLS errno/__libc_errno if USE___THREAD. 2003-08-15 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc32/dl-machine.h (WEAKADDR): Remove. (elf_machine_matches_host): Remove weak extern stuff. Use GL(dl_hwcap) unconditionally and GL(dl_hwcap_mask) if SHARED. (elf_machine_runtime_setup, sparc_fixup_plt): Remove weak extern stuff. Use GL(dl_hwcap) unconditionally.
2003-03-26(__getgroups): Fix the error condition check for the return value of ↵Ulrich Drepper
getgroups32.
2003-03-23Update.Ulrich Drepper
2003-03-23 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/make-syscalls.sh: Recognize 'E' in first position of the parameter description to denote no error checking. Generate appropriate pseudo asm code. * sysdeps/unix/syscalls.list: Mark getgid, getpid, getuid with 'E'. * sysdeps/unix/sysv/linux/syscalls.list: Mark getegid, geteuid, getpgrp, and getppid with 'E'. * sysdeps/powerpc/powerpc32/sysdep.h: Define PSEUDO_NOERRNO, PSEUDO_END_NOERRNO, and ret_NOERRNO. * sysdeps/powerpc/powerpc64/sysdep.h: Likewise. * sysdeps/unix/sysdep.h: Likewise. * sysdeps/unix/alpha/sysdep.h: Likewise. * sysdeps/unix/sparc/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/cris/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/hppa/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
2001-07-06Update to LGPL v2.1.Andreas Jaeger
2001-07-06 Paul Eggert <eggert@twinsun.com> * manual/argp.texi: Remove ignored LGPL copyright notice; it's not appropriate for documentation anyway. * manual/libc-texinfo.sh: "Library General Public License" -> "Lesser General Public License". 2001-07-06 Andreas Jaeger <aj@suse.de> * All files under GPL/LGPL version 2: Place under LGPL version 2.1.
1998-10-21Update.Ulrich Drepper
1998-10-21 14:38 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysdep.h (INLINE_SYSCALL): New macro. Simply call __syscall_* function. * sysdeps/unix/sysv/linux/aio_sigqueue.c: Use INLINE_SYSCALL instead of calling __syscall_* function. * sysdeps/unix/sysv/linux/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. * sysdeps/unix/sysv/linux/getcwd.c: Likewise. * sysdeps/unix/sysv/linux/getdents.c: Likewise. * sysdeps/unix/sysv/linux/getpriority.c: Likewise. * sysdeps/unix/sysv/linux/getresgid.c: Likewise. * sysdeps/unix/sysv/linux/getresuid.c: Likewise. * sysdeps/unix/sysv/linux/lxstat.c: Likewise. * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. * sysdeps/unix/sysv/linux/poll.c: Likewise. * sysdeps/unix/sysv/linux/pread.c: Likewise. * sysdeps/unix/sysv/linux/pread64.c: Likewise. * sysdeps/unix/sysv/linux/ptrace.c: Likewise. * sysdeps/unix/sysv/linux/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/readv.c: Likewise. * sysdeps/unix/sysv/linux/reboot.c: Likewise. * sysdeps/unix/sysv/linux/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/siglist.h: Likewise. * sysdeps/unix/sysv/linux/sigpending.c: Likewise. * sysdeps/unix/sysv/linux/sigprocmask.c: Likewise. * sysdeps/unix/sysv/linux/sigqueue.c: Likewise. * sysdeps/unix/sysv/linux/sigsuspend.c: Likewise. * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sysctl.c: Likewise. * sysdeps/unix/sysv/linux/ustat.c: Likewise. * sysdeps/unix/sysv/linux/writev.c: Likewise. * sysdeps/unix/sysv/linux/xmknod.c: Likewise. * sysdeps/unix/sysv/linux/xstat.c: Likewise. * sysdeps/unix/sysv/linux/xstat64.c: Likewise. * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. * sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise. * sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Define INLINE_SYSCALL using inline assembler. * sysdeps/unix/sysv/linux/i386/syscalls.list: Remove various __syscall_* definitions. * sysdeps/unix/sysv/linux/syscalls.list: Move various __syscall_* definitions to... * sysdeps/unix/sysv/linux/alpha/syscalls.list: ...here... * sysdeps/unix/sysv/linux/arm/syscalls.list: ...and here... * sysdeps/unix/sysv/linux/m68k/syscalls.list: ...and here... * sysdeps/unix/sysv/linux/mips/syscalls.list: ...and here... * sysdeps/unix/sysv/linux/powerpc/syscalls.list: ...and here... * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: ...and here... * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: ...and here. * sysdeps/unix/sysv/linux/i386/Makefile [subdir=misc] (sysdep_routines): Remove s_pread64 and s_pwrite64. * sysdeps/unix/sysv/linux/i386/pread.c: New file. * sysdeps/unix/sysv/linux/i386/pread64.c: New file. * sysdeps/unix/sysv/linux/i386/pwrite.c: New file. * sysdeps/unix/sysv/linux/i386/pwrite64.c: New file. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Removed. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Removed. 1998-10-21 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/sysv/linux/siglist.h: Fix some typos in these files and bring them in synch. * sysdeps/unix/siglist.c: Likewise. Reported by Vladimir Michl <michlv@risc.upol.cz> [PR libc/832]. 1998-10-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * sysdeps/unix/sysv/linux/i386/setresuid.c: Allow -1 as arguments. * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setreuid.c: New file. * sysdeps/unix/sysv/linux/i386/setregid.c: New file. * sysdeps/unix/sysv/linux/m68k/setreuid.c: New file. * sysdeps/unix/sysv/linux/m68k/setregid.c: New file. * sysdeps/unix/sysv/linux/arm/setreuid.c: New file. * sysdeps/unix/sysv/linux/arm/setregid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setreuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setregid.c: New file. * sysdeps/unix/sysv/linux/i386/syscalls.list: Add s_setreuid and s_setregid. * sysdeps/unix/sysv/linux/m68k/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Likewise. 1998-10-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * sunrpc/rpc_main.c (close_output, close_input): New functions. (c_output, h_output, s_output, l_output, t_output, svc_output, clnt_output, mkfile_output): Call them at the end. 1998-10-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * db/Makefile (LDFLAGS-db1.so): New variable, to avoid duplicating link command. 1998-10-18 Zack Weinberg <zack@rabi.phys.columbia.edu> * sysdeps/unix/opendir.c: Check at runtime for kernel support for O_DIRECTORY. 1998-10-20 H.J. Lu <hjl@gnu.org> * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Fix argument types.
1997-01-06update from main archive 960105cvs/libc-970107cvs/libc-970106Ulrich Drepper
1996-11-07update from 961105, second trycvs/libc-961107Ulrich Drepper
1996-08-02Remade for alpha-1.93cvs/libc-960802Roland McGrath
1996-06-19Thu Jun 13 17:25:11 1996 David Mosberger-Tang <davidm@azstarnet.com>cvs/libc-960619Roland McGrath
* sysdeps/generic/memcmp.c: Add prototype decls for internal fns. * locale/programs/locale.c: Include string.h. * sunrpc/xdr_stdio.c (xdrstdio_getlong), sunrpc/xdr_rec.c (xdrrec_getlong), sunrpc/xdr_mem.c (xdrmem_getlong): Make sure appropriate sign-extension is performed on machines with sizeof(long) > 4. * sunrpc/xdr.c (xdr_int, xdr_u_int): If sizeof(long)==8 and sizeof(int)<sizeof(long), we need to go through a temporary variable. * locale/programs/ld-numeric.c: Include <alloca.h> * libio/stdio.h (__libc_fatal): Add prototype. * libio/cleanup.c: Use __P() to declare prototype when __STDC__ is in efect. * libio/iopopen.c (read_or_write, parent_end, child_end): Declare volatile to avoid "might get clobbered by longjmp" warning. * features.h (__KERNEL_STRICT_NAMES): Define __KERNEL_STRICT_NAMES unless _LOOSE_KERNEL_NAMES is in effect (which, with high probability is a sure loser). * sysdeps/unix/sysv/linux/gnu/types.h (__KERNEL_STRICT_NAMES): Remove. * sysdeps/unix/bsd/osf/alpha/start.S (errno): Removed. * sysdeps/unix/sysv/linux/alpha/start.S: Ditto. * misc/paths.h (_PATH_MAN): Change from /usr/share/man to /usr/man to be Linux FSSTND compliant. Mon Jun 10 17:50:31 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/pipe.S: Use PSEUDO. * sysdeps/unix/sysv/linux/alpha/sysdep.S, sysdeps/unix/sysv/linux/alpha/brk.S, sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S, sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S, sysdeps/unix/sysv/linux/alpha/llseek.S, sysdeps/unix/sysv/linux/alpha/sigsuspend.S, sysdeps/unix/sysv/linux/alpha/syscall.S: Rename syscall_error to __syscall_error to avoid intruding application name space. * sysdeps/unix/sysv/linux/alpha/sysdep.h: Rename __NR_get?id to SYS_get?id so that syscall stubs in sysdeps/unix define these syscalls in terms of getxpid/getxuid/getxgid. * sysdeps/unix/_exit.S, sysdeps/unix/getegid.S, sysdeps/unix/geteuid.S, sysdeps/unix/getppid.S, sysdeps/unix/execve.S, sysdeps/unix/fork.S, sysdeps/unix/syscall.S: Terminate syscall with PSEUDO_END. * sysdeps/unix/make-syscalls.sh, sysdeps/unix/sysdep.h (PSEUDO_END): Rename END() to PSEUDO_END(). * sysdeps/unix/alpha/sysdep.h: Move error-handling code in PSEUDO to PSEUDO_END to improve branch-prediction. Include .frame directive to make syscalls debugabble. (PSEUDO_END): New macro. * sysdeps/unix/alpha/sysdep.h, sysdeps/alpha/bb_init_func.S, sysdeps/unix/sysv/linux/alpha/brk.S: Use ldiq instead of ldi since latter is illegal under DEC Unix. * sysdeps/unix/alpha/sysdep.S: Renamed from sysdeps/unix/sysv/linux/alpha/sysdep.S. This file works for OSF/1 as well. * sysdeps/unix/bsd/osf/alpha/sysdep.S: Remove (note that the EWOULDBLOCK -> EAGAIN mapping was unnecessary since EWOULDBLOCK==EAGAIN under DEC Unix and Linux/Alpha). * sysdeps/alpha/divrem.h: Use retaddr instead of ra as the return address register in the .frame directive. * sysdeps/alpha/copysign.c: Remove. * sunrpc/rpc/types.h: Include <sys/param.h> and <netinet/in.h> to avoid RPC definitions of INADDR_LOOPBACK and/or MAXHOSTNAMELEN. * errno.h: Move __END_DECLS to correct place to make file compilable under c++. * dirent/dirent.h: Document _DIRENT_HAVE_D_OFF macro. Define d_ino only if <direntry.h> hasn't defined d_fileno. * configure.in (HAVE_ASM_WEAKEXT_DIRECTIVE): Reverse order of arguments to weakext to make .weakext detection work on ECOFF systems. * FAQ: Add Linux/Alpha to list of supported platforms. Mention that _validuser() has been replaced by __ivaliduser(). Thu Jun 6 21:39:38 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/bsd/sun/sunos4/tcsetattr.c (tcsetattr): Declare cmd as unsigned long, not as int (to avoid incorrect int->long promotion).
1996-06-02Wed May 29 00:57:37 1996 David Mosberger-Tang <davidm@azstarnet.com>Roland McGrath
* time/Makefile (tests): Add test-tz. * time/test-tz.c: New test. * time/clocktest.c: Rewrite to test more meaningfully. * sysdeps/unix/sysv/linux/syscalls.list: Add bdflush, create_module, delete_module, get_kernel_syms, init_module, klogctl. * sysdeps/unix/sysv/linux/sys/param.h (MAXSYMLINKS): Define as 5 instead of SYMLOOP_MAX, which is nowhere to be found. * sysdeps/unix/sysv/linux/sys/msq_buf.h, sysdeps/unix/sysv/linux/sys/sem_buf.h, sysdeps/unix/sysv/linux/sys/shm_buf.h [__USE_MISC]: Add more control ops and datastructures. * sysdeps/unix/sysv/linux/sys/io.h: New file declaring low-level I/O related functions. * sysdeps/unix/sysv/linux/sys/kdaemon.h: New file declaring kernel daemon related functions/operations. * sysdeps/unix/sysv/linux/sys/klog.h: New file declaring kernel logging related functions/operations. * sysdeps/unix/sysv/linux/sys/module.h: New file declaring kernel module related functions/operations. * sysdeps/unix/sysv/linux/speed.c: Only do "mention this twice" hack for non-Alpha based Linux systems. * sysdeps/unix/sysv/linux/alpha/speed.c: Remove. * sysdeps/unix/sysv/linux/Makefile (headers): Add sys/module.h, sys/io.h, sys/klog.h, and sys/kdaemon.h. * sysdeps/unix/sysdep.h (END): Define empty END macro for platforms that don't need some sort of end directive at the end of functions. * sysdeps/unix/make-syscalls.sh: Emit END($strong) at end of syscall wrapper to allow correct generation of debugging information. * sysdeps/unix/alpha/sysdep.h (END): Redefine to use .end directive for both ELF and ECOFF. (ret): Delete macro. It was a dangerous macro and unnecessary since the Alpha assemblers recognizes "ret" as a macro themselves. * sysdeps/gnu/utmpbits.h (struct utmp): Move ut_tv behind ut_session to guarantee long alignment. This is important for Linux/Alpha since ut_tv.tv_sec is 32 bits and time_t is 64 bits. This will all get cleaned up as programs start to use ut_tv instead ut_time. * sysdeps/alpha/divrem.h: Include <sysdep.h> instead of <*/regdef.h>. * sysdeps/alpha/bsd-_setjmp.S (setjmp): Renamed entry point to _setjmp. * sysdeps/alpha/_mcount.S, sysdeps/alpha/bb_init_func.S, sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S, sysdeps/alpha/copysign.S, sysdeps/alpha/divrem.h, sysdeps/alpha/fabs.S, sysdeps/alpha/ffs.S, sysdeps/alpha/htonl.S, sysdeps/alpha/htons.S, sysdeps/alpha/memchr.S, sysdeps/alpha/setjmp.S, sysdeps/alpha/strlen.S, sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S, sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S, sysdeps/unix/sysv/linux/alpha/llseek.S, sysdeps/unix/sysv/linux/alpha/pipe.S, sysdeps/unix/sysv/linux/alpha/sigsuspend.S, sysdeps/unix/sysv/linux/alpha/sysdep.S: Use END macro instead of .end directive. * csu/initfini.c (_fini): Tell gcc that _fini is not a leaf function by having it contain a dummy function call. * configure.in (config_machine): Don't make ELF the default for Linux/Alpha just yet (use --with-elf instead). (.init/.fini check): Generate .text to ensure function start and end are in same section. * sysdeps/unix/bsd/osf/alpha/brk.S, sysdeps/unix/sysv/linux/alpha/brk.S (__curbrk): Store the entire break value, not just the low 32 bits to accomodate large memories. Tue May 28 10:46:04 1996 Richard Henderson <rth@tamu.edu> * sysdeps/unix/sysv/linux/alpha/brk.S: Rather than attempt to dynamically resolve _end for initializing __curbrk, support the brk(0) query idiom. * sysdeps/alpha/bb_init_func.S: Don't make `init' an external symbol. * sysdeps/alpha/bsd-_setjmp.S: The function is _setjmp not setjmp. Sun May 26 22:17:38 1996 Richard Henderson <rth@tamu.edu> * stdlib/lcong48_r.c, stdlib/seed48_r.c, stdlib/strtod.c, stdlib/strtol.c: Include <string.h> for mem* and str* fns used. Thu May 23 02:15:56 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/Makefile (headers): Add sys/io.h, sys/klog.h, and sys/kdaemon.h. * sysdeps/unix/sysv/linux/sys/io.h: New file. * sysdeps/unix/sysv/linux/sys/klog.h: Ditto. * sysdeps/unix/sysv/linux/sys/kdaemon.h: Ditto. * sysdeps/unix/alpha/sysdep.h (ret): Remove macro. It is dangerous and unnecessary since both OSF/1 as and gas define "ret" as a pseudo-instruction. Sat Jun 1 17:18:21 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * time/tzset.c (__tzset): Clear tz_rules name pointers after freeing them. Bug found by David Mosberger-Tang. * sysdeps/posix/tempname.c (__stdio_gen_tempname): Use __ptr_t instead of PTR. * extra-lib.mk (extra-objs): Use patsubst intead of $(A:=B) syntax to work around Make bug when A contains var ref. Fri May 31 18:27:52 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * string/string.h [__USE_MISC]: Declare basename; OSF/1 puts it here. * sysdeps/unix/sysv/linux/syscalls.list (getpgid, setpgid): Define __ strong names and [gs]etpgid as weak aliases. * math/math_private.h (GET_LDOUBLE_EXP): Add missing backslash.
1996-03-25Mon Mar 25 03:35:16 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>Roland McGrath
* malloc/malloc.c (morecore): Don't attempt recursive realloc of info table when _heaplimit==0 during realloc growing large block. * MakeTAGS (extract): Remove /dev/null from xgettext command line. (text-srcs): New variable: extract only C sources from $(tags_sources). (po/$(domain).pot): Depend on that. If it's empty, cp /dev/null $@ instead of $(extract). * misc/Makefile (headers): Add iovec.h. * sysdeps/unix/sysv/linux/iovec.h: New file. * sysdeps/generic/iovec.h: New file. * misc/sys/uio.h (struct iovec): Type replaced with #include <iovec.h>. * configure.in (NO_UNDERSCORES check): Use AC_TRY_LINK instead of AC_TRY_COMPILE. * misc/sys/cdefs.h [__USE_BSD] (const, signed, volatile): Move these macros inside [! __STDC__]. * stdlib/rpmatch.c: New file. * stdlib/Makefile (routines): Add rpmatch. * stdlib/stdlib.h [__USE_SVID]: Declare rpmatch. * MakeTAGS (MSGJOIN): Variable removed. (po/SYS_libc.pot): Use $(XGETTEXT) instead of $(MSGJOIN). Wed Mar 20 20:08:46 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysdep.h: Don't define C_SYMBOL_NAME. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Don't define NO_UNDERSCORES.
1995-02-18initial importRoland McGrath