Commit Graph

29 Commits

Author SHA1 Message Date
Joseph Myers
2d68f6afef Fix MIPS64 posix_fadvise and posix_fadvise64.
Similar to the problems I fixed for posix_fallocate
<http://sourceware.org/ml/libc-ports/2008-12/msg00007.html> and
fallocate <http://sourceware.org/ml/libc-ports/2009-05/msg00031.html>,
MIPS64 posix_advise also needs fixes to use the correct syscall
interfaces.  Although the existing n32 posix_fadvise64 is OK, getting
posix_fadvise from syscalls.list does not work correctly, as this
function is supposed to return an error code instead of storing it in
errno as the generic syscall implementations from syscalls.list do.
2009-12-01 01:27:19 +00:00
Daniel Jacobowitz
f1297d79b2 Prevent GCC reusing "hi" and "lo" across system calls.
* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
	(__SYSCALL_CLOBBERS): Add "hi" and "lo".
	* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
	(__SYSCALL_CLOBBERS): Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
	(__SYSCALL_CLOBBERS): Likewise.
2009-09-25 18:19:03 -04:00
Joseph Myers
d9056ac655 fallocate fixes for MIPS n32 and n64.
* sysdeps/unix/sysv/linux/mips/mips64/n32/fallocate.c,
	sysdeps/unix/sysv/linux/mips/mips64/n32/fallocate64.c,
	sysdeps/unix/sysv/linux/mips/mips64/n64/fallocate.c,
	sysdeps/unix/sysv/linux/mips/mips64/n64/fallocate64.c: New.
2009-05-16 17:42:10 +00:00
Joseph Myers
19afa98284 Fix MIPS n64 build failure with preadv64/pwritev64 aliases.
* sysdeps/unix/sysv/linux/mips/mips64/n64/preadv64.c,
	sysdeps/unix/sysv/linux/mips/mips64/n64/pwritev64.c: New files.
2009-05-14 22:24:35 +00:00
Joseph Myers
340f797628 * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: Include errno.h.
* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Likewise.
2009-03-17 15:49:10 +00:00
Joseph Myers
01aa93bd54 * sysdeps/unix/sysv/linux/mips/mips64/n32/posix_fallocate64.c,
sysdeps/unix/sysv/linux/mips/mips64/n32/posix_fallocate.c,
	sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fallocate64.c,
	sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fallocate.c: New.
2008-12-19 21:35:57 +00:00
Daniel Jacobowitz
7221ac034c 2008-04-02 Aurelien Jarno <aurelien@aurel32.net>
* sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list: Add
	truncate and ftruncate systems calls.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/ftruncate64.c: Make an
	empty file.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/truncate64.c: Ditto.
