Hello community,

here is the log from the commit of package crash.2807 for openSUSE:13.1:Update 
checked in at 2014-05-19 11:26:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/crash.2807 (Old)
 and      /work/SRC/openSUSE:13.1:Update/.crash.2807.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "crash.2807"

Changes:
--------
New Changes file:

--- /dev/null   2014-05-19 01:51:27.372033255 +0200
+++ /work/SRC/openSUSE:13.1:Update/.crash.2807.new/crash.changes        
2014-05-19 11:26:08.000000000 +0200
@@ -0,0 +1,2475 @@
+-------------------------------------------------------------------
+Fri Sep 13 07:20:59 UTC 2013 - [email protected]
+
+- crash-crosscrash-hint.diff: Removed, because crosscrash isn't
+  maintained any longer.
+
+-------------------------------------------------------------------
+Thu Sep 12 19:03:05 UTC 2013 - [email protected]
+
+- Implementation of v7.0.2 from upstream.
+  o See http://people.redhat.com/anderson/crash.changelog.html
+    for a complete list of changes from 6.1.3.
+
+- crash-rl_digit_loop-return.patch     - removed
+- crash-missing-declarations.patch     - refreshed
+- crash-rl_digit_loop-return.patch     - refreshed
+- eppic-switch-to-system-lib.patch     - refreshed
+
+-------------------------------------------------------------------
+Fri May 10 21:56:52 UTC 2013 - [email protected]
+
+- Implementation of v6.1.3 from upstream.
+
+  crash-display-date-fix.patch   - removed/redundant
+  crash-kmem_cache_slab.patch    - removed/redundant
+  crash-siginfo.patch            - removed/redundant
+  crash-var_length_log_rec.patch - removed/redundant
+
+  eppic-switch-to-system-lib.patch - Implementation of EPPIC via
+  system library rather than retrieve and include in build. Added
+  eppic constants to spec file without removing the sial constants
+  for now.
+
+  crash-crosscrash-hint.diff    - refreshed
+  crash-make-emacs-default.diff - refreshed
+  crash-sles9-time.patch        - refreshed
+
+-------------------------------------------------------------------
+Wed Feb 27 06:23:31 UTC 2013 - [email protected]
+
+- update license to new format
+
+-------------------------------------------------------------------
+Mon Feb  4 23:26:14 UTC 2013 - [email protected]
+
+- Re-execution of 150764 by [email protected] to re-align patch
+  content, re-number patches for latest spec contents and to
+  remove some incidental content (e.g. whitespace insertion and
+  leftover comments of new lines). Comment from tabraham follows:
+
+ - added crash-display-date-fix.patch
+   This is a backport of the fix from crash-6.0.9 to fix the date
+   displayed by the initial system banner and by the "sys" command
+   for linux kernel 3.6 and later. Without the patch, the date
+   displayed will be that of the UNIX epoch adjusted to local time.
+
+ - added crash-kmem_cache_slab.patch
+   This is a backport of the fix from crash-6.1.0 for Linux 3.0 and
+   later kernels that have been configured with CONFIG_SLAB and with-
+   out CONFIG_NODES_SHIFT. Without the patch, the warning messages
+   "crash: nr_node_ids: symbol does not exist" and "crash: unable to
+   initialize kmem slab cache subsystem" are displayed during
+   initialization, and the "kmem -[sS]" options fail with the message
+   "kmem: kmem cache slab subsystem not available".
+
+-------------------------------------------------------------------
+Mon Feb  4 18:47:06 UTC 2013 - [email protected]
+
+- crash-compressed-booted-kernel.patch: Fix for "crash when invoked
+  without arguments fails to analyze the live system" (bnc#777516).
+
+-------------------------------------------------------------------
+Fri Jan 25 20:33:38 UTC 2013 - [email protected]
+
+- crash-var_length_log_rec.patch: support variable-length record
+  kernel log buffer present in kernel 3.5 and later (bnc#796151).
+
+-------------------------------------------------------------------
+Sun Jul 29 07:04:13 UTC 2012 - [email protected]
+
+- Fix build with glibc 2.16 (struct siginfo -> siginfo_t).
+
+-------------------------------------------------------------------
+Tue Jul 17 16:52:55 UTC 2012 - [email protected]
+
+- Enabled support for reading dumpfiles compressed by LZO using
+  makedumpfile version 1.4.4 or later.
+
+-------------------------------------------------------------------
+Fri Jun  1 09:20:03 UTC 2012 - [email protected]
+
+- Update to crash 6.0.7 from upstream and adjust patches to apply
+  without offsets. Upstream changes:
+  o Enhanced the search command to allow the searched-for value to
+    be entered as a crash (expression) or a kernel symbol name. The
+    resultant value of an (expression) or kernel symbol value must
+    fit into in the designated value size if -w or -h are used, and
+    neither variant may be used with the -c option.  If found, both
+    the resultant value and the argument input string will be
+    displayed next to the target address(es).
+  o Added a new "search -t" option that will restrict the search to
+    the kernel stack pages of all tasks.  If one or more matches
+    are found in a task's kernel stack, the output is preceded with
+    a task-identifying header.
+  o Fix for the s390x "bt -[tT]" options when run on an active task
+    on a live system.  Without the patch, the options fail with the 
+    message "bt: invalid/stale stack pointer for this task: 0".
+  o Fix for s390x "vm -p" option, which may show invalid user to
+    physical address translation data if a page is not mapped.
+    Without the patch, a page's translation may indicate
+    "<address>   SWAP: (unknown swap location)  OFFSET: 0",
+    or show an incorrect swap offset on an actual swap device.
+  o Added new "vm -[xd]" options to be used in conjunction with
+    "vm -[mv]", which override the current default output format 
+    with hexadecimal or decimal format for just the command instance.  
+    Without the patch, it would require changing the default output 
+    format with "hex" or "dec" prior to executing "vm -[mv]".  The 
+    new flags may also be used with "foreach vm -[mv]".
+  o Fix for the s390x "vm -p" and "vtop -u <user-address>" commands
+    if the page containing the relevant PTE is not mapped.  Without
+    the patch, the commands fail with the error message "vm: read
+    error: kernel virtual address: 0  type: entry" or "vtop: read
+    error: kernel virtual address: 0  type: entry"
+  o Fix for the s390x "vm -p" command and "vtop -u <user-address>"
+    commands to properly translate pages that are swapped out into
+    their swap file and offset.  Without the patch, the swap file
+    and offset would not be displayed.
+  o Added new "list -[xd]" options to be used in conjunction with
+    "list -s", which override the current default output format 
+    with hexadecimal or decimal format for just the command instance.
+    Without the patch, it would require changing the default output 
+    format with "hex" or "dec" prior to executing "list -s".
+  o Added new "net -[xd]" options to be used in conjunction with 
+    "net -S", which override the current default output format
+    with hexadecimal or decimal format for just the command instance.
+    Without the patch, it would require changing the default output
+    format with "hex" or "dec" prior to executing "net -S".  The new 
+    flags may also be used with "foreach net -S".
+  o Added new "mach -[xd]" options to be used in conjunction with 
+    "mach -c", which override the current default output format
+    with hexadecimal or decimal format for just the command instance.
+    Without the patch, it would require changing the default output
+    format with "hex" or "dec" prior to executing "mach -c".
+  o If the value read from the cpu online, present, or possible masks
+    contains a cpu bit value that is outside the architecture's maximum 
+    NR_CPUS value, print a warning message during invocation.  Without
+    the patch, a corrupt vmcore containing a bogus mask value could 
+    quietly corrupt heap memory.
+  o Add support to for reading dumpfiles compressed by LZO using
+    makedumpfile version 1.4.4 or later.  This feature is disabled by
+    default.  To enable this feature, build the crash utility in the 
+    following manner:
+    (1) Install the LZO libraries by using the host system's package
+        manager or by directly downloading libraries from author's 
+        website.  The packages required are:
+          - lzo
+          - lzo-minilzo
+          - lzo-devel
+        The author's website is: http://www.oberhumer.com/opensource/lzo
+    (2) Create a CFLAGS.extra file and an LDFLAGS.extra file in top-level
+        crash sources directory:
+          - enter -DLZO in the CFLAGS.extra file
+          - enter -llzo2 in the LDFLAGS.extra file.
+    (3) Build crash with "make" as always.
+    * Only available as a source option for manual build in this
+      environment
+  o Fix for the included "trace" extension module.  Without the patch,
+    if the module initialization sequence fails, a double-free in the
+    module may lead to a subsequent malloc() segmentation violation
+    in the crash session.
+  o Incorporated the "ipcs" extension module written by Qiao Nuohan 
+    as a built-in command.  The command displays the kernel's usage 
+    of the System V shared memory, semaphore and message queue IPC
+    facilities.  It differs from the original extension module by
+    fixing a failure scenario if the current task is exiting, and
+    adds a "-n pid|task" option, which displays the IPCS facilities
+    with respect to the namespace of a given pid or task.
+  o Fix for a gdb-7.3.1 regression that causes the line number capability
+    to fail with certain ranges of x86 base kernel text addresses.
+    Without the patch, the "dis -l <symbol>" or "sym <symbol>"
+    commands would fail to show line number information for certain
+    ranges of base kernel text addresses.
+  o Added a new "printm" command to the embedded gdb module.  It
+    is currently only used by the "pstruct" extension module, but
+    can be used to dump the type, size, offset, bitpos and bitsize
+    values of an expression.
+  o Added a new "runq -t" option that displays the timestamp information
+    of each cpu's runqueue, which consists of either the rq.clock, the
+    rq.most_recent_timestamp or rq.timestamp_last_tick value, whichever 
+    applies.  Following each cpu timestamp is the last_run or timestamp 
+    value of the active task on that cpu, whichever applies, along with 
+    the task identification.
+  o Fix for an initialization-time warning when running on a live system
+    with the most recent version of the modprobe command, which no longer
+    supports the -l and --type options.  The modprobe is used to detect
+    whether the crash.ko memory driver is part of the distribution.  
+    Without the patch, a warning message is issued that indicates
++++ 2278 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.1:Update/.crash.2807.new/crash.changes

New:
----
  README.SUSE
  crash-7.0.2.tar.gz
  crash-compressed-booted-kernel.patch
  crash-debuginfo-compressed.patch
  crash-kmp-preamble
  crash-make-emacs-default.diff
  crash-missing-declarations.patch
  crash-sial-ps-2.6.29.diff
  crash-sles9-quirk.patch
  crash-sles9-time.patch
  crash.changes
  crash.spec
  crash_enable_lzo_support.patch
  crash_whitepaper-2003.tar.bz2
  depmod.sh
  eppic-switch-to-system-lib.patch
  gcore-2011-09-22.tar.bz2
  get-kernel-flavors.sh
  mkinitrd.sh
  rpmlintrc
  sial-scripts-2008-02-08.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ crash.spec ++++++
#
# spec file for package crash
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define crash_version           7.0.2
%define whitepaper_version 2003
%define scripts_version  2008-02-08
%define gcore_version  2011-09-22

Name:           crash
%ifarch ppc
%define build_sial 0
%define build_eppic 0
%else
%define build_sial 0
%define build_eppic 1
%endif
%ifarch %ix86 x86_64
%define build_gcore 1
%else
%define build_gcore 0
%endif
%define build_kmp 1
Url:            http://people.redhat.com/anderson/
Summary:        Crash utility for live systems; netdump, diskdump, LKCD or 
mcore dumpfiles
License:        GPL-3.0+ and GFDL-1.2
Group:          Development/Tools/Debuggers
Version:        %{crash_version}
Release:        0
Source:         %{name}-%{version}.tar.gz
Source2:        crash_whitepaper-%{whitepaper_version}.tar.bz2
Source3:        README.SUSE
Source4:        sial-scripts-%{scripts_version}.tar.bz2
Source5:        gcore-%{gcore_version}.tar.bz2
Source95:       get-kernel-flavors.sh
Source96:       depmod.sh
Source97:       mkinitrd.sh
Source98:       %{name}-kmp-preamble
Source99:       rpmlintrc
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Patch1:         %{name}-make-emacs-default.diff
Patch2:         %{name}-sles9-quirk.patch
Patch4:         %{name}-sles9-time.patch
Patch8:         %{name}-missing-declarations.patch
Patch9:         %{name}-debuginfo-compressed.patch
Patch10:        %{name}_enable_lzo_support.patch
Patch11:        %{name}-compressed-booted-kernel.patch
Patch12:        eppic-switch-to-system-lib.patch
Patch90:        %{name}-sial-ps-2.6.29.diff
BuildRequires:  bison
BuildRequires:  flex
BuildRequires:  libeppic-devel
BuildRequires:  lzo-devel
BuildRequires:  ncurses-devel
BuildRequires:  zlib-devel
Requires:       /usr/bin/nm
ExclusiveArch:  %ix86 x86_64 ia64 s390 s390x ppc64 alpha
# Source code says it can do ppc32. Excluded here?
ExcludeArch:    ppc
# crash driver KMP
%if %build_kmp
BuildRequires:  kernel-syms
BuildRequires:  module-init-tools
%if 0%{?suse_version} >= 1130
BuildRequires:  kernel-devel
%endif
%endif

%if %build_kmp
%if 0%{?suse_version} >= 920
%suse_kernel_module_package -n crash -p %_sourcedir/%{name}-kmp-preamble um
%define arch %_target_cpu
%define kmp_pkg KMP
%else
%define kver %(rpm -q --qf '%{VERSION}-%{RELEASE}' kernel-source)
%define kver_ %(rpm -q --qf '%{VERSION}_%{RELEASE}' kernel-source)
%define arch %(echo %_target_cpu | sed -e 's/i.86/i386/')
%define flavors_to_build %(sh %_sourcedir/get-kernel-flavors.sh %arch)
%define kmp_pkg kmp
%endif
%endif

%description
The core analysis suite is a self-contained tool that can be used to
investigate either live systems, kernel core dumps created from the
netdump and diskdump packages from Red Hat Linux, the mcore kernel
patch offered by Mission Critical Linux, or the LKCD kernel patch.



Authors:
--------
    David Anderson <[email protected]>

%package doc
Requires:       %{name} = %{version}
Summary:        Documentation for Crash
License:        GFDL-1.2
Group:          Development/Tools/Debuggers

%description doc
This subpackage contains the crash whitepaper from Dave Anderson.



Authors:
--------
    David Anderson <[email protected]>

%package devel
Requires:       %{name} = %{version}
Summary:        Development files for crash
License:        GPL-2.0+
Group:          Development/Tools/Debuggers

%description devel
This files are required to build extensions for crash.

Crash is the core analysis suite that can be used to investigate either
live systems, kernel core dumps created from the netdump and diskdump
packages from Red Hat Linux, the mcore kernel patch offered by Mission
Critical Linux, or the LKCD kernel patch.



Authors:
--------
    David Anderson <[email protected]>

%if %build_eppic
%package eppic
Requires:       %{name} = %{version}
%if %build_sial
# Nothing to do
%else
Provides:       %{name}-sial = %{version}
Obsoletes:      %{name}-sial < %{version}
%endif
Summary:        Embeddable Pre-Processor and Interpreter for C extension for 
crash
License:        GPL-2.0+
Group:          Development/Tools/Debuggers

%description eppic
EPPIC is a C interpreter that permits easy access to the symbol and type
information stored in a executable image like a coredump or live memory
interfaces (e.g. /dev/kmem, /dev/mem). Although it has a strong association
with live or postmortem kernel analysis, it is not constraint to it and can be
embedded in any tools that is C friendly.


Authors:
--------
    Luc Chouinard <[email protected]>

%endif

%if %build_sial

%package sial
Requires:       %{name} = %{version}
Summary:        SIAL extension for crash
License:        GPL-2.0+
Group:          Development/Tools/Debuggers

%description sial
This module is a prerequisite for the loading of SIAL scripts.

Upon loading the sial.so object file with extend, any SIAL scripts
located in the /usr/share/sial/crash or $HOME/.sial directories will be
loaded automatically.



Authors:
--------
    David Anderson <[email protected]>

%endif

%if %build_gcore

%package gcore
Requires:       %{name} = %{version}
Summary:        Gcore extension for crash
License:        GPL-2.0+
Group:          Development/Tools/Debuggers

%description gcore
Create a core dump file of a user-space task that was running in a
kernel dumpfile. 



Authors:
--------
    Daisuke Hatayama  <[email protected]>

%endif

%if %build_kmp

%package %kmp_pkg
Summary:        Memory driver for the crash utility
License:        GPL-2.0
Group:          System/Kernel
%if 0%{?suse_version} < 920
Version:        %{version}_%{kver_}
Release:        0

Requires:       kernel = %kver
%endif

%description %kmp_pkg
To run the crash utility on a live system, a memory device must be present.
Due to many limitations of the /dev/mem interface, a separate kernel module
is provided to access all RAM through the /dev/crash device.

Authors:
--------
    David Anderson <[email protected]>

%endif

%prep
%setup -q -a 2 -a 4
%patch1 -p1
%patch2 -p1
%patch4 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
## SIAL patches
cd sial-scripts-%{scripts_version}
%patch90 -p1
cd -
## gcore extension
cd extensions
tar xfvj %{S:5}
cd -
%patch12 -p1
cp %{S:3} .
mkdir kbuild

%build
export CFLAGS="$RPM_OPT_FLAGS -fno-builtin-memset -fno-strict-aliasing"
export GDB="gdb-%{gdb_version}"
make RPMPKG="`cat .rh_rpm_package`" %{?jobs:-j%jobs}
make extensions %{?jobs:-j%jobs}
%if %build_kmp
export EXTRA_CFLAGS='-DVERSION=\"%version\"'
for flavor in %flavors_to_build; do
    rm -rf kbuild/$flavor
    cp -r memory_driver kbuild/$flavor
    make -C /usr/src/linux-obj/%arch/$flavor modules \
      M=$PWD/kbuild/$flavor
done
%endif

%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libdir}
make DESTDIR=%{buildroot} install
mkdir -p %{buildroot}%{_mandir}/man8
install -m 0644 crash.8 %{buildroot}%{_mandir}/man8/crash.8
# devel files
mkdir -p $RPM_BUILD_ROOT/%{_includedir}/crash
install -m 0644 defs.h $RPM_BUILD_ROOT/%{_includedir}/crash
# permissions
chmod 644 COPYING3
# extensions
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/crash/extensions
%if %build_gcore
install -m 0644 extensions/gcore.so $RPM_BUILD_ROOT/%{_libdir}/crash/extensions
%endif
%if %build_eppic
install -m 0644 extensions/eppic.so $RPM_BUILD_ROOT/%{_libdir}/crash/extensions
%endif
%if %build_sial
install -m 0644 extensions/sial.so $RPM_BUILD_ROOT/%{_libdir}/crash/extensions
%endif
%if %build_eppic
# scripts
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/sial/crash
install -m 0644 sial-scripts-%{scripts_version}/*.c \
                $RPM_BUILD_ROOT/%{_datadir}/sial/crash
%endif
%if %build_kmp
# memory driver module
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
export INSTALL_MOD_DIR=updates
for flavor in %flavors_to_build; do
     make -C /usr/src/linux-obj/%arch/$flavor modules_install \
       M=$PWD/kbuild/$flavor
done

# Ugly SLES9-style KMP
%if 0%{?suse_version} < 920
set -- $(ls $RPM_BUILD_ROOT/lib/modules)
KERNELRELEASES=$*

set -- $(find $RPM_BUILD_ROOT/lib/modules -type f -name '*.ko' \
         | sed -e 's:.*/::' -e 's:\.ko$::' | sort -u)
