Hello community,

here is the log from the commit of package crash.1648 for openSUSE:12.2:Update 
checked in at 2013-05-27 16:00:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2:Update/crash.1648 (Old)
 and      /work/SRC/openSUSE:12.2:Update/.crash.1648.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "crash.1648"

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

--- /dev/null   2013-05-23 01:40:31.032032505 +0200
+++ /work/SRC/openSUSE:12.2:Update/.crash.1648.new/crash.changes        
2013-05-27 16:00:42.000000000 +0200
@@ -0,0 +1,2393 @@
+-------------------------------------------------------------------
+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
+    "/sbin/modprobe: invalid option -- 'l'".  If the driver is built into
+    the kernel, the message is harmless.  If the driver is not built into
+    kernel, then the crash.ko (/dev/crash) driver would not be selected 
+    as the live memory source.
+
+-------------------------------------------------------------------
+Thu May 17 07:54:29 UTC 2012 - [email protected]
+
+- delete crash-foreach-match-running.patch: upstream
+
+-------------------------------------------------------------------
+Mon May 14 20:24:51 UTC 2012 - [email protected]
+
+- Update to crash 6.0.6 from upstream
+  o Extend the supported cross-architecture build capability so
+    that it applies to the SIAL extentension module. Without the
+    patch, when building the SIAL module an environment where the
+    overlying crash utility was built with "make target=ARM",
+    "make target=PPC", or "make target=X86", the SIAL extension
+    module would continue to be built for the host architecture
+  o Fixes for memory leaks and possible segmentation violations
+    when unloading SIAL extension module scripts.
+  o Fix for the new "foreach RU" task state qualifier.  Without the
+    patch, the runnable tasks are not selected.
+  o Fix to disallow multiple task states from being entered using
+    the "foreach <task-state>" qualifier.  Without the patch, if
+    multiple states were entered, the last one on the command line 
+    would be honored.
+  o Fix for the "extend" command to allow the usage of 32-bit PPC 
+    extension modules.  Without the patch, the command fails with the
+    message: "extend: <object>.so: not an ELF format object file".
+  o If an input line starts with "#" or "//", then the line will be 
+    saved as a comment that is visible when re-cycling through the 
+    command history list.
+  o Fix for a crash-5.1.9 regression that broke the "bt -g" option.
+    Without the patch, the option is ignored completely.
+  o Fix for s390x virtual-to-physical translation of virtual
+    addresses that are backed by 1MB pages.
+  o The s390x has a dumpfile method that creates "live dumps", where
+    the kernel continues to run while the dumpfile is being created.
+    The initial system banner display and the "sys" command will
+    inform the user that the dumpfile is a "[LIVE DUMP]", and the
+    "bt -a" option will fail with the message "bt: -a option not
+    supported on a live system or live dump".
+  o Newly-created dumpfiles generated by the "snap.c" extension module
+    will now be recognized as "live dumps".  Accordingly, the initial
+    system banner display and the "sys" command will inform the user
+    that the dumpfile is a "[LIVE DUMP]", and the "bt -a" option will
+    fail with the message "bt: -a option not supported on a live
+    system or live dump".
+  o If "bt" alone is attempted on an active task in a "live dump", it
+    will indicate "(active)", i.e., the same as if it were attempted
+    on a live system.
+  o If an extension module does not define the appropriate architecture,
+    i.e., "-DX86", "-DX86_64", etc., then the inclusion of "defs.h"
+    will generate a compiler failure indicating "error: 'NR_CPUS'
+    undeclared here (not in a function)".  In that case, the
+    architecture will now default to that of the host machine.
+  o Prevent a highly-unlikely incorrect calculation of the maximum 
+    cpudata array length of a kmem_cache during initialization of 
+    of CONFIG_SLAB kernels.
+  o Prevent an infinite loop during the initialization of the
+    kmem_cache subsystem in CONFIG_SLAB kernels if the cache list or
+    the vmcore is corrupt.  If the kmem_cache list links back into
+    itself, messages showing the first "duplicate" entry in the list
+    and "crash: unable to initialize kmem slab cache subsystem" will
+    be displayed.
+  o Update to the "mod" command to additionally search for module
+    object files in the directory containing the kernel namelist
+    (vmlinux) file. This will allow an alternate module-debuginfo
+    directory tree to be set up like so:
+
+      # cd <directory>
+      # rpm2cpio kernel-debuginfo-<release>.rpm | cpio -idv
+
+    Having done that, and by referencing the vmlinux file in that
+    directory tree directly or by symbolic link, the "mod" command
+    will search for module object files starting from the directory
+    containing the vmlinux file if they are not found in the standard 
+    /lib/modules/<release> directory.
+  o Update to the s390x "bt" command if a task was running in
+    userspace. Without the patch, the back trace display ended at the
++++ 2196 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:12.2:Update/.crash.1648.new/crash.changes

New:
----
  README.SUSE
  crash-6.0.7.tar.gz
  crash-crosscrash-hint.diff
  crash-debuginfo-compressed.patch
  crash-kmp-preamble
  crash-make-emacs-default.diff
  crash-missing-declarations.patch
  crash-rl_digit_loop-return.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
  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) 2012 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           6.0.7