2008-04-02 12:58:39 +00:00
Daniel Jacobowitz
8c2766740d * sysdeps/mips/nptl/tls.h (THREAD_GSCOPE_RESET_FLAG): Pass
LLL_PRIVATE argument to lll_futex_wake.
	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_CLOEXEC): Define.
	* sysdeps/unix/sysv/linux/mips/bits/socket.h (PF_UNIX): Update
	comment.
	(PF_IUCV, PF_RXRPC): Define.
	(PF_MAX): Update.
	(AF_IUCV, AF_RXRPC): Define.
	(MSG_CMSG_CLOEXEC): Define.
	(_EXTERN_INLINE): Define to __extern_inline.
	* sysdeps/unix/sysv/linux/mips/bits/stat.h (UTIME_NOW,
	UTIME_OMIT): Define.
	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: Include <tls.h>.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h: Renamed all
	lll_mutex_* resp. lll_robust_mutex_* macros to lll_*
	resp. lll_robust_*.  Renamed all LLL_MUTEX_LOCK_* macros to
	LLL_LOCK_*.  Include <kernel-features.h>.
	(LLL_LOCK_INITIALIZER): Remove duplicate definition.
	(LLL_PRIVATE, LLL_SHARED, __lll_private_flag): Define.
	* sysdeps/unix/sysv/linux/mips/nptl/pthread_once.c
	(clear_once_control, __pthread_once): Pass LLL_PRIVATE argument to
	lll_futex_wait.
	(lll_futex_wait, lll_futex_timed_wait, lll_futex_wake,
	lll_robust_dead, lll_futex_requeue, lll_futex_wake_unlock): Take
	private arguments.
	(__lll_robust_trylock): Convert to macro.
	(__lll_robust_lock_wait): Add private argument.
	(__lll_lock_wait_private, __lll_lock_wait): Declare.
	(__lll_lock): Convert to macro.  Take private argument.
	(__lll_cond_lock): Likewise.
	(lll_lock, lll_cond_lock): Take private arguments.
	(__lll_robust_lock): Take private argument.  Convert to macro.
	(lll_robust_lock, __lll_cond_lock, lll_cond_lock,
	lll_robust_cond_lock): Take private arguments.
	(__lll_timedlock_wait, __lll_robust_timedlock_wait): Take private
	arguments.
	(__lll_timedlock, __lll_robust_timedlock): Take private arguments.
	(lll_timedlock, lll_robust_timedlock): Take private arguments.
	(__lll_unlock, __lll_robust_unlock): Convert to macros.  Take
	private arguments.
	(lll_unlock, lll_robust_unlock): Take private arguments.
	(__lll_mutex_unlock_force, lll_mutex_unlock_force, lll_lock_t,
	lll_trylock, lll_lock, lll_unlock, lll_islocked): Remove.
	(lll_wait_tid): Pass LLL_SHARED to lll_futex_wait.
	(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
	__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
	lll_cond_wake, lll_cond_broadcast): Remove.
	* sysdeps/unix/sysv/linux/mips/sys/tas.h (_EXTERN_INLINE): Define
	to __extern_inline.
2007-09-12 12:57:41 +00:00
Daniel Jacobowitz
ffd3982334 * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h (ARGIFY): New.
(internal_syscall1, internal_syscall2, internal_syscall3,
	internal_syscall4, internal_syscall5, internal_syscall6): Use it.
2007-06-07 14:40:24 +00:00
Daniel Jacobowitz
7a30cb8323 * sysdeps/unix/sysv/linux/mips/mips32/posix_fadvise.c: New file.
* sysdeps/unix/sysv/linux/mips/mips32/posix_fadvise64.c: New file.
	* sysdeps/unix/sysv/linux/mips/mips32/readahead.c: New file.
	* sysdeps/unix/sysv/linux/mips/mips32/sync_file_range.c: New file.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/posix_fadvise64.c: New file.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list: New file.
2007-05-23 17:26:13 +00:00
Daniel Jacobowitz
eb96755bb8 * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: Remove msgctl,
shmctl, and semctl.
	* sysdeps/unix/sysv/linux/mips/misp64/semctl.c,
	sysdeps/unix/sysv/linux/mips/mips64/shmctl.c,
	sysdeps/unix/sysv/linux/mips/mips64/msgctl.c: New files.
2007-01-25 13:08:14 +00:00
Daniel Jacobowitz
908afa831c * sysdeps/unix/sysv/linux/arm/sysdep.h (PTR_MANGLE, PTR_DEMANGLE):
Define.
	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (PTR_MANGLE,
	PTR_DEMANGLE): Define.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h (PTR_MANGLE,
	PTR_DEMANGLE): Define.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h (PTR_MANGLE,
	PTR_DEMANGLE): Define.
2007-01-23 16:47:28 +00:00
Daniel Jacobowitz
e309780059 * sysdeps/unix/sysv/linux/mips/mips64/nptl/sysdep-cancel.h
(cfi_same_value): Delete definition.
2007-01-23 14:48:27 +00:00
Daniel Jacobowitz
3ed8d993f9 * sysdeps/unix/sysv/linux/mips/nptl/sysdep-cancel.h
(RTLD_SINGLE_THREAD_P): Define.
	* sysdeps/unix/sysv/linux/mips/mips64/nptl/sysdep-cancel.h: Likewise.
2006-10-31 17:39:15 +00:00
Daniel Jacobowitz
6ea630251e * sysdeps/unix/sysv/linux/mips/xstatconv.c: Remove STAT_IS_KERNEL_STAT
code.
	(__xstat_conv): Use memset to clear padding arrays.  Check for
	overflow.
	(__xstat64_conv): Use memset to clear padding arrays.
	(__xstat32_conv): New function.
	* sysdeps/unix/sysv/linux/mips/mips32/fxstatat.c: New file.
	* sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c: Likewise.
