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 remote/21322] New: Reset pspace->executing_startup on connection close?


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

            Bug ID: 21322
           Summary: Reset pspace->executing_startup on connection close?
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: remote
          Assignee: unassigned at sourceware dot org
          Reporter: dje at google dot com
  Target Milestone: ---

On Fuchsia the dynamic linker loads the main executable, so during startup the
executable doesn't actually exist in memory for awhile. I've been using the
"executing_startup" flag to track this.

If I have the remote server exit this flag is left set which leads to things
like "b main" not being able to find main. Perhaps that's a bug in itself,
though it's not unreasonable either (in the window during startup main hasn't
been loaded, and for PIE still needs to be relocated as well).

Anyways, if remote_unpush_target resets
current_program_space->executing_startup the problem goes away.
As for where the right place to reset this flag is, not sure yet.

(gdb) mon quit
Sending packet: $qRcmd,71756974#d1...Ack
Packet received: OK
(gdb) Remote connection closed
# reset remote server
(gdb) target ext ... # reconnect with new server
(gdb) b main
Function "main" not defined.
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) p main
$1 = {int (int, char **)} 0x1508 <main>

-- 
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]