This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug sim/16442] New: sims not target-async


https://sourceware.org/bugzilla/show_bug.cgi?id=16442

            Bug ID: 16442
           Summary: sims not target-async
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: sim
          Assignee: unassigned at sourceware dot org
          Reporter: tromey at redhat dot com

Currently the sims don't implement target-async, but they could.

There are three ways to do it.

The first way keeps the current restriction that only a single
sim can be used at a time.  The idea is simple -- run the simulator
code in a separate thread, doing whatever locking is needed on
the gdb side.  On the sim side this may need a bit of auditing
to make sure that the code is "thread safe enough"; plus some
minor changes to prevent the sims from installing their own
signal handlers.

The second way would also be to use multiple threads, but do more
auditing on the simulator code to (1) let multiple instances of
a given simulator run at once, and (2) let multiple simulators be
built and linked in (or dlopen'd) at the same time.

The third idea is to add a minimal RSP stub to the various drivers
(run.c, nrun.c, plus there is at least one custom one in tree) and
change "target sim" to be a wrapper around "target remote".  Some
tricks -- perhaps threads again -- are needed here to make C-c work
properly; also this may break the sim command completion functionality.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]