2006-09-22 17:36:23 +00:00
Daniel Jacobowitz
aea6074434 * sysdeps/unix/sysv/linux/mips/configure.in: Set libc_cv_slibdir,
libc_cv_localedir, libdir, arch_minimum_kernel, and
	libc_cv_gcc_unwind_find_fde.
	* sysdeps/unix/sysv/linux/mips/mips64/configure.in: New file.
	* sysdeps/unix/sysv/linux/mips/configure: Regenerated.
	* sysdeps/unix/sysv/linux/mips/mips64/configure: Generated.
2006-03-11 16:18:41 +00:00
Daniel Jacobowitz
6428ce3cda * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
(INTERNAL_SYSCALL): Update internal_syscall##nr invocation.
	(INTERNAL_SYSCALL_NCS): New.
	(internal_syscall0, internal_syscall1, internal_syscall2,
	internal_syscall3, internal_syscall4, internal_syscall5,
	internal_syscall6): Take ncs_init, cs_init, and input arguments.
	Use them.  Correct types for registers.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
	(INTERNAL_SYSCALL): Update internal_syscall##nr invocation.
	(INTERNAL_SYSCALL_NCS): New.
	(internal_syscall0, internal_syscall1, internal_syscall2,
	internal_syscall3, internal_syscall4, internal_syscall5,
	internal_syscall6): Take ncs_init, cs_init, and input arguments.
	Use them.
	* sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: Remove
	recvfrom and sendto.  Mark lseek, msgrcv, and msgsnd as cancellation
	points.
	* sysdeps/mips/dl-machine.h (elf_machine_rel): Remove unused "value".
	Use Elf(Addr) for TLS relocation targets.
	* sysdeps/unix/sysv/linux/mips/mips64/Makefile: New file.
	* sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h (lll_futex_wait,
	lll_futex_timed_wait, lll_futex_wake, lll_futex_requeue): Cast
	futexp to long for n64.
	* sysdeps/unix/sysv/linux/mips/mips64/nptl/sysdep-cancel.h: New file.
