[crash] - Update to latest upstream release - Use system readline library - Fix "crash --log vmcore" command

David Anderson crash at fedoraproject.org
Fri Feb 28 20:18:53 UTC 2014


commit bdde3e005a6c403ca69756faa0e520ea2be4cbd7
Author: Dave Anderson <anderson at redhat.com>
Date:   Fri Feb 28 15:18:55 2014 -0500

    - Update to latest upstream release
    - Use system readline library
    - Fix "crash --log vmcore" command for 3.11 and later kernels.

 .gitignore                |    1 +
 crash.spec                |   15 ++++++++--
 crash_log.patch           |   65 +++++++++++++++++++++++++++++++++++++++++++++
 sources                   |    2 +-
 use_system_readline.patch |   32 ++++++++++++++++++++++
 5 files changed, 111 insertions(+), 4 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index af8ec78..6981a81 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,3 +20,4 @@ crash-5.0.6.tar.gz
 /crash-7.0.2.tar.gz
 /crash-7.0.3.tar.gz
 /crash-7.0.4.tar.gz
+/crash-7.0.5.tar.gz
diff --git a/crash.spec b/crash.spec
index 8431b2f..8267e80 100644
--- a/crash.spec
+++ b/crash.spec
@@ -3,8 +3,8 @@
 #
 Summary: Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles
 Name: crash
-Version: 7.0.4
-Release: 2%{?dist}
+Version: 7.0.5
+Release: 1%{?dist}
 License: GPLv3
 Group: Development/Debuggers
 Source: http://people.redhat.com/anderson/crash-%{version}.tar.gz
@@ -12,10 +12,12 @@ URL: http://people.redhat.com/anderson
 ExclusiveOS: Linux
 ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot-%(%{__id_u} -n)
-BuildRequires: ncurses-devel zlib-devel lzo-devel snappy-devel bison
+BuildRequires: ncurses-devel zlib-devel lzo-devel snappy-devel bison readline-devel
 Requires: binutils
 Provides: bundled(libiberty)
 Patch0: lzo_snappy.patch
+Patch1: use_system_readline.patch
+Patch2: crash_log.patch
 
 %description
 The core analysis suite is a self-contained tool that can be used to
@@ -37,6 +39,8 @@ offered by Mission Critical Linux, or the LKCD kernel patch.
 %prep
 %setup -n %{name}-%{version} -q
 %patch0 -p1 -b lzo_snappy.patch
+%patch1 -p1 -b use_system_readline.patch
+%patch2 -p1 -b crash_log.patch
 
 %build
 make RPMPKG="%{version}-%{release}" CFLAGS="%{optflags}"