%define whitepaper_version 2003
%define scripts_version  2008-02-08
%define gcore_version  2011-09-22

Name:           crash
%ifarch ppc
%define build_sial 0
%else
%define build_sial 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+ ; 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
Patch6:         %{name}-crosscrash-hint.diff
Patch7:         %{name}-rl_digit_loop-return.patch
Patch8:         %{name}-missing-declarations.patch
Patch9:         %{name}-debuginfo-compressed.patch
Patch10:        %{name}_enable_lzo_support.patch
Patch90:        %{name}-sial-ps-2.6.29.diff
BuildRequires:  bison
BuildRequires:  flex
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_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
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
## SIAL patches
cd sial-scripts-%{scripts_version}
%patch90 -p1
cd -
## gcore extension
cd extensions
tar xfvj %{S:5}
cd -
cp %{S:3} .
mkdir kbuild

%build
export CFLAGS="$RPM_OPT_FLAGS -fno-builtin-memset -fno-strict-aliasing"
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_sial
install -m 0644 extensions/sial.so $RPM_BUILD_ROOT/%{_libdir}/crash/extensions
# 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_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-crosscrash-hint.diff ++++++
From: Bernhard Walle <[email protected]>
Subject: [PATCH] Add crosscrash hint
Patch-mainline: never
References: FATE #302896

This patch gives the user a hint to try the 'crosscrash' tool when he
tries to open a dump from a different architecture.


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

---
 tools.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Index: crash-6.0.7/tools.c
===================================================================
--- crash-6.0.7.orig/tools.c
+++ crash-6.0.7/tools.c
@@ -4817,7 +4817,12 @@ machine_type_mismatch(char *file, char *
        fprintf(fp, "         crash utility: %s\n", MACHINE_TYPE);
        fprintf(fp, "         %s: %s%s%s\n\n", file, e_machine,
                alt ? " or " : "", alt ? alt : "");
-               
+
+       fprintf(fp, "\n");
+       fprintf(fp, "NOTE: You might want to try the 'crosscrash' tool which 
is\n");
+       fprintf(fp, "      distributed in the 'crosscrash' package on SUSE 
Linux.\n");
+       fprintf(fp, "\n");
+
        return TRUE;
 }
 void
++++++ 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
@@ -1025,12 +1025,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.
@@ -1080,7 +1074,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.3.1.patch |   10 ++++++++++
 1 file changed, 10 insertions(+)

--- a/gdb-7.3.1.patch
+++ b/gdb-7.3.1.patch
@@ -1253,6 +1253,16 @@
        ./pex-djgpp.$(objext) ./pex-msdos.$(objext)                     \
         ./pex-unix.$(objext) ./pex-win32.$(objext)                     \
         ./putenv.$(objext)                                             \
+--- gdb-7.3.1/sim/common/gentmap.c.orig
++++ gdb-7.3.1/sim/common/gentmap.c
+@@ -2,6 +2,7 @@
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ 
+ struct tdefs {
+   char *symbol;
 --- gdb-7.3.1/gdb/symtab.c.orig
 +++ gdb-7.3.1/gdb/symtab.c
 @@ -4951,10 +4951,17 @@ static void
++++++ crash-rl_digit_loop-return.patch ++++++
---
 gdb-7.3.1.patch |    9 +++++++++
 1 file changed, 9 insertions(+)

--- a/gdb-7.3.1.patch
+++ b/gdb-7.3.1.patch
@@ -1177,6 +1177,15 @@
  extern int rl_show_char PARAMS((int));
 --- gdb-7.3.1/readline/misc.c.orig
 +++ gdb-7.3.1/readline/misc.c
+@@ -212,6 +212,8 @@ rl_digit_loop ()
+       if (r <= 0 || (RL_ISSTATE (RL_STATE_NUMERICARG) == 0))
+         break;
+     }
++
++  return r;
+ }
+ 
+ /* Create a default argument. */
 @@ -401,7 +401,7 @@ _rl_history_set_point ()
  
  #if defined (VI_MODE)
++++++ 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(-)

Index: crash-6.0.7/defs.h
===================================================================
--- crash-6.0.7.orig/defs.h
+++ crash-6.0.7/defs.h
@@ -657,6 +657,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;
@@ -5357,6 +5358,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
  */
Index: crash-6.0.7/kernel.c
===================================================================
--- crash-6.0.7.orig/kernel.c
+++ crash-6.0.7/kernel.c
@@ -216,6 +216,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();
@@ -4271,7 +4277,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;
@@ -4805,6 +4811,7 @@ no_cpu_flags:
        fprintf(fp, "                    p2m_top: %lx\n", 
kt->pvops_xen.p2m_top);
        fprintf(fp, "            p2m_top_entries: %d\n", 
kt->pvops_xen.p2m_top_entries);
        fprintf(fp, "                p2m_missing: %lx\n", 
kt->pvops_xen.p2m_missing);
+       fprintf(fp, "         is_suse_kernel: %ld\n", kt->is_suse_kernel);
 }
 
 /*
Index: crash-6.0.7/task.c
===================================================================
--- crash-6.0.7.orig/task.c
+++ crash-6.0.7/task.c
@@ -3554,6 +3554,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;
 
@@ -3585,6 +3591,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
++++++ 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