Download from http://people.redhat.com/anderson Changelog: - Fix for building on host machines that have glibc-2.15.90 installed, in which case the glibc header file /usr/include/bits/siginfo.h no longer declares a "struct siginfo", but only the "siginfo_t" typedef. Without the patch, the build of the embedded gdb module fails with the error message "linux-nat.h:63:18: error: field 'siginfo' has incomplete type". (anderson@xxxxxxxxxx) - Add support for reading compressed kdump dumpfiles that were compressed by the snappy compressor. This feature is disabled by default. To enable this feature, build the crash utility in the following manner: (1) Install the snappy libraries by using the host system's package manager or by directly downloading libraries from author's website. The packages required are: - snappy - snappy-devel The author's website is: http://code.google.com/p/snappy (2) Create a CFLAGS.extra file and an LDFLAGS.extra file in top-level crash sources directory: - enter -DSNAPPY in the CFLAGS.extra file - enter -lsnappy in the LDFLAGS.extra file. (3) Build crash with "make" as always. (d.hatayama@xxxxxxxxxxxxxx) - Prevent the "ptov" command from returning an invalid virtual address on 32-bit architectures. Without the patch, the command may result in an invalid virtual address if the physical address entered cannot be accessed by a unity-mapped kernel virtual address. The patch verifies that the calculated virtual address can be translated back into the supplied physical address. (Jan.Karlsson@xxxxxxxxxxxxxx, anderson@xxxxxxxxxx) - Fix to automatically try /proc/kcore as an alternative live memory source when the /dev/crash driver does not exist and /dev/mem is unusable because the kernel was configured with CONFIG_STRICT_DEVMEM. Without the patch, the automatic switch from /dev/mem to /proc/kcore is only attempted on the X86 and X86_64 architectures. (anderson@xxxxxxxxxx) - Added missing linefeeds to several error messages in makedumpfile.c. (anderson@xxxxxxxxxx) - Fix for a regression introduced by a crash-5.1.1 patch that reworked the handling of "set" commands that are put in .crashrc files, such that only certain command options would get resolved before the crash session is initialized. Without this patch, the "--less", "--more", "--no_scroll" and "--CRASHPAGER" crash command line options do not properly override conflicting "set scroll <option>" entries that are put in a .crashrc file. (anderson@xxxxxxxxxx) - Added new "--hex" and "--dec" crash command line options, which will set the command output format to hexadecimal or decimal. These two command line options will override any "set radix [10|16]" settings in a .crashrc file; since decimal is the default, the "--dec" option would only be necessary to override a "set radix 16" setting in a .crashrc file. (anderson@xxxxxxxxxx) - Fix for the "runq" and "timer" commands when running against 2.6.34 and later kernels that are not configured with CONFIG_SMP. Without the patch, the "runq" command fails with the error message "runq: per-cpu runqueues does not exist", and the "timer" command fails with the error message "timer: zero-size memory allocation! (called from <address>)". (anderson@xxxxxxxxxx) - If code.google.com is not available from the host build machine, then "make extensions" will be delayed by a 10 minute timeout of the "git clone" command that downloads the EPPIC library and extension module source tree. The patch pings code.google.com first in order to determine its availability before attempting the download. (anderson@xxxxxxxxxx) - For kernel versions 3.5 and later, in which the kernel log buffer has been converted from a byte-buffer to a variable-length record buffer, the "log -m" option will display the level in hexadecimal, and depending upon the kernel version, the value also contains either the facility or flags bits. (anderson@xxxxxxxxxx) - Fix for accessing the per-cpu registers from ARM vmcores generated by recent kernels in which the per-cpu data region has been moved into mapped kernel virtual address space. Without the patch, an incorrect physical address is calculated, resulting in bogus register contents. (Jan.Karlsson@xxxxxxxxxxxxxx) - Check that an s390x dumpfile is a "live dump" earlier during session initialization so that the internal LIVE_DUMP flag will get set when "crash --minimal" is invoked. (holzheu@xxxxxxxxxxxxxxxxxx) - Removed the usage of C++ keywords in structure and structure member names declared in "defs.h" so that extension modules written in C++ will compile successfully. Accordingly, the "struct namespace" is renamed to "struct symbol_namespace", the struct symbol_table_data's "namespace" member is renamed to "kernel_namespace", and the struct gnu_request's "typename" member is renamed to "type_name". (anderson@xxxxxxxxxx) - Fix for the date displayed by the initial system banner and by the "sys" command for Linux version 3.6 and later. Without the patch, the date displayed will be that of the UNIX epoch, i.e., midnight, Jan 1, 1970 UTC, adjusted to local time. (anderson@xxxxxxxxxx) - When the eppic.so extension module is built by "make extensions", the EPPIC source tree is downloaded from its upstream source repository at https://code.google.com/p/eppic. However, if an EPPIC_GIT_URL environment variable is defined, then the URL that it points to will be used as an alternative git source repository. (per.fransson.ml@xxxxxxxxx) - Fix for a segmentation violation generated by the "struct" command when printing a structure member using the "struct_name.member" argument format, where the member is a "char *" that points to a string that contains a "%" character. (bob.montgomery@xxxxxx, adk@xxxxxxxxx) - Patchset to support the most recent Xen hypervisor and Xen pvops kernels: (1) Always calculate max_cpus value (2) Read only crash notes for onlined CPUs (3) Read variables from dynamically allocated per_cpu data (4) Get idle data from alternative source (5) Read data correctly from dynamically allocated console ring (6) Add support for 3 level P2M tree (daniel.kiper@xxxxxxxxxx) - Fix for building a 32-bit eppic.so extension module after having built crash with "make target=ARM" or "make target=X86" on an x86_64 host. Without the patch, the eppic.so extension module would be built as a 64-bit binary. (per.fransson.ml@xxxxxxxxx, anderson@xxxxxxxxxx) - For the ARM architecture, fix the determination of the kernel modules base address when modules are not installed, and update the "mach" command to display the "KERNEL MODULES BASE" address. (mika.westerberg@xxxxxx, anderson@xxxxxxxxxx) - Fix for the "kmem -[sS]" commands for Linux version 3.6 and later kernels configured with CONFIG_SLUB. Without the patch, the commands fail with the error message "kmem: invalid structure member offset: kmem_cache_objsize". (anderson@xxxxxxxxxx) - Fix for an invocation failure when running against Linux version 3.6 and later kernels that are configured with CONFIG_SLAB. Without the patch, the crash session fails during initialization with the error message "crash: invalid structure member offset: kmem_cache_s_next". (anderson@xxxxxxxxxx) - Fix for the "kmem -[sS]" commands on kernels that are configured with CONFIG_SLUB to prevent a silent hang if a per-node slab cache partial list recurses back onto itself. Without the patch, it was necessary to kill the command; with the patch an error message is displayed and the command continues on to the next kmem slab cache. (anderson@xxxxxxxxxx) - Fix for the "kmem -[sS]" and "kmem -s list" options on dumpfiles from kernels that are configured with CONFIG_SLUB which have been filtered by the makedumpfile facility. Without the patch, it is possible that those commands may generate the error message "kmem: page excluded: kernel virtual address: <address> type: kmem_cache buffer", and would require either the "--zero_excluded" command line option or having to execute "set zero_excluded on" during runtime in order to complete successfully. (anderson@xxxxxxxxxx) -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility