aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog12
-rw-r--r--gdb/amd64-linux-nat.c2
-rw-r--r--gdb/amd64-nat.c6
-rw-r--r--gdb/amd64-tdep.c10
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),