Fix ada array bounds display
[deliverable/binutils-gdb.git] / gdb / i386obsd-nat.c
index 1585efb94ba220f8207a010d5842fbcdbc03c6b7..db1f6938e96e4659ddf743c49e395734225463f2 100644 (file)
@@ -1,6 +1,6 @@
 /* Native-dependent code for OpenBSD/i386.
 
-   Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008
+   Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011
    Free Software Foundation, Inc.
 
    This file is part of GDB.
@@ -35,6 +35,8 @@
 static int
 i386obsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
 {
+  struct gdbarch *gdbarch = get_regcache_arch (regcache);
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   struct switchframe sf;
 
   /* The following is true for OpenBSD 3.6:
@@ -76,9 +78,9 @@ i386obsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
     {
       /* No, the pcb must have been last updated by savectx().  */
       pcb->pcb_esp = pcb->pcb_ebp;
-      pcb->pcb_ebp = read_memory_integer(pcb->pcb_esp, 4);
-      sf.sf_eip = read_memory_integer(pcb->pcb_esp + 4, 4);
-      regcache_raw_supply (regcache, I386_EIP_REGNUM, &sf);
+      pcb->pcb_ebp = read_memory_integer(pcb->pcb_esp, 4, byte_order);
+      sf.sf_eip = read_memory_integer(pcb->pcb_esp + 4, 4, byte_order);
+      regcache_raw_supply (regcache, I386_EIP_REGNUM, &sf.sf_eip);
     }
 
   regcache_raw_supply (regcache, I386_EBP_REGNUM, &pcb->pcb_ebp);
This page took 0.025309 seconds and 4 git commands to generate.