diff options
author | Marcus Shawcroft <marcus.shawcroft@linaro.org> | 2014-01-07 16:16:35 +0000 |
---|---|---|
committer | Marcus Shawcroft <marcus.shawcroft@linaro.org> | 2014-01-07 16:35:11 +0000 |
commit | 0553c6642be2cdf6bac776fac5fd50164cb28709 (patch) | |
tree | c1302b18f922ebcb6a739ef7c6ef33bc78651885 | |
parent | a244697f97107af77f26eb7e4dfc4538c7e68b27 (diff) | |
download | glibc-0553c6642be2cdf6bac776fac5fd50164cb28709.tar.gz glibc-0553c6642be2cdf6bac776fac5fd50164cb28709.tar.xz glibc-0553c6642be2cdf6bac776fac5fd50164cb28709.zip |
[AArch64] Fix FP_ROUNDMODE.
[BZ #16387] Fix FP_ROUNDMODE to extract the correct bits from FPCR. Conflicts: NEWS
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | ports/ChangeLog.aarch64 | 7 | ||||
-rw-r--r-- | ports/sysdeps/aarch64/fpu/fpu_control.h | 3 | ||||
-rw-r--r-- | ports/sysdeps/aarch64/soft-fp/sfp-machine.h | 2 |
4 files changed, 12 insertions, 2 deletions
diff --git a/NEWS b/NEWS index 29856cc046..2e8bb1684e 100644 --- a/NEWS +++ b/NEWS @@ -9,7 +9,7 @@ Version 2.18.1 * The following bugs are resolved with this release: - 15073, 15128, 15909, 15996, 16150. + 15073, 15128, 15909, 15996, 16150, 16387. Version 2.18 diff --git a/ports/ChangeLog.aarch64 b/ports/ChangeLog.aarch64 index 89cc504fe4..ce2fd5cf5e 100644 --- a/ports/ChangeLog.aarch64 +++ b/ports/ChangeLog.aarch64 @@ -1,5 +1,12 @@ 2014-01-07 Marcus Shawcroft <marcus.shawcroft@linaro.org> + [BZ #16387] + * sysdeps/aarch64/fpu/fpu_control.h (_FPU_FPCR_RM_MASK): Define. + * sysdeps/aarch64/soft-fp/sfp-machine.h (FP_ROUNDMODE): Adjust + rounding mode mask. + +2014-01-07 Marcus Shawcroft <marcus.shawcroft@linaro.org> + * sysdeps/aarch64/dl-trampoline.S (_dl_runtime_resolve): Correct cfi_adjust_cfa_offset offset. diff --git a/ports/sysdeps/aarch64/fpu/fpu_control.h b/ports/sysdeps/aarch64/fpu/fpu_control.h index 89ff7e129d..37059261f7 100644 --- a/ports/sysdeps/aarch64/fpu/fpu_control.h +++ b/ports/sysdeps/aarch64/fpu/fpu_control.h @@ -59,6 +59,9 @@ E E D D E E */ + +#define _FPU_FPCR_RM_MASK 0xc00000 + #define _FPU_FPCR_MASK_IXE 0x1000 #define _FPU_FPCR_MASK_UFE 0x0800 #define _FPU_FPCR_MASK_OFE 0x0400 diff --git a/ports/sysdeps/aarch64/soft-fp/sfp-machine.h b/ports/sysdeps/aarch64/soft-fp/sfp-machine.h index d21d00a934..9bb94e5ccc 100644 --- a/ports/sysdeps/aarch64/soft-fp/sfp-machine.h +++ b/ports/sysdeps/aarch64/soft-fp/sfp-machine.h @@ -47,7 +47,7 @@ #define _FP_DECL_EX fpu_control_t _fcw -#define FP_ROUNDMODE (_fcw & 0x3) +#define FP_ROUNDMODE (_fcw & _FPU_FPCR_RM_MASK) #define FP_RND_NEAREST FE_TONEAREST #define FP_RND_ZERO FE_TOWARDZERO |