2006-03-03 01:06:48 +00:00
Roland McGrath
3250468baf 2006-01-07 Roland McGrath <roland@redhat.com>
* manual/maint.texi (Porting): Don't mention Dist files.
	* sysdeps/alpha/soft-fp/Dist: File removed.
	* sysdeps/alpha/Dist: File removed.
	* sysdeps/i386/i686/Dist: File removed.
	* sysdeps/i386/soft-fp/Dist: File removed.
	* sysdeps/i386/Dist: File removed.
	* sysdeps/mips/soft-fp/Dist: File removed.
	* sysdeps/mips/mips64/soft-fp/Dist: File removed.
	* sysdeps/mips/mips64/Dist: File removed.
	* sysdeps/mips/Dist: File removed.
	* sysdeps/wordsize-32/Dist: File removed.
	* sysdeps/m68k/fpu/switch/Dist: File removed.
	* sysdeps/m68k/fpu/Dist: File removed.
	* sysdeps/powerpc/powerpc64/Dist: File removed.
	* sysdeps/powerpc/soft-fp/Dist: File removed.
	* sysdeps/powerpc/powerpc32/fpu/Dist: File removed.
	* sysdeps/powerpc/powerpc32/Dist: File removed.
	* sysdeps/powerpc/fpu/Dist: File removed.
	* sysdeps/powerpc/Dist: File removed.
	* sysdeps/unix/common/Dist: File removed.
	* sysdeps/unix/bsd/bsd4.4/Dist: File removed.
	* sysdeps/unix/bsd/Dist: File removed.
	* sysdeps/unix/sysv/linux/alpha/Dist: File removed.
	* sysdeps/unix/sysv/linux/i386/Dist: File removed.
	* sysdeps/unix/sysv/linux/mips/mips64/Dist: File removed.
	* sysdeps/unix/sysv/linux/mips/Dist: File removed.
	* sysdeps/unix/sysv/linux/m68k/Dist: File removed.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: File removed.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: File removed.
	* sysdeps/unix/sysv/linux/powerpc/aix/Dist: File removed.
	* sysdeps/unix/sysv/linux/powerpc/Dist: File removed.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Dist: File removed.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Dist: File removed.
	* sysdeps/unix/sysv/linux/sparc/Dist: File removed.
	* sysdeps/unix/sysv/linux/ia64/Dist: File removed.
	* sysdeps/unix/sysv/linux/s390/s390-64/Dist: File removed.
	* sysdeps/unix/sysv/linux/s390/Dist: File removed.
	* sysdeps/unix/sysv/linux/s390/s390-32/Dist: File removed.
	* sysdeps/unix/sysv/linux/sh/Dist: File removed.
	* sysdeps/unix/sysv/linux/x86_64/Dist: File removed.
	* sysdeps/unix/sysv/linux/hppa/Dist: File removed.
	* sysdeps/unix/sysv/linux/Dist: File removed.
	* sysdeps/unix/sysv/Dist: File removed.
	* sysdeps/unix/Dist: File removed.
	* sysdeps/generic/Dist: File removed.
	* sysdeps/sparc/sparc32/soft-fp/Dist: File removed.
	* sysdeps/sparc/sparc32/sparcv9/Dist: File removed.
	* sysdeps/sparc/sparc32/sparcv8/Dist: File removed.
	* sysdeps/sparc/sparc32/Dist: File removed.
	* sysdeps/sparc/sparc64/soft-fp/Dist: File removed.
	* sysdeps/sparc/sparc64/Dist: File removed.
	* sysdeps/sparc/Dist: File removed.
	* sysdeps/gnu/Dist: File removed.
	* sysdeps/ia64/fpu/Dist: File removed.
	* sysdeps/ia64/Dist: File removed.
	* sysdeps/mach/mips/Dist: File removed.
	* sysdeps/mach/hurd/alpha/Dist: File removed.
	* sysdeps/mach/hurd/i386/Dist: File removed.
	* sysdeps/mach/hurd/mips/Dist: File removed.
	* sysdeps/mach/hurd/powerpc/Dist: File removed.
	* sysdeps/mach/hurd/Dist: File removed.
	* sysdeps/s390/s390-64/Dist: File removed.
	* sysdeps/s390/Dist: File removed.
	* sysdeps/s390/s390-32/Dist: File removed.
	* sysdeps/sh/Dist: File removed.
	* sysdeps/posix/Dist: File removed.
	* sysdeps/ieee754/dbl-64/Dist: File removed.
	* sysdeps/ieee754/ldbl-128/Dist: File removed.
	* sysdeps/ieee754/flt-32/Dist: File removed.
	* sysdeps/ieee754/Dist: File removed.
	* sysdeps/x86_64/soft-fp/Dist: File removed.
	* sysdeps/x86_64/Dist: File removed.
	* sysdeps/hppa/Dist: File removed.
