aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2020-01-19 19:47:49 -0500
committerSimon Marchi <simon.marchi@polymtl.ca>2020-01-19 19:48:16 -0500
commitcf1d9e092f871df3b34a58cfcde915c689ac9067 (patch)
tree19397e11e631fb022503649708a5313e14f8c124 /ChangeLog
parentb760fb3a1cd35fda01843ee7cdb3e420f07d27b9 (diff)
downloadgdb-cf1d9e092f871df3b34a58cfcde915c689ac9067.zip
gdb-cf1d9e092f871df3b34a58cfcde915c689ac9067.tar.gz
gdb-cf1d9e092f871df3b34a58cfcde915c689ac9067.tar.bz2
sim: don't rely on inferior_ptid in gdbsim_target::wait
When running a program with the simulator target, I get: /home/simark/src/binutils-gdb/gdb/inferior.c:279: internal-error: inferior* find_inferior_pid(process_stratum_target*, int): Assertion `pid != 0' failed. This can be reproduced by building a GDB for --target=arm-none-gnueabi, and running with $ ./gdb -nx --data-directory=data-directory a.out -ex "target sim" -ex load -ex "b main" -ex r Where a.out is any program with a main. The problem is that gdbsim_target::wait assumes that inferior_ptid has the value of the thread it wants to report an event for. Actually, it's the target's responsibility to come up with the ptid of the thread the event is for. In the sim target, that ptid is stored in sim_inferior_data::remote_sim_ptid, so return that instead of inferior_ptid. ChangeLog: * remote-sim.c (gdbsim_target::wait): Return sim_data->remote_sim_ptid instead of inferior_ptid.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog5
1 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e75c8c2..582d1f2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2020-01-19 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * remote-sim.c (gdbsim_target::wait): Return
+ sim_data->remote_sim_ptid instead of inferior_ptid.
+
2020-01-18 Nick Clifton <nickc@redhat.com>
Binutils 2.34 branch created.