testsuite: Fix false FAIL in gdb.cp/casts.exp
[deliverable/binutils-gdb.git] / gdb / aarch32-linux-nat.c
index 3147399c28c6113d68df88ab53fea13af2bc7515..72bf644a3ed8e3fd9b7521503e1ea564b2e992c4 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2016 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,6 +20,7 @@
 #include "regcache.h"
 #include "arm-tdep.h"
 #include "arm-linux-tdep.h"
+#include "arch/arm-linux.h"
 
 #include "aarch32-linux-nat.h"
 
@@ -36,7 +37,11 @@ aarch32_gp_regcache_supply (struct regcache *regcache, uint32_t *regs,
     regcache_raw_supply (regcache, regno, &regs[regno]);
 
   if (arm_apcs_32)
-    regcache_raw_supply (regcache, ARM_PS_REGNUM, &regs[ARM_CPSR_GREGNUM]);
+    {
+      /* Clear reserved bits bit 20 to bit 23.  */
+      regs[ARM_CPSR_GREGNUM] &= 0xff0fffff;
+      regcache_raw_supply (regcache, ARM_PS_REGNUM, &regs[ARM_CPSR_GREGNUM]);
+    }
   else
     regcache_raw_supply (regcache, ARM_PS_REGNUM, &regs[ARM_PC_REGNUM]);
 
This page took 0.045499 seconds and 4 git commands to generate.