MODULES=$*

(   cat <<-EOF
        # IMPORTANT: Do not change the KERNELRELEASES definition; it will be
        # replaced during driver reuse!
        KERNELRELEASES="$KERNELRELEASES"
        MODULES="$MODULES"
        EOF
    cat %_sourcedir/depmod.sh
    cat %_sourcedir/mkinitrd.sh
) > post_postun.sh

%post kmp -f post_postun.sh

%postun kmp -f post_postun.sh

%endif

%endif

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root)
%{_bindir}/crash
%{_mandir}/man8/crash.8*
%doc README README.SUSE COPYING3
%dir %{_libdir}/crash
%dir %{_libdir}/crash/extensions

%files devel
%defattr(-,root,root)
%{_includedir}/*

%files doc
%defattr(-,root,root)
%doc crash_whitepaper/*

%if %build_eppic
%files eppic
%defattr(-,root,root)
%{_libdir}/crash/extensions/eppic.so
%{_datadir}/sial/crash
%dir %{_datadir}/sial
%endif

%if %build_sial
%files sial
%defattr(-,root,root)
%doc extensions/libsial/README
%{_libdir}/crash/extensions/sial.so
%{_datadir}/sial/crash
%dir %{_datadir}/sial
%endif

%if %build_gcore

%files gcore
%defattr(-,root,root)
%{_libdir}/crash/extensions/gcore.so
%doc extensions/README.gcore
%endif

%if build_kmp
%if 0%{?suse_version} < 920

%files %kmp_pkg
%defattr(-,root,root)
/lib/modules/*
%endif
%endif

%changelog
++++++ README.SUSE ++++++
Changes in the SUSE package
===========================

 - Emacs is the default editing mode, can still be overwritten to vi mode via
   command line or configuration file
 - added the Crash Whitepaper from
   http://people.redhat.com/anderson/.crash_whitepaper/
 - fix for LKCD header (SLES9 has another header format than SLES10) in IA64


SIAL
====

To use the SIAL extension, install crash-sial and load it with "extend sial.so"
in crash. If you want to have the sial extension automatically loaded at
startup, add this command to your ~/.crashrc configuration file.

Place custom scripts in /usr/share/sial/crash (system wide) or ~/.sial (per
user).
++++++ crash-compressed-booted-kernel.patch ++++++
---
 filesys.c |   37 ++++++++++++++++++++++++++++---------
 1 file changed, 28 insertions(+), 9 deletions(-)

--- a/filesys.c
+++ b/filesys.c
@@ -530,6 +530,8 @@ static int
 find_booted_kernel(void)
 {
        char kernel[BUFSIZE];
+       char *kernel_unpacked;
+       char *real_kernel;
        char buffer[BUFSIZE];
        char **searchdirs;
        int i, preferred, wrapped;
@@ -579,16 +581,25 @@ find_booted_kernel(void)
                        sprintf(kernel, "%s%s", searchdirs[i], dp->d_name);
 
                        if (mount_point(kernel) ||
-                           !file_readable(kernel) || 
-                            !is_elf_file(kernel))
+                           !file_readable(kernel))
                                continue;
 
+                       if (is_compressed_kernel(kernel, &kernel_unpacked))
+                               real_kernel = kernel_unpacked;
+                       else {
+                               kernel_unpacked = NULL;
+                               real_kernel = kernel;
+                       }
+
                        if (CRASHDEBUG(1)) 
                                fprintf(fp, "find_booted_kernel: check: %s\n", 
                                        kernel);
 
-                       found = match_file_string(kernel, kt->proc_version, 
buffer);
-       
+                       if (!is_elf_file(real_kernel))
+                               continue;
+
+                       found = match_file_string(real_kernel, 
kt->proc_version, buffer);
+
                        if (found)
                                break;
                }
@@ -599,17 +610,25 @@ find_booted_kernel(void)
        build_searchdirs(DESTROY, NULL);
 
        if (found) {
-                if ((pc->namelist = (char *)malloc
-                   (strlen(kernel)+1)) == NULL) 
+               if ((pc->namelist_orig = strdup(kernel)) == NULL)
+                       error(FATAL, "booted kernel real name malloc: %s\n",
+                               strerror(errno));
+               else if ((pc->namelist = strdup(real_kernel)) == NULL)
                        error(FATAL, "booted kernel name malloc: %s\n",
                                strerror(errno));
-                else {
-                        strcpy(pc->namelist, kernel);
+                else
                        if (CRASHDEBUG(1))
                                fprintf(fp, "find_booted_kernel: found: %s\n", 
                                        pc->namelist);
+                       if (kernel_unpacked)
+                               free(kernel_unpacked);
                         return TRUE;
-                }
+       }
+
+       if (kernel_unpacked) {
+               remove(kernel_unpacked);
+               if (kernel_unpacked)
+                       free(kernel_unpacked);
        }
 
        error(INFO, 
++++++ crash-debuginfo-compressed.patch ++++++
From: Petr Tesarik <[email protected]>
Subject: Search debuginfo files in the original directory
References: bnc#723639

If debuginfo is in a separate file and the kernel image is compressed,
then it should be found in the same directory as the original (compressed)
image, not in the directory with the uncompressed image (TMPDIR).

Signed-off-by: Petr Tesarik <[email protected]>

---
 symbols.c |   17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

--- a/symbols.c
+++ b/symbols.c
@@ -183,9 +183,9 @@ symtab_init(void)
         *  Pull a bait-and-switch on st->bfd if we've got a separate
          *  .gnu_debuglink file that matches the CRC. Not done for kerntypes.
         */
