2011-12-22  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/Makefile (no_syscall_list_h)
	(mips_list_syscalls, $(objpfx)syscall-%.h $(objpfx)syscall-%.d):
	Remove.
	(syscall-list-variants, syscall-list-includes)
	(syscall-list-o32-options, syscall-list-o32-condition)
	(syscall-list-n32-options, syscall-list-n32-condition)
	(syscall-list-n64-options, syscall-list-n64-condition): Define.
	* sysdeps/unix/sysv/linux/mips/configure.in: Don't generate
	asm-unistd.h.
	* sysdeps/unix/sysv/linux/mips/configure: Regenerate.
	* sysdeps/unix/sysv/linux/mips/sys/syscall.h: Remove.

2011-12-22  Joseph Myers  <joseph@codesourcery.com>

	[BZ #13538]
	* sysdeps/unix/sysv/linux/mips/sys/epoll.h (EPOLLONESHOT)
	(EPOLLET): Initialize with unsigned values.

2011-12-19  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h
	$(objpfx)syscall-%.d): Use sysdeps path to locate sys/syscall.h.

2011-11-17  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c,
	sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c: New.

2011-11-11  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/dl-lookup.c: Update from generic version.

2011-10-12  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/fpu/e_sqrt.c: Add __sqrt_finite alias.
	* sysdeps/mips/fpu/e_sqrtf.c: Add __sqrtf_finite alias.
	* sysdeps/mips/mips64/soft-fp/e_sqrtl.c: Add __sqrtl_finite alias.

2011-10-05  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/mips/dl-machine.h (elf_machine_rel, elf_machine_rela)
	(elf_machine_lazy_rel): Add parameter skip_ifunc.

2011-09-13  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/socket.h (__cmsg_nxthdr): Cast
	return value to (struct cmsghdr *).

2011-09-13  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/elf/configure.in: Always test for TLS support and
	error out in case it is missing.
	* sysdeps/mips/elf/configure: Regenerate.
	* sysdeps/mips/nptl/tls.h: Remove test for HAVE_TLS_SUPPORT.

2011-09-11  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/dl-machine.h, sysdeps/mips/libc-tls.c,
	sysdeps/mips/nptl/tls.h: Don't define or use USE_TLS.

2011-09-06  Joseph Myers  <joseph@codesourcery.com>

	[BZ #13109]
	* sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list (fstatfs)
	(statfs): New.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/fstatfs64.c,
	sysdeps/unix/sysv/linux/mips/mips64/n64/statfs64.c: New.

2011-08-02  Matt Turner  <mattst88@gmail.com>

	* sysdeps/mips/bits/atomic.h: Workaround R10K ll/sc errata.

2011-07-25  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/socket.h (PF_NFC, AF_NFC):
	Define.

2011-06-20  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/mips32/sendmmsg.c,
	sysdeps/unix/sysv/linux/mips/mips32/internal_sendmmsg.S: New.

2011-06-20  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/siginfo.h (SI_USER): Don't
	mention raise in the comment.

2011-05-23  Aurelien Jarno  <aurelien@aurel32.net>

	* sysdeps/unix/sysv/linux/mips/bits/resource.h (RLIMIT_RTTIME):
	Add.

2011-05-13  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/dl-lookup.c: Update from generic version.

2011-05-10  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/dl-lookup.c: Update from generic version.

2011-04-11  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/dl-tls.h (TLS_DTV_UNALLOCATED): Define.

2011-04-01  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Rename open_by_handle
	to open_by_handle_at.

2011-04-01  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_PATH): Define.

2011-04-01  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Define struct
	file_handle and MAX_HANDLE_SZ.  Declare name_to_handle_at and
	open_by_handle.  Augment a few comments.

2011-04-01  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/mips32/sync_file_range.c: Make
	cancelable.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/fallocate.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/fallocate64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list: Mark
	sync_file_range as cancellation point.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list: Mark
	sync_file_range as cancellation point.

