Hello community,

here is the log from the commit of package crash for openSUSE:Factory checked 
in at 2012-01-10 14:50:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crash (Old)
 and      /work/SRC/openSUSE:Factory/.crash.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "crash", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/crash/crash.changes      2011-12-27 
18:13:07.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.crash.new/crash.changes 2012-01-10 
14:50:53.000000000 +0100
@@ -1,0 +2,10 @@
+Mon Jan  9 22:05:10 UTC 2012 - [email protected]
+
+- crash-wrong-memset.patch: fix compilation on SLE11. 
+
+-------------------------------------------------------------------
+Thu Jan  5 17:14:24 UTC 2012 - [email protected]
+
+- Update to crash 6.0.2 from upstream and modifications to compile.
+
+-------------------------------------------------------------------

Old:
----
  crash-6.0.0.tar.gz

New:
----
  crash-6.0.2.tar.gz
  crash-add-read-diags.patch

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

Other differences:
------------------
++++++ crash.spec ++++++
--- /var/tmp/diff_new_pack.gLC3WS/_old  2012-01-10 14:50:58.000000000 +0100
+++ /var/tmp/diff_new_pack.gLC3WS/_new  2012-01-10 14:50:58.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package crash
 #
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# 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
@@ -16,7 +16,7 @@
 #
 
 
-%define crash_version          6.0.0
+%define crash_version          6.0.2
 %define whitepaper_version 2003
 %define scripts_version  2008-02-08
 %define gcore_version  2011-09-22
@@ -58,6 +58,7 @@
 Patch8:         %{name}-missing-declarations.patch
 Patch9:         %{name}-debuginfo-compressed.patch
 Patch10:        %{name}-wrong-memset.patch
+Patch11:        %{name}-add-read-diags.patch
 Patch90:        %{name}-sial-ps-2.6.29.diff
 BuildRequires:  bison
 BuildRequires:  flex
@@ -214,6 +215,7 @@
 %patch8 -p1
 %patch9 -p1
 %patch10 -p1
+%patch11 -p1
 ## SIAL patches
 cd sial-scripts-%{scripts_version}
 %patch90 -p1

++++++ crash-6.0.0.tar.gz -> crash-6.0.2.tar.gz ++++++
/work/SRC/openSUSE:Factory/crash/crash-6.0.0.tar.gz 
/work/SRC/openSUSE:Factory/.crash.new/crash-6.0.2.tar.gz differ: char 5, line 1

++++++ crash-add-read-diags.patch ++++++
From: David Mair <[email protected]>
Subject: [PATCH] Add read offset debug output to read_mem()
Patch-mainline: never
References: BNC #732433

This patch adds read offset calculation path and result debug output
to read_mem()


Signed-off-by: David Mair <[email protected]>

--- 
--- a/diskdump.c        2012-01-04 09:23:32.000000000 -0700
+++ b/diskdump.c        2012-01-04 11:13:01.000000000 -0700
@@ -432,6 +432,9 @@ restart:
 
        dd->dumpable_bitmap = calloc(bitmap_len, 1);
 
