Commit Graph

110 Commits

Author SHA1 Message Date
Maciej W. Rozycki
b82ba2f011 MIPS: Respect the legacy syscall restart convention.
That convention requires the instruction immediately preceding SYSCALL
to initialize $v0 with the syscall number.  Then if a restart triggers,
$v0 will have been clobbered by the syscall interrupted, and needs to be
reinititalized.  The kernel will decrement the PC by 4 before switching
back to the user mode so that $v0 has been reloaded before SYSCALL is
executed again.  This implies the place $v0 is loaded from must be
preserved across a syscall, e.g. an immediate, static register, stack
slot, etc.

The restriction was lifted with Linux 2.6.36 kernel release and no
special requirements are placed around the SYSCALL instruction anymore,
however we still support older kernel binaries.
2013-02-05 14:55:20 +00:00
Joseph Myers
6277fdabc0 Remove CHECK_STRING, CHECK_STRING_NULL_OK and __ubp_memchr. 2013-02-04 16:29:39 +00:00
Joseph Myers
2e8a5c8c46 Remove bp-semctl.h and CHECK_SEMCTL. 2013-01-31 22:59:04 +00:00
Maciej W. Rozycki
29bfb065e3 MIPS: Correct NewABI syscall wrapper whitespace damage. 2013-01-29 13:30:16 +00:00
Steve Ellcey
c6af74e473 2013-01-25 Steve Ellcey <sellcey@mips.com>
* sysdeps/mips/memmove.c: Remove.
2013-01-25 16:11:40 -08:00
Joseph Myers
828beb132d Use __extension__ with long long in installed headers. 2013-01-10 20:19:45 +00:00
Steve Ellcey
d9014c080a 2013-01-08 Steve Ellcey <sellcey@mips.com>
* sysdeps/mips/memcpy.S: Change prefetch hint, reorder partial
	loads and stores, set and use MAX_PREFETCH_SIZE.
