Eppic works as a crash extension for a long time, and it is a very convenient
tool to extend crash's function:

1) People don't need to write an actual crash extension, which requires
   knowledge of crash APIs, such as readmem(), gdb_interface() etc.
   Implementing such an crash extension is hard for normal users.
2) Eppic programs are C-syntax-like scripting, no compile needed, so friendly
   to kernel developers who are already familiar with C. It's a good alternative
   for people who are unfamiliar with python (comparing to drgn/pykdump).
3) Writing eppic programs is similar to do kernel programming, people can use
   kernel data structures/global variables directly, again, friendly to kernel
   developers.

Personally I think eppic is a good tool and would like to push it forward to
make it used more widely, improved consistently. However I hardly heard anyone
who are using it, I guess it is due to it's extension position and unknown to
others.

In this patchset, I will make several improvements on eppic, although it is
still a crash extension, but I think it is made more easily for
compile/run/scripting.

To-do:

Some crash functions should be exposed to eppic, such as
maple_tree/rbtree etc, so people can iterate these kernel structures
with no problem, e.g. vma iteration. The exposure isn't hard and can be
implemented later.

Tao Liu (5):
  extensions: modify search path and extension preload
  Makefile: allow "make eppic" to create the eppic extension
  configure: Add EPPIC to Cflags
  eppic.patch: Add customized functions to eppic
  alias: create "eppic" alias to run eppic programs

 Makefile               |  12 ++-
 configure.c            |  14 ++-
 defs.h                 |   2 +-
 extensions.c           |  83 +++++++++++-------
 extensions/Makefile    |   2 +-
 extensions/eppic.mk    |  13 ++-
 extensions/eppic.patch | 195 +++++++++++++++++++++++++++++++++++++++++
 main.c                 |  16 +++-
 8 files changed, 295 insertions(+), 42 deletions(-)
 create mode 100644 extensions/eppic.patch

-- 
2.47.0
--
Crash-utility mailing list -- devel@lists.crash-utility.osci.io
To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki

Reply via email to