2011-04-01  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list: Add
	sync_file_range.

2011-03-22  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/dl-lookup.c: Update from generic version.

2011-01-25  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/mman.h (MADV_HUGEPAGE,
	MADV_NOHUGEPAGE): Define.

2011-01-25  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/socket.h (AF_CAIF, AF_ALG,
	PF_CAIF, PF_ALG): Define.

2010-12-30  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/init-first.c: Don't call __libc_global_ctors if
	NO_CTORS_DTORS_SECTIONS is defined.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.

2010-12-21  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/stackinfo.h: Define DEFAULT_STACK_PERMS with PF_X.

2010-12-06  Matt Turner  <mattst88@gmail.com>

	* sysdeps/unix/sysv/linux/mips/getpagesize.c: Delete file.

2010-12-06  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/configure.in (arch_minimum_kernel):
	Change to 2.4.1.
	* sysdeps/unix/sysv/linux/mips/configure: Regenerate.

2010-10-21  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/mips32/syscalls.list,
	sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list,
	sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list: Add entries
	for fanotify_mark.

2010-10-11  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/fpu/feupdateenv.c (feupdateenv): Add
	libm_hidden_def.
	* sysdeps/mips/fpu/ftestexcept.c (fetestexcept): Likewise.

2010-08-13  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/kernel-features.h
	(__ASSUME_GETDENTS64_SYSCALL): Undefine for n32 ABI before 2.6.35.

2010-08-13  Chandrakala Chavva  <cchavva@caviumnetworks.com>

	* sysdeps/unix/mips/mips64/n64/sysdep.h (PSEUDO): Add 'nop' in
	jump delay slot.
	* sysdeps/unix/mips/mips64/n32/sysdep.h (PSEUDO): Ditto.

2010-08-13  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/termios.h (EXTPROC): Define.

2010-08-12  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/statfs.h (struct statfs,
	struct statfs64): Add f_flags field.

2010-08-12  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/sys/inotify.h (IN_EXCL_UNLINK):
	Define.

2010-08-12  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/resource.h: Declare prlimit
	and prlimit64.
	* sysdeps/unix/sysv/linux/mips/mips32/syscalls.list,
	sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list: New files.
	* sysdeps/unix/sysv/linux/mips/n32/syscalls.list: Add entry for
	prlimit64 syscall.

2010-06-14  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_SETPIPE_SZ,
	F_GETPIPE_SZ): Define.

2010-05-21  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/mips32/recvmmsg.c,
	sysdeps/unix/sysv/linux/mips/mips32/internal_recvmmsg.S: New.

2010-04-14  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/libc-abis: New.

2010-04-06  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/dl-machine.h (VALID_ELF_ABIVERSION,
	VALID_ELF_OSABI, VALID_ELF_HEADER): Remove.
	* sysdeps/unix/sysv/linux/mips/ldsodefs.h (VALID_ELF_ABIVERSION):
	Define.

2010-03-30  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/socket.h: Define
	MSG_WAITFORONE.

2010-03-24  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/dl-lookup.c: Update from generic version.

