aboutsummaryrefslogtreecommitdiff
path: root/gdb/i386-fbsd-tdep.c
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2022-04-01 13:16:46 -0700
committerJohn Baldwin <jhb@FreeBSD.org>2022-04-01 13:16:46 -0700
commitc13566fdd5725d4c337a2741be02c12c4f430022 (patch)
tree03bd83c8128e7af550f12afc6a476684efd00f3c /gdb/i386-fbsd-tdep.c
parentf3215e1526d762f005fdf86abac81da514c74e50 (diff)
downloadfsf-binutils-gdb-c13566fdd5725d4c337a2741be02c12c4f430022.zip
fsf-binutils-gdb-c13566fdd5725d4c337a2741be02c12c4f430022.tar.gz
fsf-binutils-gdb-c13566fdd5725d4c337a2741be02c12c4f430022.tar.bz2
Use I386_GSBASE_REGNUM in i386fbsd_get_thread_local_address.
32-bit x86 arches always the I386_*BASE_REGNUM values. Only code that needs to support both 64-bit and 32-bit arches needs to use tdep->fsbase_regnum to compute a segment base register number.
Diffstat (limited to 'gdb/i386-fbsd-tdep.c')
-rw-r--r--gdb/i386-fbsd-tdep.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/gdb/i386-fbsd-tdep.c b/gdb/i386-fbsd-tdep.c
index fad091f..d50f357 100644
--- a/gdb/i386-fbsd-tdep.c
+++ b/gdb/i386-fbsd-tdep.c
@@ -350,16 +350,13 @@ i386fbsd_get_thread_local_address (struct gdbarch *gdbarch, ptid_t ptid,
i386_gdbarch_tdep *tdep = (i386_gdbarch_tdep *) gdbarch_tdep (gdbarch);
struct regcache *regcache;
- if (tdep->fsbase_regnum == -1)
- error (_("Unable to fetch %%gsbase"));
-
regcache = get_thread_arch_regcache (current_inferior ()->process_target (),
ptid, gdbarch);
- target_fetch_registers (regcache, tdep->fsbase_regnum + 1);
+ target_fetch_registers (regcache, I386_GSBASE_REGNUM);
ULONGEST gsbase;
- if (regcache->cooked_read (tdep->fsbase_regnum + 1, &gsbase) != REG_VALID)
+ if (regcache->cooked_read (I386_GSBASE_REGNUM, &gsbase) != REG_VALID)
error (_("Unable to fetch %%gsbase"));
CORE_ADDR dtv_addr = gsbase + gdbarch_ptr_bit (gdbarch) / 8;