2013-01-08 14:40:28 -08:00
Andreas Jaeger
c40ea3d9a3 BZ#14985: Remove erroneous EPOLL_NONBLOCK
[BZ# 14985]
	* sysdeps/unix/sysv/linux/sparc/bits/epoll.h (EPOLL_NONBLOCK):
	Remove.
	* sysdeps/unix/sysv/linux/bits/epoll.h (EPOLL_NONBLOCK):
	Likewise.
	* sysdeps/unix/sysv/linux/x86/bits/epoll.h (EPOLL_NONBLOCK):
	Likewise.

ChangeLog.mips:
	[BZ# 14985]
	* sysdeps/unix/sysv/linux/mips/bits/epoll.h (EPOLL_NONBLOCK):
	* Remove.

ChangeLog.hppa:
	[BZ# 14985]
	* sysdeps/unix/sysv/linux/hppa/sys/epoll.h (EPOLL_NONBLOCK):
	Remove.

ChangeLog.alpha:
	[BZ# 14985]
	* sysdeps/unix/sysv/linux/alpha/bits/epoll.h (EPOLL_NONBLOCK):
	Remove.
2013-01-08 19:32:00 +01:00
Joseph Myers
568035b787 Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Joseph Myers
f4cf5f2d8b Add script to update copyright notices and reformat some to facilitate its use. 2013-01-01 16:29:10 +00:00
Joseph Myers
8d65d9d7a7 Fix typo in ChangeLog.mips. 2012-12-04 22:08:24 +00:00
Joseph Myers
0993dd9b0c Fix warnings from MIPS soft-float _FPU_GETCW. 2012-12-04 22:07:03 +00:00
Joseph Myers
8018f81bde Update MIPS libm-test-ulps. 2012-11-30 20:35:34 +00:00
Joseph Myers
1672585fc1 Add 64-bit support to MIPS register-dump.h (bug 14893). 2012-11-29 23:03:48 +00:00
Joseph Myers
fc6394c6fc Implement MIPS n64 sendfile64 as alias of sendfile syscall (bug 14822). 2012-11-22 02:37:02 +00:00
Joseph Myers
c3151ad100 Cast to uintptr_t in MIPS jmpbuf-unwind.h. 2012-11-21 16:41:57 +00:00
Joseph Myers
e0ba0e189a Add sotruss-lib.c for MIPS. 2012-11-21 02:29:29 +00:00
Joseph Myers
f59cba71d8 Use parentheses around MIPS syscall macro arguments. 2012-11-20 02:45:45 +00:00
Joseph Myers
aa099ade81 Fix int-to-pointer-cast warnings for MIPS. 2012-11-20 02:40:12 +00:00
Joseph Myers
bd077d205a Fix warnings from aborting MIPS atomic macros. 2012-11-20 00:56:29 +00:00
Joseph Myers
c9c253d372 Fix unused-variable warnings from MIPS RESOLVE_GOTSYM macro. 2012-11-20 00:00:35 +00:00
Joseph Myers
6eb43a28af Fix unused variable warnings from MIPS syscall macros. 2012-11-19 23:08:27 +00:00
Joseph Myers
018f9a78d3 Fix "set but not used" warnings from MIPS bits/atomic.h. 2012-11-17 03:35:27 +00:00
Maxim Kuvyrkov
19218757e6 Use memcpy in memmove when possible 2012-11-06 17:47:55 -08:00
Joseph Myers
d7fcee3a58 Define lll_futex_timed_wait_bitset for MIPS. 2012-11-05 22:30:54 +00:00
Thomas Schwinge
b830319d49 [BZ #157] Remove include/stub-tag.h for good. 2012-11-04 19:59:40 +01:00
Joseph Myers
5b5b04d628 Make fma use of Dekker and Knuth algorithms use round-to-nearest (bug 14796). 2012-11-03 19:48:53 +00:00
Joseph Myers
fbeafedeea Make fenv.h FE_* macros usable in #if (bug 3439). 2012-11-03 17:07:56 +00:00
Thomas Schwinge
46879baebf Regenerate all configure scripts. 2012-11-01 18:04:56 +01:00
Thomas Schwinge
4c68e86547 BZ#14743: Move clock_* symbols from librt to libc.
Change missing from commit 6e6249d0b4.
2012-11-01 01:59:19 +01:00
Steve Ellcey
e6ff7f84f7 2012-10-31 Steve Ellcey <sellcey@mips.com>
* sysdeps/mips/memcpy.S: Add prefetching and more unrolling, make
	it work in 32 or 64 bit modes.
	* sysdeps/mips/mips64/memcpy.S: Remove.
2012-10-31 10:38:17 -07:00
Joseph Myers
2a27fd6dae Fix strtod handling of underflow (bug 14047). 2012-10-30 13:51:27 +00:00
Steve Ellcey
48b76e2d04 2012-10-29 Steve Ellcey <sellcey@mips.com>
* sysdeps/unix/sysv/linux/mips/mips32/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/Makefile: Remove.
	* sysdeps/unix/sysv/linux/mips/configure.in: Create default_abi.make.
	* sysdeps/unix/sysv/linux/mips/configure: Regenerate.
	* sysdeps/unix/sysv/linux/mips/Makefile: Include default_abi.make.
	(abi-variants): Add hard and soft float versions.
	(abi-o32-options): Remove.
	(abi-o32-condition): Remove.
	(abi-n32-options): Remove.
	(abi-n32-condition): Remove.
	(abi-n64-options): Remove.
	(abi-n64-condition): Remove.
	(abi-o32_soft-options): New.
	(abi-o32_soft-condition): New.
	(abi-o32_hard-options): New.
	(abi-o32_hard-condition): New.
	(abi-n32_soft-options): New.
	(abi-n32_soft-condition): New.
	(abi-n32_hard-options): New.
	(abi-n32_hard-condition): New.
	(abi-n64_soft-options): New.
	(abi-n64_soft-condition): New.
	(abi-n64_hard-options): New.
	(abi-n64_hard-condition): New.
2012-10-29 11:42:39 -07:00
Roland McGrath
6e6249d0b4 BZ#14743: Move clock_* symbols from librt to libc. 2012-10-24 14:50:46 -07:00
Andreas Jaeger
de2b6422c6 Convert MIPS to use <bits/fcntl-linux.h>
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Remove all
	definitions and declarations that are provided by
	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
2012-10-24 22:13:15 +02:00
Steve Ellcey
8f565a27ed 2012-10-03 Steve Ellcey <sellcey@mips.com>
* sysdeps/mips/ieee754.h: Move to...
	* sysdeps/mips/ieee754/ieee754.h: Here.
	* sysdeps/mips/mips32/Implies: Add mips/ieee754.
	* sysdeps/mips/mips64/Implies: Ditto.
	* sysdeps/mips/mips64/n32/Implies: Ditto.
	* sysdeps/mips/mips64/n64/Implies: Ditto.
2012-10-03 14:32:26 -07:00
Siddhesh Poyarekar
40d4a87bb5 Split my last ChangeLog entry into respective arch-specific files 2012-10-02 09:28:18 +05:30
Roland McGrath
93c65d4384 Clean up init-first.c files. 2012-10-01 12:55:34 -07:00
H.J. Lu
1fa1170b52 Fix the ChangeLog entry 2012-09-28 16:14:32 -07:00
H.J. Lu
4ff2d4c2f6 Remove mips VERSYMIDX macro definition 2012-09-28 11:31:18 -07:00
Joseph Myers
ad845c0be9 Remove __ASSUME_STAT64_SYSCALL. 2012-08-27 19:36:04 +00:00
Guido Guenther
89570c6269 mips: clear condition bit 23 in fpu too
We've been carrying this in Gentoo for quite a long time to fix some test
failures that people hit.

Original message:
	> make[4]: *** [/glibc/glibc-package-2.3/mips-linux/obj/math/test-fpucw.out] Error 1
	This test fails since the read back fpu control word is 0x80000 instead
	of 0x0. I wonder if this patch is correct:
	...
	which additionally masks out the condition bit 23 - note that the other
	condition bits (25-31) are masked out too?

URL: http://sourceware.org/ml/libc-alpha/2002-10/msg00392.html
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-08-27 12:41:28 -04:00
Joseph Myers
eaeffd07f7 Clean up MIPS stat64 handling. 2012-08-22 21:03:12 +00:00
Carlos O'Donell
30f696374d Fifth argument of la_pltenter() is not constant.
The original runtime linker auditing interface described
by Solaris allows the 5th argument of la_pltenter() to be
modified. This patch cleans up the ldsodefs.h definitions
such that the 5th argument is not constant.

At one point the 5th argument *was* constant but this was
changed with commit 2413fdba7a.
This patch updates alpha, ia64, mips, sh and sparc with similar
changes.
2012-08-16 08:41:05 -07:00
Maxim Kuvyrkov
309becf120 Optimize __libc_lock_lock and __libc_lock_trylock for MIPS. 2012-08-15 16:44:30 -07:00
Maxim Kuvyrkov
ef4009734b Add generic versions of pthread_spin_lock and pthread_spin_trylock. 2012-08-15 16:29:06 -07:00
Joseph Myers
5544c7e000 Update MIPS dl-lookup.c from generic version. 2012-08-15 09:49:07 +00:00
Maxim Kuvyrkov
8f12da9795 Add explicit acquire/release semantics to MIPS' atomic_exchange_and_add. 2012-08-13 19:55:34 -07:00
Joseph Myers
7f54025287 Define __ASSUME_UTIMES for MIPS. 2012-08-09 23:33:41 +00:00
Joseph Myers
6dad2c0688 Remove pre-2.6.16 Linux kernel support. 2012-08-07 16:40:32 +00:00
Joseph Myers
23bddc0668 Remove __ASSUME_FCNTL64. 2012-08-01 21:27:58 +00:00
Steve Ellcey
b290216f09 Fix MIPS PREF/PREFX macro definitions in empty case. 2012-08-01 15:11:43 +00:00
Joseph Myers
7e6242f556 Improve MIPS n64 handling of 64-bit fcntl. 2012-07-31 23:17:24 +00:00
Joseph Myers
89d9c04def Make mmap64 an alias of mmap on MIPS. 2012-07-27 13:43:46 +00:00
Florian Weimer
0c7936d5e9 Fix up ChangeLog entries 2012-07-25 20:46:19 +02:00
Joseph Myers
ef1354a5fe Remove TLS configure check for MIPS. 2012-07-17 22:48:57 +00:00
Joseph Myers
7d67a5d1dc Add c++-types information for MIPS. 2012-07-17 16:25:02 +00:00
Maxim Kuvyrkov
a766fb45a3 Rewrite MIPS' atomic.h to use __atomic_* builtins. 2012-07-11 16:47:58 -07:00
Petar Jovanovic
76b1f93b04 Do not store data below the stack pointer on MIPS. 2012-07-06 19:12:21 +00:00
Joseph Myers
e64ac02c24 Move all files into ports/ subdirectory in preparation for merge with glibc 2012-07-01 13:06:41 +00:00