* arm-tdep.c (arm_addr_bits_remove): In non 26-bit mode, don't
authorPedro Alves <palves@redhat.com>
Thu, 24 Jan 2008 15:11:13 +0000 (15:11 +0000)
committerPedro Alves <palves@redhat.com>
Thu, 24 Jan 2008 15:11:13 +0000 (15:11 +0000)
strip bit 1 even if pc doesn't point to thumb code.

gdb/ChangeLog
gdb/arm-tdep.c

index 9ab0df42a66d6fdf7a124d591462eb5d8c8e940f..e2c24d4b243b650030d5cad5abcb4631a6aa8f1d 100644 (file)
@@ -1,3 +1,8 @@
+2008-01-24  Pedro Alves  <pedro@codesourcery.com>
+
+       * arm-tdep.c (arm_addr_bits_remove): In non 26-bit mode, don't
+       strip bit 1 even if pc doesn't point to thumb code.
+
 2008-01-23  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * remote.c (remote_wait): Handle SIGINT between packets.
index 0a18e0ff1285ddeb55bd8a5e5690cf0caf114ba6..b8b7c84e83ecdb6fb2e7440162870704364e8774 100644 (file)
@@ -240,7 +240,7 @@ static CORE_ADDR
 arm_addr_bits_remove (CORE_ADDR val)
 {
   if (arm_apcs_32)
-    return (val & (arm_pc_is_thumb (val) ? 0xfffffffe : 0xfffffffc));
+    return UNMAKE_THUMB_ADDR (val);
   else
     return (val & 0x03fffffc);
 }