Make ARM feenableexcept detect failure (bug 14907).

This commit is contained in:
Joseph Myers 2013-06-17 17:20:23 +00:00
parent 12086fb483
commit 3023a72eb8
3 changed files with 27 additions and 9 deletions

18
NEWS
View file

@ -12,15 +12,15 @@ Version 2.18
2546, 2560, 5159, 6809, 10060, 10062, 10357, 10686, 11120, 11561, 12387,
12515, 12723, 13550, 13889, 13951, 13988, 14142, 14176, 14200, 14256,
14280, 14293, 14317, 14327, 14478, 14496, 14582, 14686, 14812, 14888,
14894, 14908, 14909, 14920, 14952, 14964, 14981, 14982, 14985, 14991,
14994, 14996, 15000, 15003, 15006, 15007, 15014, 15020, 15023, 15036,
15054, 15055, 15062, 15078, 15084, 15085, 15086, 15100, 15160, 15214,
15221, 15232, 15234, 15283, 15285, 15287, 15304, 15305, 15307, 15309,
15327, 15330, 15335, 15336, 15337, 15339, 15342, 15346, 15359, 15361,
15366, 15380, 15381, 15394, 15395, 15405, 15406, 15409, 15416, 15418,
15419, 15423, 15424, 15426, 15429, 15431, 15432, 15441, 15442, 15448,
15465, 15480, 15485, 15488, 15490, 15492, 15493, 15497, 15506, 15529,
15536, 15553, 15577, 15583, 15618, 15627, 15631.
14894, 14907, 14908, 14909, 14920, 14952, 14964, 14981, 14982, 14985,
14991, 14994, 14996, 15000, 15003, 15006, 15007, 15014, 15020, 15023,
15036, 15054, 15055, 15062, 15078, 15084, 15085, 15086, 15100, 15160,
15214, 15221, 15232, 15234, 15283, 15285, 15287, 15304, 15305, 15307,
15309, 15327, 15330, 15335, 15336, 15337, 15339, 15342, 15346, 15359,
15361, 15366, 15380, 15381, 15394, 15395, 15405, 15406, 15409, 15416,
15418, 15419, 15423, 15424, 15426, 15429, 15431, 15432, 15441, 15442,
15448, 15465, 15480, 15485, 15488, 15490, 15492, 15493, 15497, 15506,
15529, 15536, 15553, 15577, 15583, 15618, 15627, 15631.
* CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
#15078).

View file

@ -1,3 +1,9 @@
2013-06-17 Joseph Myers <joseph@codesourcery.com>
[BZ #14907]
* sysdeps/arm/feenablxcpt.c (feenableexcept): Test whether all
requested exception traps were enabled and return -1 if not.
2013-06-15 Siddhesh Poyarekar <siddhesh@redhat.com>
* sysdeps/unix/sysv/linux/arm/nptl/libpthread.abilist: Update.

View file

@ -39,6 +39,18 @@ feenableexcept (int excepts)
_FPU_SETCW(new_exc);
if (excepts != 0)
{
/* VFPv3 and VFPv4 do not support trapping exceptions, so
test whether the relevant bits were set and fail if
not. */
unsigned int temp;
_FPU_GETCW (temp);
if ((temp & (excepts << FE_EXCEPT_SHIFT))
!= (excepts << FE_EXCEPT_SHIFT))
return -1;
}
return old_exc;
}