[PATCH v3 0/4] Extended-remote exec events

Don Breazeal
2015-09-09T23:05:50Z

Hi Pedro,
Thanks for the previous review(s). This is an update to version 2 of the
extended-remote exec event patchset. The most significant differences from
the previous version include:

1) Gdbserver always creates a new inferior for an execing process.

2) GDB's 'remote exec-file' is now per-inferior instead off a static
string.

3) There is a new GDB target hook 'target_follow_exec'.

4) Elimination of patch #4, which eliminated spurious warnings
when setting up the solib event hook after an exec. The
patch was no longer needed after change #1 above.

5) Test and documentation updates per review comments.

Original description is unchanged below, except for eliminating
patch #4.

Thanks
--Don

--------------

This patch series implements exec events for extended-remote Linux targets.
It provides exec event notification, follow-exec functionality, and exec
catchpoints. Several tests related to exec event features have been
modified to work with the native-extended-gdbserver target.

It is part of the larger effort to implement "remote follow fork". This
work has been divided into three parts:

1) Extended-remote fork events, providing follow-fork-mode,
detach-on-fork, and fork catchpoints. This was pushed earlier this
year: https://sourceware.org/ml/gdb-patches/2015-05/msg00278.html

2) Extended-remote exec events, this patchset.

3) Fork and exec events for native-gdbserver target.

This patchset derives from part of a patch series submitted last October:

https://sourceware.org/ml/gdb-patches/2014-10/msg00868.html

The primary difference between this patchset and that one is that this
one does not use ptrace exit events (PTRACE_O_TRACEEXIT) for notification
of thread exit. In addition, a number of changes were made to conform to
to the final version of the extended-remote fork event patchset (#1 above).

Tested on x86_64 GNU/Linux with native, native-gdbserver, and
native-extended-gdbserver targets.

The contents of this patchset are as follows:

Patch 1/4: Extended-remote exec event support.

Patch 2/4: Extended-remote exec catchpoints.

Patch 3/4: Extended-remote exec-related test updates.

Patch 4/4: Extended-remote exec event documentation.