diff options
-rw-r--r-- | gdb/aarch64-fbsd-nat.c | 3 | ||||
-rw-r--r-- | gdb/amd64-fbsd-nat.c | 3 | ||||
-rw-r--r-- | gdb/arm-fbsd-nat.c | 3 | ||||
-rw-r--r-- | gdb/i386-fbsd-nat.c | 3 |
4 files changed, 12 insertions, 0 deletions
diff --git a/gdb/aarch64-fbsd-nat.c b/gdb/aarch64-fbsd-nat.c index 709f516..38fb093 100644 --- a/gdb/aarch64-fbsd-nat.c +++ b/gdb/aarch64-fbsd-nat.c @@ -120,6 +120,9 @@ aarch64_fbsd_nat_target::store_registers (struct regcache *regcache, const struct target_desc * aarch64_fbsd_nat_target::read_description () { + if (inferior_ptid == null_ptid) + return this->beneath ()->read_description (); + aarch64_features features; features.tls = have_regset (inferior_ptid, NT_ARM_TLS)? 1 : 0; return aarch64_read_description (features); diff --git a/gdb/amd64-fbsd-nat.c b/gdb/amd64-fbsd-nat.c index bae267f..43e83ff 100644 --- a/gdb/amd64-fbsd-nat.c +++ b/gdb/amd64-fbsd-nat.c @@ -310,6 +310,9 @@ amd64_fbsd_nat_target::read_description () struct reg regs; int is64; + if (inferior_ptid == null_ptid) + return this->beneath ()->read_description (); + if (ptrace (PT_GETREGS, inferior_ptid.pid (), (PTRACE_TYPE_ARG3) ®s, 0) == -1) perror_with_name (_("Couldn't get registers")); diff --git a/gdb/arm-fbsd-nat.c b/gdb/arm-fbsd-nat.c index 5181281..cf22fc6 100644 --- a/gdb/arm-fbsd-nat.c +++ b/gdb/arm-fbsd-nat.c @@ -93,6 +93,9 @@ arm_fbsd_nat_target::read_description () const struct target_desc *desc; bool tls = false; + if (inferior_ptid == null_ptid) + return this->beneath ()->read_description (); + #ifdef PT_GETREGSET tls = have_regset (inferior_ptid, NT_ARM_TLS) != 0; #endif diff --git a/gdb/i386-fbsd-nat.c b/gdb/i386-fbsd-nat.c index 927771e..a2255c3 100644 --- a/gdb/i386-fbsd-nat.c +++ b/gdb/i386-fbsd-nat.c @@ -315,6 +315,9 @@ i386_fbsd_nat_target::read_description () #endif static int xmm_probed; + if (inferior_ptid == null_ptid) + return this->beneath ()->read_description (); + #ifdef PT_GETXSTATE_INFO if (!xsave_probed) { |