aboutsummaryrefslogtreecommitdiff
path: root/ports/sysdeps/mips
AgeCommit message (Collapse)AuthorFilesLines
2014-02-10Move mips from ports to libc.Joseph Myers142-35935/+0
I've moved the MIPS port from ports to the main sysdeps hierarchy. Beyond the README update, the move of the files was simply git mv ports/sysdeps/mips sysdeps/mips git mv ports/sysdeps/unix/mips sysdeps/unix/mips git mv ports/sysdeps/unix/sysv/linux/mips sysdeps/unix/sysv/linux/mips and in addition to the ChangeLog entries here, I put a note at the top of ports/ChangeLog.mips similar to those in other files. Tested that disassembly of installed shared libraries for mips is the same before and after this patch (except for ld.so where paths in assertions are involved, as for arm). * sysdeps/mips: Move directory from ports/sysdeps/mips. * sysdeps/unix/mips: Move directory from ports/sysdeps/unix/mips. * sysdeps/unix/sysv/linux/mips: Move directory from ports/sysdeps/unix/sysv/linux/mips. * README: Update listing for mips-*-linux-gnu and mips64-*-linux-gnu. * sysdeps/mips: Move directory to ../sysdeps/mips. * sysdeps/unix/mips: Move directory to ../sysdeps/unix/mips. * sysdeps/unix/sysv/linux/mips: Move directory to ../sysdeps/unix/sysv/linux/mips.
2014-01-01Regenerate MIPS ulps.Joseph Myers2-1692/+11644
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae95-95/+95
2013-12-03Update MIPS dl-lookup.c from generic version.Joseph Myers1-3/+2
2013-11-28Fix dbl-64 e_sqrt.c for non-default rounding modes (bug 16271).Joseph Myers1-0/+1
2013-10-30rename configure.in to configure.acMike Frysinger2-1/+1
Autoconf has been deprecating configure.in for quite a long time. Rename all our configure.in and preconfigure.in files to .ac. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-10-032013-09-26 Steve Ellcey <sellcey@mips.com>Steve Ellcey6-0/+6
[BZ #15632] * sysdeps/mips/mips32/fpu/e_sqrt.c: New. * sysdeps/mips/mips32/fpu/e_sqrtf.c: New. * sysdeps/mips/mips64/n32/fpu/e_sqrt.c: New. * sysdeps/mips/mips64/n32/fpu/e_sqrtf.c: New. * sysdeps/mips/mips64/n64/fpu/e_sqrt.c: New. * sysdeps/mips/mips64/n64/fpu/e_sqrtf.c: New.
2013-09-232013-09-23 Steve Ellcey <sellcey@mips.com>Steve Ellcey1-0/+108
* sysdeps/mips/math_private.h (libc_feholdexcept_mips): New function. (libc_feholdexcept): New macro. (libc_feholdexceptf): New macro. (libc_feholdexceptl): New macro. (libc_fesetround_mips): New function. (libc_fesetround): New macro. (libc_fesetroundf): New macro. (libc_fesetroundl): New macro. (libc_feholdexcept_setround_mips): New function. (libc_feholdexcept_setround): New macro. (libc_feholdexcept_setroundf): New macro. (libc_feholdexcept_setroundl): New macro. (libc_fesetenv_mips): New function. (libc_fesetenv): New macro. (libc_fesetenvf): New macro. (libc_fesetenvl): New macro. (libc_feupdateenv_mips): New function. (libc_feupdateenv): New macro. (libc_feupdateenvf): New macro. (libc_feupdateenvl): New macro.
2013-09-23MIPS: bits/atomic.h: Fix comment typoMaciej W. Rozycki1-1/+1
2013-09-232013-09-23 Steve Ellcey <sellcey@mips.com>Steve Ellcey2-3/+3
* sysdeps/mips/fpu/fegetround.c (fegetround): Use _FPU_RC_MASK. * sysdeps/mips/fpu/fesetround.c (fesetround): Use _FPU_RC_MASK.
2013-09-232013-09-19 Steve Ellcey <sellcey@mips.com>Steve Ellcey1-0/+2
* sysdeps/mips/fpu_control.h (_FPU_RC_MASK): New.
2013-09-232013-09-23 Steve Ellcey <sellcey@mips.com>Steve Ellcey1-3/+3
* sysdeps/mips/fpu_control.h (comments): Add capitalization and periods to match GNU standard.
2013-09-202013-09-20 Steve Ellcey <sellcey@mips.com>Steve Ellcey1-90/+0
* sysdeps/mips/memset.S: Change prefetching and add loop unrolling. * sysdeps/mips/mips64/memset.S: Remove.
2013-09-202013-09-20 Steve Ellcey <sellcey@mips.com>Steve Ellcey1-56/+338
* sysdeps/mips/memset.S: Change prefetching and add loop unrolling. * sysdeps/mips/mips64/memset.S: Remove.
2013-09-18MIPS: IEEE 754-2008 NaN encoding supportMaciej W. Rozycki9-21/+256
It has been a long practice for software using IEEE 754 floating-point arithmetic run on MIPS processors to use an encoding of Not-a-Number (NaN) data different to one used by software run on other processors. And as of IEEE 754-2008 revision [1] this encoding does not follow one recommended in the standard, as specified in section 6.2.1, where it is stated that quiet NaNs should have the first bit (d1) of their significand set to 1 while signalling NaNs should have that bit set to 0, but MIPS software interprets the two bits in the opposite manner. As from revision 3.50 [2][3] the MIPS Architecture provides for processors that support the IEEE 754-2008 preferred NaN encoding format. As the two formats (further referred to as "legacy NaN" and "2008 NaN") are incompatible to each other, tools have to provide support for the two formats to help people avoid using incompatible binary modules. The change is comprised of two functional groups of features, both of which are required for correct support. 1. Dynamic linker support. To enforce the NaN encoding requirement in dynamic linking a new ELF file header flag has been defined. This flag is set for 2008-NaN shared modules and executables and clear for legacy-NaN ones. The dynamic linker silently ignores any incompatible modules it encounters in dependency processing. To avoid unnecessary processing of incompatible modules in the presence of a shared module cache, a set of new cache flags has been defined to mark 2008-NaN modules for the three ABIs supported. Changes to sysdeps/unix/sysv/linux/mips/readelflib.c have been made following an earlier code quality suggestion made here: http://sourceware.org/ml/libc-ports/2009-03/msg00036.html and are therefore a little bit more extensive than the minimum required. Finally a new name has been defined for the dynamic linker so that 2008-NaN and legacy-NaN binaries can coexist on a single system that supports dual-mode operation and that a legacy dynamic linker that does not support verifying the 2008-NaN ELF file header flag is not chosen to interpret a 2008-NaN binary by accident. 2. Floating environment support. IEEE 754-2008 features are controlled in the Floating-Point Control and Status (FCSR) register and updates are needed to floating environment support so that the 2008-NaN flag is set correctly and the kernel default, inferred from the 2008-NaN ELF file header flag at the time an executable is loaded, respected. As the NaN encoding format is a property of GCC code generation that is both a user-selected GCC configuration default and can be overridden with GCC options, code that needs to know what NaN encoding standard it has been configured for checks for the __mips_nan2008 macro that is defined internally by GCC whenever the 2008-NaN mode has been selected. This mode is determined at the glibc configuration time and therefore a few consistency checks have been added to catch cases where compilation flags have been overridden by the user. The 2008 NaN set of features relies on kernel support as the in-kernel floating-point emulator needs to be aware of the NaN encoding used even on hard-float processors and configure the FPU context according to the value of the 2008 NaN ELF file header flag of the executable being started. As at this time work on kernel support is still in progress and the relevant changes have not made their way yet to linux.org master repository. Therefore the minimum version supported has been artificially set to 10.0.0 so that 2008-NaN code is not accidentally run on a Linux kernel that does not suppport it. It is anticipated that the version is adjusted later on to the actual initial linux.org kernel version to support this feature. Legacy NaN encoding support is unaffected, older kernel versions remain supported. [1] "IEEE Standard for Floating-Point Arithmetic", IEEE Computer Society, IEEE Std 754-2008, 29 August 2008 [2] "MIPS Architecture For Programmers, Volume I-A: Introduction to the MIPS32 Architecture", MIPS Technologies, Inc., Document Number: MD00082, Revision 3.50, September 20, 2012 [3] "MIPS Architecture For Programmers, Volume I-A: Introduction to the MIPS64 Architecture", MIPS Technologies, Inc., Document Number: MD00083, Revision 3.50, September 20, 2012
2013-08-30Fix then/than typos.Ondřej Bílka1-7/+7
2013-08-30Fix typos.Ondřej Bílka1-2/+2
2013-08-29Fix typos.Ondřej Bílka1-1/+1
2013-08-22MIPS: Correct the handling of reserved FCSR bitsMaciej W. Rozycki3-4/+3
Reserved bits in the Floating-Point Control and Status Register (FCSR) should not be implicitly cleared by fedisableexcept or feenableexcept, there is no reason to. Among these are the 8 condition codes and one of the two bits reserved for architecture implementers (bits #22 & #21). As to the latter, there is no reason to treat any of them as reserved either, they should be user controllable and settable via __fpu_control override as the user sees fit. For example in processors implemented by MIPS Technologies, such as the 5Kf or the 24Kf, these bits are used to change the treatment of denormalised operands and tiny results: bit #22 is Flush Override (FO) and bit #21 is Flush to Nearest (FN). They cause non-IEEE-compliant behaviour, but some programs may have a use for such modes of operation; the library should not obstruct such use just as it does not for the architectural Flush to Zero (FS) bit (bit #24). Therefore the change adjusts the reserved mask accordingly and also documents the distinction between bits 22:21 and 20:18.
2013-07-02Regenerate MIPS ulps.Joseph Myers2-378/+9203
2013-07-02Implement fma in soft-fp.Joseph Myers8-12/+32
2013-06-28Add GLRO(dl_hwcap2) for new AT_HWCAP2 auxv_t a_type.Ryan S. Arnold1-1/+1
2013-06-14Stop MIPS setjmp / longjmp saving / restoring floating-point flags (bug 14909).Joseph Myers5-20/+2
2013-06-14Add math-tests.h for MIPS.Joseph Myers1-0/+37
2013-06-05Remove trailing whitespace in ports.Joseph Myers8-17/+17
2013-05-29Avoid crashing in LD_DEBUG when program name is unavailableSiddhesh Poyarekar2-16/+8
Resolves: #15465 The program name may be unavailable if the user application tampers with argc and argv[]. Some parts of the dynamic linker caters for this while others don't, so this patch consolidates the check and fallback into a single macro and updates all users.
2013-05-22Don't include expected results in libm-test test names.Joseph Myers2-1138/+1138
2013-05-19Handle sincos with generic libm-test logic.Joseph Myers2-14/+14
2013-05-16MIPS: soft-fp NaN representation correctionsMaciej W. Rozycki2-6/+10
[BZ #15442] This adds support for the inverse interpretation of the quiet bit of IEEE 754 floating-point NaN data that some processors use. This includes in particular MIPS architecture processors; the payload used for the canonical qNaN encoding is updated accordingly so as not to interfere with the quiet bit.
2013-05-16Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).Ryan S. Arnold1-0/+1
2013-04-02New <math.h> macro named issignaling to check for a signaling NaN (sNaN).Thomas Schwinge1-0/+27
It is based on draft TS 18661 and currently enabled as a GNU extension.
2013-03-15Better distinguish between NaN/qNaN/sNaN.Thomas Schwinge1-8/+8
2013-02-27Add support for building as MIPS16 code.Maciej W. Rozycki35-33/+517
2013-02-20Respect the user's namespace in installed header files.Thomas Schwinge1-1/+1
Fixup for commit c7b275d6b3bceb6b400fa3044d13d1001bc605ca.
2013-02-20bits/nan.h: Change __attribute_used__ to __attribute__ ((unused)).Thomas Schwinge1-1/+1
2013-02-20Add missing __attribute_used__.Thomas Schwinge1-1/+2
Generic IEEE 754 file has been changed in commit b575c52b86fe0c00adec925e356eb72cf95b23a7.
2013-02-20Align to generic file.Thomas Schwinge1-9/+10
2013-02-11Add CFI information for MIPS assembly sources.Joseph Myers5-9/+69
2013-02-08Use ENTRY and END in more MIPS .S files.Joseph Myers14-49/+21
2013-01-252013-01-25 Steve Ellcey <sellcey@mips.com>Steve Ellcey1-23/+0
* sysdeps/mips/memmove.c: Remove.
2013-01-08Fix trailing blank.Steve Ellcey1-1/+1
2013-01-082013-01-08 Steve Ellcey <sellcey@mips.com>Steve Ellcey1-65/+112
* sysdeps/mips/memcpy.S: Change prefetch hint, reorder partial loads and stores, set and use MAX_PREFETCH_SIZE.
2013-01-02Update copyright notices with scripts/update-copyrights.Joseph Myers93-100/+93
2013-01-01Add script to update copyright notices and reformat some to facilitate its use.Joseph Myers8-16/+8
2012-12-04Fix warnings from MIPS soft-float _FPU_GETCW.Joseph Myers1-4/+3
2012-11-30Update MIPS libm-test-ulps.Joseph Myers2-50/+1249
2012-11-29Add 64-bit support to MIPS register-dump.h (bug 14893).Joseph Myers1-0/+4
2012-11-21Cast to uintptr_t in MIPS jmpbuf-unwind.h.Joseph Myers1-1/+1
2012-11-21Add sotruss-lib.c for MIPS.Joseph Myers1-0/+117
2012-11-20Fix int-to-pointer-cast warnings for MIPS.Joseph Myers1-3/+5