about summary refs log tree commit diff
path: root/ports/ChangeLog.mips
Commit message (Collapse)AuthorAgeFilesLines
* Use separate libc.abilist for MIPS o32 soft float.Joseph Myers2014-01-071-0/+9
| | | | | | | | | | | | | | | | | | | | Examining MIPS test results showed an ABI test failure that I must have missed in 2.18 testing: hard-float and soft-float o32 no longer have the same set of symbols (because of the __mips_fpu_getcw and __mips_fpu_setcw functions, present for hard-float only, used by fpu_control.h for hard-float MIPS16) and so need separate ABI test baselines (they always were ABI-incompatible - the function-calling interface is different - but previously had the same set of symbols and versions so didn't need separate baselines). Tested for hard-float and soft-float o32. * sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist: Move to .... * sysdeps/unix/sysv/linux/mips/mips32/fpu/nptl/libc.abilist: ... here. * sysdeps/unix/sysv/linux/mips/mips32/nofpu/nptl/libc.abilist: New file.
* Regenerate MIPS ulps.Joseph Myers2014-01-011-0/+5
|
* Update MIPS dl-lookup.c from generic version.Joseph Myers2013-12-031-0/+4
|
* Fix dbl-64 e_sqrt.c for non-default rounding modes (bug 16271).Joseph Myers2013-11-281-0/+4
|
* MIPS: Fix RLIM64_INFINITY constant for O32 and N32 ABIsAurelien Jarno2013-11-271-0/+15
| | | | | | | Fix the RLIM64_INFINITY constant for O32 and N32 ABIs to match the kernel one. Change the getrlimit64/setrlimit64 into old compat symbols, and provide the Linux generic getrlimit64/setrlimit64 functions as GLIBC_2_19 version.
* MIPS: Add wrappers to get/setrlimit64 to fix RLIM64_INFINITY constantAurelien Jarno2013-11-271-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RLIM64_INFINITY was supposed to be a glibc convention rather than anything seen by the kernel, but it ended being passed to the kernel through the prlimit64 syscall. On O32 and N32 ABIs, we therefore end-up with different values on the userland and kernel side: * On the kernel side, the value is defined for all architectures as include/uapi/linux/resource.h: #define RLIM64_INFINITY (~0ULL) * On the GNU libc side, the value is defined in ports/sysdeps/unix/sysv/linux/mips/bits/resource.h: For the O32 and N32 ABI: # define RLIM64_INFINITY 0x7fffffffffffffffULL and for the N64 ABI: # define RLIM64_INFINITY 0xffffffffffffffffUL This was not a problem until the prlimit64 syscall was wired in the 2.6.36 kernel. Given the GLIBC uses the prlimit64 syscall to implement getrlimit64 and setrlimit64, pam_limits.so is setting the limits to a very big value instead of infinity. As a normal user process can later only decrease the value and not increase it, it will later get and EPERM error when trying to set the value to infinity with setrlimit. The GLIBC has this constant for more than 7 years, and as it is defined in a header file, it means a lot of binaries are in the wild. This patch fixes that by adding a wrapper to fix the value passed to or received from the kernel, before or after calling the prlimit64 syscall.
* Use __glibc_reserved instead __unused.Ondřej Bílka2013-11-261-0/+6
|
* rename configure.in to configure.acMike Frysinger2013-10-301-0/+12
| | | | | | | 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-09-26 Steve Ellcey <sellcey@mips.com>Steve Ellcey2013-10-031-0/+10
| | | | | | | | | | [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-23 Steve Ellcey <sellcey@mips.com>Steve Ellcey2013-09-231-0/+23
| | | | | | | | | | | | | | | | | | | | | | | * 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.
* MIPS: bits/atomic.h: Fix comment typoMaciej W. Rozycki2013-09-231-0/+4
|
* 2013-09-23 Steve Ellcey <sellcey@mips.com>Steve Ellcey2013-09-231-0/+5
| | | | | * sysdeps/mips/fpu/fegetround.c (fegetround): Use _FPU_RC_MASK. * sysdeps/mips/fpu/fesetround.c (fesetround): Use _FPU_RC_MASK.
* 2013-09-19 Steve Ellcey <sellcey@mips.com>Steve Ellcey2013-09-231-0/+4
| | | | * sysdeps/mips/fpu_control.h (_FPU_RC_MASK): New.
* 2013-09-23 Steve Ellcey <sellcey@mips.com>Steve Ellcey2013-09-231-0/+5
| | | | | * sysdeps/mips/fpu_control.h (comments): Add capitalization and periods to match GNU standard.
* Remove trailing space.Steve Ellcey2013-09-201-1/+1
|
* 2013-09-20 Steve Ellcey <sellcey@mips.com>Steve Ellcey2013-09-201-0/+5
| | | | | * sysdeps/mips/memset.S: Change prefetching and add loop unrolling. * sysdeps/mips/mips64/memset.S: Remove.
* MIPS: IEEE 754-2008 NaN encoding supportMaciej W. Rozycki2013-09-181-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix then/than typos.Ondřej Bílka2013-08-301-0/+4
|
* Fix typos.Ondřej Bílka2013-08-301-0/+4
|
* Use ELFOSABI_GNU instead of ELFOSABI_LINUX.Thomas Schwinge2013-08-291-0/+5
|
* Fix typos.Ondřej Bílka2013-08-291-0/+4
|
* MIPS: Correct the handling of reserved FCSR bitsMaciej W. Rozycki2013-08-221-0/+9
| | | | | | | | | | | | | | | | | | | | 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.
* Regenerate MIPS ulps.Joseph Myers2013-07-021-0/+3
|
* Implement fma in soft-fp.Joseph Myers2013-07-021-0/+18
|
* Add GLRO(dl_hwcap2) for new AT_HWCAP2 auxv_t a_type.Ryan S. Arnold2013-06-281-0/+5
|
* _dl_static_init: Remove nested locking.Maciej W. Rozycki2013-06-271-0/+7
| | | | | | | This function is now called from dl_open_worker with the GL(dl_load_lock) lock held and no longer needs local protection. GL(dl_load_lock) also correctly protects _dl_lookup_symbol_x called here that relies on the caller to have serialized access to the data structures it uses.
* New API to set default thread attributesSiddhesh Poyarekar2013-06-151-0/+9
| | | | | | | This patch introduces two new convenience functions to set the default thread attributes used for creating threads. This allows a programmer to set the default thread attributes just once in a process and then run pthread_create without additional attributes.
* Stop MIPS setjmp / longjmp saving / restoring floating-point flags (bug 14909).Joseph Myers2013-06-141-0/+12
|
* Add math-tests.h for MIPS.Joseph Myers2013-06-141-0/+4
|
* Remove trailing whitespace in ports.Joseph Myers2013-06-051-0/+14
|
* Avoid crashing in LD_DEBUG when program name is unavailableSiddhesh Poyarekar2013-05-291-0/+10
| | | | | | | | | 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.
* Fix ChangeLog formattingSiddhesh Poyarekar2013-05-291-26/+26
|
* Update bits/siginfo.h with Linux hwpoison SIGBUS changesEdjunior Barbosa Machado2013-05-221-0/+7
| | | | | | Adds new SIGBUS error codes for hardware poison signals, syncing with the current kernel headers (v3.9). It also adds si_trapno field for alpha.
* Don't include expected results in libm-test test names.Joseph Myers2013-05-221-0/+5
|
* Fix MIPS n32 cancellation in static libc (bug 15506).Joseph Myers2013-05-211-0/+17
|
* Handle sincos with generic libm-test logic.Joseph Myers2013-05-191-0/+6
|
* MIPS: soft-fp NaN representation correctionsMaciej W. Rozycki2013-05-161-0/+14
| | | | | | | | [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.
* Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).Ryan S. Arnold2013-05-161-0/+6
|
* New <math.h> macro named issignaling to check for a signaling NaN (sNaN).Thomas Schwinge2013-04-021-0/+4
| | | | It is based on draft TS 18661 and currently enabled as a GNU extension.
* Use LIBC_CONFIG_VAR for MIPS default-abi setting.Joseph Myers2013-03-211-0/+8
|
* Avoid duplicate MAP_ANONYMOUS definition for MIPS GNU/Linux.Thomas Schwinge2013-03-151-0/+5
| | | | Follow-up to commit 664a9ce4ca40feabff781fff044c93a43ae15b59.
* Use <bits/mman-linux.h> for MIPSAndreas Jaeger2013-03-061-0/+4
| | | | | | | | | * sysdeps/unix/sysv/linux/bits/mman-linux.h (MAP_ANONYMOUS): Allow definition via __MAP_ANONYMOUS. * sysdeps/unix/sysv/linux/mips/bits/mman.h: Remove all defines provided by bits/mman-linux.h and include <bits/mman-linux.h>. (__MAP_ANONYMOUS): Define.
* Sync with Linux 3.8Andreas Jaeger2013-03-061-0/+4
|
* Add support for building as MIPS16 code.Maciej W. Rozycki2013-02-271-0/+106
|
* Respect the user's namespace in installed header files.Thomas Schwinge2013-02-201-0/+3
| | | | Fixup for commit c7b275d6b3bceb6b400fa3044d13d1001bc605ca.
* Properly sort a libc.abilist file.Thomas Schwinge2013-02-201-0/+3
| | | | Inconsistency introduced in commit 84b3fd8407cc9a2e7f487b6247681bd8a78a4560.
* bits/nan.h: Change __attribute_used__ to __attribute__ ((unused)).Thomas Schwinge2013-02-201-0/+3
|
* Add missing __attribute_used__.Thomas Schwinge2013-02-201-0/+3
| | | | | Generic IEEE 754 file has been changed in commit b575c52b86fe0c00adec925e356eb72cf95b23a7.
* Align to generic file.Thomas Schwinge2013-02-201-0/+4
|
* Add FUTEX_*_REQUEUE_PI support for MIPS.Joseph Myers2013-02-191-0/+10
|