diff options
-rw-r--r-- | gdb/ChangeLog | 12 | ||||
-rw-r--r-- | gdb/amd64-linux-nat.c | 2 | ||||
-rw-r--r-- | gdb/amd64-nat.c | 6 | ||||
-rw-r--r-- | gdb/amd64-tdep.c | 10 |
4 files changed, 22 insertions, 8 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1cc8753..d7f4028a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,17 @@ 2012-06-15 H.J. Lu <hongjiu.lu@intel.com> + * amd64-linux-nat.c (ps_get_thread_area): Check bits_per_word + instead of gdbarch_ptr_bit. + * amd64-nat.c (amd64_native_gregset_reg_offset): Likewise. + (amd64_supply_native_gregset): Likewise. + (amd64_collect_native_gregset): Likewise. + * amd64-tdep.c (amd64_supply_fxsave): Likewise. + (amd64_supply_xsave): Likewise. + (amd64_collect_fxsave): Likewise. + (amd64_collect_xsave): Likewise. + +2012-06-15 H.J. Lu <hongjiu.lu@intel.com> + * amd64-linux-nat.c (AMD64_LINUX_X32_DS): New. (amd64_linux_read_description): Check DS segment register for x32 process. diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c index ce62e2a..eb921bc 100644 --- a/gdb/amd64-linux-nat.c +++ b/gdb/amd64-linux-nat.c @@ -442,7 +442,7 @@ ps_err_e ps_get_thread_area (const struct ps_prochandle *ph, lwpid_t lwpid, int idx, void **base) { - if (gdbarch_ptr_bit (target_gdbarch) == 32) + if (gdbarch_bfd_arch_info (target_gdbarch)->bits_per_word == 32) { /* The full structure is found in <asm-i386/ldt.h>. The second integer is the LDT's base_address and that is used to locate diff --git a/gdb/amd64-nat.c b/gdb/amd64-nat.c index 6865456..d79b71b 100644 --- a/gdb/amd64-nat.c +++ b/gdb/amd64-nat.c @@ -59,7 +59,7 @@ amd64_native_gregset_reg_offset (struct gdbarch *gdbarch, int regnum) gdb_assert (regnum >= 0); - if (gdbarch_ptr_bit (gdbarch) == 32) + if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 32) { reg_offset = amd64_native_gregset32_reg_offset; num_regs = amd64_native_gregset32_num_regs; @@ -96,7 +96,7 @@ amd64_supply_native_gregset (struct regcache *regcache, int num_regs = amd64_native_gregset64_num_regs; int i; - if (gdbarch_ptr_bit (gdbarch) == 32) + if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 32) num_regs = amd64_native_gregset32_num_regs; if (num_regs > gdbarch_num_regs (gdbarch)) @@ -127,7 +127,7 @@ amd64_collect_native_gregset (const struct regcache *regcache, int num_regs = amd64_native_gregset64_num_regs; int i; - if (gdbarch_ptr_bit (gdbarch) == 32) + if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 32) { num_regs = amd64_native_gregset32_num_regs; diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c index 2db5cf0..27f115b 100644 --- a/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c @@ -2802,7 +2802,8 @@ amd64_supply_fxsave (struct regcache *regcache, int regnum, i387_supply_fxsave (regcache, regnum, fxsave); - if (fxsave && gdbarch_ptr_bit (gdbarch) == 64) + if (fxsave + && gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 64) { const gdb_byte *regs = fxsave; @@ -2824,7 +2825,8 @@ amd64_supply_xsave (struct regcache *regcache, int regnum, i387_supply_xsave (regcache, regnum, xsave); - if (xsave && gdbarch_ptr_bit (gdbarch) == 64) + if (xsave + && gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 64) { const gdb_byte *regs = xsave; @@ -2852,7 +2854,7 @@ amd64_collect_fxsave (const struct regcache *regcache, int regnum, i387_collect_fxsave (regcache, regnum, fxsave); - if (gdbarch_ptr_bit (gdbarch) == 64) + if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 64) { if (regnum == -1 || regnum == I387_FISEG_REGNUM (tdep)) regcache_raw_collect (regcache, I387_FISEG_REGNUM (tdep), regs + 12); @@ -2873,7 +2875,7 @@ amd64_collect_xsave (const struct regcache *regcache, int regnum, i387_collect_xsave (regcache, regnum, xsave, gcore); - if (gdbarch_ptr_bit (gdbarch) == 64) + if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 64) { if (regnum == -1 || regnum == I387_FISEG_REGNUM (tdep)) regcache_raw_collect (regcache, I387_FISEG_REGNUM (tdep), |