From: John Baldwin Date: Fri, 1 Apr 2022 20:16:46 +0000 (-0700) Subject: Use I386_GSBASE_REGNUM in i386fbsd_get_thread_local_address. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c13566fdd5725d4c337a2741be02c12c4f430022;p=binutils-gdb.git 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. --- diff --git a/gdb/i386-fbsd-tdep.c b/gdb/i386-fbsd-tdep.c index fad091f8472..d50f35707ee 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;