+       if (CRASHDEBUG(8))
+               error(INFO, 
+                       "     memory bitmap: %llx\n", offset);
        if (FLAT_FORMAT()) {
                if (!read_flattened_format(dd->dfd, offset, dd->bitmap, 
bitmap_len)) {
                        error(INFO, "%s: cannot read memory bitmap\n",
@@ -829,6 +832,11 @@ read_diskdump(int fd, void *bufptr, int
 
        pfn = paddr_to_pfn(paddr);
 
+       if (CRASHDEBUG(8))
+               error(INFO, 
+                   "read_diskdump(%d, %llx, %d, %lx, %llx), pfn=%lx\n",
+                       fd, (ulonglong)bufptr, cnt, addr, (ulonglong)paddr, 
pfn);
+
        if (KDUMP_SPLIT()) {
                /* Find proper dd */
                int i;
@@ -845,26 +853,67 @@ read_diskdump(int fd, void *bufptr, int
                }
 
                if (i == num_dumpfiles)
+               {
+                       if (CRASHDEBUG(8))
+                               error(INFO, 
+                                   "Address is beyond last dumpfile.\n");
                        return SEEK_ERROR;
+               }
        }
 
        curpaddr = paddr & ~((physaddr_t)(dd->block_size-1));
        page_offset = paddr & ((physaddr_t)(dd->block_size-1));
 
        if ((pfn >= dd->header->max_mapnr) || !page_is_ram(pfn))
+       {
+               if (CRASHDEBUG(8) && (pfn >= dd->header->max_mapnr))
+                       error(INFO, 
+                           "pfn (%lx) is >= maximum map number (%lx)\n",
+                               pfn, dd->header->max_mapnr);
+               if (CRASHDEBUG(8) && !page_is_ram(pfn))
+                       error(INFO, 
+                       "pfn (%lx) is not in ram\n", 
+                             pfn);
                return SEEK_ERROR;
+       }
        if (!page_is_dumpable(pfn)) {
                if ((dd->flags & (ZERO_EXCLUDED|ERROR_EXCLUDED)) ==
                    ERROR_EXCLUDED)
+               {
+                       if (CRASHDEBUG(8))
+                               error(INFO, 
+                                   "pfn (%lx) is excluded\n", 
+                                       pfn);
                        return PAGE_EXCLUDED;
+               }
+               if (CRASHDEBUG(8))
+                       error(INFO, 
+                       "Zero-filling page with pfn=%lx\n", 
+                             pfn);
                memset(bufptr, 0, cnt);
                return cnt;
        }
 
        if (!page_is_cached(curpaddr))
+       {
+               if (CRASHDEBUG(8))
+                       error(INFO, 
+                           "caching page with current physaddr=%llx\n", 
+                               curpaddr);
                if ((ret = cache_page(curpaddr)) < 0)
+               {
+                       if (CRASHDEBUG(8))
+                               error(INFO, 
+                               "Failed with err=%d to cache page with current 
physaddr=%llx\n", 
+                                       ret, curpaddr);
                        return ret;
+               }
+       }
        
+       if (CRASHDEBUG(8))
+               error(INFO, 
+                   "Buffering page with pfn=%lx and current physaddr=%llx\n", 
+                       pfn, curpaddr);
        memcpy(bufptr, dd->curbufptr + page_offset, cnt);
 
        return cnt;
--- a/filesys.c 2012-01-04 09:23:32.000000000 -0700
+++ b/filesys.c 2012-01-04 11:15:37.000000000 -0700
@@ -163,6 +163,9 @@ memory_source_init(void)
                        error(INFO, "using /dev/mem\n\n");
                        pc->flags &= ~MEMMOD;
                        pc->flags |= DEVMEM;
+                       if (CRASHDEBUG(8))
+                               error(INFO, 
+                               "Setting readmem to read_dev_mem\n");
                        pc->readmem = read_dev_mem;
                        pc->writemem = write_dev_mem;
                        pc->live_memsrc = "/dev/mem";
@@ -3382,6 +3385,9 @@ get_live_memory_source(void)
        if (use_module) {
                pc->flags &= ~DEVMEM;
                pc->flags |= MEMMOD;
+               if (CRASHDEBUG(8))
+                       error(INFO, 
+                       "Setting readmem to read_memory_device\n");
                pc->readmem = read_memory_device;
                pc->writemem = write_memory_device;
                pc->live_memsrc = pc->memory_device;
@@ -3390,6 +3396,9 @@ get_live_memory_source(void)
        if (crashbuiltin) {
                pc->flags &= ~DEVMEM;
                pc->flags |= CRASHBUILTIN;
+               if (CRASHDEBUG(8))
+                       error(INFO, 
+                       "Setting readmem to read_memory_device/builtin\n");
                pc->readmem = read_memory_device;
                pc->writemem = write_memory_device;
                pc->live_memsrc = pc->memory_device;
--- a/main.c    2012-01-04 09:23:32.000000000 -0700
+++ b/main.c    2012-01-04 11:25:35.000000000 -0700
@@ -431,6 +431,9 @@ main(int argc, char **argv)
                                }
                                pc->flags |= DEVMEM;
                                pc->dumpfile = NULL;
+                               if (CRASHDEBUG(8))
+                                       error(INFO, 
+                                           "Setting readmem to 
read_dev_mem\n");
                                pc->readmem = read_dev_mem;
                                pc->writemem = write_dev_mem;
                                pc->live_memsrc = argv[optind];
@@ -443,6 +446,9 @@ main(int argc, char **argv)
                                }
                                pc->flags |= PROC_KCORE;
                                pc->dumpfile = NULL;
+                               if (CRASHDEBUG(8))
+                                       error(INFO, 
+                                           "Setting readmem to 
read_proc_kcore\n");
                                pc->readmem = read_proc_kcore;
                                pc->writemem = write_proc_kcore;
                                pc->live_memsrc = argv[optind];
@@ -457,9 +463,15 @@ main(int argc, char **argv)
                                 pc->dumpfile = argv[optind];
 
                                if (is_sadump_xen()) {
+                                       if (CRASHDEBUG(8))
+                                               error(INFO, 
+                                                   "Setting readmem to 
read_kdump\n");
                                        pc->readmem = read_kdump;
                                        pc->writemem = write_kdump;
                                } else {
+                                       if (CRASHDEBUG(8))
+                                               error(INFO, 
+                                                   "Setting readmem to 
read_netdump\n");
                                        pc->readmem = read_netdump;
                                        pc->writemem = write_netdump;
                                }
@@ -472,6 +484,9 @@ main(int argc, char **argv)
                                 }
                                 pc->flags |= KDUMP;
                                 pc->dumpfile = argv[optind];
+                                if (CRASHDEBUG(8))
+                                        error(INFO, 
+                                            "Setting readmem to read_kdump for 
KDUMP_LOCAL\n");
                                 pc->readmem = read_kdump;
                                 pc->writemem = write_kdump;
 
@@ -483,6 +498,9 @@ main(int argc, char **argv)
                                 }
                                 pc->flags |= KVMDUMP;
                                 pc->dumpfile = argv[optind];
+                                if (CRASHDEBUG(8))
+                                        error(INFO, 
+                                            "Setting readmem to 
read_kvmdump\n");
                                 pc->readmem = read_kvmdump;
                                 pc->writemem = write_kvmdump;
 
@@ -502,6 +520,9 @@ main(int argc, char **argv)
                                 }
                                 pc->flags |= XENDUMP;
                                 pc->dumpfile = argv[optind];
+                                if (CRASHDEBUG(8))
+                                        error(INFO, 
+                                            "Setting readmem to 
read_xendump\n");
                                 pc->readmem = read_xendump;
                                 pc->writemem = write_xendump;
 
@@ -518,6 +539,9 @@ main(int argc, char **argv)
                                 }
                                 pc->flags |= DISKDUMP;
                                 pc->dumpfile = argv[optind];
+                                if (CRASHDEBUG(8))
+                                        error(INFO, 
+                                            "Setting readmem to 
read_diskdump\n");
                                 pc->readmem = read_diskdump;
                                 pc->writemem = write_diskdump;
 
@@ -529,6 +553,9 @@ main(int argc, char **argv)
                                 }
                                 pc->flags |= LKCD;
                                 pc->dumpfile = argv[optind];
+                               if (CRASHDEBUG(8))
+                                       error(INFO, 
+                                           "Setting readmem to 
read_lkcddump\n");
                                pc->readmem = read_lkcd_dumpfile;
                                pc->writemem = write_lkcd_dumpfile;
 
@@ -540,6 +567,9 @@ main(int argc, char **argv)
                                 }
                                pc->flags |= MCLXCD;
                                pc->dumpfile = argv[optind];
+                               if (CRASHDEBUG(8))
+                                       error(INFO, 
+                                           "Setting readmem to 
read_mclxdump\n");
                                pc->readmem = read_mclx_dumpfile;
                                pc->writemem = write_mclx_dumpfile;
 
@@ -551,6 +581,9 @@ main(int argc, char **argv)
                                 }
                                 pc->flags |= S390D;
                                 pc->dumpfile = argv[optind];
+                                if (CRASHDEBUG(8))
+                                        error(INFO, 
+                                            "Setting readmem to 
read_s390_dumpfile\n");
                                 pc->readmem = read_s390_dumpfile;
                                 pc->writemem = write_s390_dumpfile;
 
@@ -563,6 +596,9 @@ main(int argc, char **argv)
                                }
                                pc->flags |= SADUMP;
                                pc->dumpfile = argv[optind];
+                               if (CRASHDEBUG(8))
+                                       error(INFO, 
+                                           "Setting readmem to read_sadump\n");
                                pc->readmem = read_sadump;
                                pc->writemem = write_sadump;
 
@@ -950,6 +986,9 @@ setup_environment(int argc, char **argv)
        pc->flags |= DATADEBUG;          /* default until unnecessary */
        pc->confd = -2;
        pc->machine_type = MACHINE_TYPE;
+       if (CRASHDEBUG(8))
+               error(INFO, 
+                   "Setting readmem to default read_dev_mem\n");
        pc->readmem = read_dev_mem;      /* defaults until argv[] is parsed */
        pc->writemem = write_dev_mem;
        pc->memory_module = NULL;
@@ -1595,7 +1634,12 @@ check_xen_hyper(void)
 #ifdef XEN_HYPERVISOR_ARCH
        pc->cmd_table = xen_hyper_command_table;
        if (pc->flags & XENDUMP)
+       {
+               if (CRASHDEBUG(8))
+                       error(INFO, 
+                           "Setting readmem to read_xendump_hyper\n");
                pc->readmem = read_xendump_hyper;
+       }
 #else
        error(FATAL, XEN_HYPERVISOR_NOT_SUPPORTED);
 #endif
--- a/memory.c  2012-01-04 09:23:32.000000000 -0700
+++ b/memory.c  2012-01-04 11:26:29.000000000 -0700
@@ -2215,6 +2215,9 @@ switch_to_proc_kcore(void)
 
        pc->flags &= ~DEVMEM;
        pc->flags |= PROC_KCORE;
+       if (CRASHDEBUG(8))
+               error(INFO, 
+                   "Setting readmem to read_proc_kcore for memory.c\n");
        pc->readmem = read_proc_kcore;
        pc->writemem = write_proc_kcore;
        pc->live_memsrc = "/proc/kcore";
--- a/netdump.c 2012-01-04 09:23:32.000000000 -0700
+++ b/netdump.c 2012-01-04 11:33:27.000000000 -0700
@@ -496,6 +496,11 @@ read_netdump(int fd, void *bufptr, int c
        struct pt_load_segment *pls;
        int i;
 
+       if (CRASHDEBUG(8))
+               error(INFO, 
+                   "read_netdump(%d, %llx, %d, %lx, %llx)\n",
+                       fd, (ulonglong)bufptr, cnt, addr, (ulonglong)paddr);
+
        offset = 0;
 
        /*
@@ -509,6 +514,11 @@ read_netdump(int fd, void *bufptr, int c
        {
        case NETDUMP_ELF32:
                offset = (off_t)paddr + (off_t)nd->header_size;
+               if (CRASHDEBUG(8))
+                       error(INFO, 
+                           "read NETDUMP_ELF32 for offset: %llx\n",
+                               (ulonglong)offset);
+
                break;
 
        case NETDUMP_ELF64:
@@ -517,6 +527,10 @@ read_netdump(int fd, void *bufptr, int c
                if (nd->num_pt_load_segments == 1) {
                        offset = (off_t)paddr + (off_t)nd->header_size -
                                (off_t)nd->pt_load_segments[0].phys_start;
+                       if (CRASHDEBUG(8))
+                               error(INFO, 
+                                   "read KDUMP or NETDUMP_ELF64 for single 
segment: %llx\n",
+                                       (ulonglong)offset);
                        break;
                }
 
@@ -526,11 +540,18 @@ read_netdump(int fd, void *bufptr, int c
                            (paddr < pls->phys_end)) {
                                offset = (off_t)(paddr - pls->phys_start) +
                                        pls->file_offset;
+                               if (CRASHDEBUG(8))
+                                       error(INFO, 
+                                       "read KDUMP or NETDUMP_ELF64 for 
multi-segment: %llx\n",
+                                               (ulonglong)offset);
                                break;
                        }
                        if (pls->zero_fill && (paddr >= pls->phys_end) &&
                            (paddr < pls->zero_fill)) {
                                memset(bufptr, 0, cnt);
+                               if (CRASHDEBUG(8))
+                                       error(INFO, 
+                                           "read KDUMP or NETDUMP_ELF64 for 
zero-fill\n");
                                return cnt;
                        }
                }
@@ -542,9 +563,17 @@ read_netdump(int fd, void *bufptr, int c
        }       
 
        if (FLAT_FORMAT()) {
+               if (CRASHDEBUG(8))
+                       error(INFO, 
+                           "read flat-format offset: %llx\n",
+                               (ulonglong)offset);
                if (!read_flattened_format(nd->ndfd, offset, bufptr, cnt))
                        return READ_ERROR;
        } else {
+               if (CRASHDEBUG(8))
+                       error(INFO, 
+                           "seek and read offset: %llx\n",
+                               (ulonglong)offset);
                if (lseek(nd->ndfd, offset, SEEK_SET) == -1)
                        return SEEK_ERROR;
                if (read(nd->ndfd, bufptr, cnt) != cnt)
@@ -2618,6 +2647,11 @@ get_kdump_panic_task(void)
 int
 read_kdump(int fd, void *bufptr, int cnt, ulong addr, physaddr_t paddr)
 {
+       if (CRASHDEBUG(8))
+               error(INFO, 
+                   "read_kdump for: virt=%lx phys=%llx\n",
+                       addr, (ulonglong)paddr);
+
        if (XEN_CORE_DUMPFILE() && !XEN_HYPER_MODE()) {
                if (!(nd->xen_kdump_data->flags & KDUMP_P2M_INIT)) {
                        if (!machdep->xen_kdump_p2m_create)
@@ -2640,6 +2674,10 @@ read_kdump(int fd, void *bufptr, int cnt
                        return READ_ERROR;
        }
 
+       if (CRASHDEBUG(8))
+               error(INFO, 
+                   "read_kdump trying read_netdump for: virt=%lx phys=%llx\n",
+                       addr, (ulonglong)paddr);
        return read_netdump(fd, bufptr, cnt, addr, paddr);
 }
 
--- a/remote.c  2012-01-04 09:23:32.000000000 -0700
+++ b/remote.c  2012-01-04 11:34:03.000000000 -0700
@@ -2244,6 +2244,9 @@ remote_fd_init(void)
                 *  if no remote dumpfile name was entered.  If it is /dev/mem,
                 *  then also go get the remote /proc/version.
                 */
+               if (CRASHDEBUG(8))
+                       error(INFO, 
+                           "Setting readmem to read_daemon\n");
                pc->readmem = read_daemon;
 
                if (!pc->server_memsrc) 
--- a/x86_64.c  2012-01-04 09:23:32.000000000 -0700
+++ b/x86_64.c  2012-01-04 11:37:52.000000000 -0700
@@ -5398,6 +5398,9 @@ x86_64_xen_kdump_p2m_create(struct xen_k
          *  Temporarily read physical (machine) addresses from vmcore by
          *  going directly to read_netdump() instead of via read_kdump().
          */
+        if (CRASHDEBUG(8))
+                error(INFO, 
+                    "Setting readmem to read_netdump for x86_64\n");
         pc->readmem = read_netdump;
 
         if (xkd->flags & KDUMP_CR3)
@@ -5458,6 +5461,9 @@ x86_64_xen_kdump_p2m_create(struct xen_k
                fprintf(fp, "\n");
        }
 
+        if (CRASHDEBUG(8))
+                error(INFO, 
+                    "Setting readmem to read_kdump for x86_64\n");
         pc->readmem = read_kdump;
        return TRUE;
 
@@ -5524,6 +5530,9 @@ use_cr3:
        machdep->last_pgd_read = 0;
         machdep->last_ptbl_read = 0;
         machdep->last_pmd_read = 0;
+        if (CRASHDEBUG(8))
+                error(INFO, 
+                    "Setting readmem to read_kdump for x86_64 and using 
cr3\n");
         pc->readmem = read_kdump;
 
         return TRUE;
--- a/x86.c     2012-01-04 09:23:32.000000000 -0700
+++ b/x86.c     2012-01-04 11:39:25.000000000 -0700
@@ -4390,6 +4390,9 @@ x86_xen_kdump_p2m_create(struct xen_kdum
         *  Temporarily read physical (machine) addresses from vmcore by
         *  going directly to read_netdump() instead of via read_kdump().
         */ 
+       if (CRASHDEBUG(8))
+               error(INFO, 
+                   "Setting readmem to read_netdump for x86\n");
        pc->readmem = read_netdump;
 
        if (xkd->flags & KDUMP_CR3)
@@ -4467,6 +4470,9 @@ x86_xen_kdump_p2m_create(struct xen_kdum
                 fprintf(fp, "\n");
         }
 
+       if (CRASHDEBUG(8))
+               error(INFO, 
+                   "Setting readmem to read_kdump for x86\n");
        pc->readmem = read_kdump;
        return TRUE;
 
@@ -4553,6 +4559,9 @@ use_cr3:
 
         machdep->last_ptbl_read = 0;
         machdep->last_pmd_read = 0;
+       if (CRASHDEBUG(8))
+               error(INFO, 
+                   "Setting readmem to read_kdump for x86 and use cr3\n");
        pc->readmem = read_kdump;
 
        return TRUE;
++++++ crash-missing-declarations.patch ++++++
--- /var/tmp/diff_new_pack.gLC3WS/_old  2012-01-10 14:50:58.000000000 +0100
+++ /var/tmp/diff_new_pack.gLC3WS/_new  2012-01-10 14:50:58.000000000 +0100
@@ -9,7 +9,7 @@
 
 --- a/gdb-7.3.1.patch
 +++ b/gdb-7.3.1.patch
-@@ -1253,3 +1253,13 @@
+@@ -1244,6 +1244,16 @@
        ./pex-djgpp.$(objext) ./pex-msdos.$(objext)                     \
         ./pex-unix.$(objext) ./pex-win32.$(objext)                     \
         ./putenv.$(objext)                                             \
@@ -23,3 +23,7 @@
 + 
 + 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-wrong-memset.patch ++++++
--- /var/tmp/diff_new_pack.gLC3WS/_old  2012-01-10 14:50:58.000000000 +0100
+++ /var/tmp/diff_new_pack.gLC3WS/_new  2012-01-10 14:50:58.000000000 +0100
@@ -2,10 +2,10 @@
 ===================================================================
 --- crash-6.0.0.orig/gdb-7.3.1.patch
 +++ crash-6.0.0/gdb-7.3.1.patch
-@@ -1263,3 +1263,14 @@
-  
-  struct tdefs {
-    char *symbol;
+@@ -1329,3 +1329,14 @@
+            fclose (stream);
+            return 0;
+          }
 +--- gdb-7.3.1/bfd/bfdio.c
 ++++ gdb-7.3.1/bfd/bfdio.c
 +@@ -577,7 +577,7 @@ memory_bstat (bfd *abfd, struct stat *st
@@ -17,3 +17,4 @@
 +   statbuf->st_size = bim->size;
 + 
 +   return 0;
+

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to