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