X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fi386-nto-tdep.c;h=09c55e2dba1c30c538a8242573261b85558975a0;hb=91158a569dc571a9916dfad98c6c95ce789ad18d;hp=0528931f0728a76269a03e201ee8e72d38a19826;hpb=19a934d888c8da9d273367a6981968b7fc299b55;p=binutils-gdb.git diff --git a/gdb/i386-nto-tdep.c b/gdb/i386-nto-tdep.c index 0528931f072..09c55e2dba1 100644 --- a/gdb/i386-nto-tdep.c +++ b/gdb/i386-nto-tdep.c @@ -1,6 +1,7 @@ /* Target-dependent code for QNX Neutrino x86. - Copyright (C) 2003, 2004, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. Contributed by QNX Software Systems Ltd. @@ -121,7 +122,7 @@ i386nto_regset_id (int regno) return NTO_REG_END; else if (regno < I386_NUM_GREGS) return NTO_REG_GENERAL; - else if (regno < I386_NUM_GREGS + I386_NUM_FREGS) + else if (regno < I386_NUM_GREGS + I387_NUM_REGS) return NTO_REG_FLOAT; else if (regno < I386_SSE_NUM_REGS) return NTO_REG_FLOAT; /* We store xmm registers in fxsave_area. */ @@ -293,12 +294,14 @@ i386nto_sigtramp_p (struct frame_info *this_frame) static CORE_ADDR i386nto_sigcontext_addr (struct frame_info *this_frame) { + struct gdbarch *gdbarch = get_frame_arch (this_frame); + enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); char buf[4]; CORE_ADDR ptrctx; /* We store __ucontext_t addr in EDI register. */ get_frame_register (this_frame, I386_EDI_REGNUM, buf); - ptrctx = extract_unsigned_integer (buf, 4); + ptrctx = extract_unsigned_integer (buf, 4, byte_order); ptrctx += 24 /* Context pointer is at this offset. */; return ptrctx;