-       if (!(LKCD_KERNTYPES()) &&
-           !(bfd_get_file_flags(st->bfd) & HAS_SYMS)) {
-               if (!check_gnu_debuglink(st->bfd))
+       if (!(LKCD_KERNTYPES())) {
+               if (!check_gnu_debuglink(st->bfd) &&
+                   !(bfd_get_file_flags(st->bfd) & HAS_SYMS))
                        no_debugging_data(FATAL);
        }
        
@@ -244,13 +244,16 @@ check_gnu_debuglink(bfd *bfd)
        char *contents;
        int crc_offset; 
        unsigned long crc32;
+       char *namelist;
        char *dirname;
        char *namelist_debug;
         char **matching;
 
+       namelist = pc->namelist_orig ? pc->namelist_orig : pc->namelist;
+
         sect = bfd_get_section_by_name(bfd, ".gnu_debuglink");
        if (!sect) {
-               error(INFO, "%s: no .gnu_debuglink section\n", pc->namelist);
+               error(INFO, "%s: no .gnu_debuglink section\n", namelist);
                return FALSE;
        }
 
@@ -271,14 +274,14 @@ check_gnu_debuglink(bfd *bfd)
                        contents, crc32);
 
        if ((pc->debuginfo_file = (char *)
-           malloc(((strlen(pc->namelist) + strlen("/.debug/") +
+           malloc(((strlen(namelist) + strlen("/.debug/") +
            + strlen(".debug") + strlen(" /usr/lib/debug/boot/ "))*10)
            + strlen(pc->namelist_debug ? pc->namelist_debug : " "))) == NULL)
                error(FATAL, "debuginfo file name malloc: %s\n", 
                        strerror(errno));
 
-       dirname = GETBUF(strlen(pc->namelist)+1);
-       strcpy(dirname, pc->namelist);
+       dirname = GETBUF(strlen(namelist)+1);
+       strcpy(dirname, namelist);
 
        for (i = strlen(dirname)-1; i >= 0; i--)
        {
++++++ crash-kmp-preamble ++++++
Requires: kernel-%1
++++++ crash-make-emacs-default.diff ++++++
---
 main.c |    8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

--- a/main.c
+++ b/main.c
@@ -1048,12 +1048,6 @@ setup_environment(int argc, char **argv)
        pc->flags |= READLINE;
        pc->editing_mode = "no_mode";
 
-       if ((p1 = getenv("EDITOR"))) {
-               if (strstr(p1, "vi"))
-                       pc->editing_mode = "vi";
-               if (strstr(p1, "emacs"))
-                       pc->editing_mode = "emacs";
-       }
 
        /*
         *  Resolve $HOME .rc file first, then the one in the local directory.
@@ -1103,7 +1097,7 @@ setup_environment(int argc, char **argv)
        }
 
        if (STREQ(pc->editing_mode, "no_mode"))
-               pc->editing_mode = "vi";
+               pc->editing_mode = "emacs";
 
        machdep_init(SETUP_ENV);
 }
++++++ crash-missing-declarations.patch ++++++
From: Petr Tesarik <[email protected]>
Subject: Add missing includes

This fixes a compilation failure on ppc64.

---
 gdb-7.6.patch |   10 ++++++++++
 1 file changed, 10 insertions(+)

--- a/gdb-7.6.patch
+++ b/gdb-7.6.patch
@@ -17,6 +17,16 @@
        ./pex-djgpp.$(objext) ./pex-msdos.$(objext)                     \
         ./pex-unix.$(objext) ./pex-win32.$(objext)                     \
         ./putenv.$(objext)                                             \
+--- gdb-7.6/sim/common/gentmap.c.orig
++++ gdb-7.6/sim/common/gentmap.c
+@@ -2,6 +2,7 @@
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ 
+ struct tdefs {
+   char *symbol;
 --- gdb-7.6/opcodes/i386-dis.c.orig
 +++ gdb-7.6/opcodes/i386-dis.c
 @@ -11510,6 +11510,10 @@ print_insn (bfd_vma pc, disassemble_info
++++++ crash-sial-ps-2.6.29.diff ++++++
diff -Nurp sial-scripts-2008-02-08.orig//ps.c sial-scripts-2008-02-08/ps.c
--- sial-scripts-2008-02-08.orig//ps.c  2010-03-12 19:59:03.227788951 +0100
+++ sial-scripts-2008-02-08/ps.c        2010-03-12 19:59:16.690665574 +0100
@@ -192,7 +192,11 @@ string cmd;
 
        printf("%p %7d %7d %7d 0x%02x 0x%08x %5d:%-5d %s\n"
                , t
+#if LINUX_RELEASE > 0x02061d
+               , t->real_cred->uid
+#else
                , t->uid
+#endif
                , t->pid
 #if LINUX_2_6_X
                , t->parent->pid
++++++ crash-sles9-quirk.patch ++++++
From: Bernhard Walle <[email protected]>
Subject: [PATCH] Add quirk for SLES9 LKCD header
Patch-mainline: never

On SLES9, we have a different header on IA64:

    SLES 10:

    typedef struct __dump_header_asm {
            uint64_t            dha_magic_number;
            uint32_t            dha_version;
            uint32_t            dha_header_size;
            uint64_t            dha_pt_regs;
            struct pt_regs      dha_regs;
            uint64_t            dha_rnat;
            uint64_t            dha_pfs;
            uint64_t            dha_bspstore;
            uint32_t            dha_smp_num_cpus;
            uint32_t            dha_dumping_cpu;
            struct pt_regs      dha_smp_regs[NR_CPUS];
            uint64_t            dha_smp_current_task[NR_CPUS];
            uint64_t            dha_stack[NR_CPUS];
            uint64_t            dha_stack_ptr[NR_CPUS];
            uint64_t            dha_kernel_addr;
    } __attribute__((packed)) dump_header_asm_t;

    SLES 9:
    typedef struct __dump_header_asm {
            uint64_t            dha_magic_number;
            uint32_t            dha_version;
            uint32_t            dha_header_size;
            uint64_t            dha_kernel_addr;
            uint64_t            dha_pt_regs;
            struct pt_regs      dha_regs;
            uint64_t            dha_rnat;
            uint64_t            dha_pfs;
            uint64_t            dha_bspstore;
            uint32_t            dha_smp_num_cpus;
            uint32_t            dha_dumping_cpu;        
            struct pt_regs      dha_smp_regs[NR_CPUS];
            uint64_t            dha_smp_current_task[NR_CPUS];
            uint64_t            dha_stack[NR_CPUS];
            uint64_t            dha_stack_ptr[NR_CPUS];
    } __attribute__((packed)) dump_header_asm_t;

That patch tries to guess if it's a SLES 9 or a SLES 10 header
at runtime.


Signed-off-by: Bernhard Walle <[email protected]>

---
 lkcd_v8.c |   11 +++++++++++
 1 file changed, 11 insertions(+)

--- a/lkcd_v8.c
+++ b/lkcd_v8.c
@@ -130,6 +130,17 @@ lkcd_dump_init_v8_arch(dump_header_t *dh
                goto err;
        }
 
+#if IA64
+       /* SLES9 on IA64? */
+       if ( *((uint64_t *)(hdr_buf + hdr_size - sizeof(uint64_t))) <= NR_CPUS) 
{
+               uint64_t kernel_addr;
+               kernel_addr = ((dump_header_asm_t *)hdr_buf)->dha_pt_regs;
+               memmove(hdr_buf + offsetof(dump_header_asm_t, dha_pt_regs),
+                               hdr_buf + offsetof(dump_header_asm_t, dha_regs),
+                               hdr_size - offsetof(dump_header_asm_t, 
dha_regs));
+               *((uint64_t *)(hdr_buf + hdr_size - sizeof(uint64_t))) = 
kernel_addr;
+       }
+#endif
 
        /*
          * Though we have KL_NR_CPUS is 128, the header size is different
++++++ crash-sles9-time.patch ++++++
From: Alan Tyson <[email protected]>
Subject: [PATCH] Fix "uptime" and "ps -t" for SLES9
References: 352836

This patch adds a quirk for SLES9 jiffies initialisation and corrects the time
data in "uptime" and "ps -t" command.


Acked-by: Bernhard Walle <[email protected]>

---
 defs.h   |    8 ++++++++
 kernel.c |    9 ++++++++-
 task.c   |   11 +++++++++++
 3 files changed, 27 insertions(+), 1 deletion(-)

--- a/defs.h
+++ b/defs.h
@@ -682,6 +682,7 @@ struct kernel_table {
                ulong p2m_missing;
        } pvops_xen;
        int highest_irq;
+    int is_suse_kernel;
 #define IKCONFIG_AVAIL 0x1     /* kernel contains ikconfig data */
 #define IKCONFIG_LOADED        0x2     /* ikconfig data is currently loaded */
        int ikconfig_flags;
@@ -5536,6 +5537,13 @@ extern struct lkcd_environment *lkcd;
 
 #endif  /* LKCD_COMMON */
 
+
+/*
+ * SUSE specific
+ */
+#define is_SLES9() \
+       ((THIS_KERNEL_VERSION == LINUX(2,6,5)) && kt->is_suse_kernel)
+
 /*
  *  gdb_interface.c
  */
--- a/kernel.c
+++ b/kernel.c
@@ -237,6 +237,12 @@ kernel_init()
 
        verify_version();
 
+       /*
+        * check if we have a suse kernel (this is the module supported
+        * patch of [email protected]
+        */
+       kt->is_suse_kernel = symbol_exists("unsupported");
+
        if (symbol_exists("__per_cpu_offset")) {
                if (LKCD_KERNTYPES())
                        i = get_cpus_possible();
@@ -4558,7 +4564,7 @@ get_uptime(char *buf, ulonglong *j64p)
 
        if (symbol_exists("jiffies_64")) {
                get_symbol_data("jiffies_64", sizeof(ulonglong), &jiffies_64);
-               if (THIS_KERNEL_VERSION >= LINUX(2,6,0)) {
+               if (THIS_KERNEL_VERSION >= LINUX(2,6,0) && !is_SLES9()) {
                        wrapped = (jiffies_64 & 0xffffffff00000000ULL);
                        if (wrapped) {
                                wrapped -= 0x100000000ULL;
@@ -5110,6 +5116,7 @@ no_cpu_flags:
        if (symbol_exists("p2m_mid_missing"))
                fprintf(fp, "            p2m_mid_missing: %lx\n", 
kt->pvops_xen.p2m_mid_missing);
        fprintf(fp, "                p2m_missing: %lx\n", 
kt->pvops_xen.p2m_missing);
+       fprintf(fp, "         is_suse_kernel: %ld\n", kt->is_suse_kernel);
 }
 
 /*
--- a/task.c
+++ b/task.c
@@ -3669,6 +3669,12 @@ start_time_timespec(void)
        default:
                break;
        }
+       /* SLES9 stores start_time in nanoseconds, so set TIMESPEC in order */
+       /* to do the right calculations in convert_start_time               */
+       if (is_SLES9()) {
+               tt->flags |= TIMESPEC;
+               return TRUE;
+       }
 
        tt->flags |= NO_TIMESPEC;
 
@@ -3700,6 +3706,11 @@ convert_start_time(ulonglong start_time,
        ulong tmp1, tmp2;
        ulonglong wrapped;
 
+       /* SLES9's start_time is neither jiffies nor a timespec.  It's ns */
+       if (is_SLES9()) {
+               start_time = start_time / 1000000000;
+       }
+
         switch(tt->flags & (TIMESPEC | NO_TIMESPEC))
         {
         case TIMESPEC:
++++++ crash_enable_lzo_support.patch ++++++
---
 CFLAGS.extra  |    1 +
 LDFLAGS.extra |    1 +
 2 files changed, 2 insertions(+)

--- /dev/null
+++ b/CFLAGS.extra
@@ -0,0 +1 @@
+-DLZO
--- /dev/null
+++ b/LDFLAGS.extra
@@ -0,0 +1 @@
+-llzo2
++++++ depmod.sh ++++++
# Need to call depmod when the list of modules changes
for kernelrelease in $KERNELRELEASES; do
    if [ -e /boot/System.map-$kernelrelease ]; then
        depmod -a -F /boot/System.map-$kernelrelease $kernelrelease
    fi
done
++++++ eppic-switch-to-system-lib.patch ++++++
++++ 1161 lines (skipped)

++++++ get-kernel-flavors.sh ++++++
#! /bin/sh
arch=$1
flavors=
for flavor in $(ls /usr/src/linux-obj/$arch 2>/dev/null); do
    if [ "$flavor" = um ]; then
        continue
    fi
    flavors="$flavors $flavor"
done
echo $flavors
++++++ mkinitrd.sh ++++++
# If one of the modules in this package is in the initrd,
# we need to recreate the initrd.

if [ -e /etc/sysconfig/kernel -a -f /etc/fstab ]; then
    source /etc/sysconfig/kernel
    run_mkinitrd=
    for module in $INITRD_MODULES; do
        case " $MODULES " in
        *" $module "*)
            run_mkinitrd=1
            break ;;
        esac
    done
    if [ -n "$run_mkinitrd" ]; then
        for kernelrelease in $KERNELRELEASES; do
            for image in vmlinuz image vmlinux linux bzImage; do
                if [ -f /boot/$image-$kernelrelease ]; then
                    /sbin/mkinitrd -k /boot/$image-$kernelrelease \
                                   -i /boot/initrd-$kernelrelease \
                    || exit 1
                fi
            done
        done
    fi
fi
++++++ rpmlintrc ++++++
addFilter("devel-file-in-non-devel-package .*/usr/share/sial/crash.*")
# crash-6.0.6.tar compresses better with gzip than with bzip2
addFilter(" source-or-patch-not-bzipped crash-6.0.6.tar.gz")
addFilter(" source-or-patch-not-compressed bz2 crash-6.0.6.tar.gz")
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to