From b7d64b29094ef58448c9b41bcde299fad2976237 Mon Sep 17 00:00:00 2001 From: Hannes Domani Date: Wed, 4 Mar 2020 21:20:31 +0100 Subject: [PATCH] Don't try to get the TIB address without an inferior The target_get_tib_address call always fails in this case, and there is an error when changing the program with the file command: (gdb) file allocer64.exe Reading symbols from allocer64.exe... You can't do that when your target is `exec' Now it will skip this part, there is no need to rebase the executable without an inferior anyways. gdb/ChangeLog: 2020-03-06 Hannes Domani * windows-tdep.c (windows_solib_create_inferior_hook): Check if inferior is running. --- gdb/ChangeLog | 5 +++++ gdb/windows-tdep.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0e053e2feb6..9c2e68d1859 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-03-06 Hannes Domani + + * windows-tdep.c (windows_solib_create_inferior_hook): + Check if inferior is running. + 2020-03-06 Tom de Vries * NEWS: Fix "the the". diff --git a/gdb/windows-tdep.c b/gdb/windows-tdep.c index 4e5d8303ca4..e02b1ceed38 100644 --- a/gdb/windows-tdep.c +++ b/gdb/windows-tdep.c @@ -843,7 +843,8 @@ windows_solib_create_inferior_hook (int from_tty) } CORE_ADDR tlb; gdb_byte buf[8]; - if (target_get_tib_address (inferior_ptid, &tlb) + if (target_has_execution + && target_get_tib_address (inferior_ptid, &tlb) && !target_read_memory (tlb + peb_offset, buf, ptr_bytes)) { CORE_ADDR peb = extract_unsigned_integer (buf, ptr_bytes, byte_order); -- 2.30.2