@@ -65,6 +69,11 @@ rm -rf %{buildroot}
 %{_includedir}/*
 
 %changelog
+* Fri Feb 28 2014 Dave Anderson <anderson at redhat.com> - 7.0.5-1
+- Update to latest upstream release
+- Use system readline library
+- Fix "crash --log vmcore" command for 3.11 and later kernels.
+
 * Tue Dec 17 2013 Toshio Kuratomi <toshio at fedoraproject.org> - 7.0.4-2
 - crash bundles gdb which bundles libiberty.  Add virtual Provides for
   libiberty tracking.  Open a bug for unbundling gdb RHBZ#1044119
diff --git a/crash_log.patch b/crash_log.patch
new file mode 100644
index 0000000..b0042d6
--- /dev/null
+++ b/crash_log.patch
@@ -0,0 +1,65 @@
+--- crash-7.0.5/kernel.c.orig
++++ crash-7.0.5/kernel.c
+@@ -8980,6 +8980,12 @@ get_log_from_vmcoreinfo(char *file, char
+ 			fprintf(fp, "OFFSET(log.ts_nsec): %ld\n", 
+ 				vmc->log_ts_nsec_OFFSET);
+ 		free(string);
++	} else if ((string = vmcoreinfo_read_string("OFFSET(printk_log.ts_nsec)"))) {
++		vmc->log_ts_nsec_OFFSET = dtol(string, RETURN_ON_ERROR, NULL);
++		if (CRASHDEBUG(1))
++			fprintf(fp, "OFFSET(printk_log.ts_nsec): %ld\n", 
++				vmc->log_ts_nsec_OFFSET);
++		free(string);
+ 	}
+ 	if ((string = vmcoreinfo_read_string("OFFSET(log.len)"))) {
+ 		vmc->log_len_OFFSET = dtol(string, RETURN_ON_ERROR, NULL);
+@@ -8987,6 +8993,12 @@ get_log_from_vmcoreinfo(char *file, char
+ 			fprintf(fp, "OFFSET(log.len): %ld\n", 
+ 				vmc->log_len_OFFSET);
+ 		free(string);
++	} else if ((string = vmcoreinfo_read_string("OFFSET(printk_log.len)"))) {
++		vmc->log_len_OFFSET = dtol(string, RETURN_ON_ERROR, NULL);
++		if (CRASHDEBUG(1))
++			fprintf(fp, "OFFSET(printk_log.len): %ld\n", 
++				vmc->log_len_OFFSET);
++		free(string);
+ 	}
+ 	if ((string = vmcoreinfo_read_string("OFFSET(log.text_len)"))) {
+ 		vmc->log_text_len_OFFSET = dtol(string, RETURN_ON_ERROR, NULL);
+@@ -8994,6 +9006,12 @@ get_log_from_vmcoreinfo(char *file, char
+ 			fprintf(fp, "OFFSET(log.text_len): %ld\n", 
+ 				vmc->log_text_len_OFFSET);
+ 		free(string);
++	} else if ((string = vmcoreinfo_read_string("OFFSET(printk_log.text_len)"))) {
++		vmc->log_text_len_OFFSET = dtol(string, RETURN_ON_ERROR, NULL);
++		if (CRASHDEBUG(1))
++			fprintf(fp, "OFFSET(printk_log.text_len): %ld\n", 
++				vmc->log_text_len_OFFSET);
++		free(string);
+ 	}
+ 	if ((string = vmcoreinfo_read_string("OFFSET(log.dict_len)"))) {
+ 		vmc->log_dict_len_OFFSET = dtol(string, RETURN_ON_ERROR, NULL);
+@@ -9001,12 +9019,23 @@ get_log_from_vmcoreinfo(char *file, char
+ 			fprintf(fp, "OFFSET(log.dict_len): %ld\n", 
+ 				vmc->log_dict_len_OFFSET);
+ 		free(string);
++	} else if ((string = vmcoreinfo_read_string("OFFSET(printk_log.dict_len)"))) {
++		vmc->log_dict_len_OFFSET = dtol(string, RETURN_ON_ERROR, NULL);
++		if (CRASHDEBUG(1))
++			fprintf(fp, "OFFSET(printk_log.dict_len): %ld\n", 
++				vmc->log_dict_len_OFFSET);
++		free(string);
+ 	}
+ 	if ((string = vmcoreinfo_read_string("SIZE(log)"))) {
+ 		vmc->log_SIZE = dtol(string, RETURN_ON_ERROR, NULL);
+ 		if (CRASHDEBUG(1))
+ 			fprintf(fp, "SIZE(log): %ld\n", vmc->log_SIZE);
+ 		free(string);
++	} else if ((string = vmcoreinfo_read_string("SIZE(printk_log)"))) {
++		vmc->log_SIZE = dtol(string, RETURN_ON_ERROR, NULL);
++		if (CRASHDEBUG(1))
++			fprintf(fp, "SIZE(printk_log): %ld\n", vmc->log_SIZE);
++		free(string);
+ 	}
+ 
+ 	/*
diff --git a/sources b/sources
index a03f3ad..fcceffb 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-45b47c058e088d12a3830c33b698b66c  crash-7.0.4.tar.gz
+3fba47055539e61ba3fb4d6e8a0e84b0  crash-7.0.5.tar.gz
diff --git a/use_system_readline.patch b/use_system_readline.patch
new file mode 100644
index 0000000..a6e04c4
--- /dev/null
+++ b/use_system_readline.patch
@@ -0,0 +1,32 @@
+--- crash-7.0.4/cmdline.c.orig
++++ crash-7.0.4/cmdline.c
+@@ -42,7 +42,8 @@ static int verify_args_input_file(char *
+ #define READLINE_LIBRARY
+ 
+ #include <readline.h>
+-#include <rldefs.h>
++#define vi_mode 0
++#define emacs_mode 1
+ #include <history.h>
+ 
+ static void readline_init(void);
+--- crash-7.0.4/Makefile.orig
++++ crash-7.0.4/Makefile
+@@ -200,7 +200,7 @@ TAR_FILES=${SOURCE_FILES} Makefile ${GPL
+ 	${EXTENSION_SOURCE_FILES} ${MEMORY_DRIVER_FILES}
+ CSCOPE_FILES=${SOURCE_FILES}
+ 
+-READLINE_DIRECTORY=./${GDB}/readline
++READLINE_DIRECTORY=/usr/include/readline
+ BFD_DIRECTORY=./${GDB}/bfd
+ GDB_INCLUDE_DIRECTORY=./${GDB}/include
+ 
+@@ -228,7 +228,7 @@ gdb_merge: force
+ 	@rm -f ${PROGRAM}
+ 	@if [ ! -f ${GDB}/config.status ]; then \
+ 	  (cd ${GDB}; ./configure ${GDB_CONF_FLAGS} --with-separate-debug-dir=/usr/lib/debug \
+-	    --with-bugurl="" --with-expat=no --with-python=no; \
++	    --with-bugurl="" --with-expat=no --with-python=no --with-system-readline; \
+ 	  make --no-print-directory CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \
+ 	else (cd ${GDB}/gdb; make --no-print-directory CRASH_TARGET=${TARGET};); fi
+ 	@if [ ! -f ${PROGRAM} ]; then \


More information about the scm-commits mailing list