This is the mail archive of the gdb-patches@sources.redhat.com 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]

Re: [PATCH] plugin patch



Plugins won't "know" the API that is used in newer versions of GDB, so
they can't really decide whether they are or are not compatible with
it. Only allowing plugins to be loaded with _exactly_ the same version as the gdb they are loaded into works well (same way the linux kernel
does).
That is correct.

Scott,

GDB's internals are undergoing massive change(1) and the various GDB interfaces reflect this. A plug-in architecture only works when there is a stable published interface and GDB's current internal interfaces and mechanisms are about as far from `stable' and `published' as you can get :-/

Accepting this patch will create a situtation (actually very like the Linux kernel) where either:
- The plug-in developers play constant catch-up with GDB's evolving interfaces - every new release will require new plug-in.
- GDB's development stagnates because the plug-in developers depand the specification and support of an additional external interface (over and above MI(2)).

With regard to the modules that IBM and other vendors are planning on writing, can I encourage you to contribute them to the FSF? That way, the entire Free Software Community would benefit (and this plug-in issue would be mute :-).

Andrew

(1) Don't believe me? I'm currently commiting patches that eliminates registers[] from the core of GDB. That interface, for too many many years, formed part of the foundation on which GDB was built.

(2) A long term MI objective is to define a set of interfaces that both MI and the CLI can use. FernandoN made reference to this in responce to your original post.


If the plugins are using a small number of functions only, you
might want to consider using an API version number - whenever one of
these functions changes, you increase the version number. This would
allow plugins from various gdb versions (but with the same API
version) to be used without the need of recompiling.

Jelmer



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