testsuite: Fix false FAIL in gdb.cp/casts.exp
[deliverable/binutils-gdb.git] / gdb / aarch32-linux-nat.c
index 5d9babfc2fccc69257529c3feb305c13f3e0afff..72bf644a3ed8e3fd9b7521503e1ea564b2e992c4 100644 (file)
@@ -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.034926 seconds and 4 git commands to generate.