2006-01-08 06:44:00 +00:00
Andreas Jaeger
ea78d8fa65 2005-09-16 Maciej W. Rozycki <macro@linux-mips.org>
[BZ #933]
	* sysdeps/unix/sysv/linux/mips/brk.c (__brk): Load the number of
	the syscall immediately before invocation.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S (__ioctl): Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/syscall.S (syscall): Likewise.

	* sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S (__ioctl): Use
	macros to handle GP.
	* sysdeps/unix/sysv/linux/mips/mips64/syscall.S (syscall):
	Likewise.  Update inaccurate comments.
2005-09-16 12:20:48 +00:00
Andreas Jaeger
68f3ec5671 2004-11-11 Richard Sandiford <rsandifo@redhat.com>
[BZ #758]
	* sysdeps/unix/sysv/linux/mips/configure.in (asm-unistd.h): Only
	preprocess <asm/unistd.h> if it defines ABI-prefixed syscall names
	like __NR_N32_open.  Just include <asm/unistd.h> otherwise.
	* sysdeps/unix/sysv/linux/mips/configure: Regenerate.
	* sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h: Delete
	* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h (SYS_ify): Use the
	standard __NR prefix.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h (SYS_ify): Likewise.
	* sysdeps/unix/sysv/linux/mips/Makefile (syscall-%.h): Rework so that
	the output file is compatible with both pre-2.6 and 2.6 kernel headers.
	Extract separate syscall lists for each ABI.
2005-02-25 15:18:13 +00:00
Andreas Jaeger
145f3f8a3c (__SYSCALL_CLOBBERS): Add "memory". 2004-10-18 05:16:08 +00:00
Andreas Jaeger
5c3c0a7a13 Add semtimedop. 2004-07-21 06:13:15 +00:00
Roland McGrath
66a1dc8705 2003-09-10 Chris Demetriou <cgd@broadcom.com>
* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Remove
	"#if 0" surrounding most of contents.
	(SYSCALL_ERROR_LABEL): Define.
	(__SYSCALL_CLOBBERS): Add $10.
	(internal_syscall7): Remove.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Likewise.
2003-10-01 06:59:40 +00:00
Ulrich Drepper
df9cbb61e3 (__syscall_recvfrom, __syscall_sendto): Remove unused aliases. 2003-09-03 03:16:25 +00:00
Andreas Jaeger
784c002b10 2003-05-30 Guido Guenther <agx@sigxcpu.org>
* sysdeps/mips/mips64/bsd-_setjmp.S: Include <sys/asm.h> for
	SETUP_GP64 and friends.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Fix register
	names in internal_syscall{6,7}.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread.c [_MIPS_SIM == _ABI64]: Fix
	number of syscall arguments.
	* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
2003-05-30 17:41:46 +00:00
Alexandre Oliva
e635cc8cc2 * sysdeps/unix/sysv/linux/mips/mips64/n32/ftruncate64.c: New.
* sysdeps/unix/sysv/linux/mips/mips64/n32/truncate64.c: New.
* sysdeps/unix/sysv/linux/kernel-features.h: fcntl64 is available
on mips n32.
* sysdeps/unix/sysv/linux/mips/kernel_stat.h: Explain why
XSTAT_IS_XSTAT64 must not be used for mips n64.  Use 64-bit data
structure on n32 as well.
* sysdeps/unix/sysv/linux/mips/bits/stat.h: Use POSIX-compliant
data types on n32 and n64.
2003-04-05 19:57:35 +00:00
Alexandre Oliva
a8a1e840a1 * sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S: Sign-extend
with a single instruction.
2003-03-20 07:54:56 +00:00
Alexandre Oliva
be1222911f * sysdeps/mips/mips64/Implies: Move wordsize-64 to...
* sysdeps/mips/mips64/n64/Implies: New file.
* sysdeps/mips/mips64/n64/Makefile: New file.
* sysdeps/mips/mips64/n64/el/bits/endian.h: New file.
* sysdeps/mips/mips64/n32/Implies: New file.
* sysdeps/mips/mips64/n32/Makefile: New file.
* sysdeps/mips/mips64/n32/el/bits/endian.h: New file.
* sysdeps/unix/mips/mips64/n32/sysdep.h: New file.
* sysdeps/unix/mips/mips64/n64/sysdep.h: New file.
* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: New file.
* sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c: New file.
* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: New file.
* sysdeps/unix/sysv/linux/mips/mips64/ldconfig.h: New file.
* sysdeps/unix/sysv/linux/mips/mips64/llseek.c: New file.
* sysdeps/unix/sysv/linux/mips/mips64/recv.c: New file.
* sysdeps/unix/sysv/linux/mips/mips64/send.c: New file.
* sysdeps/unix/sysv/linux/mips/mips64/syscall.S: New file.
* sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: New file.
* sysdeps/unix/sysv/linux/mips/mips64/umount.c: New file.
* sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S: New file.
2003-03-17 16:20:44 +00:00
Alexandre Oliva
d5510eee99 * sysdeps/unix/sysv/linux/configure.in (libc_cv_slibdir): Use
lib64 for mips64/n64 and lib32 for mips64/n32.
(ldd_rewrite_script): Needed for all mips64 configurations.
* sysdeps/unix/sysv/linux/configure: Rebuilt.
* sysdeps/unix/sysv/linux/mips/mips64/ldd-rewrite.sed: New file.
* sysdeps/unix/sysv/linux/mips/mips64/Dist: New file.
2003-03-17 15:57:19 +00:00