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  <ssbssa@yahoo.de>

	* windows-tdep.c (windows_solib_create_inferior_hook):
	Check if inferior is running.
This commit is contained in:
Hannes Domani 2020-03-04 21:20:31 +01:00
parent 84d9ab33f3
commit b7d64b2909
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2020-03-06 Hannes Domani <ssbssa@yahoo.de>
* windows-tdep.c (windows_solib_create_inferior_hook):
Check if inferior is running.
2020-03-06 Tom de Vries <tdevries@suse.de>
* NEWS: Fix "the the".

View File

@ -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);