Right now I am working on my thesis which is “Specializing Operating System Kernels using a Scripting Language”. A part of my work is porting the LuaJIT compiler into the FreeBSD x86 kernel.
When I was writing my thesis, I was asked to show modification information in the thesis.
They are number of lines added, numbers of lines removed, number of lines changed.
I know that diff
exists. However, I need a summary of information produced by it.
My Google kung fu led me to diffstat
.
It is very simple to use:
diff -u /path/to/luajit_kernel/src /path/to/luajit/src | diffstat -f0
The result is shown below.
./lib_syscall.c |only
./lib_util.c |only
/Users/peace/sources/LuaJIT-2.0.3/src/lauxlib.h | 13 2 + 11 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lib_aux.c | 23 6 + 17 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lib_base.c | 59 20 + 39 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lib_debug.c | 36 17 + 19 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lib_init.c | 11 0 + 11 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lib_package.c | 43 0 + 43 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lib_string.c | 40 0 + 40 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_alloc.c | 18 2 + 16 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_asm.c | 18 0 + 18 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_asm_x86.h | 46 0 + 46 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_bc.h | 127 1 + 126 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_ccallback.c | 4 0 + 4 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_def.h | 2 0 + 2 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_dispatch.c | 2 0 + 2 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_dispatch.h | 19 1 + 18 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_err.c | 12 0 + 12 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_errmsg.h | 6 0 + 6 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_ffrecord.c | 154 0 + 154 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_ir.c | 25 0 + 25 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_ir.h | 143 1 + 142 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_ircall.h | 37 0 + 37 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_lex.c | 5 0 + 5 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_lib.c | 7 0 + 7 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_lib.h | 2 0 + 2 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_load.c | 6 0 + 6 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_mcode.c | 59 1 + 58 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_meta.c | 4 0 + 4 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_obj.h | 38 3 + 35 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_opt_fold.c | 1195 551 + 644 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_opt_loop.c | 2 0 + 2 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_opt_narrow.c | 70 0 + 70 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_parse.c | 99 3 + 96 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_record.c | 42 0 + 42 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_snap.c | 7 0 + 7 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_state.c | 2 0 + 2 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_str.c | 2 0 + 2 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_strscan.c | 91 1 + 90 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_tab.c | 33 0 + 33 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_trace.c | 2 1 + 1 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_vm.h | 33 0 + 33 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_vmevent.c | 6 0 + 6 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lj_vmmath.c | 67 0 + 67 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lua.h | 6 1 + 5 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/luaconf.h | 30 0 + 30 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/lualib.h | 6 0 + 6 - 0 !
/Users/peace/sources/LuaJIT-2.0.3/src/vm_x86.dasc | 452 34 + 418 - 0 !
51 files changed, 645 insertions(+), 2459 deletions(-)