2010-03-23  Mischa Jonker  <mischa.jonker@viragelogic.com>

	[BZ #11291]
	* sysdeps/mips/bits/atomic.h
	(__arch_compare_and_exchange_xxx_32_int,
	__arch_compare_and_exchange_xxx_64_int,
	__arch_exchange_xxx_32_int, __arch_exchange_xxx_64_int,
	__arch_exchange_and_add_32_int, __arch_exchange_and_add_64_int):
	Specify *mem as asm output as well as input.

2010-02-10  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/fpu/fegetenv.c: Add hidden alias.

2010-01-28  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/dl-trampoline.c (_dl_runtime_resolve,
	_dl_runtime_pltresolve): Calculate offset from start of function
	to .cpload instead of hardcoding instruction size.

2010-01-11  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/stat.h: Fix double-inclusion
	problem.

2010-01-11  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Define
	SA_RESTART, SA_NODEFER and SA_RESETHAND if __USE_XOPEN2K8.

2010-01-10  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Define O_DIRECTORY,
	O_NOFOLLOW, O_CLOEXEC, F_DUPFD_CLOEXEC, F_SETOWN, and F_GETOWN for
	XPG7.
	* sysdeps/unix/sysv/linux/mips/bits/stat.h: Enable using from
	fcntl.h.

2009-12-16  Joseph Myers  <joseph@codesourcery.com>

	[BZ #11093]
	* sysdeps/unix/sysv/linux/mips/bits/poll.h: Define POLLRDNORM,
	POLLRDBAND, POLLWRNORM, and POLLWRBAND also for POSIX 2008.

2009-12-16  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/dl-lookup.c: Update from generic version.

2009-12-15  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Redefine O_SYNC and
	O_DSYNC to match 2.6.33+ kernels.

2009-12-09  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/socket.h: Define mmsghdr and
	declare recvmmsg.

2009-12-01  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list
	(posix_fadvise): Remove.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/posix_fadvise.c,
	sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c,
	sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c: New.

2009-12-01  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/dl-lookup.c: Update from generic version.

2009-11-23  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/stat.h: Use struct timespec
	for timestamps also if __USE_XOPEN2K8.

2009-11-19  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Introduce new symbol
	F_OWNER_PGRP and mark F_OWNER_GID obsolete.

2009-11-18  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Change misleading
	names of parameters of sync_file_range.

2009-11-17  Joseph Myers  <joseph@codesourcery.com>

	[BZ #10972]
	* sysdeps/unix/sysv/linux/mips/bits/mman.h: Add new MADV_*
	constants from recent kernels.

2009-11-17  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/errno.h (ERFKILL): Define if
	not already defined.

2009-11-14  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_SETOWN_EX,
	F_GETOWN_EX): Update values.

2009-11-06  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (fallocate): Fix types
	of last two arguments when -D_FILE_OFFSET_BITS=64.

2009-10-29  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Define F_OWNER_* and
	f_owner_ex.

2009-10-03  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Define F_SETOWN_EX
	and F_GETOWN_EX.

2009-09-25  Daniel Jacobowitz  <dan@codesourcery.com>

	* 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-08-05  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/____longjmp_chk.c: Remove.  Replaced by....
	* sysdeps/unix/sysv/linux/mips/____longjmp_chk.c: This.  New file.
	* sysdeps/mips/__longjmp.c (__longjmp): Use explicit register
	variable for env.  Use expansion of CHECK_SP macro for check.
	* sysdeps/mips/mips64/__longjmp.c (__Longjmp): Likewise.

2009-08-03  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/mips32/accept4.c,
	sysdeps/unix/sysv/linux/mips/mips32/internal_accept4.S: New.

2009-07-20  Aurelien Jarno  <aurelien@aurel32.net>

	* sysdeps/unix/sysv/linux/mips/kernel-features.h: Define
	__ASSUME_EVENTFD2 and __ASSUME_SIGNALFD4.

2009-07-17  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/do-lookup.h: Remove.
	* sysdeps/mips/dl-lookup.c: Update from generic version, with
	non-PIC handling integrated.

2009-06-18  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/socket.h: Define PF_IEEE802154
	and AF_IEEE802154.

2009-05-16  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/____longjmp_chk.c: New file.
	* sysdeps/mips/__longjmp.c: If CHECK_SP is defined, use it.  Don't
	undefine __longjmp.
	* sysdeps/mips64/__longjmp.c: Likewise.

2009-05-16  Joseph Myers  <joseph@codesourcery.com>

	* 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  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/Versions (libc): Add
	fallocate64@@GLIBC_2.11.

2009-05-14  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/mips64/n64/preadv64.c,
	sysdeps/unix/sysv/linux/mips/mips64/n64/pwritev64.c: New files.

2009-04-18  Maciej W. Rozycki  <macro@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/getcontext.S: New file.
	* sysdeps/unix/sysv/linux/mips/makecontext.S: New file.
	* sysdeps/unix/sysv/linux/mips/setcontext.S: New file.
	* sysdeps/unix/sysv/linux/mips/swapcontext.S: New file.
	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (mcontext_t):
	Update comment.
	* sysdeps/unix/sysv/linux/mips/kernel_rt_sigframe.h: New file.
	* sysdeps/unix/sysv/linux/mips/ucontext_i.sym: New file.
	* sysdeps/unix/sysv/linux/mips/Makefile (gen-as-const-headers):
	Add ucontext_i.sym.

2009-04-18  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/kernel-features.h (__ASSUME_PREADV,
	__ASSUME_PWRITEV): Don't define here.

2009-04-15  Maciej W. Rozycki  <macro@codesourcery.com>

	* sysdeps/mips/sys/fpregdef.h: Update for new ABIs.

2009-04-09  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/socket.h: Add missing protocol
	numbers.
	* sysdeps/unix/sysv/linux/mips/sys/eventfd.h (EFD_SEMAPHORE):
	Define.
	* sysdeps/unix/sysv/linux/mips/kernel-features.h: Add entries for
	preadv and pwritev.

2009-03-18  Maciej W. Rozycki  <macro@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/readelflib.c (process_elf_file):
	Use the Elf32_Ehdr type to check for EF_MIPS_ABI2 in the flags.

2009-03-18  Zhang Le  <r0bertz@gentoo.org>

	[BZ #7074]
	* sysdeps/unix/sysv/linux/mips/readelflib.c (process_elf_file):
	Fix the condition used to annotate n32 objects.

2009-03-17  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/getsysstats.c (GET_NPROCS_PARSER):
	Change parameters and use next_line.

2009-03-17  Joseph Myers  <joseph@codesourcery.com>

	* 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-15  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/bits/link.h: Uglify function parameter names.
	* sysdeps/unix/sysv/linux/mips/sys/cachectl.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/eventfd.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/sysmips.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise.

2009-03-03  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Declare
	fallocate{,64}.

2009-02-26  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/stat.h: Protect UTIME_NOW and
	UTIME_OMIT only with __USE_ATFILE.

2009-02-13  Joseph Myers  <joseph@codesourcery.com>

	[BZ #7040]
	* sysdeps/unix/sysv/linux/mips/sys/inotify.h: Second parameter of
	inotify_rm_watch should have type int.

2009-02-02  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/shm.h (SHM_EXEC): Define.

2009-01-27  Maciej W. Rozycki  <macro@linux-mips.org>
	    Atsushi Nemoto  <anemo@mba.ocn.ne.jp>

	PR glibc/1048
	* sysdeps/unix/sysv/linux/mips/dl-static.c: New file to support
	variable page size for MIPS.
	* sysdeps/unix/sysv/linux/mips/ldsodefs.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/Makefile: Build dl-static in elf.
	* sysdeps/unix/sysv/linux/mips/Versions: Add _dl_var_init.

2009-01-12  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/resource.h (enum
	__rusage_who): Avoid comma after RUSAGE_CHILDREN if not
	-D_GNU_SOURCE.

2009-01-12  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h: Define
	FUTEX_CLOCK_REALTIME and FUTEX_BITSET_MATCH_ANY.

2008-12-19  Joseph Myers  <joseph@codesourcery.com>

	* 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-09  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/socket.h (SCM_CREDENTIALS):
	Make available only for __USE_GNU.

2008-12-03  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h: Define
	FUTEX_WAIT_BITSET and FUTEX_WAKE_BITSET.

2008-11-25  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/sys/signalfd.h (signalfd): Fix
	__THROW vs. __nonnull order for C++.

2008-10-15  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/mips/dl-dtprocnum.h (DT_MIPS_NUM): Do not redefine.
	* sysdeps/mips/dl-machine.h (STO_MIPS_PLT, R_MIPS_COPY,
	R_MIPS_JUMP_SLOT, DT_MIPS_PLTGOT): Do not redefine.

2008-10-01  Mark Shinwell  <shinwell@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>
	    Richard Sandiford  <rdsandiford@googlemail.com>

	* sysdeps/mips/dl-dtprocnum.h (DT_MIPS_NUM): Redefine.
	* sysdeps/mips/dl-lookup.c: New.
	* sysdeps/mips/do-lookup.h: New.
	* sysdeps/mips/dl-machine.h (ELF_MACHINE_NO_PLT): Remove
	definition.
	(STO_MIPS_PLT, R_MIPS_COPY, R_MIPS_JUMP_SLOT, DT_MIPS_PLTGOT): Define
	if needed.
	(ELF_MACHINE_JMP_SLOT): Alter definition and update comment.
	(elf_machine_type_class): Likewise.
	(ELF_MACHINE_PLT_REL): Define.
	(elf_machine_fixup_plt): New.
	(elf_machine_plt_value): New.
	(elf_machine_reloc): Handle jump slot and copy relocations.
	(elf_machine_lazy_rel): Point relocation place at PLT if
	required.
	(RESOLVE_GOTSYM): Take a relocation type argument.
	(elf_machine_got_rel): Bind lazy stubs directly to their target if
	!lazy.  Skip lazy binding for PLT symbols.
	(elf_machine_runtime_setup): Fill in .got.plt header.
	* sysdeps/mips/dl-trampoline.c (IFNEWABI): New macro.
	(ELF_DL_PLT_FRAME_SIZE, ELF_DL_PLT_SAVE_ARG_REGS,
	ELF_DL_PLT_RESTORE_ARG_REGS): Define.
	(_dl_runtime_pltresolve): New.
	* sysdeps/mips/bits/linkmap.h: New file.
	* sysdeps/mips/tls-macros.h: Load $gp as required.  Merge 32-bit and
	64-bit versions.

	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (SYSCALL_ERROR_LABEL):
	Delete definition.
	* sysdeps/unix/sysv/linux/mips/nptl/sysdep-cancel.h (PSEUDO_CPLOAD,
	PSEUDO_ERRJMP, PSEUDO_SAVEGP, PSEUDO_LOADGP): Define.
	(PSEUDO): Use them.  Move outside __PIC__.
	(PSEUDO_JMP): New.
	(CENABLE, CDISABLE): Use it.

2008-08-19  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/sys/epoll.h: Change epoll_create2
	to epoll_create1.

2008-08-19  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/socket.h: Define SOCK_CLOEXEC,
	SOCK_NONBLOCK, PF_ISDN and AF_ISDN.
	* sysdeps/unix/sysv/linux/mips/sys/epoll.h: New file.
	* sysdeps/unix/sysv/linux/mips/sys/eventfd.h: New file.
	* sysdeps/unix/sysv/linux/mips/sys/inotify.h: New file.
	* sysdeps/unix/sysv/linux/mips/sys/signalfd.h: New file.
	* sysdeps/unix/sysv/linux/mips/sys/timerfd.h: New file.

2008-08-19  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/fpu_control.h (_FPU_GETCW, _FPU_SETCW): Make asms
	volatile.

2008-07-18  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/bits/setjmp.h (__jmp_buf): Give name to structure
	type.

2008-05-21  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/socket.h: Cleanup namespace.
	(SOCK_DCCP): Define.

2008-05-01  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/resource.h: Define
	RUSAGE_THREAD and RUSAGE_LWP.

2008-04-21  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/shm.h: Fix comment describing
	shmid_ds.

2008-04-21  Khem Raj  <kraj@mvista.com>

	* sysdeps/unix/sysv/linux/mips/xmknod.c: Delete file.

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-03-28  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/nptl/bits/local_lim.h: Undefine
	ARG_MAX if <linux/limits.h> has defined it.

2008-03-28  Robin Randhawa  <robin@mips.com>

	* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Added memory
	barriers to enforce strict ordering on weakly ordered systems.

2008-03-26  David Stephenson  <david.stephenson@sicortex.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/mips/fpu/fesetround.c (fesetround): Use fpu_control_t.
	* sysdeps/mips/fpu/fgetexcptflg.c (fegetexceptflag): Likewise.
	* sysdeps/mips/fpu/fsetexcptflg.c (fesetexceptflag): Likewise.

2008-03-09  Andreas Jaeger  <aj@suse.de>

	[BZ #5753]
	* sysdeps/mips/ieee754.h: Use protected namespace
	__BIG_ENDIAN/__LITTLE_ENDIAN.
	Patch by Aurelien Jarno <aurelien@aurel32.net>.

2008-03-04  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/siginfo.h (struct siginfo):
	Reorganize to match other architectures.  Replace _timer._timer1
	and _timer._timer2 with _timer.si_tid, _timer.si_overrun, and
	_timer.si_sigval.  Correct the type of _sigpoll.si_band.
	(si_timerid, si_overrun): Define.
	(__SIGEV_PAD_SIZE): Correct for __WORDSIZE == 64.
	(__pthread_attr_s): Remove declaration.
	(struct sigevent): Remove XXX.  Add _tid.

2007-10-22  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_DUPFD_CLOEXEC): Define.

2007-09-25  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Correct return value
	type and __THROW marker of splice, vmsplice, and tee.

2007-09-12  Joseph Myers  <joseph@codesourcery.com>

	* 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-08-06  Maciej W. Rozycki  <macro@linux-mips.org>

	* sysdeps/unix/sysv/linux/mips/dl-cache.h (_DL_CACHE_DEFAULT_ID):
	New macros for the (n)64 and n32 ABIs.
	(_dl_cache_check_flags): Define if _DL_CACHE_DEFAULT_ID has been.

2007-07-13  Carlos O'Donell  <carlos@codesourcery.com>

	* sysdeps/mips/bits/wordsize.h [_MIPS_SIM == _ABI64]:
	Define __WORDSIZE_COMPAT32 as 1.

2007-07-13  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/nptl/bits/local_lim.h: Copy from
	libc/nptl/sysdeps/unix/sysv/linux/bits/local_lim.h.  Increase
	PTHREAD_STACK_MIN.

2007-07-10  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Comment fix.

	* sysdeps/unix/sysv/linux/mips/nptl/bits/semaphore.h (SEM_VALUE_MAX):
	Delete.

2007-06-07  Daniel Jacobowitz  <dan@codesourcery.com>

	* 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-06  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/mips/nptl/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
	THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT): Define.
	(THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
	THREAD_GSCOPE_WAIT): Define.
	* sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h
	(FUTEX_PRIVATE_FLAG): Define.
	(lll_unlock_wake_cb): Delete prototype.
	* sysdeps/unix/sysv/linux/mips/nptl/bits/pthreadtypes.h: Include
	<endian.h>.
	(pthread_rwlock_t): Shrink __flags and add __shared.

2007-05-24  Atsushi Nemoto  <anemo@mba.ocn.ne.jp>

	* sysdeps/unix/sysv/linux/mips/mips32/posix_fadvise.c
	(posix_fadvise): Fix high word of len argument.

2007-05-23  Atsushi Nemoto  <anemo@mba.ocn.ne.jp>

	* 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  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/mips64/n32/Implies: Add mips/mips64/soft-fp.
	* sysdeps/mips/mips64/n64/Implies: Likewise.
	* sysdeps/mips/mips64/soft-fp/Makefile: New.
	* sysdeps/mips/mips64/soft-fp/e_sqrtl.c: New.
	* sysdeps/mips/mips64/soft-fp/sfp-machine.h: Include <fenv.h> and
	<fpu_control.h>.  Use hardware exception and rounding mode
	settings.

2007-05-23  Richard Sandiford  <rsandifo@nildram.co.uk>

	* sysdeps/mips/dl-machine.h (elf_machine_reloc): Change type of
	r_info argument to ElfW(Addr).

2007-02-01  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/bits/mathdef.h (float_t): Change to float.

2007-01-25  Atsushi Nemoto <anemo@mba.ocn.ne.jp>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* 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-23  Daniel Jacobowitz  <dan@codesourcery.com>

	* 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  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/mips64/nptl/sysdep-cancel.h
	(cfi_same_value): Delete definition.

2007-01-08  Richard Sandiford  <richard@codesourcery.com>

	* sysdeps/mips/dl-machine.h (ELF_MACHINE_NO_RELA): Delete.
	(elf_machine_reloc): New function, retaining the body of
	elf_machine_rel.  Take the reloc's r_info field as an argument,
	not the reloc itself.  Add extra r_addend and inplace_p arguments.
	When inplace_p is false, use r_addend as the addend, not the contents
	of the relocation field.  Hoist the conversion of reloc_addr to
	"ELFW(Addr) *".  Don't try to apply TLS relocations against
	undefined symbols.  Add R_MIPS_GLOB_DAT support.
	(elf_machine_rel, elf_machine_rela): Use elf_machine_reloc.
	(elf_machine_lazy_rel): Change the reloc type from ElfW(Rel)
	to ElfW(Rela).

2007-01-08  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/mips/ldsodefs.h: Merge sysdeps/mips/elf/ldsodefs.h.  Correct
	multiple inclusion guard.
	* sysdeps/mips/elf/ldsodefs.h: Delete file.

2007-01-04  Thiemo Seufer  <ths@networkno.de>

	* sysdeps/unix/sysv/linux/mips/bits/msq.h (struct msqid_ds): Update
	to match the kernel.

2006-10-31  Daniel Jacobowitz  <dan@codesourcery.com>

	* 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  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (splice): Update
	prototype.

2006-09-22  Richard Sandiford  <richard@codesourcery.com>

	* 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-21  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/fpu_control.h: If soft-float, don't use
	floating-point registers.
	* sysdeps/mips/__longjmp.c, sysdeps/mips/setjmp_aux.c,
	sysdeps/mips/mips64/__longjmp.c, sysdeps/mips/mips64/setjmp_aux.c:
	Likewise.

2006-08-04  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h (FUTEX_LOCK_PI,
	FUTEX_UNLOCK_PI, FUTEX_TRYLOCK_PI): Define.

2006-07-24  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/mips64/n32/libm-test-ulps,
	sysdeps/mips/mips64/n64/libm-test-ulps: New.

2006-07-24  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/sigaction.c: If WRAPPER_INCLUDE is
	defined, include the named file.

2006-06-08  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Reformat.
	(SPLICE_F_MOVE, SPLICE_F_NONBLOCK, SPLICE_F_MORE, SPLICE_F_GIFT):
	Define.

2006-06-02  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/resource.h (RLIM_INFINITY,
	RLIM64_INFINITY): Define appropriately for N64.  Use unsigned
	types.

2006-06-02  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/kernel_stat.h (struct kernel_stat):
	Don't use struct timespec.
	* sysdeps/unix/sysv/linux/mips/xstatconv.c (__xstat_conv,
	__xstat64_conv): Copy individual timespec fields.

2006-06-02  Richard Sandiford  <richard@codesourcery.com>

	* sysdeps/mips/Makefile (ASFLAGS-.os): Define.

2006-06-02  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/mips/fpu/feholdexcpt.c: Add libm_hidden_def.
	* sysdeps/mips/fpu/fesetround.c: Likewise.

2006-05-10  Richard Sandiford  <richard@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/register-dump.h (register_dump): Don't
	dump sc_cause, sc_status or sc_badvaddr.
	* sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: Rewrite.  Update
	structure definitions after DSP kernel changes.
	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (mcontext_t): Update
	after the same DSP changes.

2006-05-08  Richard Sandiford  <richard@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/stat.h (struct stat): Add
	st_atim, st_mtim and st_ctim interface.
	(struct stat64): Likewise.
	* sysdeps/unix/sysv/linux/mips/kernel_stat.h (struct kernel_stat):
	Replace st_atime and its padding field with st_atim.  Likewise
	st_mtime/st_mtim and st_ctime/st_ctim.
	* sysdeps/unix/sysv/linux/mips/xstatconv.c (__xstat_conv): Update
	after above changes.
	(__xstat64_conv): Likewise.

2006-05-08  Richard Sandiford  <richard@codesourcery.com>

	* sysdeps/mips/ldsodefs.h: New file.
	* sysdeps/mips/tst-audit.h: New file.

2006-05-05  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/mman.h: Formatting changes
	for consistency with other ports.
	(MADV_REMOVE): Correct value.
	(MADV_DONTFORK, MADV_DOFORK, POSIX_MADV_NORMAL,
	POSIX_MADV_RANDOM, POSIX_MADV_SEQUENTIAL, POSIX_MADV_WILLNEED,
	POSIX_MADV_DONTNEED): Define.

2006-05-05  Lior Balkohen  <balkohen@gmail.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Remove
	LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT.
	Define SYNC_FILE_RANGE_WAIT_BEFORE, SYNC_FILE_RANGE_WRITE
	and SYNC_FILE_RANGE_WAIT_AFTER.
	Declare sync_file_range, vmsplice, splice and tee.

2006-03-27  Lior Balkohen  <balkohen@gmail.com>

	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Define
	LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT.  Add readahead
	prototype.

2006-03-27  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/bits/poll.h (POLLREMOVE, POLLRDHUP):
	Define.

2006-03-27  Denis Barbier  <barbier@linuxfr.org>

	* sysdeps/unix/sysv/linux/mips/bits/resource.h (RLIMIT_RTPRIO): Fix
	typo.

2006-03-11  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/nptl/fork.c: Correct path to
	i386/fork.c.

2006-03-11  Daniel Jacobowitz  <dan@codesourcery.com>

	* 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-02  Lior Balkohen  <balkohen@gmail.com>

	* sysdeps/unix/sysv/linux/mips/nptl/bits/pthreadtypes.h
	(__pthread_list_t, __pthread_slist_t): New typedefs.
	(pthread_mutex_t): Replace __next and __prev fields with __list.
	* sysdeps/unix/sysv/linux/mips/nptl/lowlevellock.h (FUTEX_WAKE_OP,
	FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): Define.
	(lll_futex_wake_unlock): Define.
	(lll_robust_mutex_dead, lll_robust_mutex_trylock, lll_robust_mutex_lock,
	lll_robust_mutex_cond_lock, lll_robust_mutex_timedlock,
	lll_robust_mutex_unlock): New macros.
	(__lll_robust_lock_wait, __lll_robust_timedlock_wait): New prototypes.
	* sysdeps/unix/sysv/linux/mips/nptl/pt-vfork.S: Use correct path to
	vfork.S.
	* sysdeps/unix/sysv/linux/mips/nptl/vfork.S: Likewise.

2006-03-02  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/mips/ptrace.c: Delete file.
	* sysdeps/unix/sysv/linux/mips/sys/ptrace.h: Delete file.

2006-03-02  Daniel Jacobowitz  <dan@codesourcery.com>

	* 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-02-20  Roland McGrath  <roland@redhat.com>

	* sysdeps/mips/shlib-versions: New file.
	* sysdeps/mips/preconfigure: New file.
	* sysdeps/unix/sysv/linux/mips/kernel-features.h: New file.
